long parrot = 443 /*446*/; // module ID embedded S firstLine() { ret (S) dm_rcall firstLine(parrot); } embedded int numLines() { ret (int) dm_rcall numLines(parrot); } LS rawLines = cast dm_rcall rawLines(parrot); embedded ItIt lineCounter() { ret countIterator_exclusive(numLines()+2); } embedded void checkGuess(IF1 makeLine) { LS guess = map(lineCounter(), makeLine); print(guess); if (eq(takeFirst(guess, numLines()), rawLines)) { print("Solution: " + guess); dm_rcall suggest(parrot, get(guess, numLines())); } } // This is the code that is to be found // by combining the 4 functions: for (S s : allUniqueSubstrings(firstLine())) checkGuess(n -> concatTwoStrings_gen(s, plus1(n)));