program beginner; var letters:array['a'..'z'] of boolean; lwords:array[1..70000] of string[30]; ln:integer; word,lettersstr:string; i,n,j:integer; ic:char; ok:boolean; begin for ic:='a' to 'z' do letters[ic]:=false; readln(lettersstr); for i:=1 to length(lettersstr) do letters[lettersstr[i]] := true; readln(n); ln := 0; for i:=1 to n do begin readln(word); ok := true; for j:=1 to length(word) do if not letters[word[j]] then ok := false; if ok then begin inc(ln); lwords[ln]:=word; end; end; for i:=1 to ln-1 do for j:=i+1 to ln do if lwords[i]>lwords[j] then begin word := lwords[i]; lwords[i] := lwords[j]; lwords[j] := word; end; for i:=1 to ln do writeln(lwords[i]); end.