#include <bits/stdc++.h>
using namespace std;
long pr[2000];
vector<long> v;
long dp[105][1 << 17];
long par[105][1 << 17];
long sdfjahlfasfh[200];
long n, ar[200];
long tval, bst, bp;
vector<long> av;
int main() {
  ios_base::sync_with_stdio(0);
  pr[1] = 1;
  for (int i = 2; i <= 60; i++)
    if (pr[i] == 0)
      for (int j = i * 2; j <= 60; j += i) pr[j] = 1;
  for (int i = 2; i <= 60; i++)
    if (pr[i] == 0) v.push_back(i);
  for (int i = 1; i <= 60; i++) {
    for (int j = 0; j < v.size(); j++)
      if (i % v[j] == 0) sdfjahlfasfh[i] |= (1 << j);
  }
  cin >> n;
  for (int i = 0; i < n; i++) {
    cin >> ar[i];
  }
  for (int i = 0; i <= n; i++) {
    for (int mask = 0; mask < (1 << v.size()); mask++) dp[i][mask] = 1e9;
  }
  dp[0][0] = 0;
  for (int i = 0; i < n; i++)
    for (int mask = 0; mask < (1 << v.size()); mask++)
      for (int ad = 1; ad <= 60; ad++) {
        if (mask & sdfjahlfasfh[ad]) continue;
        tval = dp[i][mask] + abs(ad - ar[i]);
        if (dp[i + 1][mask | sdfjahlfasfh[ad]] > tval) {
          dp[i + 1][mask | sdfjahlfasfh[ad]] = tval;
          par[i + 1][mask | sdfjahlfasfh[ad]] = ad;
        }
      }
  bst = 1e9;
  bp = 0;
  for (int i = 0; i < (1 << 17); i++) {
    if (dp[n][i] < bst) {
      bst = dp[n][i];
      bp = i;
    }
  }
  for (int i = n; i; --i) {
    av.push_back(par[i][bp]);
    bp ^= (sdfjahlfasfh[par[i][bp]]);
  }
  reverse(av.begin(), av.end());
  for (int i = 0; i < av.size(); i++) {
    if (i) cout << " ";
    cout << av[i];
  }
  cout << endl;
  cin.get();
  cin.get();
  return 0;
}
