/* package whatever; // don't place package name! */
import java.util.*;
import java.lang.*;
import java.io.*;
/* Name of the class has to be "Main" only if the class is public. */
class Ideone
{
int a, b;
this.a = a;
this.b = b;
}
private int GCD(int a, int b) {
if (b == 0) {
return a;
}
return GCD(b, a % b);
}
int temp = GCD(this.a, this.b);
return new Number(this.
a / temp,
this.
b / temp
); }
return new Number(this.
a * num.
a,
this.
a * num.
a).
applyGCD(); }
return new Number(this.
a * num.
b + this.
b * num.
a,
this.
b * num.
b).
applyGCD(); }
return this.add(temp);
}
return this.mul(temp);
}
return "[" + this.a + "/" + this.b + "]";
}
}
public void run() {
for (int i = 0; i < 28; i++) {
x0 = x1;
x1 = x2;
x2 = n108.add((n815.sub(n1500.divide(x0))).divide(x0)).applyGCD();
}
System.
out.
println(x2.
applyGCD()); }
{
new Ideone().run();
}
}
LyogcGFja2FnZSB3aGF0ZXZlcjsgLy8gZG9uJ3QgcGxhY2UgcGFja2FnZSBuYW1lISAqLwoKaW1wb3J0IGphdmEudXRpbC4qOwppbXBvcnQgamF2YS5sYW5nLio7CmltcG9ydCBqYXZhLmlvLio7CgovKiBOYW1lIG9mIHRoZSBjbGFzcyBoYXMgdG8gYmUgIk1haW4iIG9ubHkgaWYgdGhlIGNsYXNzIGlzIHB1YmxpYy4gKi8KY2xhc3MgSWRlb25lCnsKCWNsYXNzIE51bWJlciB7CgkJaW50IGEsIGI7CgkJCgkJTnVtYmVyIChpbnQgYSwgaW50IGIpIHsKCQkJdGhpcy5hID0gYTsKCQkJdGhpcy5iID0gYjsKCQl9CgkJCgkJcHJpdmF0ZSBpbnQgR0NEKGludCBhLCBpbnQgYikgewoJCQlpZiAoYiA9PSAwKSB7CgkJCQlyZXR1cm4gYTsKCQkJfQoJCQlyZXR1cm4gR0NEKGIsIGEgJSBiKTsKCQl9CgkJCgkJcHVibGljIE51bWJlciBhcHBseUdDRCgpIHsKCQkJaW50IHRlbXAgPSBHQ0QodGhpcy5hLCB0aGlzLmIpOwoJCQlyZXR1cm4gbmV3IE51bWJlcih0aGlzLmEgLyB0ZW1wLCB0aGlzLmIgLyB0ZW1wKTsKCQl9CgkJCgkJcHVibGljIE51bWJlciBtdWwoTnVtYmVyIG51bSkgewoJCQlyZXR1cm4gbmV3IE51bWJlcih0aGlzLmEgKiBudW0uYSwgdGhpcy5hICogbnVtLmEpLmFwcGx5R0NEKCk7CgkJfQoJCQoJCXB1YmxpYyBOdW1iZXIgYWRkKE51bWJlciBudW0pIHsKCQkJcmV0dXJuIG5ldyBOdW1iZXIodGhpcy5hICogbnVtLmIgKyB0aGlzLmIgKiBudW0uYSwgdGhpcy5iICogbnVtLmIpLmFwcGx5R0NEKCk7CgkJfQoJCQoJCXB1YmxpYyBOdW1iZXIgc3ViKE51bWJlciBudW0pIHsKCQkJTnVtYmVyIHRlbXAgPSBuZXcgTnVtYmVyKC1udW0uYSwgbnVtLmIpOwoJCQlyZXR1cm4gdGhpcy5hZGQodGVtcCk7CgkJfQoJCQoJCXB1YmxpYyBOdW1iZXIgZGl2aWRlKE51bWJlciBudW0pIHsKCQkJTnVtYmVyIHRlbXAgPSBuZXcgTnVtYmVyKG51bS5iLCBudW0uYSk7CgkJCXJldHVybiB0aGlzLm11bCh0ZW1wKTsKCQl9CgkJCgkJcHVibGljIFN0cmluZyB0b1N0cmluZygpIHsKCQkJcmV0dXJuICJbIiArIHRoaXMuYSArICIvIiArIHRoaXMuYiArICJdIjsKCQl9Cgl9CgkKCXB1YmxpYyB2b2lkIHJ1bigpIHsKCQlOdW1iZXIgeDIgPSBuZXcgTnVtYmVyKDE3LCA0KTsKCQlOdW1iZXIgeDEgPSBuZXcgTnVtYmVyKDQsIDEpOwoJCU51bWJlciB4MCA9IG51bGw7CgkJTnVtYmVyIG4xMDggPSBuZXcgTnVtYmVyKDEwOCwgMSk7CgkJTnVtYmVyIG44MTUgPSBuZXcgTnVtYmVyKDgxNSwgMSk7CgkJTnVtYmVyIG4xNTAwID0gbmV3IE51bWJlcigxNTAwLCAxKTsKCQlmb3IgKGludCBpID0gMDsgaSA8IDI4OyBpKyspIHsKCQkJeDAgPSB4MTsKCQkJeDEgPSB4MjsKCQkJeDIgPSBuMTA4LmFkZCgobjgxNS5zdWIobjE1MDAuZGl2aWRlKHgwKSkpLmRpdmlkZSh4MCkpLmFwcGx5R0NEKCk7CgkJfQoJCVN5c3RlbS5vdXQucHJpbnRsbih4Mi5hcHBseUdDRCgpKTsKCX0KCQoJcHVibGljIHN0YXRpYyB2b2lkIG1haW4gKFN0cmluZ1tdIGFyZ3MpIHRocm93cyBqYXZhLmxhbmcuRXhjZXB0aW9uCgl7CgkJbmV3IElkZW9uZSgpLnJ1bigpOwoJfQp9