#include #include using namespace atcoder; #define rep(i, n) for(ll i = 0; i < n; i++) #define rep2(i, m, n) for(ll i = m; i <= n; i++) #define rrep(i, m, n) for(ll i = m; i >= n; i--) #define all(a) a.begin(), a.end() #define rall(a) a.rbegin(), a.rend() #define MAX(x) *max_element(all(x)) #define MIN(x) *min_element(all(x)) #define SZ(a) ((ll)(a).size()) using namespace std; typedef long long ll; typedef pair P; const ll mod = 1000000007; const int dx[4] = { -1, 1, 0, 0 }; const int dy[4] = { 0, 0, 1, -1 }; const int inf = 1e9 + 1; const ll INF = 1e18 + 1; const double pi = acos(-1); using Graph = vector>; Graph G; typedef atcoder::modint1000000007 mint; //typedef atcoder::modint998244353 mint; //typedef modint mint; int main() { ios::sync_with_stdio(false); cin.tie(nullptr); /*int n1 = 31415; ll MAX = 0; ll sum = 0; rep2(i, 1, n1)rep2(j, 1, n1) { ll x = i * j; ll cur = 0; while (x > 0) { cur += x % 10; x /= 10; } MAX = max(cur, MAX); } rep2(i, 1, n1)rep2(j, 1, n1) { ll x = i * j; ll cur = 0; while (x > 0) { cur += x % 10; x /= 10; } if (MAX == cur) { sum++; cout << i * j << " " << i << " " << j << endl; } } cout << MAX << endl;*/ ll n; cin >> n; if (n == 0) { cout << 9 << " " << 1 << endl; } else { cout << 8 + 18 * n << " " << 1 << endl; } }