import math

def f(l, C):
    return 1 - math.exp(l) + l * (2 * math.exp(l) - 1 - l * C)

def dichotomy_root(C, tol=1e-12, max_iter=1000):
    a = tol
    b = 1
    
    fa = f(a, C)
    fb = f(b, C)

    if fa == 0:
        return a
    if fb == 0:
        return b
    if fa * fb > 0:
        raise ValueError("f(a) and f(b) must have opposite signs")

    for _ in range(max_iter):
        m = (a + b) / 2
        fm = f(m, C)

        if abs(fm) < tol or (b - a) / 2 < tol:
            return m

        if fa * fm < 0:
            b = m
            fb = fm
        else:
            a = m
            fa = fm

    return (a + b) / 2

def h(l,C):
    return math.log(l * C / (l * C - math.exp(l) + 1)) - l

def res(C):
    l = dichotomy_root(C)
    H = h(l,C)
    a = math.exp(l+H)
    delta = H/math.log(a)
    return l,H,C*math.exp(H),a,delta

print(res(float(input())))