#include<bits/stdc++.h>
using namespace std;
#define ll long long int
#define f(i,a,b) for(int i=a;i<b;i++)
#define FAST ios_base::sync_with_stdio(false);cin.tie(NULL);
#define ld long long double
#define T int t;cin>>t;while(t--)
#define MOD 1000000007
#define ex endl;
#define F first
#define S second
#define P pair<int,int>
#define PP pair<int,pair<int,int>>
#define pb push_back
#define in insert
#define vec vector<int>
#define vec2 vector<vector<int>>
#define s(a,n) sort(a,a+n);
#define sv(a) sort(a.begin(),a.end());
void swap(int* a,int* b)
{
int temp=*a;
*a=*b;
*b=temp;
}
ll power(int x, unsigned int y)
{
if (y == 0)
return 1;
else if (y % 2 == 0)
return (power(x, y / 2) * power(x, y / 2))%MOD;
else
return x * (power(x, y / 2) * power(x, y / 2))%MOD;
}
void solve()
{
int n;
cin>>n;
int a[n];
int b[2*n];
int k=0;
f(i,0,n)
cin>>a[i];
f(i,0,n-1)
{
int gcd=__gcd(a[i],a[i+1]);
if(gcd==1)
{
b[k++]=a[i];
}
else
{
b[k++]=a[i];
b[k++]=1;
}
}
b[k++]=a[n-1];
cout<<k-n<<ex
f(i,0,k)
cout<<b[i]<<" ";
cout<<ex
}
int main()
{
FAST
solve();
}
I2luY2x1ZGU8Yml0cy9zdGRjKysuaD4KdXNpbmcgbmFtZXNwYWNlIHN0ZDsKI2RlZmluZSBsbCBsb25nIGxvbmcgaW50CiNkZWZpbmUgZihpLGEsYikgZm9yKGludCBpPWE7aTxiO2krKykKI2RlZmluZSBGQVNUIGlvc19iYXNlOjpzeW5jX3dpdGhfc3RkaW8oZmFsc2UpO2Npbi50aWUoTlVMTCk7CiNkZWZpbmUgbGQgbG9uZyBsb25nIGRvdWJsZQojZGVmaW5lIFQgaW50IHQ7Y2luPj50O3doaWxlKHQtLSkKI2RlZmluZSBNT0QgMTAwMDAwMDAwNwojZGVmaW5lIGV4IGVuZGw7CiNkZWZpbmUgRiBmaXJzdAojZGVmaW5lIFMgc2Vjb25kCiNkZWZpbmUgUCBwYWlyPGludCxpbnQ+CiNkZWZpbmUgUFAgcGFpcjxpbnQscGFpcjxpbnQsaW50Pj4KI2RlZmluZSBwYiBwdXNoX2JhY2sKI2RlZmluZSBpbiBpbnNlcnQKI2RlZmluZSB2ZWMgdmVjdG9yPGludD4KI2RlZmluZSB2ZWMyIHZlY3Rvcjx2ZWN0b3I8aW50Pj4KI2RlZmluZSBzKGEsbikgc29ydChhLGErbik7CiNkZWZpbmUgc3YoYSkgc29ydChhLmJlZ2luKCksYS5lbmQoKSk7Cgp2b2lkIHN3YXAoaW50KiBhLGludCogYikKewoJaW50IHRlbXA9KmE7CgkqYT0qYjsKCSpiPXRlbXA7Cn0KCmxsIHBvd2VyKGludCB4LCB1bnNpZ25lZCBpbnQgeSkgCnsgCiAgICBpZiAoeSA9PSAwKSAKICAgICAgICByZXR1cm4gMTsgCiAgICBlbHNlIGlmICh5ICUgMiA9PSAwKSAKICAgICAgICByZXR1cm4gKHBvd2VyKHgsIHkgLyAyKSAqIHBvd2VyKHgsIHkgLyAyKSklTU9EOyAKICAgIGVsc2UKICAgICAgICByZXR1cm4geCAqIChwb3dlcih4LCB5IC8gMikgKiBwb3dlcih4LCB5IC8gMikpJU1PRDsgCn0gCnZvaWQgc29sdmUoKQp7CglpbnQgbjsKCWNpbj4+bjsKCWludCBhW25dOwoJaW50IGJbMipuXTsKCWludCBrPTA7CglmKGksMCxuKQoJCWNpbj4+YVtpXTsKCWYoaSwwLG4tMSkKCXsKCQlpbnQgZ2NkPV9fZ2NkKGFbaV0sYVtpKzFdKTsKCQlpZihnY2Q9PTEpCgkJewoJCQliW2srK109YVtpXTsKCQl9CgkJZWxzZQoJCXsKCQkJYltrKytdPWFbaV07CgkJCWJbaysrXT0xOwoJCX0KCX0KCWJbaysrXT1hW24tMV07Cgljb3V0PDxrLW48PGV4CglmKGksMCxrKQoJCWNvdXQ8PGJbaV08PCIgIjsKCWNvdXQ8PGV4Cn0KCmludCBtYWluKCkKewoJRkFTVAoJCglzb2x2ZSgpOwp9