#include #include using namespace std; int b[42], c[42]; int main() { while (1) { int n; scanf("%d", &n); if (!n) break; for (int i = 0; i < n; ++i) { scanf("%d %d\n", &b[i], &c[i]); } if (n == 1) { printf("POP\nNUM %d\nEND\n\n", c[0]); } else { for (int j = 0; j < n-1; ++j) printf("DUP\n"); // x(n-1) printf("NUM 0\n"); // x(n-1) FINAL=0 for (int i = 0; i < n; ++i) { printf("SWP\n"); // x...x FINAL x for (int j = 0; j < n-2; ++j) printf("DUP\n"); // x...x FINAL x(n-2) printf("NUM 1\n"); // x...x FINAL x(n-2) RES=1 for (int j = 0; j < n; ++j) { if (i == j) continue; printf("SWP\n"); // x...x FINAL x...x RES x printf("NUM %d\n", b[j]); // ...RES x A printf("SUB\n"); // ...RES (x-A) printf("MUL\n"); // x...x FINAL x...x RES } // x...x FINAL RES printf("NUM 1\n"); // x...x FINAL RES MEN=1 for (int j = 0; j < n; ++j) { if (i == j) continue; // x...x FINAL RES MEN printf("NUM %d\n", b[i]); printf("NUM %d\n", b[j]); // x...x FINAL RES MEN B A printf("SUB\n"); printf("MUL\n"); // x...x FINAL RES MEN } // x...x FINAL RES MEN printf("DIV\n"); // x...x FINAL PODIEL=0/1 printf("NUM %d\n", c[i]); // x...x FINAL PODIEL C printf("MUL\n"); // x...x FINAL CUR printf("ADD\n"); // x...x FINAL } printf("END\n\n"); } } return 0; }