#include <bits/stdc++.h>
using namespace std;
const int N = 2000 + 100, OO = 1e9 + 100, M = 998244353, P = 6151, SQ = 120,
          lg = 22;
map<pair<int, string>, int> mp;
char c[30];
int32_t main() {
  ios::sync_with_stdio(false), cin.tie(0), cout.tie(0);
  int n;
  cin >> n;
  if (n == 1) {
    cout << "? 1 1" << endl;
    string s;
    cin >> s;
    return cout << "! " << s, 0;
  }
  cout << "? " << 1 << " " << n << endl;
  for (int i = 0; i < (n * (n + 1) / 2); i++) {
    string s;
    cin >> s;
    sort(s.begin(), s.end());
    mp[{s.size(), s}]++;
  }
  cout << "? " << 2 << " " << n << endl;
  for (int i = 0; i < n * (n - 1) / 2; i++) {
    string s;
    cin >> s;
    sort(s.begin(), s.end());
    mp[{s.size(), s}]--;
  }
  string s = "";
  for (auto u : mp) {
    if (u.second == 0) continue;
    for (auto h : u.first.second) c[h - 'a']++;
    for (int i = 0; i < 27; i++) {
      if (c[i]) {
        s += (char)(i + 'a');
        c[i] = 0;
      }
    }
    for (auto h : u.first.second) c[h - 'a']--;
  }
  cout << "! " << s << endl;
  return 0;
}
