#include #include #include #include #include #include using namespace std; #define REP(i,n) for(int i=0; i0; --t){ tab[t] = tab[t-1] - x[j] * tab[t]; } tab[0] *= -x[j]; } REP(it,n){ a[it].add(Q(tab[it] * P[i], M)); } } //REP(i,n) a[i].print(); int NWW = 1; REP(i,n) NWW = nww(NWW, a[i].m); REP(i,n) a[i].l *= (NWW/a[i].m); REP(i,n-2) printf("DUP\n"); printf("NUM 0\n"); for(int i=n-1; i>=0; --i){ if(a[i].l > 0){ printf("NUM %d\nADD\n", a[i].l); } else{ printf("NUM %d\nSUB\n", -a[i].l); } if(i > 0) printf("MUL\n"); } printf("NUM %d\nDIV\n", NWW); printf("END\n\n"); } return 0; }