/**
*
* @author safeallah ramezanzadeh
*/
public class Main{
byte[] buf = new byte[81920];
int index=0;
int readed=0;
public Main(){
}
private byte readByte(){
byte x;
if(index==readed){
index=0;
try{
readed
=System.
in.
read(buf,
0,
81920); }
x=buf[index];
index++;
return x;
}
public int readInt(){
int r=0;
int sign=1;
byte c;
while(true){
c=readByte();
if(c=='-'){
sign=-1;
break;
}else if((c>='0' && c<='9')){
r=(c-'0');
break;
}
}
while(true){
c=readByte();
if(c=='\n' || c==' ')
break;
r=r*10+(c-'0');
}
return sign*r;
}
public static void main
(String args
[]){ Main t=new Main();
int x=t.readInt();
while(x!=-1){
x=t.readInt();
}
}
}
LyoqCiAqCiAqIEBhdXRob3Igc2FmZWFsbGFoIHJhbWV6YW56YWRlaAogKi8KCnB1YmxpYyBjbGFzcyBNYWluewogICAgICAgYnl0ZVtdIGJ1ZiA9IG5ldyBieXRlWzgxOTIwXTsKICAgICAgIGludCBpbmRleD0wOwogICAgICAgaW50IHJlYWRlZD0wOwogICAgICAgCiAgICAgICAKICAgICAgIHB1YmxpYyBNYWluKCl7CgkJCQoJICAgfQogICAgICAgCiAgICAgICBwcml2YXRlIGJ5dGUgcmVhZEJ5dGUoKXsKCQkgICBieXRlIHg7CgkJCWlmKGluZGV4PT1yZWFkZWQpewoJCQkJaW5kZXg9MDsKCQkJCQoJCQkJdHJ5ewoJCQkJCXJlYWRlZD1TeXN0ZW0uaW4ucmVhZChidWYsMCw4MTkyMCk7CgkJCQl9Y2F0Y2goRXhjZXB0aW9uIGUpe30KCQkJfQoJCQl4PWJ1ZltpbmRleF07CgkJCWluZGV4Kys7CgkJCXJldHVybiB4OwoJICAgfQogICAgICAgCiAgICAgIAogICAgICAgCiAgICAgICBwdWJsaWMgaW50IHJlYWRJbnQoKXsKCQkgICAJaW50IHI9MDsKCQkgICAJaW50IHNpZ249MTsKCQkJYnl0ZSBjOwoJCQl3aGlsZSh0cnVlKXsKCSAgICAgICAgICAgICBjPXJlYWRCeXRlKCk7CgkgICAgICAgICAgICAgaWYoYz09Jy0nKXsKCQkJCQlzaWduPS0xOwoJCQkJCWJyZWFrOwoJCQkJIH1lbHNlIGlmKChjPj0nMCcgJiYgYzw9JzknKSl7CgkgICAgICAgICAgICAgICAgICAgICAgICByPShjLScwJyk7CgkgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7CgkgICAgICAgICAgICAgfQoJICAgICAgICAgICAgICAgICAgICAgICAgICAgIAoJCQl9CgkJCXdoaWxlKHRydWUpewoJICAgICAgICAgICAgIGM9cmVhZEJ5dGUoKTsKCSAgICAgICAgICAgICBpZihjPT0nXG4nIHx8IGM9PScgJykKCSAgICAgICAgICAgICAgICAgICAgICAgICBicmVhazsKCSAgICAgICAgICAgICByPXIqMTArKGMtJzAnKTsKCQkJfQoJCQlyZXR1cm4gc2lnbipyOwoJICAgfQoJICAgCgkgICAKCSAgIAoJICAgcHVibGljIHN0YXRpYyB2b2lkIG1haW4oU3RyaW5nIGFyZ3NbXSl7CgkJCU1haW4gdD1uZXcgTWFpbigpOwoJCQlpbnQgeD10LnJlYWRJbnQoKTsKCQkJd2hpbGUoeCE9LTEpewoJCQkJU3lzdGVtLm91dC5wcmludGxuKHgpOwoJCQkJeD10LnJlYWRJbnQoKTsKCQkJCQoJCQl9CgkgICB9CgkJCn0K