/* package whatever; // don't place package name! */
import java.util.*;
import java.lang.*;
import java.io.*;
import java.math.*;
import java.util.*;
/* Name of the class has to be "Main" only if the class is public. */
class Ideone
{
private static Map
<String, Integer
> m
= new HashMap
<String, Integer
>(); static{
m.put("1",0);
m.put("2",1);
}
public static int answer
(String n
) { // Your code goes here.
int p=0;
if(z.compareTo(ze)==0) return 1;
if(z.compareTo(o)==0) return p;
int re=k.compareTo(ze);
if(re==0){
z=z.divide(t);
if(m.containsKey(z.toString())) {return 1+m.get(z.toString());}
else m.put(pe.toString(),1+answer(z.toString()));
return m.get(pe.toString());
}else{
int a,b;
z=z.subtract(o);
if(m.containsKey(z.toString())) {
a=1+m.get(z.toString());
}
else{
a=1+answer(z.toString());
m.put(z.toString(),a-1);
}
z=z.add(t);
if(m.containsKey(z.toString())) b=m.get(z.toString());
else {
b=1+answer(z.toString());
m.put(z.toString(),b-1);
}
z=z.subtract(o);
if(a>b){
m.put(pe.toString(),b);
return b;
}
else {
m.put(pe.toString(),a);
return a;
}
}
}
{
// your code goes here
System.
out.
print(answer
("0")); }
}
LyogcGFja2FnZSB3aGF0ZXZlcjsgLy8gZG9uJ3QgcGxhY2UgcGFja2FnZSBuYW1lISAqLwoKaW1wb3J0IGphdmEudXRpbC4qOwppbXBvcnQgamF2YS5sYW5nLio7CmltcG9ydCBqYXZhLmlvLio7CmltcG9ydCBqYXZhLm1hdGguKjsKaW1wb3J0IGphdmEudXRpbC4qOwoKLyogTmFtZSBvZiB0aGUgY2xhc3MgaGFzIHRvIGJlICJNYWluIiBvbmx5IGlmIHRoZSBjbGFzcyBpcyBwdWJsaWMuICovCmNsYXNzIElkZW9uZQp7Cglwcml2YXRlIHN0YXRpYyBNYXA8U3RyaW5nLCBJbnRlZ2VyPiBtID0gbmV3IEhhc2hNYXA8U3RyaW5nLCBJbnRlZ2VyPigpOwogICAgc3RhdGljewogICAgbS5wdXQoIjEiLDApOwogICAgbS5wdXQoIjIiLDEpOwogICAgfQogICAgcHVibGljIHN0YXRpYyBpbnQgYW5zd2VyKFN0cmluZyBuKSB7IAogICAgICAgIC8vIFlvdXIgY29kZSBnb2VzIGhlcmUuCiAgICAgICAgaW50IHA9MDsKICAgICAgICBCaWdJbnRlZ2VyIHogPSBuZXcgQmlnSW50ZWdlcihuKTsKICAgICAgICBCaWdJbnRlZ2VyIG8gPSBuZXcgQmlnSW50ZWdlcigiMSIpOwogICAgICAgIEJpZ0ludGVnZXIgdCA9IG5ldyBCaWdJbnRlZ2VyKCIyIik7CiAgICAgICAgQmlnSW50ZWdlciB6ZSA9IG5ldyBCaWdJbnRlZ2VyKCIwIik7CiAgICAgICAgQmlnSW50ZWdlciBwZSA9IG5ldyBCaWdJbnRlZ2VyKG4pOwogICAgICAgIGlmKHouY29tcGFyZVRvKHplKT09MCkgcmV0dXJuIDE7CiAgICAgICAgaWYoei5jb21wYXJlVG8obyk9PTApIHJldHVybiBwOwogICAgICAgIEJpZ0ludGVnZXIgaz16LnJlbWFpbmRlcih0KTsKICAgICAgICBpbnQgcmU9ay5jb21wYXJlVG8oemUpOwogICAgICAgIGlmKHJlPT0wKXsKICAgICAgICAgICAgej16LmRpdmlkZSh0KTsKICAgICAgICAgICAgaWYobS5jb250YWluc0tleSh6LnRvU3RyaW5nKCkpKSB7cmV0dXJuIDErbS5nZXQoei50b1N0cmluZygpKTt9CiAgICAgICAgICAgIGVsc2UgbS5wdXQocGUudG9TdHJpbmcoKSwxK2Fuc3dlcih6LnRvU3RyaW5nKCkpKTsKICAgICAgICAgICAgcmV0dXJuIG0uZ2V0KHBlLnRvU3RyaW5nKCkpOwogICAgICAgIH1lbHNlewogICAgICAgICAgICBpbnQgYSxiOwogICAgICAgICAgICB6PXouc3VidHJhY3Qobyk7CiAgICAgICAgICAgIGlmKG0uY29udGFpbnNLZXkoei50b1N0cmluZygpKSkgewogICAgICAgICAgICAgICAgYT0xK20uZ2V0KHoudG9TdHJpbmcoKSk7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgZWxzZXsKICAgICAgICAgICAgICAgIGE9MSthbnN3ZXIoei50b1N0cmluZygpKTsKICAgICAgICAgICAgICAgIG0ucHV0KHoudG9TdHJpbmcoKSxhLTEpOwogICAgICAgICAgICB9CiAgICAgICAgICAgIHo9ei5hZGQodCk7CiAgICAgICAgICAgIGlmKG0uY29udGFpbnNLZXkoei50b1N0cmluZygpKSkgYj1tLmdldCh6LnRvU3RyaW5nKCkpOwogICAgICAgICAgICBlbHNlIHsKICAgICAgICAgICAgICAgIGI9MSthbnN3ZXIoei50b1N0cmluZygpKTsKICAgICAgICAgICAgICAgIG0ucHV0KHoudG9TdHJpbmcoKSxiLTEpOwogICAgICAgICAgICB9CiAgICAgICAgICAgIHo9ei5zdWJ0cmFjdChvKTsKICAgICAgICAgICAgaWYoYT5iKXsKICAgICAgICAgICAgICAgIG0ucHV0KHBlLnRvU3RyaW5nKCksYik7CiAgICAgICAgICAgICAgICByZXR1cm4gYjsKICAgICAgICAgICAgfQogICAgICAgICAgICBlbHNlIHsKICAgICAgICAgICAgICAgIG0ucHV0KHBlLnRvU3RyaW5nKCksYSk7CiAgICAgICAgICAgICAgICByZXR1cm4gYTsKICAgICAgICAgICAgfQogICAgICAgIH0KICAgIH0gCglwdWJsaWMgc3RhdGljIHZvaWQgbWFpbiAoU3RyaW5nW10gYXJncykgdGhyb3dzIGphdmEubGFuZy5FeGNlcHRpb24KCXsKCQkvLyB5b3VyIGNvZGUgZ29lcyBoZXJlCgkJU3lzdGVtLm91dC5wcmludChhbnN3ZXIoIjAiKSk7Cgl9Cn0=