import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner scan = new Scanner(System.in);
        int num = scan.nextInt();
        //关闭scan
        scan.close();
//第一种方法:
        //这个其实很简单的,只要用到String.valueof()将其转成字符串,然后用length()就可以得到这个位数了,是不是很简单呢
    //判断是否大于0

    // if(num<=0){
    //     System.out.print(num);
    // }
    // else{
    //     //首先将int 转成string
    //     String num1=String.valueOf(num);
    //     int count=num1.length();
    //     //打印位数
    //     System.out.print(count);
    // }


    //第二种方法:
    if(num<=0){
        System.out.print(num);
    }
    else{
        int count=0;//用于得到位数

        /*
    分析:如果这个数是9876
        第一次循环:9876%10=6 -->得到个位
                9876/10=987 --->得到出去个位的数字
        第二次循环:987%10=7
                    987/10=98
        第三次循环:98%10=8
                    98/10=9;
        第四次循环:9%10=9
                    9/10=0; 用这个0来控制循环终止      
        */
        while(num!=0){

            int ge=num%10;
            num=num/10;
            //循环一个加个1
            count++;
        }
                //打印位数
        System.out.print(count);
    }

    }
}