(define (System.out.println x) (begin (display x) (newline) ) ) (define (CntList cds card) (let loop( (i 0) (Cnt 0) ) (if (= i 5) Cnt (if (= card (list-ref cds i)) (loop (+ i 1) (+ Cnt 1)) (loop (+ i 1) Cnt) ) ) ) ) (let ( (cds (sort (list (read) (read) (read) (read) (read)) <)) ) (cond ((or (and (= (CntList cds (list-ref cds 0)) 3) (= (CntList cds (list-ref cds 3)) 2)) (and (= (CntList cds (list-ref cds 0)) 2) (= (CntList cds (list-ref cds 3)) 3))) (System.out.println "FULL HOUSE")) ((or (= (CntList cds (list-ref cds 0)) 3) (= (CntList cds (list-ref cds 2)) 3)) (System.out.println "THREE CARD")) ((and (= (CntList cds (list-ref cds 1)) 2) (= (CntList cds (list-ref cds 3)) 2)) (System.out.println "TWO PAIR")) ((or (= (CntList cds (list-ref cds 1)) 2) (= (CntList cds (list-ref cds 3)) 2)) (System.out.println "ONE PAIR")) (else (System.out.println "NO HAND")) ) )