import sys

mod1 = 10**9
mod2 = 10**9 + 7

def solve():
    n = input()
    keta = len(n)

    if keta & 1:
        ans = 2 * 10**((keta - 1) // 2) - 2
    else:
        ans = 11 * 10**((keta - 1) // 2) - 2

    tmp = int(n) // 10**(keta // 2) - 10**((keta - 1) // 2) + 1

    if int(n) < int(f(keta, n)):
        tmp -= 1

    ans += tmp

    ans1 = ans % mod1
    ans2 = ans % mod2
    
    print(ans1)
    print(ans2)


def f(keta, n):
    if keta & 1:
        ue = n[:(keta + 1) // 2]
        sita = ue[:-1][::-1]
        return ue + sita
    else:
        ue = n[:keta // 2]
        sita = ue[::-1]
        return ue + sita

if __name__ == '__main__':
    solve()