#include <bits/stdc++.h>   using namespace std;   int p[200] = {0};   int main() {     string a;     int m;     cin >> m;     cin >> a;     int n = a.length();     for (int i = 0; i < n; i++) {       if (a[i] !=  ? ) p[a[i] -  a ] = 1;       if (a[i] !=  ?  && a[i] -  a  >= m) {         cout <<  IMPOSSIBLE  << endl;         return 0;       }     }     for (int i = 0; i < n; i++) {       if (a[i] ==  ?  && a[n - i - 1] !=  ? ) a[i] = a[n - i - 1];     }     for (int i = n / 2; i >= 0; i--) {       if (a[i] ==  ?  && a[n - i - 1] ==  ? ) {         for (int j = m - 1; j >= 0; j--) {           if (!p[j]) {             a[i] = j +  a ;             a[n - i - 1] = j +  a ;             p[j] = 1;             break;           }         }         if (a[i] ==  ? ) a[i] =  a , a[n - i - 1] =  a ;       }     }     for (int i = 0; i < n; i++) {       if (a[i] != a[n - i - 1]) {         cout <<  IMPOSSIBLE  << endl;         return 0;       }     }     for (int i = 0; i < m; i++)       if (!p[i]) {         cout <<  IMPOSSIBLE  << endl;         return 0;       }     cout << a << endl;     return 0;   }   