#include <iostream>
#include <string>
using namespace std;
string s[1001],a;
int main() {
int n,q,ans=0;
cin>>n>>q;
for(int i=1;i<=n;i++) cin>>s[i];
for(int i=1;i<=q;i++)
{
ans=1;
bool flag=true;
int len;
cin>>len>>a;
for(int j=1;j<=n;j++)
{
if(s[j].size()>=len)
{
if(s[j].substr(s[j].size()-len,s[j].size())==a&&s[j]<=s[ans])
{flag=false;ans=j;}
}
}
if(flag) cout<<"-1"<<endl;
else cout<<s[ans]<<endl;
}
return 0;
}
想问一下是运算符重载不适用了(20行<=)还是别的地方错了