import std;

void main () {
    int Q = readln.chomp.to!int;

    foreach (_; 0..Q) {
        string S = readln.chomp;
        if (S.length < 2) {
            solve(S, 10);
            continue;
        }

        int radix;
        switch (S[0..2]) {
            case "0b":
                S = S[2..$]; radix = 2;
                break;

            case "0o":
                S = S[2..$]; radix = 8;
                break;

            case "0x":
                S = S[2..$]; radix = 16;
                break;

            default:
                radix = 10;
                break;
        }

        solve(S, radix);
    }
}

auto solve (string S, int radix) {
    long res = 0;
    long base = 1;
    foreach_reverse (c; S) {
        if ('a' <= c) {
            res += base*(c-'a'+10);
        } else {
            res += base*(c-'0');
        }
        base *= radix;
    }

    writeln(res);
}