def u(n , U = None):
    if n == 0: return 1
    elif n == 1: return 2
    else:
        U = [None] * (n+1)
        U[0] , U[1] = 1 , 2
        return u_cache(U,n)

def u_cache(U,n):
    if U[n] == None:
        U[n] = u(n-2 , U) / u(n-1 , U)
    return U[n]