#include <bits/stdc++.h>
using namespace std;
vector<long long> primes = {2,  3,  5,  7,  11, 13, 17, 19,
                            23, 29, 31, 37, 41, 43, 47, 53};
vector<long long> pset(61), a;
long long dp[101][(1ll << 17) - 1];
int main() {
  ios_base::sync_with_stdio(false);
  cin.tie(NULL);
  long long n, x, t, m, y, z;
  cin >> n;
  for (int e = 0; e < n; e++) {
    long long y;
    cin >> y;
    a.push_back(y);
  };
  for (int i = 2; i <= 60; i++) {
    for (int j = 0; j < 16; j++) {
      if (i % primes[j] == 0) {
        pset[i] += (1ll << j);
      }
    }
  }
  for (int i = 0; i < n; i++) {
    for (int j = 0; j < (1ll << 16); j++) {
      dp[i][j] = (1ll << 60) - 1;
    }
  }
  vector<vector<long long> > prev(n, vector<long long>(1ll << 16)),
      ans(n, vector<long long>(1ll << 16));
  for (int j = 0; j < (1ll << 16); j++) {
    for (int i = 1; i < 59; i++) {
      if ((pset[i] & j) == pset[i]) {
        if (abs(i - a[0]) < dp[0][j]) {
          dp[0][j] = abs(i - a[0]);
          ans[0][j] = i;
        }
      }
    }
  }
  for (int i = 1; i < n; i++) {
    for (int j = 0; j < (1ll << 16); j++) {
      for (int x = 1; x < 59; x++) {
        if ((pset[x] & j) == pset[x]) {
          if (dp[i - 1][j - pset[x]] + abs(x - a[i]) < dp[i][j]) {
            dp[i][j] = dp[i - 1][j - pset[x]] + abs(x - a[i]);
            prev[i][j] = j - pset[x];
            ans[i][j] = x;
          }
        }
      }
    }
  }
  vector<long long> res;
  int curr = (1ll << 16) - 1;
  for (int i = n - 1; i >= 0; i--) {
    res.push_back(ans[i][curr]);
    curr = prev[i][curr];
  }
  reverse(res.begin(), res.end());
  for (auto it : res) cout << it << ' ';
  cout << '\n';
  ;
  return 0;
}
