/* 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
{
public static double EPSILON = 0.001;
public static double power(double y, int n) {
double r = y;
for(int i = n; i > 1; i--) {
r = r * y;
}
return r;
}
public static double f(double y, double x, int n) {
return power(y, n) - x;
}
public static double fDiff(double y, int n) {
return n*power(y, n-1);
}
public static double iter(double yAlt, double x, int n) {
return yAlt - f(yAlt, x, n) / fDiff(yAlt, n);
}
public static double rootNofX(double x, int n) {
double yAlt = 1;
double yNew;
while(true) {
yNew = iter(yAlt, x, n);
if(Math.
abs(yNew
- yAlt
) < EPSILON
) { return yNew;
}
yAlt = yNew;
}
}
{
System.
out.
println(rootNofX
(2,
2)); }
}
LyogcGFja2FnZSB3aGF0ZXZlcjsgLy8gZG9uJ3QgcGxhY2UgcGFja2FnZSBuYW1lISAqLwoKaW1wb3J0IGphdmEudXRpbC4qOwppbXBvcnQgamF2YS5sYW5nLio7CmltcG9ydCBqYXZhLmlvLio7CgovKiBOYW1lIG9mIHRoZSBjbGFzcyBoYXMgdG8gYmUgIk1haW4iIG9ubHkgaWYgdGhlIGNsYXNzIGlzIHB1YmxpYy4gKi8KY2xhc3MgSWRlb25lCnsKCXB1YmxpYyBzdGF0aWMgZG91YmxlIEVQU0lMT04gPSAwLjAwMTsKCQoJcHVibGljIHN0YXRpYyBkb3VibGUgcG93ZXIoZG91YmxlIHksIGludCBuKSB7CgkJZG91YmxlIHIgPSB5OwoJCWZvcihpbnQgaSA9IG47IGkgPiAxOyBpLS0pIHsKCQkJciA9IHIgKiB5OwoJCX0KCQlyZXR1cm4gcjsKCX0KCQoJcHVibGljIHN0YXRpYyBkb3VibGUgZihkb3VibGUgeSwgZG91YmxlIHgsIGludCBuKSB7CgkJcmV0dXJuIHBvd2VyKHksIG4pIC0geDsKCX0KCQoJcHVibGljIHN0YXRpYyBkb3VibGUgZkRpZmYoZG91YmxlIHksIGludCBuKSB7CgkJcmV0dXJuIG4qcG93ZXIoeSwgbi0xKTsKCX0KCQoJcHVibGljIHN0YXRpYyBkb3VibGUgaXRlcihkb3VibGUgeUFsdCwgZG91YmxlIHgsIGludCBuKSB7CgkJcmV0dXJuIHlBbHQgLSBmKHlBbHQsIHgsIG4pIC8gZkRpZmYoeUFsdCwgbik7Cgl9CgkKCXB1YmxpYyBzdGF0aWMgZG91YmxlIHJvb3ROb2ZYKGRvdWJsZSB4LCBpbnQgbikgewoJCWRvdWJsZSB5QWx0ID0gMTsKCQlkb3VibGUgeU5ldzsKCQl3aGlsZSh0cnVlKSB7CgkJCXlOZXcgPSBpdGVyKHlBbHQsIHgsIG4pOwoJCQlpZihNYXRoLmFicyh5TmV3IC0geUFsdCkgPCBFUFNJTE9OKSB7CgkJCQlyZXR1cm4geU5ldzsKCQkJfQoJCQl5QWx0ID0geU5ldzsKCQl9IAoJfQoJCglwdWJsaWMgc3RhdGljIHZvaWQgbWFpbiAoU3RyaW5nW10gYXJncykgdGhyb3dzIGphdmEubGFuZy5FeGNlcHRpb24KCXsKCQlTeXN0ZW0ub3V0LnByaW50bG4ocm9vdE5vZlgoMiwyKSk7Cgl9Cn0=