#include <bits/stdc++.h>
using namespace std;
const int maxn = 110;
int INF = 1 << 30;
int ls[16] = {2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47, 53};
int joo[60];
int dp[maxn][(1 << 17) + 5];
int ff[maxn][(1 << 17) + 5];
int way[maxn][(1 << 17) + 5];
int wayv[maxn][(1 << 17) + 5];
int mp[maxn];
int llen = 1 << 17;
void getjoo() {
  for (int i = 1; i < 60; i++) {
    for (int j = 0; j < 16; j++) {
      if (i % ls[j] == 0) joo[i] = joo[i] | (1 << j);
    }
  }
}
int main() {
  getjoo();
  memset(dp, 0x3f3f3f, sizeof dp);
  int n;
  cin >> n;
  for (int i = 0; i < n; i++) {
    cin >> mp[i];
  }
  for (int w = 1; w < 60; w++) {
    if (abs(mp[0] - w) < dp[0][joo[w]]) {
      dp[0][joo[w]] = abs(mp[0] - w);
      wayv[0][joo[w]] = w;
    }
  }
  for (int i = 1; i < n; i++) {
    for (int w = 1; w < 60; w++) {
      for (int j = 0; j <= llen; j++) {
        int tt = j | joo[w];
        if ((j & joo[w]) == 0) {
          if (dp[i - 1][j] + abs(mp[i] - w) < dp[i][tt]) {
            dp[i][tt] = dp[i - 1][j] + abs(mp[i] - w);
            way[i][tt] = j;
            wayv[i][tt] = w;
          }
        }
      }
    }
  }
  int mi = INF, mii;
  for (int i = 0; i <= llen; i++) {
    if (dp[n - 1][i] < mi) {
      mi = dp[n - 1][i];
      mii = i;
    }
  }
  int ans[maxn];
  for (int i = n - 1; i >= 0; i--) {
    ans[i] = wayv[i][mii];
    mii = way[i][mii];
  }
  for (int i = 0; i < n; i++) {
    cout << ans[i] << " ";
  }
  cout << endl;
  return 0;
}
