OIG XV - sum

// https://szkopul.edu.pl/problemset/problem/Cgw52wK7lgkABFnX_GbP-kiD/site/?key=statement
// OIG XV (1 etap)

#include <iostream>

int sum_of_digits(long long a) {
    long long sum = 0;

    while (a > 0) {
        sum += a % 10;
        a /= 10;
    }

    return sum;
}

int main() {
    std::ios_base::sync_with_stdio(0);
    std::cin.tie(0);
    std::cout.tie(0);

    long long n, x;
    std::cin >> n >> x;

    long long prev_x = x;

    if (n == 1) {
        std::cout << x << '\n';
        return 0;
    }

    if (x == 18) {
        std::cout << "18\n";
        return 0;
    }

    if (x == 9) {
        if (n > 1) {
            std ::cout << "18\n";
        } else {
            std::cout << "9\n";
        }
        return 0;
    }

    // n--;

    int moves = 0;
    while (x / 10 > 0) {
        x = 2 * sum_of_digits(x);
        moves++;

        if (x == 18) {
            if (n >= moves) {
                std::cout << "18\n";
                return 0;
            }

            for (int i = 0; i < n - 1; i++) {
                prev_x = 2 * sum_of_digits(prev_x);
            }

            std::cout << prev_x << '\n';

            return 0;
        }
    }

    if (n <= moves) {
        for (int i = 0; i < n - 1; i++) {
            prev_x = 2 * sum_of_digits(prev_x);
        }

        std::cout << prev_x << '\n';

        return 0;
    }

    n -= moves;

    if (x == 1) {
        // n--;
        n %= 6;

        if (n == 0) {
            std::cout << "14\n";
        } else if (n == 1) {
            std::cout << "10\n";
        } else if (n == 2) {
            std::cout << "2\n";
        } else if (n == 3) {
            std::cout << "4\n";
        } else if (n == 4) {
            std::cout << "8\n";
        } else if (n == 5) {
            std::cout << "16\n";
        }
    } else if (x == 2) {
        n %= 6;

        if (n == 0) {
            std::cout << "10\n";
        } else if (n == 1) {
            std::cout << "2\n";
        } else if (n == 2) {
            std::cout << "4\n";
        } else if (n == 3) {
            std::cout << "8\n";
        } else if (n == 4) {
            std::cout << "16\n";
        } else if (n == 5) {
            std::cout << "14\n";
        }
    } else if (x == 3) {
        if (n == 2) {
            std::cout << "9\n";
        } else {
            std::cout << "18\n";
        }
    } else if (x == 4) {
        n %= 6;

        if (n == 0) {
            std::cout << "2\n";
        } else if (n == 1) {
            std::cout << "4\n";
        } else if (n == 2) {
            std::cout << "8\n";
        } else if (n == 3) {
            std::cout << "16\n";
        } else if (n == 4) {
            std::cout << "14\n";
        } else if (n == 5) {
            std::cout << "10\n";
        }
    } else if (x == 5) {
        n--;
        n %= 6;

        if (n == 0) {
            std::cout << "14\n";
        } else if (n == 1) {
            std::cout << "10\n";
        } else if (n == 2) {
            std::cout << "2\n";
        } else if (n == 3) {
            std::cout << "4\n";
        } else if (n == 4) {
            std::cout << "8\n";
        } else if (n == 5) {
            std::cout << "16\n";
        }
    } else if (x == 6) {
        n %= 2;

        if (n == 0) {
            std::cout << "12\n";
        } else if (n == 1) {
            std::cout << "6\n";
        }
    } else if (x == 7) {
        n--;
        n %= 6;

        if (n == 0) {
            std::cout << "16\n";
        } else if (n == 1) {
            std::cout << "14\n";
        } else if (n == 2) {
            std::cout << "10\n";
        } else if (n == 3) {
            std::cout << "2\n";
        } else if (n == 4) {
            std::cout << "4\n";
        } else if (n == 5) {
            std::cout << "8\n";
        }
    } else if (x == 8) {
        n %= 6;

        if (n == 0) {
            std::cout << "4\n";
        } else if (n == 1) {
            std::cout << "8\n";
        } else if (n == 2) {
            std::cout << "16\n";
        } else if (n == 3) {
            std::cout << "14\n";
        } else if (n == 4) {
            std::cout << "10\n";
        } else if (n == 5) {
            std::cout << "2\n";
        }
    } else if (x == 9) {
        std::cout << "18\n";
    } else if (x == 0) {
        std::cout << "0\n";
    }

    return 0;
}