#include <bits/stdc++.h>
using namespace std;
const int N = 101;
int n, a[N], fac[59];
pair<int, pair<int, int>> dp[N][1 << 16];
int p[] = {2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47, 53};
pair<int, pair<int, int>> sol(int i, int mask) {
  if (i == n) {
    return {0, {0, 0}};
  }
  pair<int, pair<int, int>>& ret = dp[i][mask];
  if (ret.second.first) {
    return ret;
  }
  ret.first = a[i] - 1 + sol(i + 1, mask).first;
  ret.second = {1, mask};
  for (int b = 1; b < 59; b++) {
    if (mask & fac[b]) {
      continue;
    }
    int sub = abs(a[i] - b) + sol(i + 1, mask | fac[b]).first;
    if (sub < ret.first) {
      ret.first = sub;
      ret.second = {b, mask | fac[b]};
    }
  }
  return ret;
}
int main() {
  ios::sync_with_stdio(false);
  cin.tie(0);
  for (int i = 1; i < 59; i++) {
    int v = i;
    for (int j = 0; v > 1 && j < 16; j++) {
      int x = p[j];
      while (v % x == 0) {
        fac[i] |= (1 << j);
        v /= x;
      }
    }
  }
  cin >> n;
  for (int i = 0; i < n; i++) {
    cin >> a[i];
  }
  sol(0, 0);
  for (int i = 0, mask = 0; i < n; i++) {
    if (i > 0) {
      cout << " ";
    }
    cout << dp[i][mask].second.first;
    mask = dp[i][mask].second.second;
  }
  cout << '\n';
  return 0;
}
