#include <bits/stdc++.h>
using namespace std;
const int INF = 1000000007;
const long long INF64 = 1000000000000000007;
int n;
int p[17]{2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47, 53, 59};
int a[105];
int number[60];
int dp[105][1 << 17];
int pred[105][1 << 17];
void find_pred(int x, int p) {
  if (x == n) return;
  cout << pred[x][p] << " ";
  find_pred(x + 1, p | number[pred[x][p]]);
}
int main() {
  cin >> n;
  for (int i = 0; i < n; i++) cin >> a[i];
  for (int i = 2; i < 60; i++) {
    for (int j = 0; j < 17; j++) {
      if (i % p[j] == 0) {
        number[i] |= (1 << j);
      }
    }
  }
  for (int i = n - 1; i >= 0; i--) {
    for (int j = 0; j < (1 << 17); j++) {
      dp[i][j] = INF;
      for (int k = 1; k < 60; k++) {
        if (!(j & number[k])) {
          int w = dp[i + 1][j | number[k]] + abs(k - a[i]);
          if (dp[i][j] > w) {
            dp[i][j] = w;
            pred[i][j] = k;
          }
        }
      }
    }
  }
  find_pred(0, 0);
  return 0;
}
