/* package whatever; // don't place package name! */
import java.util.*;
import java.lang.*;
import java.io.*;
import java.math.BigDecimal;
/* Name of the class has to be "Main" only if the class is public. */
class Ideone
{
if (pow
== 0) return BigDecimal.
valueOf(1.
); //проверка нулевой степени String BYNPOW
= Integer.
toString(pow,
2); //представление степени двоичным числом for (int i = BYNPOW.length() - 1; i <= 0; i++) { //цикл перебора от СТАРШЕГО бита к МЛАДШЕМУ
if (BYNPOW.charAt(i) == '1') { //TODO
res = res.multiply(res).multiply(num);
} else res = res.multiply(res);
}
return res;
}
{
}
}
LyogcGFja2FnZSB3aGF0ZXZlcjsgLy8gZG9uJ3QgcGxhY2UgcGFja2FnZSBuYW1lISAqLwoKaW1wb3J0IGphdmEudXRpbC4qOwppbXBvcnQgamF2YS5sYW5nLio7CmltcG9ydCBqYXZhLmlvLio7CmltcG9ydCBqYXZhLm1hdGguQmlnRGVjaW1hbDsKCi8qIE5hbWUgb2YgdGhlIGNsYXNzIGhhcyB0byBiZSAiTWFpbiIgb25seSBpZiB0aGUgY2xhc3MgaXMgcHVibGljLiAqLwpjbGFzcyBJZGVvbmUKewoJCglzdGF0aWMgQmlnRGVjaW1hbCBmYXN0UG93KEJpZ0RlY2ltYWwgbnVtLCBpbnQgcG93KSB7CiAgICAgICAgaWYgKHBvdyA9PSAwKSByZXR1cm4gQmlnRGVjaW1hbC52YWx1ZU9mKDEuKTsgICAgICAgIC8v0L/RgNC+0LLQtdGA0LrQsCDQvdGD0LvQtdCy0L7QuSDRgdGC0LXQv9C10L3QuAogICAgICAgIFN0cmluZyBCWU5QT1cgPSBJbnRlZ2VyLnRvU3RyaW5nKHBvdywgMik7ICAgICAgICAgICAvL9C/0YDQtdC00YHRgtCw0LLQu9C10L3QuNC1INGB0YLQtdC/0LXQvdC4INC00LLQvtC40YfQvdGL0Lwg0YfQuNGB0LvQvtC8CiAgICAgICAgQmlnRGVjaW1hbCByZXMgPSBCaWdEZWNpbWFsLnZhbHVlT2YoMCk7ICAgICAgICAgICAgIC8v0LjQvdC40YbQuNCw0LvQuNC30LDRhtC40Y8g0YDQtdC30YPQu9GM0YLQsNGC0LAg0J3Qo9Cb0JXQnAogICAgICAgIGZvciAoaW50IGkgPSBCWU5QT1cubGVuZ3RoKCkgLSAxOyBpIDw9IDA7IGkrKykgeyAgICAvL9GG0LjQutC7INC/0LXRgNC10LHQvtGA0LAg0L7RgiDQodCi0JDQoNCo0JXQk9CeINCx0LjRgtCwINC6INCc0JvQkNCU0KjQldCc0KMKICAgICAgICAgICAgaWYgKEJZTlBPVy5jaGFyQXQoaSkgPT0gJzEnKSB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgLy9UT0RPCiAgICAgICAgICAgICAgICByZXMgPSByZXMubXVsdGlwbHkocmVzKS5tdWx0aXBseShudW0pOwogICAgICAgICAgICB9IGVsc2UgcmVzID0gcmVzLm11bHRpcGx5KHJlcyk7CiAgICAgICAgfQogICAgICAgIHJldHVybiByZXM7CiAgICB9CiAgICAKCXB1YmxpYyBzdGF0aWMgdm9pZCBtYWluIChTdHJpbmdbXSBhcmdzKSB0aHJvd3MgamF2YS5sYW5nLkV4Y2VwdGlvbgoJewogICAgICAgIFN5c3RlbS5vdXQucHJpbnRsbihmYXN0UG93KEJpZ0RlY2ltYWwudmFsdWVPZigzKSwgNSkpOwoJfQp9