#Lutece2256. 第二个征程,拔起剪枝哀伤

第二个征程,拔起剪枝哀伤

Migrated from Lutece 2256 第二个征程,拔起剪枝哀伤

All parts of this problem, including description, images, samples, data and checker, might be broken. If you find bugs in this problem, please contact the admins.

Description

为了消灭诅咒神为首的暴力军团,阿尔搜斯前往了终日覆雪的诺森德,阿尔搜斯的眼里现在只有力量,经历各种艰难的行程,d阿尔搜斯终于在冰川深处找到了传说中的宝剑----剪枝哀伤,尽管众人阻拦,但阿尔搜斯现在的心里只想拔起这个充满诅咒的剑,而剪枝哀伤也给阿尔搜斯出了一个任务,完成任务的人才有资格拔起他.被对力量的渴望吞噬心灵的阿尔搜斯哪里还有什么理智,于是他把剑夹在了你的脖子上,要求你帮他解决这个任务

给出包含nn个数的数组aa,你需要找到mm个数的数组bb,使得对于每一个apa_p,总能在bb数组中找到两个数bi,bjb_i,b_j,使得abs(bibj)==apabs(b_i-b_j)==a_p,要求b1b_1总是等于0,bmb_m总是等于a数组中最大的元素(这里假设数组下标从1开始),要求m尽量小(即b数组尽量短).

Input

输入包含两行,第一行为一个整数n(1n30)n(1\leq n\leq 30),第二行包含nn个整数ai(1ai106)a_i(1\leq a_i\leq {10^6})

Output

对于每组数据,第一行输出mm,第二行按照从小到大输出数组b.

Samples

9
1 2 4 8 3 6 12 7 14
6
0 1 2 4 8 14

Constraints

n(1n50)n(1\leq n\leq 50) ai(1ai106)a_i(1\leq a_i\leq {10^6})

Resources

2019 UESTC ACM Training for Search Algorithm and String