def check(input_str):
    rules = [Rule(Q(1), '1', Q(1), '1', Move.Right), Rule(Q(1), '0', Q(1), '0', Move.Right), Rule(Q(1), ',', Q(2), '#', Move.Right), Rule(Q(2), ' ', Q(2), '#', Move.Right), Rule(Q(2), '#', Q(2), '#', Move.Left), Rule(Q(2), '*', Q(6), '*', Move.Left), Rule(Q(2), '1', Q(3), '#', Move.Left), Rule(Q(3), '#', Q(3), '#', Move.Left), Rule(Q(3), '1', Q(4), '0', Move.Right), Rule(Q(3), '0', Q(3), '1', Move.Left), Rule(Q(4), '0', Q(4), '0', Move.Right), Rule(Q(4), '1', Q(4), '1', Move.Right), Rule(Q(4), '#', Q(5), '#', Move.Right), Rule(Q(5), '#', Q(5), '#', Move.Right), Rule(Q(5), '1', Q(3), '#', Move.Left), Rule(Q(5), empty, Q(6), empty, Move.Left), Rule(Q(6), '#', Q(6), '*', Move.Left), Rule(Q(6), '0', Q(6), '*', Move.Left), Rule(Q(6), empty, Q(10), empty, Move.Stay)]
    TM = TuringMachine(rules, Q(1), Q(10))
    print(TM)
    print(('Right' if TM.check(Tape(input_str)) else 'Wrong'))
def check(input_str):
    rules = [Rule(Q(1), '1', Q(1), '1', Move.Right), Rule(Q(1), '0', Q(1), '0', Move.Right), Rule(Q(1), ',', Q(2), '#', Move.Right), Rule(Q(2), ' ', Q(2), '#', Move.Right), Rule(Q(2), '#', Q(2), '#', Move.Left), Rule(Q(2), '*', Q(6), '*', Move.Left), Rule(Q(2), '1', Q(3), '#', Move.Left), Rule(Q(3), '#', Q(3), '#', Move.Left), Rule(Q(3), '1', Q(4), '0', Move.Right), Rule(Q(3), '0', Q(3), '1', Move.Left), Rule(Q(4), '0', Q(4), '0', Move.Right), Rule(Q(4), '1', Q(4), '1', Move.Right), Rule(Q(4), '#', Q(5), '#', Move.Right), Rule(Q(5), '#', Q(5), '#', Move.Right), Rule(Q(5), '1', Q(3), '#', Move.Left), Rule(Q(5), empty, Q(6), empty, Move.Left), Rule(Q(6), '#', Q(6), '*', Move.Left), Rule(Q(6), '0', Q(6), '*', Move.Left), Rule(Q(6), empty, Q(10), empty, Move.Stay)]
    TM = TuringMachine(rules, Q(1), Q(10))
    print(TM)
    print(('Right' if TM.check(Tape(input_str)) else 'Wrong'))