//再介绍使用二分查找的方法
//本题字符串数组是递增的,所以很容易想到用二分法
#include<bits/stdc++.h>
using namespace std;
int main(){
    int n;
    cin>>n;
    string str;
    cin>>str;
    string arr[n];
    for(int i=0;i<n;i++)
        cin>>arr[i];
    int l=0,r=n-1;
    while(l<=r){
        int mid=(l+r)/2;
        if(arr[mid]=="0"){//当前遇到了空字符串
            int temp=r;//记下当前r所在的位置
            r=mid-1;
            while(r>=l&&arr[r]=="0"){
                r--;
            }
            if(r<l){//说明左半区全是空字符串
                l=mid+1;
                r=temp;
            }
            else{//说明遇到了非空字符串
                if(arr[r]>=str){
                    continue;
                }
                else{
                    r=temp;
                    l=mid+1;
                }
            }
        }
        if(arr[mid].compare(str)==0){//相等,找最左位置
            r=mid-1;
        }
        
        
        
        else if(arr[mid].compare(str)<0){//比str小
            l=mid+1;
        }
        
        
        else {
            r=mid-1;
        }
        
        
    }
    if(arr[l].compare(str)==0)
        cout<<l<<endl;
    else cout<<-1<<endl;
    return 0;
}