Problem: Let's call a positive integer composite if it has at least one divisor other than 1 and itself. For example:

  * the following numbers are composite: 1024, 4, 6, 9; 
  * the following numbers are not composite: 13, 1, 2, 3, 37. 



You are given a positive integer n. Find two composite integers a,b such that a-b=n.

It can be proven that solution always exists.

Input

The input contains one integer n (1 ≤ n ≤ 10^7): the given integer.

Output

Print two composite integers a,b (2 ≤ a, b ≤ 10^9, a-b=n).

It can be proven, that solution always exists.

If there are several possible solutions, you can print any. 

Examples

Input


1


Output


9 8


Input


512


Output


4608 4096

Solution (in JAVA):

Solution:

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;

public class Main {

    public static int MAXN = 20_000_000;
    public static boolean[] NOT_primes = new boolean[MAXN];
    public static int primes[] = new int[MAXN];
    public static int primesCount = 0;

    public static void primeSieve() {
        NOT_primes[0] = true;
        NOT_primes[1] = true;

        double sq = Math.sqrt(MAXN);
        for (int i = 2; i < MAXN; i++) {
            if (!NOT_primes[i]) {
                primes[primesCount++] = i;
                if (i <= sq) {
                    for (int j = i * i; j < MAXN; j += i) {
                        NOT_primes[j] = true;
                    }
                }
            }
        }
    }

    public static void main(String[] args) throws IOException {

        BufferedReader br = new BufferedReader(new InputStreamReader(System.in), 1024 * 1024 * 2);

        primeSieve();
        int n = Integer.parseInt(br.readLine());
        long a = solve(n);
        System.out.println((a + n) + " " + a);
    }

    private static long solve(int n) {
        int i = 2;
        while (i + n < NOT_primes.length) {
            if (NOT_primes[i] && NOT_primes[i+n]) {
                return i;
            }
            i++;
        }
        return 0;
    }

    public static int[] readArrayLine(String line, int n) {
        return readArrayLine(line, n, null, 0);
    }

    private static int[] readArrayLine(String line, int n, int array[], int pos) {
        int[] ret = array == null ? new int[n] : array;
        int start = 0;
        int end = line.indexOf(' ', start);
        for (int i = pos; i < pos + n; i++) {
            if (end > 0)
                ret[i] = Integer.parseInt(line.substring(start, end));
            else
                ret[i] = Integer.parseInt(line.substring(start));
            start = end + 1;
            end = line.indexOf(' ', start);
        }
        return ret;
    }
}