#include <bits/stdc++.h>
using namespace std;

int main() {
  int N;
  cin >> N;
  vector<string> S(N);
  for (int i = 0; i < N; i++) {
    cin >> S.at(i);
  }
  set<string> M(S.begin(), S.end());
  for (int i = 0; i < N; i++) {
    if (M.count('!' + S.at(i))) {
      cout << S.at(i) << endl;
      return 0;
    }
  }
  cout << "satisfiable" << endl;
}
#include<bits/stdc++.h>
#include<string.h>
#define ll long long
#define pf printf
#define sf scanf
#define ff first
#define ss second
#define clr clear()
#define sz size()
#define pb push_back
#define mk make_pair
#define pi acos(-1)
#define inf 2000000000000
#define mod 998244353
#define ull unsigned long long int
#define f(i,k,n) for(i=k;i<n;i++)
#define fr(i,n,k) for(i=n;i>=k;i--)
#define ent(a) scanf("%lld",&a)
#define ent2(a,b) scanf("%lld%lld",&a,&b)
#define ent3(a,b,c) scanf("%lld%lld%lld",&a,&b,&c)
#define mem(a) memset(a,0,sizeof(a))
#define vec(v,s) vector<ll>v[s]
#define arr(a,s) ll a[s];
/*#pragma GCC target ("avx2")
#pragma GCC optimization ("O3")
#pragma GCC optimization ("unroll-loops")
#pragma comment(linker, "/stack:200000000")
#pragma GCC optimize("Ofast")
#pragma GCC target("sse,sse2,sse3,ssse3,sse4,popcnt,abm,mmx,avx,tune=native")
random_device rd;
mt19937 random(rd());*/
//knight and king//
int dr[]= {2,2,-2,-2,1,-1,1,-1};
int dc[]= {1,-1,1,-1,2,2,-2,-2};
int dr1[]= {0,0,1,1,1,-1,-1,-1};
int dc1[]= {1,-1,1,0,-1,0,1,-1};
int dr2[]= {0,0,1,-1};
int dc2[]= {1,-1,0,0};
////////////////////////////
using namespace std;
#define ma 3005



int main()
{
    ll i,j,n,m;
    string t="satisfiable";

    cin>>n;
    map<string,ll>mp,mp1;
    for(i=0;i<n;i++)
    {
        string t1;
        cin>>t1;
        if(t1[0]!='!')
        {
            mp[t1]=1;
        }
        else mp1[t1]=1;
    }

    map<string ,ll>::iterator it;

    for(auto p:mp)
    {
        string t1="!"+p.ff;
        
        if(mp1[t1])
        {
            t=p.ff;
        }
    }

    cout<<t<<endl;

    return 0;
}
