#include <bits/stdc++.h>
using namespace std;
int k;
string s;
set<char> c;
void solve() {
  cin >> k >> s;
  for (int i = 0; i < k; i++) c.insert('a' + i);
  for (int i = 0; i < s.size(); i++) c.erase(s[i]);
  int cnt = 0;
  for (int i = 0; i < (s.size() + 1) / 2; i++) {
    int j = s.size() - 1 - i;
    if (s[i] == '?' && s[j] == '?') {
      cnt++;
      continue;
    }
    if (s[i] == '?') s[i] = s[j];
    if (s[j] == '?') s[j] = s[i];
    if (s[i] != s[j]) {
      puts("IMPOSSIBLE");
      return;
    }
  }
  if (cnt < c.size()) {
    puts("IMPOSSIBLE");
    return;
  }
  for (int i = 0; i < (s.size() + 1) / 2; i++) {
    int j = s.size() - 1 - i;
    if (s[i] == '?' && s[j] == '?') {
      if (cnt == c.size())
        s[i] = s[j] = *c.begin(), c.erase(c.begin()), cnt--;
      else
        s[i] = s[j] = 'a', cnt--;
    }
  }
  cout << s;
  return;
}
int main() {
  solve();
  return 0;
}
