#include #include #include using namespace std; int main() { string polecenia[100005]; long int wart[100005]; int il_liczb; int licznik_polecen; long int stos[1005]; int N,i,j,k; while (1) { licznik_polecen = 1; cin >> polecenia[0]; if (polecenia[0][0] == 'Q') { break; } if (polecenia[0].compare(0,3,"NUM") ==0) { cin >> wart[0]; //cout <> polecenia[licznik_polecen]; if (polecenia[licznik_polecen][0] == 'E') { break; } if (polecenia[licznik_polecen].compare(0,3,"NUM") ==0) { cin >> wart[licznik_polecen]; //cout <> N; for (i = 0; i> stos[0]; il_liczb = 1; for (j = 0; j < licznik_polecen; ++j) { if (polecenia[j].compare(0,3,"NUM") ==0) { long int temp = 0; temp = wart[j]; stos[il_liczb] = temp; cout << stos[j] << "\n"; ++il_liczb; } else if (polecenia[j].compare(0,3,"POP") ==0 ) { if (il_liczb == 0) { cout <<"ERROR\n"; break; } --il_liczb; } else if (polecenia[j].compare(0,3,"INV") ==0 ) { if (il_liczb == 0) { cout <<"ERROR\n"; break; } stos[il_liczb-1] = -stos[il_liczb-1]; } else if (polecenia[j].compare(0,3,"DUP") ==0 ) { if (il_liczb == 0) { cout <<"ERROR\n"; break; } stos[il_liczb] = stos[il_liczb-1]; ++il_liczb; } else if (polecenia[j].compare(0,3,"DUP") ==0 ) { if (il_liczb == 0) { cout <<"ERROR\n"; break; } stos[il_liczb] = stos[il_liczb-1]; ++il_liczb; } else if (polecenia[j].compare(0,3,"SWP") ==0 ) { if (il_liczb < 2) { cout <<"ERROR\n"; break; } long int temp = stos[il_liczb-1]; stos[il_liczb-1] = stos[il_liczb-2]; stos[il_liczb-2] = temp; } else if (polecenia[j].compare(0,3,"ADD") ==0 ) { if (il_liczb < 2) { cout <<"ERROR\n"; break; } stos[il_liczb-2] += stos[il_liczb-1]; --il_liczb; } else if (polecenia[j].compare(0,3,"SUB") ==0 ) { if (il_liczb < 2) { cout <<"ERROR\n"; break; } stos[il_liczb-2] -= stos[il_liczb-1]; --il_liczb; } else if (polecenia[j].compare(0,3,"MUL") ==0 ) { if (il_liczb < 2) { cout <<"ERROR\n"; break; } stos[il_liczb-2] *= stos[il_liczb-1]; --il_liczb; } else if (polecenia[j].compare(0,3,"DIV") ==0 ) { if (il_liczb < 2) { cout <<"ERROR\n"; break; } stos[il_liczb-2] /= stos[il_liczb-1]; --il_liczb; } else if (polecenia[j].compare(0,3,"MOD") ==0 ) { if (il_liczb < 2) { cout <<"ERROR\n"; break; } stos[il_liczb-2] = stos[il_liczb-2] % stos[il_liczb-1]; --il_liczb; } if (stos[il_liczb-1] > 1000000000 || stos[il_liczb-1] < -1000000000) { cout <<"ERROR\n"; break; } /*for (k = 0; k