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 CPP):

Solution:
#include <bits/stdc++.h>
using namespace std;
void Input_Element_Array(int Array1[], int n) {
  for (int i = 0; i < n; i++) cin >> Array1[i];
}
void sorted_Array(int Array1[], int n) { sort(Array1, Array1 + n); }
int GCD(int x, int y) {
  if (x == 0 || y == 0) return abs(x - y);
  while (x != y)
    if (x > y)
      x = x - y;
    else
      y = y - x;
  return x;
}
int Function(int x) {
  int Answer = 1;
  for (int i = 1; i <= x; i++) Answer *= i;
  return Answer;
}
void Lower_String(string s) {
  for (int in = 0; in < s.size(); in++) s[in] = tolower(s[in]);
}
void Upper_String(string s) {
  for (int i = 0; i < s.size(); i++) s[i] = toupper(s[i]);
}
void Input_Even_and_Odd_Element_To_Array(long long Array1[], long long n) {
  long long v = 0;
  for (long long i = 2; i <= n; i++) {
    if (i % 2 == 0) {
      Array1[v] = i;
      v++;
    }
  }
  for (long long i = 2; i <= n; i++) {
    if (i % 2 != 0) {
      Array1[v] = i;
      v++;
    }
  }
}
int Number(int x) {
  int sum = 0;
  while (x != 0) {
    sum += x % 10;
    x /= 10;
  }
  return sum;
}
int main() {
  int n;
  cin >> n;
  cout << 9 * n << " " << 8 * n;
}