··· http://rosettacode.org/wiki/ABC_Problem ··· ■ ABC § static blocks⦂ StringBuffer " BO XK DQ CP NA GT RE TG QD FS JW HU VI AN OB ER FS LY PC ZM" ▶ main • args⦂ String[] for each word in ["A", "BARK", "BOOK", "TREAT", "COMMON", "SQUAD", "CONFUSE"]⦂ String System.out.println "⸨word⸩: ⸨canMakeWord word⸩" ▶ canMakeWord⦂ boolean • word⦂ String solution⦂ boolean: word.isEmpty° if no solution i⦂ int: blocks.indexOf word.substring 0, 1 🔁 until solution or i < 0 i: i ÷ 3 × 3 · block index block⦂ String: blocks.substring i, i + 3 blocks.delete i, i + 3 · remove block solution: canMakeWord word.substring 1 blocks.insert i, block · restore block i: blocks.indexOf (word.substring 0, 1), i + 3 return solution