代码:
#include <bits/stdc++.h>
using namespace std;
#define ll long long
const int mod =10001;
ll exgcd(ll a,ll b, ll& x,ll& y)
{
if(b==0)
{
x=1;
y=0;
return a;
}
ll t= exgcd(b,a%b,y,x);
y-=(a/b)*x;
return t;
}
ll xi[mod];
ll yi[mod];
int t;
ll a,b;
ll x,y;
bool check(ll a,ll b)
{
yi[0]=(a*xi[0]+b)%mod;
for(int i=1;i<t;i++)
{
if(xi[i]!=(a*yi[i-1]+b)%mod)
return false;
yi[i]=(a*xi[i]+b)%mod;
}
return true;
}
void solve()
{
for(int i=0;i<mod;i++)
{
a=i;
ll gcd=exgcd(a+1,mod,x,y);
ll c=xi[1]-a*a*xi[0];
if(c%gcd!=0)
{
continue;
}
else
{
b=((x*c/gcd)%mod+mod)%mod;
if(check(a,b))
{
for(int i=0;i<t;i++)
{
printf("%lld\n",yi[i]);
}
break;
}
}
}
}
int main()
{
scanf("%d",&t);
for(int i=0;i<t;i++)
{
scanf("%lld",&xi[i]);
}
solve();
return 0;
}