import sys


class Parser:
    def __init__(self, bits):
        self.bits = bits
        self.pos = 0
        self.version_sum = 0

    def read(self, n):
        val = int(self.bits[self.pos:self.pos + n], 2)
        self.pos += n
        return val

    def parse(self):
        version = self.read(3)
        self.version_sum += version
        type_id = self.read(3)

        if type_id == 4:
            # literal value
            num = 0
            while True:
                group = self.read(5)
                num = (num << 4) | (group & 0xF)
                if not (group & 0x10):
                    break
            return num

        # operator
        values = []
        length_type = self.read(1)
        if length_type == 0:
            total_len = self.read(15)
            end = self.pos + total_len
            while self.pos < end:
                values.append(self.parse())
        else:
            count = self.read(11)
            for _ in range(count):
                values.append(self.parse())

        if type_id == 0:
            return sum(values)
        elif type_id == 1:
            result = 1
            for v in values:
                result *= v
            return result
        elif type_id == 2:
            return min(values)
        elif type_id == 3:
            return max(values)
        elif type_id == 5:
            return 1 if values[0] > values[1] else 0
        elif type_id == 6:
            return 1 if values[0] < values[1] else 0
        elif type_id == 7:
            return 1 if values[0] == values[1] else 0


def solve(hex_str):
    bits = bin(int(hex_str, 16))[2:].zfill(len(hex_str) * 4)
    p = Parser(bits)
    value = p.parse()
    return p.version_sum, value


def main():
    for line in sys.stdin:
        line = line.strip()
        if not line:
            continue
        vs, val = solve(line)
        print(vs, val)


if __name__ == "__main__":
    main()
