#include <iostream>
using namespace std;
bool power(double a, double n, double m){
double res = 1;
for (int i = 1; i <= n; i++){
res *= a;
if(res > m) return false;
}
return true;
}
double findNthRootOfM(int n, int m){
double l = 1, r = m;
while(r-l > 1e-6){
double mid = (l + r)/2;
if(power(mid, n, m)){
l = mid;
}
else r = mid;
}
return l;
}
int main() {
// your code goes here
cout << findNthRootOfM(3, 27);
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKYm9vbCBwb3dlcihkb3VibGUgYSwgZG91YmxlIG4sIGRvdWJsZSBtKXsKCWRvdWJsZSByZXMgPSAxOwoJZm9yIChpbnQgaSA9IDE7IGkgPD0gbjsgaSsrKXsKCQlyZXMgKj0gYTsKCQlpZihyZXMgPiBtKSByZXR1cm4gZmFsc2U7Cgl9CgkKCXJldHVybiB0cnVlOwoJCn0KCmRvdWJsZSBmaW5kTnRoUm9vdE9mTShpbnQgbiwgaW50IG0pewoJZG91YmxlIGwgPSAxLCByID0gbTsKCXdoaWxlKHItbCA+IDFlLTYpewoJCWRvdWJsZSBtaWQgPSAobCArIHIpLzI7CgkJaWYocG93ZXIobWlkLCBuLCBtKSl7CgkJCWwgPSBtaWQ7CgkJfQoJCWVsc2UgciA9IG1pZDsKCX0KCQoJcmV0dXJuIGw7Cn0KCgppbnQgbWFpbigpIHsKCS8vIHlvdXIgY29kZSBnb2VzIGhlcmUKCWNvdXQgPDwgZmluZE50aFJvb3RPZk0oMywgMjcpOwoJcmV0dXJuIDA7Cn0=