#!/usr/bin/python

from __future__ import print_function


def is_raffine(x):
    s = str(x)
    s = s[1:]
    i = int(s)
    return x % i == 0

def is_elegant(x):
    s = str(x)
    s = s[2:]
    i = int(s)
    return x % i == 0

def contains_zero(x):
    s = str(x)
    return '0' in s



### Q1 ###

raffines = set()

to_explore = []
for i in range(1, 10):
    to_explore.append(i)


while True:
    to_explore_new = []
    if len(to_explore) == 0:
        break
    while len(to_explore) != 0:
        a = to_explore.pop(0)
        for i in range(1, 10):
            n = int(str(i) + str(a))
            if (is_raffine(n)):
                to_explore_new.append(n)
                raffines.add(n)
    
    to_explore = to_explore_new

print("%d" % max(raffines))


### Q2 ###

elegants = set()

to_explore = []
for i in range(11, 100):
    if not contains_zero(i):
        to_explore.append(i)

while True:
    to_explore_new = []
    if len(to_explore) == 0:
        break
    while len(to_explore) != 0:
        a = to_explore.pop(0)
        for i in range(1, 10):
            n = int(str(i) + str(a))
            if (is_elegant(n)):
                to_explore_new.append(n)
                elegants.add(n)
    
    to_explore = to_explore_new

print("%d" % max(elegants))



