import random  # 乱数を扱うためのモジュールをインポート
n = 100000  # 試行回数
# n回の試行結果(※Aが勝てば1，Bが勝てば2，Cが勝てば3)を格納するリスト
winner_flag = [0] * n
random.seed(1)  # 乱数のシード値を固定
for i in range(n):
    x = 0  # さいころの目
    y = 0  # 勝者の情報 (※Aが勝てば1，Bが勝てば2，Cが勝てば3)
    while y == 0:
        x = random.randint(1, 6)  # Aがさいころを投げ，出た目をxに代入
        if x == 6:  # Aが最初に6の目を出す場合
            y = 1  # Aが勝者
            break  # 勝負を終える  
        x = random.randint(1, 6)  # Bがさいころを投げ，出た目をxに代入
        if x == 6:  # Bが最初に6の目を出す場合
            y = 2  # Bが勝者
            break  # 勝負を終える
        x = random.randint(1, 6)  # Cがさいころを投げ，出た目をxに代入
        if x == 6:  # Cが最初に6の目を出す場合
            y = 3  # Cが勝者
            break  # 勝負を終える
    winner_flag[i] = y  # (i+1)回目の試行における勝者を記録

# Aが勝者となる確率を表示
print(sum(1 for w in winner_flag if w == 1) / n)  # モンテカルロ法
print(36 / 91)  # 理論値
# Bが勝者となる確率を表示
print(sum(1 for w in winner_flag if w == 2) / n)  # モンテカルロ法
print(30 / 91)  #　理論値
# Cが勝者となる確率を表示
print(sum(1 for w in winner_flag if w == 3) / n)  # モンテカルロ法
print(25 / 91)  # 理論値