#agc001d. [agc001_d]Arrays and Palindrome

[agc001_d]Arrays and Palindrome

题目描述

Snuke在他的生日时从他的母亲那里得到了一个礼物。这个礼物是一对由正整数组成的两个序列aabb。它们满足以下所有条件:

  • 序列aa中所有元素的和为NN

  • 序列bb中所有元素的和为NN

  • 任何满足以下两个条件(1)和(2)的长度为NN的字符串也将满足条件(3)。

  • (1) 以下任意形式都构成回文串:前a1a_1个字母,后续a2a_2个字母,再后续a3a_3个字母,以此类推。

  • (2) 以下任意形式都构成回文串:前b1b_1个字母,后续b2b_2个字母,再后续b3b_3个字母,以此类推。

  • (3) 所有NN个字母都相同。

他很高兴,直到有一天他失去了这两个序列。现在,他只记得序列aa是另一个长度为MM的序列AA的排列。

为了再次带给他幸福,他的母亲决定给他另一对满足他最喜欢的条件并与他的记忆一致的序列aabb

约束条件

  • 1N1051≦N≦10^5
  • 1M1001≦M≦100
  • 1Ai1051≦A_i≦10^5
  • 所有AiA_i的和等于NN

输入

输入从标准输入中按以下格式给出:

NN MM A1A_1 A2A_2 ...... AMA_M

输出

如果存在一对满足条件且与Snuke的记忆一致的序列aabb,请打印三行。第一行必须包含序列aa,第二行必须包含序列bb的长度,第三行必须包含序列bb

如果不存在这样的序列对(因为Snuke的记忆有误或其他原因),请打印一个单独的行,其中包含大小写敏感的单词Impossible


样例输入 1

3 2
2 1

样例输出 1

1 2
1
3

样例输入 2

6 1
6

样例输出 2

6
3
1 2 3

样例输入 3

55 10
1 2 3 4 5 6 7 8 9 10

样例输出 3

Impossible