#include <bits/stdc++.h>
using namespace std;
 
pair<double, double> horner(const vector<double> &a, double x) {
    double p = a[0], dp = 0;
    for (int i = 1; i < (int)a.size(); 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;
 
    const double E = 1e-8;
    cout << fixed << setprecision(10);
    cout << "Iter\t" << setw(12) << "x"
         << "\t" << setw(12) << "f(x)"
         << "\t" << setw(12) << "f'(x)"
         << "\t" << setw(12) << "error\n";
 
    for (int i = 1; i <= 100; i++) {
        auto [fx, dfx] = horner(a, x0);
 
        if (fabs(dfx) < 1e-14) {
            cout << "Derivative too small at iteration " << i << ", stopping.\n";
            break;
        }
 
        double x1 = x0 - fx / dfx;
        double error = fabs(x1 - x0);
 
        cout << i << "\t" 
             << setw(12) << x0 << "\t" 
             << setw(12) << fx << "\t" 
             << setw(12) << dfx << "\t" 
             << setw(12) << error << "\n";
 
        if (fabs(x1 - x0) < E * max(1.0, fabs(x1))) {
            cout << "Root = " << x1 << "\n";
            break;
        }
 
        x0 = x1;
    }
 
    return 0;
}
				CiNpbmNsdWRlIDxiaXRzL3N0ZGMrKy5oPgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKcGFpcjxkb3VibGUsIGRvdWJsZT4gaG9ybmVyKGNvbnN0IHZlY3Rvcjxkb3VibGU+ICZhLCBkb3VibGUgeCkgewogICAgZG91YmxlIHAgPSBhWzBdLCBkcCA9IDA7CiAgICBmb3IgKGludCBpID0gMTsgaSA8IChpbnQpYS5zaXplKCk7IGkrKykgewogICAgICAgIGRwID0gZHAgKiB4ICsgcDsKICAgICAgICBwID0gcCAqIHggKyBhW2ldOwogICAgfQogICAgcmV0dXJuIHtwLCBkcH07Cn0KCmludCBtYWluKCkgewogICAgaW50IG47CiAgICBjaW4gPj4gbjsKICAgIHZlY3Rvcjxkb3VibGU+IGEobiArIDEpOwogICAgZm9yIChpbnQgaSA9IDA7IGkgPD0gbjsgaSsrKSBjaW4gPj4gYVtpXTsKCiAgICBkb3VibGUgeDA7CiAgICBjaW4gPj4geDA7CgogICAgY29uc3QgZG91YmxlIEUgPSAxZS04OwogICAgY291dCA8PCBmaXhlZCA8PCBzZXRwcmVjaXNpb24oMTApOwogICAgY291dCA8PCAiSXRlclx0IiA8PCBzZXR3KDEyKSA8PCAieCIKICAgICAgICAgPDwgIlx0IiA8PCBzZXR3KDEyKSA8PCAiZih4KSIKICAgICAgICAgPDwgIlx0IiA8PCBzZXR3KDEyKSA8PCAiZicoeCkiCiAgICAgICAgIDw8ICJcdCIgPDwgc2V0dygxMikgPDwgImVycm9yXG4iOwoKICAgIGZvciAoaW50IGkgPSAxOyBpIDw9IDEwMDsgaSsrKSB7CiAgICAgICAgYXV0byBbZngsIGRmeF0gPSBob3JuZXIoYSwgeDApOwoKICAgICAgICBpZiAoZmFicyhkZngpIDwgMWUtMTQpIHsKICAgICAgICAgICAgY291dCA8PCAiRGVyaXZhdGl2ZSB0b28gc21hbGwgYXQgaXRlcmF0aW9uICIgPDwgaSA8PCAiLCBzdG9wcGluZy5cbiI7CiAgICAgICAgICAgIGJyZWFrOwogICAgICAgIH0KCiAgICAgICAgZG91YmxlIHgxID0geDAgLSBmeCAvIGRmeDsKICAgICAgICBkb3VibGUgZXJyb3IgPSBmYWJzKHgxIC0geDApOwoKICAgICAgICBjb3V0IDw8IGkgPDwgIlx0IiAKICAgICAgICAgICAgIDw8IHNldHcoMTIpIDw8IHgwIDw8ICJcdCIgCiAgICAgICAgICAgICA8PCBzZXR3KDEyKSA8PCBmeCA8PCAiXHQiIAogICAgICAgICAgICAgPDwgc2V0dygxMikgPDwgZGZ4IDw8ICJcdCIgCiAgICAgICAgICAgICA8PCBzZXR3KDEyKSA8PCBlcnJvciA8PCAiXG4iOwoKICAgICAgICBpZiAoZmFicyh4MSAtIHgwKSA8IEUgKiBtYXgoMS4wLCBmYWJzKHgxKSkpIHsKICAgICAgICAgICAgY291dCA8PCAiUm9vdCA9ICIgPDwgeDEgPDwgIlxuIjsKICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgfQoKICAgICAgICB4MCA9IHgxOwogICAgfQoKICAgIHJldHVybiAwOwp9