#include <bits/stdc++.h>
using namespace std;
pair<double,double> horner(const vector<double>& a, double x){
double n = a.size() - 1;
double p = a[0];
double dp = 0;
for(int i = 1; i <= n; i++){
dp = dp * x + p;
p = p * x + a[i];
}
return {p, dp};
}
int main(){
int n;
cin >> n;
vector<double> a(n+1);
for(int i = 0; i <= n; i++) cin >> a[i];
double x0;
cin >> x0;
double E = 1e-8;
cout << fixed << setprecision(8);
cout << "Iter\t x\t\t f(x)\t\t f'(x)\t\t error\n";
for(int i = 1; i <= 100; i++){
auto [fx, dfx] = horner(a, x0);
if(dfx == 0){
cout << "Derivative zero. Stopping iteration.\n";
break;
}
double x1 = x0 - fx / dfx;
cout << i << "\t" << x0 << "\t" << fx << "\t" << dfx << "\t" << fabs(x1 - x0) << "\n";
if(fabs(x1 - x0) < E) {
cout << "Root = " << x1 << "\n";
break;
}
x0 = x1;
}
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CgpwYWlyPGRvdWJsZSxkb3VibGU+IGhvcm5lcihjb25zdCB2ZWN0b3I8ZG91YmxlPiYgYSwgZG91YmxlIHgpewogICAgZG91YmxlIG4gPSBhLnNpemUoKSAtIDE7CiAgICBkb3VibGUgcCA9IGFbMF07CiAgICBkb3VibGUgZHAgPSAwOwogICAgZm9yKGludCBpID0gMTsgaSA8PSBuOyBpKyspewogICAgICAgIGRwID0gZHAgKiB4ICsgcDsKICAgICAgICBwID0gcCAqIHggKyBhW2ldOwogICAgfQogICAgcmV0dXJuIHtwLCBkcH07Cn0KCmludCBtYWluKCl7CiAgICBpbnQgbjsKICAgIGNpbiA+PiBuOwogICAgdmVjdG9yPGRvdWJsZT4gYShuKzEpOwogICAgZm9yKGludCBpID0gMDsgaSA8PSBuOyBpKyspIGNpbiA+PiBhW2ldOwoKICAgIGRvdWJsZSB4MDsKICAgIGNpbiA+PiB4MDsKICAgIGRvdWJsZSBFID0gMWUtODsKCiAgICBjb3V0IDw8IGZpeGVkIDw8IHNldHByZWNpc2lvbig4KTsKICAgIGNvdXQgPDwgIkl0ZXJcdCB4XHRcdCBmKHgpXHRcdCBmJyh4KVx0XHQgZXJyb3JcbiI7CgogICAgZm9yKGludCBpID0gMTsgaSA8PSAxMDA7IGkrKyl7CiAgICAgICAgYXV0byBbZngsIGRmeF0gPSBob3JuZXIoYSwgeDApOwogICAgICAgIGlmKGRmeCA9PSAwKXsKICAgICAgICAgICAgY291dCA8PCAiRGVyaXZhdGl2ZSB6ZXJvLiBTdG9wcGluZyBpdGVyYXRpb24uXG4iOwogICAgICAgICAgICBicmVhazsKICAgICAgICB9CiAgICAgICAgZG91YmxlIHgxID0geDAgLSBmeCAvIGRmeDsKICAgICAgICBjb3V0IDw8IGkgPDwgIlx0IiA8PCB4MCA8PCAiXHQiIDw8IGZ4IDw8ICJcdCIgPDwgZGZ4IDw8ICJcdCIgPDwgZmFicyh4MSAtIHgwKSA8PCAiXG4iOwogICAgICAgIGlmKGZhYnMoeDEgLSB4MCkgPCBFKSB7CiAgICAgICAgICAgIGNvdXQgPDwgIlJvb3QgPSAiIDw8IHgxIDw8ICJcbiI7CiAgICAgICAgICAgIGJyZWFrOwogICAgICAgIH0KICAgICAgICB4MCA9IHgxOwogICAgfQp9