action1, time1 = C1.generateAction(aircraft1=m1,
                                               aircraft2=m2,
                                               g=1,
                                               t=time1)
        if t1:
            # If A1 has reached its destination, it will not send any messages and thus action for A2 is independent of A1
            action2, t = C2.generateAction(aircraft1=m2, g=2)
        else:
            # Else A1 will also send its message to controller of A2
            action2, time2 = C2.generateAction(aircraft1=m2,
                                               aircraft2=m1,
                                               g=2,
                                               t=time2)
    if not t1:
        # If A1 has not reached, perform action
        A1.perfromAction(action1)
    if not t2:
        # If A2 has not reached, perform action
        A2.perfromAction(action2)
    # Get the updated status of both flights
    t1 = A1.isDestination()
    t2 = A2.isDestination()
    m1 = A1.Message()
    m2 = A2.Message()

    print('\nTime ', i, 'minutes since start')

    if t1:
        print("Status of A1: Reached")
    else:
        print("Status of A1: ", m1)