#include <bits/stdc++.h>
using namespace std;
int n;
vector<int> a(101);
vector<int> b;
vector<long long> fact(60);
vector<int> prime{2,  3,  5,  7,  11, 13, 17, 19, 23,
                  29, 31, 37, 41, 43, 47, 53, 59};
int dp[101][(1 << 17)];
int ans[101][(1 << 17)];
int out[101][(1 << 17)];
int res = 1000000000;
int ost = 1000000000;
void initialization() {
  cin >> n;
  for (long long i = 0; i < n; ++i) cin >> a[i];
}
void solve() {
  for (int i = 1; i < 60; ++i)
    for (int j = 0; j < 17; ++j) {
      if (i % prime[j] == 0) fact[i] += (1 << j);
    }
  for (int i = 1; i <= n; ++i)
    for (int j = 0; j < (1 << 17); ++j) dp[i][j] = 1000000000;
  for (int i = 1; i <= n; ++i)
    for (int j = 1; j < 60; ++j) {
      int x = (~fact[j]) & ((1 << 17) - 1);
      int k = x;
      while (1) {
        if (k == 0) break;
        if (dp[i - 1][k] + abs(a[i - 1] - j) < dp[i][k | fact[j]]) {
          dp[i][k | fact[j]] = dp[i - 1][k] + abs(a[i - 1] - j);
          ans[i][k | fact[j]] = k;
          out[i][k | fact[j]] = j;
          if (i == n && ost > dp[i][k | fact[j]]) {
            ost = dp[i][k | fact[j]];
            res = k | fact[j];
          }
        }
        k = (k - 1) & x;
      }
    }
}
void print() {
  int cur = res, prev;
  for (int k = n; k > 0; --k) {
    b.push_back(out[k][cur]);
    ost -= abs(a[k - 1] - out[k][cur]);
    cur = ans[k][cur];
  }
  for (int i = b.size() - 1; i >= 0; --i) cout << b[i] << ' ';
}
void flush() {}
int main() {
  ios::sync_with_stdio(0);
  initialization();
  solve();
  print();
  return 0;
}
