## ICPC NAQ 2016 J - Quick Estimates

View as PDF

Points: 3
Time limit: 1.0s
Memory limit: 1G

Problem type
Allowed languages
Ada, Assembly, Awk, Brain****, C, C#, C++, COBOL, CommonLisp, D, Dart, F#, Forth, Fortran, Go, Groovy, Haskell, Intercal, Java, JS, Kotlin, Lisp, Lua, Nim, ObjC, OCaml, Octave, Pascal, Perl, PHP, Pike, Prolog, Python, Racket, Ruby, Rust, Scala, Scheme, Sed, Swift, TCL, Text, Turing, VB, Zig
##### 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