#include <iostream>
#include <stdio.h>
#include <math.h>
using namespace std;
double pow_b (double a, int n){
if (n==0) return 1;
double result = 1;
while (n>0) {
if (n%2==0) {
n/=2;
a*=a;
}
else {
n--;
result*=a;
}
}
return result;
}
int main () {
double a, p, eps=0.00001; //инициализируем переменные и задаём погрешность
cin>>a>>p;
double x=pow(a, 1/p); //подсчитываем значение
double xn=a, x_prev;
int i=0;
while (fabs(x-xn) > eps){ //создаём цикл, котоый считает значение с помощью рекурентного соотношения Ньютона
x_prev=xn;
xn=(1/p)*(x_prev*(p-1) + a/(pow_b(x_prev, p-1)));
i++;
}
cout<<i<<' '<<xn<<' '<<x; //выводим количество итераций на экран.
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8c3RkaW8uaD4KI2luY2x1ZGUgPG1hdGguaD4KCnVzaW5nIG5hbWVzcGFjZSBzdGQ7CmRvdWJsZSBwb3dfYiAoZG91YmxlIGEsIGludCBuKXsKICAgIGlmIChuPT0wKSByZXR1cm4gMTsKICAgIGRvdWJsZSByZXN1bHQgPSAxOwogICAgd2hpbGUgKG4+MCkgewogICAgICAgIGlmIChuJTI9PTApIHsKICAgICAgICAgICAgbi89MjsKICAgICAgICAgICAgYSo9YTsKICAgICAgICB9CiAgICAgICAgZWxzZSB7CiAgICAgICAgICAgIG4tLTsKICAgICAgICAgICAgcmVzdWx0Kj1hOwogICAgICAgIH0KICAgIH0KICAgIHJldHVybiByZXN1bHQ7Cn0KaW50IG1haW4gKCkgewogICAgZG91YmxlIGEsIHAsIGVwcz0wLjAwMDAxOyAvL9C40L3QuNGG0LjQsNC70LjQt9C40YDRg9C10Lwg0L/QtdGA0LXQvNC10L3QvdGL0LUg0Lgg0LfQsNC00LDRkdC8INC/0L7Qs9GA0LXRiNC90L7RgdGC0YwKICAgIGNpbj4+YT4+cDsKICAgIGRvdWJsZSB4PXBvdyhhLCAxL3ApOyAgLy/Qv9C+0LTRgdGH0LjRgtGL0LLQsNC10Lwg0LfQvdCw0YfQtdC90LjQtQogICAgZG91YmxlIHhuPWEsIHhfcHJldjsKICAgIGludCBpPTA7CiAgICB3aGlsZSAoZmFicyh4LXhuKSA+IGVwcyl7ICAvL9GB0L7Qt9C00LDRkdC8INGG0LjQutC7LCDQutC+0YLQvtGL0Lkg0YHRh9C40YLQsNC10YIg0LfQvdCw0YfQtdC90LjQtSDRgSDQv9C+0LzQvtGJ0YzRjiDRgNC10LrRg9GA0LXQvdGC0L3QvtCz0L4g0YHQvtC+0YLQvdC+0YjQtdC90LjRjyDQndGM0Y7RgtC+0L3QsAogICAgICAgIHhfcHJldj14bjsKICAgICAgICB4bj0oMS9wKSooeF9wcmV2KihwLTEpICsgYS8ocG93X2IoeF9wcmV2LCBwLTEpKSk7CiAgICAgICAgaSsrOwogICAgfQogICAgY291dDw8aTw8JyAnPDx4bjw8JyAnPDx4OyAvL9Cy0YvQstC+0LTQuNC8INC60L7Qu9C40YfQtdGB0YLQstC+INC40YLQtdGA0LDRhtC40Lkg0L3QsCDRjdC60YDQsNC9LgogICAgcmV0dXJuIDA7Cn0K