Problem: Let s(x) be sum of digits in decimal representation of positive integer x. Given two integers n and m, find some positive integers a and b such that 

  * s(a) ≥ n, 
  * s(b) ≥ n, 
  * s(a + b) ≤ m. 

Input

The only line of input contain two integers n and m (1 ≤ n, m ≤ 1129).

Output

Print two lines, one for decimal representation of a and one for decimal representation of b. Both numbers must not contain leading zeros and must have length no more than 2230.

Examples

Input

6 5


Output

6 
7


Input

8 16


Output

35 
53

Note

In the first sample, we have n = 6 and m = 5. One valid solution is a = 6, b = 7. Indeed, we have s(a) = 6 ≥ n and s(b) = 7 ≥ n, and also s(a + b) = s(13) = 4 ≤ m.

Solution (in JAVA):

Solution:
import java.io.*;
import java.math.BigInteger;
import java.util.*;

public class B {
    String fileName = "";

    public int sum(String s) {
        int sum = 0;
        for (int i = 0; i < s.length(); i++) {
            sum += Integer.parseInt(s.substring(i, i + 1));
        }
        return sum;
    }

    public void solve() throws IOException {
        int n = nextInt();
        int m = nextInt();
        StringBuilder first = new StringBuilder(3000);
        int nC = n;
        while (nC >= 9) {
            first.append(9);
            nC -= 9;
        }
        if (nC > 0)
            first.append(nC);
        BigInteger sum = BigInteger.valueOf(10).pow(first.length());
        BigInteger f = new BigInteger(first.toString());
        while (true) {
            BigInteger sec = sum.subtract(f);
            int secS = sum(sec.toString());
            if (secS >= n) {
                out.println(first.toString());
                out.println(sec.toString());
                break;
            }
            sum = sum.multiply(BigInteger.valueOf(10));
        }
    }

    public void run() throws IOException {
        br = new BufferedReader(new InputStreamReader(System.in));
        out = new PrintWriter(System.out);
        solve();
        br.close();
        out.close();
    }

    BufferedReader br;
    StringTokenizer in;
    PrintWriter out;

    public String nextToken() throws IOException {
        while (in == null || !in.hasMoreTokens()) {
            in = new StringTokenizer(br.readLine());
        }
        return in.nextToken();
    }

    public int nextInt() throws IOException {
        return Integer.parseInt(nextToken());
    }

    public double nextDouble() throws IOException {
        return Double.parseDouble(nextToken());
    }

    public long nextLong() throws IOException {
        return Long.parseLong(nextToken());
    }

    public static void main(String... args) throws IOException {
        new B().run();
    }
}