L5 2

square = lambda x: x * x
print(square(5))
square2 = lambda x,y: x * x +  y * y
print(square2(5,6))

def r(x):
    return lambda y: x * x +  y * y

print(r(1)(2))
def curry2(f):
    def g(x):
        def h(y):
            return f(x,y)
        return h
    return g

# curry2 = lambda f: lambda x: lambda y: f(x, y)


m2 = curry2(square2)(2)
print(m2(3),m2(2),m2(1))