#include <iostream>
#include <vector>
#include <algorithm>
#include <string>

using namespace std;

int matrika[26];
int primerjava[26];


int main(){
	vector<string> out;
	out.reserve(1000);
	string s;
	int N;
	bool p = true;
	for(int i=0; i<26; i++){
		matrika[i] = 0;
		primerjava[i] = 0;
	}
	cin>>s;
	for(int i=0; i<(int)s.size(); i++){//damo število črk v matriko
		matrika[s[i]-'a']++;
	}
	cin>>N;
	for(int i=0; i<N; i++){
		cin>>s;
		for(int x = 0; x<(int)s.size(); x++){
			primerjava[s[x]-'a']++;
			if(primerjava[s[x]-'a'] > matrika[s[x]-'a']){
				p = false;
				break;
			}	
		}
		if(p == true){
			out.push_back(s);
		}
		else{
			p = true;
		}
		for(int x = 0; x<26; x++){
			primerjava[x] = 0;
		}
	}
	sort(out.begin(), out.end());
	for(int i=0; i<(int)out.size(); i++){
		cout<<out[i]<<'\n';
	}
return 0;
}