#include int n, x[5], y[5], a[5], b[5]; int main() { while (true) { scanf("%d", &n); if (n == 0) break; for (int i = 0; i < n; i++) { scanf("%d%d", x + i, y + i); } int d = 1; for (int i = 0; i < n; i++) { for (int j = i + 1; j < n; j++) { d *= x[i] - x[j]; } } for (int i = 0; i < n; i++) { b[i] = y[i]; if (i % 2 == 1) { b[i] *= -1; } //printf("%d\n", b[i]); for (int j = 0; j < n; j++) { if (j != i) { for (int k = j + 1; k < n; k++) { if (k != i) { b[i] *= x[j] - x[k]; } } } } } for (int i = 0; i < n; i++) { a[i] = 0; } for (int i = 0; i < n; i++) { a[n - 1] += b[i]; if (n > 1) { int v = 0; for (int j = 0; j < n; j++) { if (j != i) { v += x[j]; } } a[n - 2] -= b[i] * v; } if (n > 2) { int v = 0; //printf("V = "); for (int j = 0; j < n; j++) { for (int k = j + 1; k < n; k++) { if (j != i && k != i) { v += x[j] * x[k]; //printf("%d ", v); } } } //printf("\n"); a[n - 3] += b[i] * v; } if (n > 3) { int v = 0; for (int j = 0; j < n; j++) { for (int k = j + 1; k < n; k++) { for (int l = k + 1; l < n; l++) { if (j != i && k != i && l != i) { v += x[j] * x[k] * x[l]; } } } } a[n - 4] -= b[i] * v; } if (n > 4) { int v = 1; for (int j = 0; j < n; j++) { if (j != i) { v *= x[j]; } } a[n - 5] += b[i] * v; } /* for (int i = 0; i < n; i++) { printf("%d ", a[i]); } printf("\n"); for (int i = 0; i < n; i++) { printf("%d ", b[i]); } printf("\n======\n"); */ } /* for (int i = 0; i < n; i++) { printf("%d ", a[i]); } printf("\n%d\n", d); */ for (int i = 0; i < n; i++) { for (int j = 0; j < i; j++) { printf("DUP\n"); } for (int j = 0; j < i - 1; j++) { printf("MUL\n"); } if (a[i] >= 0) { printf("NUM %d\n", a[i]); } else { printf("NUM %d\nINV\n", -a[i]); } if (i > 0) { printf("MUL\n"); } printf("SWP\n"); } printf("POP\n"); for (int i = 0; i < n - 1; i++) { printf("ADD\n"); } if (d >= 0) { printf("NUM %d\n", d); } else { printf("NUM %d\nINV\n", -d); } printf("DIV\nEND\n\n"); } }