import random

environment = {
    "A": random.choice(["Clean","Dirty"]),
    "B": random.choice(["Clean","Dirty"]),
    "C": random.choice(["Clean","Dirty"]),
    "D": random.choice(["Clean","Dirty"])
}

memory = {
    "A":"Unknown",
    "B":"Unknown",
    "C":"Unknown",
    "D":"Unknown"
}

agent = input("Enter the starting room (A,B,C,D): ").upper()

while agent not in environment:
    agent = input("Invalid Room. Enter again: ").upper()

while True:

    print()
    print("====================")
    print("Environment :",environment)
    print("Memory :",memory)
    print("Agent Location :",agent)

    memory[agent] = environment[agent]

    if environment[agent] == "Dirty":
        print("Action : SUCK")
        environment[agent] = "Clean"
        memory[agent] = "Clean"

    else:
        print("Room Already Clean")

    print()
    print("Updated Memory")
    print(memory)

    if all(value == "Clean" for value in memory.values()):
        print()
        print("Goal Achieved")
        print("Environment Clean")
        break

    for room in memory:

        if memory[room] != "Clean":

            print("Moving to Room",room)

            agent = room

            break
