#include <bits/stdc++.h>
using namespace std;
int primes[] = {2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47, 53, 59};
const int N = 62;
int masking[N], a[102], dp[102][1 << 17], up, revert[102][1 << 17], b[102];
void pre() {
  for (int i = 0; i < 17; i++) {
    for (int j = 1; j <= 60; j++) {
      if (j % primes[i] == 0) {
        masking[j] += (1 << i);
      }
    }
  }
  return;
}
int solve(int n, int mask) {
  if (n == up + 1) return 0;
  if (dp[n][mask] != -1) return dp[n][mask];
  int ans = 1000000007ULL, up1 = (a[n] << 1), temp;
  for (int i = 1; i <= up1; i++) {
    if (!(masking[i] & mask)) {
      temp = solve(n + 1, mask | masking[i]) + abs(a[n] - i);
      if (ans > temp) {
        ans = temp;
        revert[n][mask] = i;
      }
    }
  }
  dp[n][mask] = ans;
  return ans;
}
int main() {
  ios::sync_with_stdio(false);
  cin.tie(0);
  pre();
  cin >> up;
  for (int i = 1; i <= up; i++) cin >> a[i];
  memset(dp, -1, sizeof(dp));
  dp[0][0] = solve(1, 0);
  int temp = 0;
  for (int i = 1; i <= up; i++) {
    b[i] = revert[i][temp];
    temp = temp + masking[b[i]];
  }
  for (int i = 1; i <= up; i++) cout << b[i] << " ";
  cout << "\n";
  return 0;
}
