DEFINE COUNT="20" CHAR ARRAY sideA="BXDCNGRTQFJHVAOEFLPZ" CHAR ARRAY sideB="OKQPATEGDSWUINBRSYCM" BYTE ARRAY used(COUNT) BYTE FUNC ToUpper(BYTE c) IF c>='a AND c<='z THEN RETURN (c-'a+'A) FI RETURN (c) BYTE FUNC CanBeUsed(CHAR c) BYTE i FOR i=0 TO COUNT-1 DO IF used(i)=0 AND (sideA(i+1)=c OR sideB(i+1)=c) THEN used(i)=1 RETURN (1) FI OD RETURN (0) BYTE FUNC Check(CHAR ARRAY s) BYTE i CHAR c FOR i=0 TO COUNT-1 DO used(i)=0 OD FOR i=1 TO s(0) DO c=ToUpper(s(i)) IF CanBeUsed(c)=0 THEN RETURN (0) FI OD RETURN (1) PROC Test(CHAR ARRAY s) Print(s) Print(": ") IF Check(s) THEN PrintE("can be made") ELSE PrintE("can not be made") FI RETURN PROC Main() Test("a") Test("bARk") Test("book") Test("TReat") Test("coMMon") Test("SQuaD") Test("CoNfUsE") RETURN