#include <iostream>
#include <string>
#include <sstream>
#include <vector>
using namespace std;
void solve() {
long long x;
// 讀取每筆測資的第一行:x 的值
while (cin >> x) {
string line;
cin.ignore(); // 忽視掉 x 後面的換行符號
getline(cin, line); // 讀取整行的係數
stringstream ss(line);
long long coef;
vector<long long> a;
// 快速解析整行整數
while (ss >> coef) {
a.push_back(coef);
}
// 如果只有一項(常數項),微商後必定為 0
if (a.size() <= 1) {
cout << 0 << "\n";
continue;
}
long long derivative_ans = 0; // 記錄 f'(x) 的答案
long long current_f = 0; // 記錄原多項式除去常數項後的前綴計算值
int n = a.size() - 1; // 最高次方
// 運用 Horner's Method 變體,由最高次項 a[0] 一路算到 a[n-1]
// 注意:最後一項 a[n] 是常數項,微分後為 0,所以迴圈不需要跑到最後一項
for (int i = 0; i < n; ++i) {
current_f = current_f * x + a[i];
// 如果還沒到最後一項微分的貢獻,就繼續將現有的導數結果乘以 x
if (i < n - 1) {
derivative_ans = derivative_ans * x + current_f;
} else {
// 最後一步不需要再乘以 x
derivative_ans = derivative_ans * x + current_f;
}
}
cout << derivative_ans << "\n";
}
}
int main() {
// 極速輸入輸出優化,防範大量測資帶來的 I/O 延遲
ios_base::sync_with_stdio(false);
cin.tie(NULL);
solve();
return 0;
}