#include <iostream>
using namespace std;
#include<bits/stdc++.h>
int main() {
    // int a, b;
    // while (cin >> a >> b) { // 注意 while 处理多个 case
    //     cout << a + b << endl;
    // }
    string s[100002];// 开了个字符数组 
    int i=0; // 标记是第几个字符串
    while(cin>>s[i]&&s[i].size()!=0){ //判断是否是最后一个
        i++;  
    }
    cout<<s[i-1].size(); //输出最后一个字符串的长度
}
// 64 位输出请用 printf("%lld")

// #include <stdio.h>
// #include <string.h>

// int main()
// {
//     char str[1000];
//     int a=0,i=0;

//     while(scanf("%s",str) != EOF)//scanf()函数,如果转换说明是%s的话,他的读取规则是,“读取除空白以外的所有字符串”。scanf()函数跳过空白开始读取第一个非空白字符,并保存非空白字符直到再次遇到空白字符。也就是说!!!!scanf()函数根据%s转换说明读取一个单词!!!
// // 2,EOF,EOF是stdio.h文件里定义的特殊值,通常情况下#define指令会把EOF定义为“-1”,当scanf()读取到文件结尾时,就会返回EOF(如果是转换说明错误好像是会返回“0”)
//     {}
//     a=strlen(str);
//     printf("%d",a);
// }

#牛客春招刷题训练营# +https://www.nowcoder.com/discuss/727521113110073344