#include #include #include #include #include #include #include #include #include #include #include #include #include #include using namespace std; #define DEBUG(x) cout << '>' << #x << ':' << x << endl; #define FOR(i, a, b) for (int i = (a); i < (b); ++i) #define FOR2(i, a, b) for (int i = (a); i > (b); --i) inline bool EQ(double a, double b) { return fabs(a-b) < 1e-9; } const int INF = 1<<29; typedef long long ll; int x[5]; int y[5]; void num(int n) { if (n < 0) { printf("NUM %d\nINV\n", -n); } else { printf("NUM %d\n", n); } } int main() { while (1) { int n; scanf("%d", &n); if (!n) break; FOR(i, 0, n) { scanf("%d%d", x+i, y+i); } if (n == 1) { printf("POP\n"); num(y[0]); printf("END\n\n"); continue; } FOR(i, 0, n) { printf("DUP\n"); FOR(j, 0, n) { if (i == j) continue; printf("DUP\n"); num(x[j]); printf("SUB\n"); printf("SWP\n"); } printf("POP\n"); FOR(j, 0, n-2) { printf("MUL\n"); } int d = 1; FOR(j, 0, n) { if (i == j) continue; d *= x[i]-x[j]; } num(d); printf("DIV\n"); printf("NUM %d\n", y[i]); printf("MUL\n"); printf("SWP\n"); } printf("POP\n"); FOR(i, 0, n-1) { printf("ADD\n"); } printf("END\n\n"); } return 0; }