#include <bits/stdc++.h>
using namespace std;
const int M = (1 << 17) + 5;
const int N = 100 + 5;
const int T = 60;
int p[20] = {2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47, 53, 59};
int n, a[N], res[N], f[N], F[N][M], trace[N][M];
void Input() {
  cin >> n;
  for (int i = 1; i <= n; i++) cin >> a[i];
  for (int i = 2; i < T; i++) {
    for (int j = 0; j < 17; j++)
      if (i % p[j] == 0) f[i] |= (1 << j);
  }
}
void Solve() {
  for (int i = 1; i <= n; i++) {
    for (int j = 0; j < M; j++) F[i][j] = 1e9;
    for (int numb = 1; numb < T; numb++) {
      int x = f[numb] ^ ((1 << 17) - 1);
      for (int s = x;; s = ((s - 1) & x)) {
        if (F[i][s | f[numb]] > F[i - 1][s] + abs(a[i] - numb)) {
          F[i][s | f[numb]] = F[i - 1][s] + abs(a[i] - numb);
          trace[i][s | f[numb]] = numb;
        }
        if (s == 0) break;
      }
    }
  }
  int mask = 0, tmp = 1e9;
  for (int c_mask = 0; c_mask < M; c_mask++) {
    if (tmp > F[n][c_mask]) tmp = F[n][c_mask], mask = c_mask;
  }
  for (int i = n; i >= 1; i--) res[i] = trace[i][mask], mask ^= f[res[i]];
  for (int i = 1; i <= n; i++) cout << res[i] << " ";
}
int main() {
  ios_base::sync_with_stdio(false);
  cin.tie(0), cout.tie(0);
  Input();
  Solve();
  return 0;
}
