#include <bits/stdc++.h>

using namespace std;

int n, m, l;
int a[123];
int b[123];
int o1, o2;
int odds;

int main()
{
	cin >> n >> m;
	for (int i = 0; i < m; i++)
	{
		cin >> a[i];
		if (a[i] % 2 == 1)
		{
			if (odds == 0) o1 = i;
			else if (odds == 1) o2 = i;
			else
			{
				cout << "Impossible\n";
				return 0;
			}
			odds++;
		}
	}
	if (m == 1)
	{
		b[0] = 1;
		if (a[0] != 1)
		{
			b[1] = a[0] - 1;
			l = 2;
		}
		else
		{
			l = 1;
		}
	}
	else
	{
	if (odds >= 1) swap(a[0], a[o1]);
	if (odds == 2) swap(a[m-1], a[o2]);
	if (odds == 0)
	{
		b[l++] = 1;
		b[l++] = a[0];
	}
	else b[l++] = a[0] + 1;
	for (int i = 1; i < m-1; i++)
	{
		b[l++] = a[i];
	}
	if (a[m-1] - 1 != 0)
		b[l++] = a[m-1] - 1;
	}



	for (int i = 0; i < m; i++)
	{
		if (i) cout << ' ';
		cout << a[i];
	}
	cout << '\n';
	cout << l << '\n';
	for (int i = 0; i < l; i++)
	{
		if (i) cout << ' ';
		cout << b[i];
	}
	cout << '\n';
	return 0;
}

