#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;   }   