#include <iostream>
#include<vector>
using namespace std;
//按照正常逻辑来做就可以,用一个二维数组容器存储所有的数字子串
//依次处理每个字符,如果是数字则push到容器中,然后cnt+1
//如果重新遇到字母,则上个数字子串结束,可以进行cnt的判断,根据结果来决定是否存储子串下标
int main() {
string s;
cin>>s;
s+=' ';//末尾加一个空字符便于判断结束
int len=s.size();
vector<vector<char>>s_vec(1);//每一行存储一个数字子串
int index=0;//每个数字子串的在容器中的行号
vector<int>line;//存储最长子串的行号
int cnt=0;//每个数字子串的长度
int maxlen=0;//记录最长数字子串的长度
bool flag=false;//记录当前状态
//依次处理每一个字符
for(int i=0; i<len+1; i++)
{
//根据标志位来判断是否要插入或者结束
//如果是数字则插入容器中
if(isdigit(s[i]))
{
s_vec[index].push_back(s[i]);
cnt++;
flag=true;
}
//不是数字并且当前的状态为true,说明上个数字子串结束了
else if(flag)
{
//如果子串长度是最大的则记录该子串的行号
if(cnt>maxlen)
{
maxlen=cnt;
line.clear();//清空之前的记录
line.push_back(index);//添加新的记录
}
else if(cnt==maxlen)
{
line.push_back(index);//插入同样为最长子串的行号
}
cnt=0;
index++;//准备存储下一个子串
s_vec.resize(index+1);//扩容以存放下一个数字子串
flag=false;
}
}
//按照行号来输出
for(int i : line)
{
for(char c : s_vec[i])
cout<<c;
}
cout<<","<<maxlen;
return 0;
}
// 64 位输出请用 printf("%lld")