program ABC_problem; blocks := ["BO","XK","DQ","CP","NA","GT","RE","TG","QD","FS", "JW","HU","VI","AN","OB","ER","FS","LY","PC","ZM"]; words := ["A","BARK","BOOK","treat","common","Squad","CoNfUsE"]; loop for word in words do print(rpad(word, 8), can_make_word(word, blocks)); end loop; proc can_make_word(word, blocks); loop for letter in word do if exists block = blocks(i) | to_upper(letter) in block then blocks(i) := ""; else return false; end if; end loop; return true; end proc; end program;