#include <bits/stdc++.h>
using namespace std;
template <typename T>
T sqr(T x) {
  return x * x;
}
const int inf = 1e9 + 7;
const long long llinf = (long long)1e18;
const unsigned long long ullinf = (unsigned long long)1e19;
const int maxn = 110000;
const long double eps = 1e-7;
int n, a, b;
map<int, list<int> > c;
bool marked[110000];
int p[110000], ans[110000];
int F(long long x) {
  int res = 0;
  while (x) {
    res += x % 10;
    x /= 10;
  }
  return res;
}
long long FSum(long long x) {
  long long res = 0;
  x++;
  long long base = 10, base2 = 1, sum = 45;
  for (int i = 0; i < 17; i++) {
    long long xx = x;
    res += sum * (xx / base);
    xx %= base;
    for (int j = 0; xx > 0 && j < 10; j++) {
      res += j * min(base2, xx);
      xx -= base2;
    }
    base2 = base;
    base *= 10;
    sum *= 10;
  }
  return res;
}
int main() {
  long long x;
  cin >> x;
  long long l2 = 0, r2 = 100000000000000000;
  while (r2 - l2 > 1) {
    long long m = (l2 + r2) / 2;
    if (FSum(m) > x)
      r2 = m - 1;
    else
      l2 = m;
  }
  long long l = 0, r = (l2 + r2) / 2;
  long long sum = FSum(r);
  do {
    while (sum < x) {
      sum += F(++r);
    }
    while (sum > x) {
      sum -= F(++l);
    }
  } while (sum != x);
  cout << l + 1 << ' ' << r << endl;
}

### Prompt

Create a solution in CPP for the following problem:

Little X has met the following problem recently. 

Let's define f(x) as the sum of digits in decimal representation of number x (for example, f(1234) = 1 + 2 + 3 + 4). You are to calculate <image>

Of course Little X has solved this problem quickly, has locked it, and then has tried to hack others. He has seen the following C++ code: 
    
    
      
        ans = solve(l, r) % a;  
        if (ans <= 0)  
          ans += a;  
      
    

This code will fail only on the test with <image>. You are given number a, help Little X to find a proper test for hack.

Input

The first line contains a single integer a (1 ≤ a ≤ 1018).

Output

Print two integers: l, r (1 ≤ l ≤ r < 10200) — the required test data. Leading zeros aren't allowed. It's guaranteed that the solution exists.

Examples

Input

46


Output

1 10


Input

126444381000032


Output

2333333 2333333333333

### Response

```cpp
#include <bits/stdc++.h>
using namespace std;
template <typename T>
T sqr(T x) {
  return x * x;
}
const int inf = 1e9 + 7;
const long long llinf = (long long)1e18;
const unsigned long long ullinf = (unsigned long long)1e19;
const int maxn = 110000;
const long double eps = 1e-7;
int n, a, b;
map<int, list<int> > c;
bool marked[110000];
int p[110000], ans[110000];
int F(long long x) {
  int res = 0;
  while (x) {
    res += x % 10;
    x /= 10;
  }
  return res;
}
long long FSum(long long x) {
  long long res = 0;
  x++;
  long long base = 10, base2 = 1, sum = 45;
  for (int i = 0; i < 17; i++) {
    long long xx = x;
    res += sum * (xx / base);
    xx %= base;
    for (int j = 0; xx > 0 && j < 10; j++) {
      res += j * min(base2, xx);
      xx -= base2;
    }
    base2 = base;
    base *= 10;
    sum *= 10;
  }
  return res;
}
int main() {
  long long x;
  cin >> x;
  long long l2 = 0, r2 = 100000000000000000;
  while (r2 - l2 > 1) {
    long long m = (l2 + r2) / 2;
    if (FSum(m) > x)
      r2 = m - 1;
    else
      l2 = m;
  }
  long long l = 0, r = (l2 + r2) / 2;
  long long sum = FSum(r);
  do {
    while (sum < x) {
      sum += F(++r);
    }
    while (sum > x) {
      sum -= F(++l);
    }
  } while (sum != x);
  cout << l + 1 << ' ' << r << endl;
}

```