def g(a, /, b, c=30, *d, e=50, **f):
    print(a,b,c,d,e,f)


# g() # an error, no a or b
# g(1) # an error, no b
g(1,2)
g(1,2,3)
g(1,2,3,4)
g(1,2,3,4,5)
g(1,2,3,4,5,6)
# g(a=1) # an error, a can't be keyword and no b
# g(a=1,b=2) # an error, a can't be keyword
g(1,b=2)
g(1,b=2,c=3)
g(1,c=3,b=2)
g(1,2,c=3)
g(1,2,d=4)
# g(1,2,b=3) an error, b specified twice
g(1,2,3,4,d=5)
g(1,2,3,4,5,6,d=7,e=8,f=9)