(define (read-list n) (cond [(zero? n) '()] [else (let* ([x1 (read)] [y1 (read)] [x2 (read)] [y2 (read)]) (cons (list x1 y1 x2 y2) (read-list (- n 1))))])) (define (solve ll) (let loop ([xa 2] [ya 8] [xb 3] [yb 9] [xc 7] [yc 9] [ll ll]) (cond [(null? ll) (if (and (= xa 5) (= ya 8) (= xb 4) (= yb 8) (= xc 6) (= yc 8)) "YES" "NO")] [else (let ([x1 (car (car ll))] [y1 (cadr (car ll))] [x2 (caddr (car ll))] [y2 (cadddr (car ll))]) (cond [(and (= x1 xa) (= y1 ya)) (loop x2 y2 xb yb xc yc (cdr ll))] [(and (= x1 xb) (= y1 yb)) (loop xa ya x2 y2 xc yc (cdr ll))] [(and (= x1 xc) (= y1 yc)) (loop xa ya xb yb x2 y2 (cdr ll))] [else (loop xa ya xb yb xc yc (cdr ll))]))]))) (define (main args) (let* ([n (read)] [ll (read-list n)]) (print (solve ll))) 0)