#include int main(int argc, char** argv) { int n; int stackPoint = 0; int stackTable[10]; int ret = 1; scanf("%d", &n); goto CHK; CHK: if(n < 0) goto ERR; if(n == 0) goto RET; goto FAC; FAC: stackTable[stackPoint++] = n; n--; if(n > 0) goto FAC; goto STACK; STACK: ret *= stackTable[--stackPoint]; if(stackPoint-1 < 0) goto RET; goto STACK; RET: printf("%d\n", ret); return 0; ERR: printf("error\n"); return -1; }