#include <bits/stdc++.h>
using namespace std;
const long double eps = 1e-7;
const long long int MOD = 1000000007;
long long int div_floor(const long long int &a, const long long int &b) {
  return a / b - (((a ^ b) < 0) and a % b);
}
long long int div_ceil(const long long int &a, const long long int &b) {
  return a / b + (((a ^ b) >= 0) and a % b);
}
long long int binpow(long long int a, long long int b) {
  long long int res = 1;
  while (b > 0) {
    if (b & 1) res = (res * a);
    a = (a * a);
    b >>= 1;
  }
  return res;
}
void solve() {
  int n;
  cin >> n;
  vector<string> v(n);
  map<string, int> all;
  for (int i = 0; i < n; i++) {
    cin >> v[i];
    for (int j = 1; j < 10; j++) {
      for (int k = 0; k < 10 - j; k++) all[v[i].substr(k, j)]++;
    }
  }
  for (int i = 0; i < n; i++) {
    for (int j = 1; j < 10; j++) {
      multiset<string> s;
      bool ok = 0;
      for (int k = 0; k < 10 - j; k++) s.insert(v[i].substr(k, j));
      for (auto it : s) {
        if (all[it] - s.count(it) == 0) {
          cout << it << '\n';
          ok = 1;
          break;
        }
      }
      if (ok) break;
    }
  }
  return;
}
int main() {
  ios_base::sync_with_stdio(false);
  cin.tie(NULL);
  cout.tie(NULL);
  int t = 1;
  for (int i = 1; i <= t; i++) {
    solve();
  }
  return 0;
}
