#include <stdio.h>
#include <stdlib.h>

enum calculator_state
{
    NUMBER_FIRST,
    NUMBER_SECOND,
    RESULT
};

enum calculator_op
{
    NO_OP,
    ADD,
    SUB,
    DIV,
    MUL
};
struct calculator
{
    // 1 число
    int num1;
    // 2 число
    int num2;
    // 3 операция
    enum calculator_op operation;
    // 4 результат
    double result;
    // 5 состояние атомата
    enum calculator_state state;
};

// double calculate(char op, double num1, double num2) {
//     double result = 0;
//     switch (op) {
//         case '+':
//             result = num1 + num2;
//             break;
//         case '-':
//             result = num1 - num2;
//             break;
//         case '*':
//             result = num1 * num2;
//             break;
//         case '/':
//             result = num1 / num2;
//             break;
//     }
//     return result;
// }

int main()
{
    struct calculator calc;
    calc.state = NUMBER_FIRST;
    calc.operation = NO_OP;
    calc.num1 = 0;
    calc.num2 = 0;
    calc.result = 0;

    char input;
    while (1)
    {
        scanf("%d", &input);
        switch (calc.state)
        {
        case NUMBER_FIRST:
            switch (input)
            {
            case 0:
                calc.num1 = (calc.num1 * 10) + 7;
                printf("%d",calc.num1);
                break;
            case 1:
                calc.num1 = (calc.num1 * 10) + 8;
                break;
            case 2:
                calc.num1 = (calc.num1 * 10) + 9;
                break;
            case 3:
                calc.operation = DIV;
                calc.state = NUMBER_SECOND;
                break;
            case 4:
                calc.num1 = (calc.num1 * 10) + 4;
                break;
            case 5:
                calc.num1 = (calc.num1 * 10) + 5;
                break;
            case 6:
                calc.num1 = (calc.num1 * 10) + 6;
                break;
            case 7:
                calc.operation = MUL;
                calc.state = NUMBER_SECOND;
                break;
            case 8:
                calc.num1 = (calc.num1 * 10) + 1;
                break;
            case 9:
                calc.num1 = (calc.num1 * 10) + 2;
            case 10:
                calc.num1 = (calc.num1 * 10) + 3;
                break;
            case 11:
                calc.operation = SUB;
                calc.state = NUMBER_SECOND;
                break;
            case 12:
                calc.num1 = 0;
                break;
            case 13:
                calc.state = NUMBER_FIRST;
                calc.operation = NO_OP;
                calc.num1 = 0;
                calc.num2 = 0;
                calc.result = 0;
                break;
            case 14:
                break;
            case 15:
                calc.operation = ADD;
                calc.state = NUMBER_SECOND;
                break;
            
            }

        case NUMBER_SECOND:
            switch (input)
            {
            case 0:
                calc.num2 = (calc.num2 * 10) + 7;
                break;
            case 1:
                calc.num2 = (calc.num2 * 10) + 8;
                break;
            case 2:
                calc.num2 = (calc.num2 * 10) + 9;
                break;
            case 3:

                break;
            case 4:
                calc.num2 = (calc.num2 * 10) + 4;
                break;
            case 5:
                calc.num2 = (calc.num2 * 10) + 5;
                break;
            case 6:
                calc.num2 = (calc.num2 * 10) + 6;
                break;
            case 7:

                break;
            case 8:
                calc.num2 = (calc.num2 * 10) + 1;
                break;
            case 9:
                calc.num2 = (calc.num2 * 10) + 2;
            case 10:
                calc.num2 = (calc.num2 * 10) + 3;
                break;
            case 11:

                break;
            case 12:
                calc.num2 = 0;
                break;
            case 13:
                calc.state = NUMBER_FIRST;
                calc.operation = NO_OP;
                calc.num1 = 0;
                calc.num2 = 0;
                calc.result = 0;
                break;
            case 14:
                calc.state = RESULT;
                break;
            case 15:

                break;
            }

        case RESULT:
            switch (calc.operation)
            {
            case ADD:
                calc.result = calc.num1 + calc.num2;
                break;
            case SUB:
                calc.result = calc.num1 - calc.num2;
                break;
            case MUL:
                calc.result = calc.num1 * calc.num2;
                break;
            case DIV:
                calc.result = calc.num1 / calc.num2;
                break;
                return calc.result;
            }
        }
    }
    return 0;
}