##### ICPC North America Qualifier 2016, Problem J

Let's face it… you are not that handy. When you need to make a major home repair, you often need to hire someone to help. When they come for the first visit, they make an estimate of the cost. Here they must be careful: if they overestimate the cost, it might scare you off, but if they underestimate, the work might not be worth their time.

Because the worker is so careful, it can take a long time for them to produce the estimate. But that's frustrating — when you ask for an estimate, you really are asking for the magnitude of the cost. Will this be or or ? That's all you really want to know on a first visit.

Please help the worker make the type of estimate you desire. Write a program that, given the worker's estimate, reports just the magnitude of the cost — the number of digits needed to represent the estimate.

#### Input Specification

Input begins with a line containing an integer . The next lines each contain one estimated cost, which is an integer between and . (Some of the workers overcharge quite a bit.)

#### Output Specification

For each estimated cost, output the number of digits required to represent it.

#### Sample Input 1

```
5
314
1
5926
5
35897
```

#### Sample Output 1

```
3
1
4
1
5
```

#### Sample Input 2

```
3
0
10
100
```

#### Sample Output 2

```
1
2
3
```

## Comments

Can someone take a look at my solution. I keep getting WA, but when I try it on another compiler with the sample input and my own test cases it works. Thanks in advance.

let me first explain something. The input can be as large as 10^100, meaning 10 and 100 zeroes, that means there isn't a number data type(int, long ,double) in any language that can hold that. just give you a perspective, unsigned long long can hold up to about 10 ^ 20, but its about 5 times as small as the input, so try to see if there is any data type that can store this kind of input.