#include <bits/stdc++.h>
using namespace std;
set<char> ss[100010];
bool searching(char c, set<char> s) {
  for (typeof(s.begin()) i = s.begin(); i != s.end(); i++)
    if (*i == c) return true;
  return false;
}
int main() {
  ios_base::sync_with_stdio(0);
  cin.tie(0);
  cout.tie(0);
  int n;
  cin >> n;
  int m = 0;
  string ch;
  for (int i = 0; i < n; i++) {
    cin >> ch;
    for (int j = 0; j < ch.size(); j++) ss[j].insert(ch[j]);
    m = max(m, (int)ch.size());
  }
  string ans = "";
  for (int i = 0; i < m; i++) {
    if (ss[i].size() == 1 && binary_search(ss[i].begin(), ss[i].end(), '?')) {
      ans += 'a';
    } else if (ss[i].size() == 1 ||
               (ss[i].size() == 2 &&
                binary_search(ss[i].begin(), ss[i].end(), '?'))) {
      for (int j = 0; j < 26; j++) {
        if (binary_search(ss[i].begin(), ss[i].end(), 'a' + j)) {
          ans += 'a' + j;
          break;
        }
      }
    } else
      ans += '?';
  }
  cout << ans << endl;
  return 0;
}
