#include<iostream>
#include<string.h>
#include<algorithm>
#include<stdio.h>
#define ll long long
#define rep(i,j,k) for(int i=j;i<=k;++i)
using namespace std;
const int maxx = 1e4+;
ll a[maxx];
void ex_gcd(ll a,ll b,ll &d,ll &x,ll &y)
{
if (!b)
{
d=a;
x=;
y=;
}
else
{
ex_gcd(b,a%b,d,y,x);
y-=x*(a/b);
}
}
int main()
{
int n;
while(~scanf("%d",&n))
{
memset(a,,sizeof(a));
for (int i=; i<=*n; i+=)
{
scanf("%lld",&a[i]);
}
ll d,k,b;
rep(i,,)
{
ex_gcd(,i+,d,k,b);
ll c=(a[]-(ll)i*i*a[]);//等式左边
b=b*c/d;//解数字解
if(c%d==)
{
int flag;
rep(j,,*n)
{
flag=;
ll tmp=(i*a[j-]+b)%;
if (j%==)
{
if (tmp!=a[j])
{
flag=;
break;
}
}else {
a[j]=tmp;
}
}
if (flag)
{
break;
}
}
else
{
continue;
}
}
for (int i=;i<=*n;i+=){
printf("%lld\n",a[i]);
} }
return ;
}