描述:任意一个偶数(大于2)都可以由2个素数组成,组成偶数的2个素数有很多种情况,本题目要求输出组成指定偶数的两个素数差值最小的素数对。
数据范围:输入的数据满足 4 \le n \le 1000 \4≤n≤1000 
输入描述:输入一个大于2的偶数
输出描述:从小到大输出两个素数
示例1
输入:20
输出:
7
13
示例2
输入:4
输出:
2
2
# 1/input,str,num代入函数;
# 2/遍历num从1到n-1,每个值除以比自己小的所有数,只能被1和自身求余数=0.则为素数;
# 3/对所有素数排序后,while left right判断,左右相加等于20的取出;
# 4/配对的素数,相减得到差值,取差值最小的后从小到大依次打印;

def exam(num):
    num = num
    ss = []
    
    if num == 4:
        print(2)
        print(2)
    else:
        for i in range(1,num):
            cnt = 0
            temp = []
            for j in range(1,i):
                if i%j==0:
                    # print(i%j)
                    cnt += 1
            if cnt == 1:
                ss.append(i)
            cnt = 0
            temp = []
        # print(sorted(ss))
        # [2, 3, 5, 7, 11, 13, 17, 19, 23]
        ss = sorted(ss)
        lis = []
        for l in range(len(ss)):
            for r in range(len(ss)):
                if ss[l] + ss[r] == num:
                    lis.append((ss[l],ss[r]))
        # print(lis)
        # 24:
        # [(5, 19), (7, 17), (11, 13), (13, 11), (17, 7), (19, 5)]
        # 118:
        # [(5, 113), (11, 107), (17, 101), (29, 89), (47, 71), (59, 59), (71, 47), (89, 29), (101, 17), (107, 11), (113, 5)]

        minlis = []
        for i in lis:
            minlis.append(i[0] - i[1])
        # print(minlis)
        # 24:
        # [-14, -10, -2, 2, 10, 14]
        # 118:
        # [-108, -96, -84, -60, -24, 0, 24, 60, 84, 96, 108]

        res = lis[max([i for i in range(len(minlis)) if minlis[i]<=0])]
        # 0值则为最小值,需加上等于号
        # print(res)
        # 24:
        # (11, 13)
        # 118:
        # (59, 59)
        for i in res:
            print(i)
            # 24: 11 13
            # 118:59 59
    
num = int(input().strip())
# 24
exam(num=num)