#include <cstdio>
#include <fstream>
#include <cstdlib>
using namespace std;
struct cow_t {
long long W, U;
};
cow_t cow[1500010];
int comp (const void *a, const void *b)
{
const cow_t *ca = (const cow_t*)a, *cb = (const cow_t*)b;
if (ca->U != cb->U)
return cb->U - ca->U;
else
return ca->W - cb->W;
}
int main ()
{
ifstream fin("farmoff.in");
ofstream fout("farmoff.out");
long long N, a, b, c, d, e, f, g, h, M;
fin >> N >> a >> b >> c >> d >> e >> f >> g >> h >> M;
for (int i=0; i<3*N; i++)
{
cow[i].W = (a*i*i*i*i*i+b*i*i+c)%d;
cow[i].U = ((e*i*i)%h*i*((i*i)%h)+f*i*i*i+g)%h;
}
qsort(cow, 3*N, sizeof(cow_t), comp);
long long minw = 0;
for (int i=0; i<N; i++)
minw += cow[i].W;
fout << minw << "\n";
return 0;
}