#include <bits/stdc++.h>
using namespace std;
const int w[17] = {2,  3,  5,  7,  11, 13, 17, 19, 23,
                   29, 31, 37, 41, 43, 47, 53, 59};
int main() {
  ios::sync_with_stdio(false), cin.tie(nullptr);
  int n;
  cin >> n;
  vector<int> G(60);
  static int p[60][1 << 17], C[60];
  for (int i = 1; i < 60; i++) {
    int t = (1 << 17) - 1;
    for (int j = 0; j < 17; j++) {
      if (i % w[j] == 0) t ^= (1 << j);
    }
    G[i] = (1 << 17) - 1 - t;
    for (int j = 0; j < (1 << 17); j++) {
      if ((t & j) == j) p[i][C[i]++] = j;
    }
  }
  static int Path[110][1 << 17], D[110][1 << 17];
  for (int i = 1; i <= n; i++) {
    int a;
    cin >> a;
    for (int j = 0; j < (1 << 17); j++) D[i][j] = 999999999;
    for (int j = 1; j < 60; j++) {
      int t = a - j;
      if (t < 0) t = -t;
      for (int k = 0; k < C[j]; k++) {
        if (D[i][p[j][k] ^ G[j]] > D[i - 1][p[j][k]] + t) {
          D[i][p[j][k] ^ G[j]] = D[i - 1][p[j][k]] + t;
          Path[i][p[j][k] ^ G[j]] = j;
        }
      }
    }
  }
  int res = 999999999, x;
  for (int i = 0; i < (1 << 17); i++) {
    if (res > D[n][i]) res = D[n][i], x = i;
  }
  static int ans[110];
  for (int i = n; i >= 1; --i) {
    ans[i] = Path[i][x];
    x -= G[Path[i][x]];
  }
  for (int i = 1; i <= n; ++i) cout << ans[i] << ' ';
}
