def show_distribution_factor(procedure, girder_type):
    if procedure == "Moment" and girder_type == "Interior":
        print("Moment - Interior Girder (Method 2):")
        print("1. One Lane Loaded: DF = 0.06 + (S / 14)^0.4 * (S / L)^0.3 * (Kg / (12 * Lt^3))^0.1")
        print("2. Two or More Lanes Loaded: DF = 0.075 + (S / 9.5)^0.6 * (S / L)^0.2 * (Kg / (12 * Lt^3))^0.1")
    elif procedure == "Moment" and girder_type == "Exterior":
        print("Moment - Exterior Girder (Method 2):")
        print("1. g = e * g_interior")
        print("2. e = 0.77 + d_e / 9.1 (Equation 3)")
        print("3. Method 1: (a + 3) / L * multiple presence factor")
        print("4. Method 3: R = (Nc / Nb) + (X_ext * Σe / Σx^2) * multiple presence factor")
    elif procedure == "Shear" and girder_type == "Interior":
        print("Shear - Interior Girder (Method 2):")
        print("1. One Lane Loaded: DF = 0.36 + (S / 25.0)")
        print("2. Two or More Lanes Loaded: DF = 0.2 + (S / 12.0) - (S / 35.0)^2")
    elif procedure == "Shear" and girder_type == "Exterior":
        print("Shear - Exterior Girder (Method 2):")
        print("1. g = e * g_interior")
        print("2. e = 0.6 + d_e / 10 (Equation 6)")
        print("3. Method 1: (a + 3) / L * multiple presence factor")
        print("4. Method 3: R = (Nc / Nb) + (X_ext * Σe / Σx^2) * multiple presence factor")
    else:
        print("Invalid input, please choose correct options.")

def run_distribution_factor_program():
    print("Welcome to the Distribution Factor Calculation Program")
    
    procedure = input("Enter 'Moment' or 'Shear': ")
    girder_type = input("Enter 'Interior' or 'Exterior' girder: ")
    
    show_distribution_factor(procedure, girder_type)

# Run the program
run_distribution_factor_program()
