#include <bits/stdc++.h>
using namespace std;
long long n, a[200005];
long long vis[60];
long long pr[] = {2,  3,  5,  7,  11, 13, 17, 19, 23,
                  29, 31, 37, 41, 43, 47, 53, 59};
long long dp[101][(1 << 17)];
long long fun(long long idx, long long mask) {
  long long &ret = dp[idx][mask];
  if (idx == n) {
    return ret = 0;
  }
  if (~ret) return ret;
  ret = 1e9;
  for (long long i = 1; i < 60; i++) {
    if (vis[i] & mask) continue;
    ret = min(ret, abs(i - a[idx]) + fun(idx + 1, mask | vis[i]));
  }
  return ret;
}
signed main() {
  memset(dp, -1, sizeof dp);
  cin >> n;
  for (long long i = 0; i < n; i++) {
    cin >> a[i];
  }
  for (long long i = 1; i < 60; i++) {
    long long cur = 0;
    for (long long j = 0; j < 17; j++) {
      if (i % pr[j] == 0) {
        cur |= (1 << j);
      }
    }
    vis[i] = cur;
  }
  fun(0, 0);
  long long mask = 0;
  for (long long i = 0; i < n; i++) {
    long long ret = 1;
    long long mn = 1e9;
    for (long long j = 1; j < 60; j++) {
      if (vis[j] & mask) continue;
      if (mn > dp[i + 1][mask | vis[j]] + abs(j - a[i])) {
        mn = dp[i + 1][mask | vis[j]] + abs(j - a[i]);
        ret = j;
      }
    }
    mask |= vis[ret];
    cout << ret << " \n"[i == n - 1];
  }
  return 0;
}
