#!/usr/local/pypy-2.2/bin/pypy
#!/usr/local/cpython-3.3/bin/python

import sys
import random


def die():
    return random.randint(1, 6)


def compute_attacker_roll():
    list_ = [die(), die(), die()]
    list_.sort(reverse=True)
    return list_


def compute_defender_roll():
    list_ = [die(), die()]
    list_.sort(reverse=True)
    return list_


def one_comparison():
    attacker_roll = compute_attacker_roll()
    defender_roll = compute_defender_roll()

    for_attacker = 0
    for_defender = 0

    if attacker_roll[0] > defender_roll[0]:
        for_attacker += 1
    else:
        for_defender += 1

    if attacker_roll[1] > defender_roll[1]:
        for_attacker += 1
    else:
        for_defender += 1

    return (for_attacker, for_defender)


def my_range(top):
    value = 0
    while value < top:
        yield value
        value += 1

def main():
    total_for_attacker = 0.0
    total_for_defender = 0.0
    top = 10 ** 10
    #top = 10 ** 6
    for rep in my_range(top):
        one_attacker_roll, one_defender_roll = one_comparison()
        total_for_attacker += one_attacker_roll
        total_for_defender += one_defender_roll
        if not rep % 1000000:
            sys.stdout.write('repetition {}, {:.1f}% complete, {:.7f}% for attacker\r'.format(
                rep, 
                float(rep) / top * 100.0,
                total_for_attacker * 100.0 / (total_for_attacker + total_for_defender)))
            sys.stdout.flush()

    sys.stdout.write('\n{}, {}: {:.7f}%\n'.format(
        total_for_attacker,
        total_for_defender,
        total_for_attacker * 100.0 / (total_for_attacker + total_for_defender),
        ))


main()