; your code goes here
(defclass a () ())
(defclass aa (a) ())
(defclass aaa (aa) ())
(defclass b () ())
(defclass bb (b) ())
(defgeneric m (x y))
(defmethod m ((x a) (y b)) 1)
(defmethod m ((x a) (y bb)) 2)
(defmethod m ((x aa) (y b)) 3)
(format t "~a ~a~%"
(m (make-instance 'aa) (make-instance 'bb))
(m (make-instance 'aa) (make-instance 'b)))
(format t "~a ~a~%"
(m (make-instance 'aaa) (make-instance 'bb))
(m (make-instance 'a) (make-instance 'bb)))
OyB5b3VyIGNvZGUgZ29lcyBoZXJlCgooZGVmY2xhc3MgYSAoKSAoKSkKKGRlZmNsYXNzIGFhIChhKSAoKSkKKGRlZmNsYXNzIGFhYSAoYWEpICgpKQoKKGRlZmNsYXNzIGIgKCkgKCkpCihkZWZjbGFzcyBiYiAoYikgKCkpCgooZGVmZ2VuZXJpYyBtICh4IHkpKQoKKGRlZm1ldGhvZCBtICgoeCBhKSAgKHkgYikpICAxKQooZGVmbWV0aG9kIG0gKCh4IGEpICAoeSBiYikpIDIpCihkZWZtZXRob2QgbSAoKHggYWEpICh5IGIpKSAgMykKCihmb3JtYXQgdCAifmEgfmF+JSIKICAobSAobWFrZS1pbnN0YW5jZSAnYWEpIChtYWtlLWluc3RhbmNlICdiYikpCiAgKG0gKG1ha2UtaW5zdGFuY2UgJ2FhKSAobWFrZS1pbnN0YW5jZSAnYikpKQooZm9ybWF0IHQgIn5hIH5hfiUiCiAgKG0gKG1ha2UtaW5zdGFuY2UgJ2FhYSkgKG1ha2UtaW5zdGFuY2UgJ2JiKSkKICAobSAobWFrZS1pbnN0YW5jZSAnYSkgICAobWFrZS1pbnN0YW5jZSAnYmIpKSk=