An ADT for Three-Pile Nim

The text book provides a game state ADT for 3-pile Nim (shown below), a commented version of which is provided in nim.scm. After copying nim.scm to nim3.scm, you can uncomment these procedures.
     (define make-game-state
       (lambda (n m k) (cons k (cons n m))))
     
     (define size-of-pile
       (lambda (game-state pile-number)
         (cond ((= pile-number 3) 
                (car game-state))
               ((= pile-number 1) 
                (car (cdr game-state)))
               (else ;pile-number must be 2 
                (cdr (cdr game-state))))))