#include <bits/stdc++.h>
using namespace std;
void fre() { freopen("c:\\acm\\input.txt", "r", stdin); }
int gcd(int a, int b) { return b ? gcd(b, a % b) : a; }
int dt[1010], datas[10010], ans[3010];
void de() {
  for (int i = 2; i <= 10000; i++) {
    for (int j = 2; j * i <= 10000; j++) datas[j * i] = 1;
  }
}
int main() {
  int n;
  de();
  while (~scanf("%d", &n)) {
    int p = 0;
    for (int i = 1; i <= n; i++) scanf("%d", &dt[i]);
    for (int i = 1; i < n; i++) {
      int tmp = gcd(dt[i], dt[i + 1]);
      if (tmp != 1) {
        for (int ii = 2; ii <= 10000; ii++) {
          if (datas[ii] == 0) {
            if (gcd(ii, dt[i]) == 1 && gcd(ii, dt[i + 1]) == 1) {
              ans[++p] = dt[i], ans[++p] = ii;
              break;
            }
          }
        }
      } else
        ans[++p] = dt[i];
    }
    ans[++p] = dt[n];
    printf("%d\n", p - n);
    for (int i = 1; i <= p; i++) printf("%d%c", ans[i], i == p ? '\n' : ' ');
  }
  return 0;
}
