def pd(d):
    l = []
    i = d.items()
    i.sort()
    for kv in i:
        l.append("%r: %r" % kv)
    return "{%s}" % ", ".join(l)

def c(a, b, c):
    print "a =", a, "b =", b, "c =", c

def d(a, b, *, c = 88):
    print "a =", a, "b =", b, "c =", c

def e(a, b, c = 88, **kwds):
    print "a =", a, "b =", b, "c =", c, "kwds =", pd(kwds)

def f(a, b, *, c, d = 42):
    print "a =", a, "b =", b, "c =", c, "d =", d

def g(a, b, *, c, d = 42, e = 17, f, **kwds):
    print "a =", a, "b =", b, "c =", c, "d =", d, "e =", e, "f =", f, "kwds =", pd(kwds)

def h(a, b, *args, c, d = 42, e = 17, f, **kwds):
    print "a =", a, "b =", b, "args =", args, "c =", c, "d =", d, "e =", e, "f =", f, "kwds =", pd(kwds)