#include <bits/stdc++.h>
using namespace std;
int A[17] = {2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47, 53, 59};
const int p = 17;
int dp[105][1 << p];
int a[105][1 << p];
int b[105][1 << p];
int giv[105];
int main() {
  int n;
  scanf("%d", &n);
  for (int i = 1; i <= n; i++) {
    scanf("%d", &giv[i]);
  }
  memset(dp, 1000000, sizeof(dp));
  memset(dp[0], 0, sizeof(dp[0]));
  for (int i = 1; i <= n; i++) {
    for (int j = 1; j <= 59; j++) {
      int x = 0;
      for (int k = 0; k < p; k++) {
        if (j % A[k] == 0) x |= (1 << k);
      }
      for (int k = 0; k < (1 << p); k++) {
        if (!(x & k)) {
          if (dp[i - 1][k] + abs(j - giv[i]) < dp[i][k | x]) {
            dp[i][k | x] = dp[i - 1][k] + abs(j - giv[i]);
            a[i][k | x] = j;
            b[i][k | x] = k;
          }
        }
      }
    }
  }
  int x = 0;
  for (int i = 1; i < (1 << p); i++) {
    if (dp[n][i] < dp[n][x]) {
      x = i;
    }
  }
  vector<int> ans;
  for (int i = n; i >= 1; i--) {
    ans.push_back(a[i][x]);
    x = b[i][x];
  }
  for (int i = n - 1; i >= 0; i--) {
    cout << ans[i] << " ";
  }
}
