#include <iostream>
using namespace std;

class FiniteField
{
    int mPrime, mD;
public:
    FiniteField(int ip = 0, int id = 0)
        :mPrime(ip), mD(id)
    {
    }
    void Show()
    {
        cout << mD<< endl;
    }
    friend istream& operator>>(istream&, const FiniteField&);
    friend ostream& operator<<(ostream&, const FiniteField&);
    FiniteField operator +(const FiniteField& ff)
    {
        return FiniteField(mPrime, (mD + ff.mD) % mPrime);
    }
    FiniteField operator *(const FiniteField& ff)
    {
        return FiniteField(mPrime, (mD * ff.mD) % mPrime);
    }
    FiniteField operator -(const FiniteField& ff)
    {
        return FiniteField(mPrime, (mD + (mPrime - ff.mD)) % mPrime);
    }
    FiniteField operator /(const FiniteField& ff)
    {
        int k = 1;
        for (; k < mPrime; ++k){
            if ((k*ff.mD) % mPrime == 1)
                break;
        }
        return FiniteField(mPrime, (mD * k) % mPrime);
    }
};

istream& operator>>(istream& in, const FiniteField& ff)
{
    return cin >> ff.mD;
}
ostream& operator<<(ostream& on, const FiniteField& ff)
{
    return cout << ff.mD;
}

class myCurve
{
    FiniteField a, b, c;
public:
    myCurve(FiniteField a, FiniteField b, FiniteField c)
    {
        this->a = a; this->b = b; this->c = c;
    }
    FiniteField operator()(FiniteField x)
    {
        return a*x*x + b*x + c;
    }
};

// StudybarCommentBegin
#include<sstream>

int main()
{
    int prime, a, b, c, x = 1;
    string password;

    cin >> prime;  //input a prime num
    cin >> password;

    stringstream ss;  //字符流对象 
    ss << password.substr(0, 2) << " " << password.substr(2, 2) << " " << password.substr(4, 2);
    //上一句的substr取子串从标0开始,取子串长度为2; 输入字符串流	 
    ss >> a >> b >> c;	//字符流	流入整数a,b,c中 

    FiniteField fa(prime, a), fb(prime, b), fc(prime, c), fx1(prime, x), fx2(prime, x + 1), fx3(prime, x + 2), fx4(prime, x + 3);
    myCurve    mycurve(fa, fb, fc);  //对象 初始化 

    cout << mycurve(fx1) << endl;  //因为重载了(), 所以这里类似函数一样被调用了 
    cout << mycurve(fx2) << endl;
    cout << mycurve(fx3) << endl;
    cout << mycurve(fx4) << endl;
    return 0;
}
//StudybarCommentEndnd