The problem:
My Solution in Common Lisp
(defun processString (line position)
(if (< position (length line))
(progn
(setf (nth (- (char-code (char line position)) 97) gemArray) (+ (nth (- (char-code (char line position)) 97) gemArray) 1))
(processString line (+ position 1))
)))
(defun outputResult (position n)
(if (< position 26)
(if (eql (nth position gemArray) n)
(+ 1 (outputResult (+ position 1) n))
(outputResult (+ position 1) n))
0))
(defun main (iteration n)
(if (> iteration 0)
(progn
(setq line (read-line))
(processString (remove-duplicates line) 0)
(main (- iteration 1) n))
(outputResult 0 n)
))
(setq gemArray '(0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0))
(setq line (read-line))
(setq tests (parse-integer line))
(format t "~d" (main tests tests))