program beginner; var letters,sletters:array['a'..'z'] of integer; 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]:=0; readln(lettersstr); for i:=1 to length(lettersstr) do inc(letters[lettersstr[i]]); sletters:=letters; readln(n); ln := 0; for i:=1 to n do begin readln(word); ok := true; letters := sletters; for j:=1 to length(word) do if letters[word[j]] = 0 then ok := false else dec(letters[word[j]]); 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.