#include #define in cin #define out cout #define abs(x) ((x>0)?(x):(-(x))) #define max(a,b) ((a)>(b)?(a):(b)) #define min(a,b) ((a)<(b)?(a):(b)) #define FOR(i, a, b) for(int i = a; i <= b; ++i) #define DOWNFOR(i, a, b) for(int i = a; i >= b; --i) #define FOREACH(i, t) for (typeof(t.begin()) i = t.begin(); i != t.end(); ++i) using namespace std; const int Nmax = 100001; string A,B,v[Nmax]; int N,K,a[1<<10],b[1<<10]; struct cmp{ inline bool operator () (const string &a,const string &b){ unsigned j=0; while(j=a.size()) return 1; else if(j>=b.size()) return 0; else return a[j]>A>>N; in.get(s,50,' '); int n=strlen(s); for(unsigned j=0;j>N; for(int i=1;i<=N;i++){ in>>B; for(unsigned j=0;j