diff --git a/collects/htdp/Test/matrix-client.ss b/collects/htdp/Test/matrix-client.ss index e29121f740..b9126ec2c4 100644 --- a/collects/htdp/Test/matrix-client.ss +++ b/collects/htdp/Test/matrix-client.ss @@ -1,83 +1,1503 @@ -;; The first three lines of this file were inserted by DrScheme. They record metadata -;; about the language level of this file in a form that our tools can easily process. -#reader(lib "htdp-intermediate-lambda-reader.ss" "lang")((modname matrix-client) (read-case-sensitive #t) (teachpacks ((lib "world.ss" "teachpack" "htdp") (lib "testing.ss" "teachpack" "htdp"))) (htdp-settings #(#t constructor repeating-decimal #f #t none #f ((lib "world.ss" "teachpack" "htdp") (lib "testing.ss" "teachpack" "htdp"))))) -(require (lib "matrix.ss" "htdp")) -(require (lib "testing.ss" "htdp")) +#reader(lib"read.ss""wxme")WXME0108 ## +#| + This file is in PLT Scheme editor format. + Open this file in DrScheme version 370 or later to read it. -(define m1 (make-matrix 2 3 (list 'a 'b 'c 'd 'e 'f))) -(define m2 (matrix-set m1 1 1 'x)) + Most likely, it was created by saving a program in DrScheme, + and it probably contains a program with non-text elements + (such as images or comment boxes). -(check-expect (matrix-ref m1 0 0) 'a) -(check-expect (matrix-ref m1 0 1) 'b) -(check-expect (matrix-ref m1 0 2) 'c) -(check-expect (matrix-ref m1 1 0) 'd) -(check-expect (matrix-ref m1 1 1) 'e) -(check-expect (matrix-ref m1 1 2) 'f) - -(check-expect (matrix-ref m2 1 1) 'x) - -(define matrix1 (make-matrix 2 3 '(a00 a01 a02 a10 a11 a12))) - -(define r1 '((a00 a01 a02) - (a10 a11 a12))) - -(check-expect (matrix-render matrix1) (matrix-render (rectangle->matrix r1))) -(check-expect (matrix-ref matrix1 0 0) 'a00) -(check-expect (matrix-ref matrix1 0 1) 'a01) -(check-expect (matrix-ref matrix1 0 2) 'a02) -(check-expect (matrix-ref matrix1 1 0) 'a10) -(check-expect (matrix-ref matrix1 1 1) 'a11) -(check-expect (matrix-ref matrix1 1 2) 'a12) - -(check-expect (matrix-render (build-matrix 2 3 (lambda (i j) (matrix-ref matrix1 i j)))) - (matrix-render matrix1)) - -(define matrix2 (make-matrix 2 2 '(a00 a01 a10 a11))) - -(check-expect (matrix-render (matrix-minor matrix2 0 0)) - (matrix-render (make-matrix 1 1 '(a11)))) - -(check-expect (matrix-render (matrix-minor matrix2 1 1)) - (matrix-render (make-matrix 1 1 '(a00)))) - -;; =========================================================================== - -;; Matrix -> Number -;; compute the determinat of a square (n x n) matrix -(define (determinant M) - (local - ((define n (matrix-n M)) - (define (series i) - (* (expt -1 i) (matrix-ref M 0 i) (determinant (matrix-minor M 0 i))))) - (if (= n 1) - (matrix-ref M 0 0) - (foldl + 0 (build-list n series))))) - - - -(check-expect (determinant (rectangle->matrix '((1 1) - (1 1)))) - 0) - -(check-expect (determinant (rectangle->matrix '((2 1) - (1 1)))) - 1) - -;; =========================================================================== -;; matrix with structure inside - -(define-struct p (x y)) - -(define matrix3 - (rectangle->matrix - (list (list (make-p 0 0) (make-p 0 1)) - (list (make-p 1 0) (make-p 1 1))))) - -(define matrix4 (matrix-set matrix3 0 0 "intentionally failing check")) - -(check-expect matrix3 matrix3) - -(check-expect matrix3 matrix4) -"the above test should fail" - -(generate-report) + http://www.plt-scheme.org +|# + 45 7 #"wxtext\0" +3 1 6 #"wxtab\0" +1 1 8 #"wxmedia\0" +4 1 8 #"wximage\0" +2 0 34 #"(lib \"syntax-browser.ss\" \"mrlib\")\0" +1 0 16 #"drscheme:number\0" +3 0 44 #"(lib \"number-snip.ss\" \"drscheme\" \"private\")\0" +1 0 36 #"(lib \"comment-snip.ss\" \"framework\")\0" +1 0 43 #"(lib \"collapsed-snipclass.ss\" \"framework\")\0" +0 0 19 #"drscheme:sexp-snip\0" +0 0 33 #"(lib \"bullet-snip.ss\" \"browser\")\0" +0 0 29 #"drscheme:bindings-snipclass%\0" +1 0 36 #"(lib \"cache-image-snip.ss\" \"mrlib\")\0" +1 0 25 #"(lib \"matrix.ss\" \"htdp\")\0" +1 0 22 #"drscheme:lambda-snip%\0" +1 0 8 #"gb:core\0" +5 0 10 #"gb:canvas\0" +5 0 17 #"gb:editor-canvas\0" +5 0 10 #"gb:slider\0" +5 0 9 #"gb:gauge\0" +5 0 11 #"gb:listbox\0" +5 0 12 #"gb:radiobox\0" +5 0 10 #"gb:choice\0" +5 0 8 #"gb:text\0" +5 0 11 #"gb:message\0" +5 0 10 #"gb:button\0" +5 0 12 #"gb:checkbox\0" +5 0 18 #"gb:vertical-panel\0" +5 0 9 #"gb:panel\0" +5 0 20 #"gb:horizontal-panel\0" +5 0 33 #"(lib \"readable.ss\" \"guibuilder\")\0" +1 0 56 +( + #"(lib \"hrule-snip.ss\" \"macro-debugger\" \"syntax-browse" + #"r\")\0" +) 1 0 18 #"java-comment-box%\0" +1 0 23 #"java-interactions-box%\0" +1 0 45 #"(lib \"image-snipr.ss\" \"slideshow\" \"private\")\0" +1 0 26 #"drscheme:pict-value-snip%\0" +0 0 38 #"(lib \"pict-snipclass.ss\" \"slideshow\")\0" +2 0 55 +( + #"(lib \"vertical-separator-snip.ss\" \"stepper\" \"private" + #"\")\0" +) 1 0 18 #"drscheme:xml-snip\0" +1 0 31 #"(lib \"xml-snipclass.ss\" \"xml\")\0" +1 0 21 #"drscheme:scheme-snip\0" +2 0 34 #"(lib \"scheme-snipclass.ss\" \"xml\")\0" +1 0 10 #"text-box%\0" +1 0 32 #"(lib \"text-snipclass.ss\" \"xml\")\0" +1 0 15 #"test-case-box%\0" +2 0 1 6 #"wxloc\0" +00000000000 1 54 0 1 #"\0" +0 75 1 #"\0" +0 12 90 -1 90 -1 3 -1 0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 255 255 255 1 -1 0 9 +#"Standard\0" +0 75 12 #"Courier New\0" +0 12 90 -1 90 -1 3 -1 0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 255 255 255 1 -1 2 1 +#"\0" +0 -1 1 #"\0" +1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 1 1 1 1 1 1 0 0 0 0 0 0 -1 -1 2 24 +#"framework:default-color\0" +0 -1 1 #"\0" +1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 -1 -1 2 1 +#"\0" +0 -1 1 #"\0" +1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 1 1 1 150 0 150 0 0 0 -1 -1 2 15 +#"text:ports out\0" +0 -1 1 #"\0" +1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 1 1 1 150 0 150 0 0 0 -1 -1 2 1 +#"\0" +0 -1 1 #"\0" +1 0 -1 -1 93 -1 -1 -1 0 0 0 0 0 0 0 0 0 1 1 1 255 0 0 0 0 0 -1 -1 2 15 +#"text:ports err\0" +0 -1 1 #"\0" +1 0 -1 -1 93 -1 -1 -1 0 0 0 0 0 0 0 0 0 1 1 1 255 0 0 0 0 0 -1 -1 2 1 +#"\0" +0 -1 1 #"\0" +1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 1 1 1 0 0 175 0 0 0 -1 -1 2 17 +#"text:ports value\0" +0 -1 1 #"\0" +1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 1 1 1 0 0 175 0 0 0 -1 -1 2 1 +#"\0" +0 -1 1 #"\0" +1 0 92 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 1 1 1 34 139 34 0 0 0 -1 -1 2 27 +#"Matching Parenthesis Style\0" +0 -1 1 #"\0" +1 0 92 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 1 1 1 34 139 34 0 0 0 -1 -1 2 1 +#"\0" +0 -1 1 #"\0" +1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 1 1 1 38 38 128 0 0 0 -1 -1 2 37 +#"framework:syntax-color:scheme:symbol\0" +0 -1 1 #"\0" +1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 1 1 1 38 38 128 0 0 0 -1 -1 2 38 +#"framework:syntax-color:scheme:keyword\0" +0 -1 1 #"\0" +1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 1 1 1 38 38 128 0 0 0 -1 -1 2 1 +#"\0" +0 -1 1 #"\0" +1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 1 1 1 194 116 31 0 0 0 -1 -1 2 +38 #"framework:syntax-color:scheme:comment\0" +0 -1 1 #"\0" +1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 1 1 1 194 116 31 0 0 0 -1 -1 2 1 +#"\0" +0 -1 1 #"\0" +1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 1 1 1 41 128 38 0 0 0 -1 -1 2 37 +#"framework:syntax-color:scheme:string\0" +0 -1 1 #"\0" +1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 1 1 1 41 128 38 0 0 0 -1 -1 2 39 +#"framework:syntax-color:scheme:constant\0" +0 -1 1 #"\0" +1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 1 1 1 41 128 38 0 0 0 -1 -1 2 1 +#"\0" +0 -1 1 #"\0" +1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 1 1 1 132 60 36 0 0 0 -1 -1 2 42 +#"framework:syntax-color:scheme:parenthesis\0" +0 -1 1 #"\0" +1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 1 1 1 132 60 36 0 0 0 -1 -1 2 1 +#"\0" +0 -1 1 #"\0" +1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 1 1 1 255 0 0 0 0 0 -1 -1 2 36 +#"framework:syntax-color:scheme:error\0" +0 -1 1 #"\0" +1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 1 1 1 255 0 0 0 0 0 -1 -1 2 1 +#"\0" +0 -1 1 #"\0" +1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 -1 -1 2 36 +#"framework:syntax-color:scheme:other\0" +0 -1 1 #"\0" +1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 -1 -1 2 1 +#"\0" +0 -1 1 #"\0" +1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 1 1 1 81 112 203 0 0 0 -1 -1 2 +38 #"drscheme:check-syntax:lexically-bound\0" +0 -1 1 #"\0" +1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 1 1 1 81 112 203 0 0 0 -1 -1 2 1 +#"\0" +0 -1 1 #"\0" +1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 1 1 1 68 0 203 0 0 0 -1 -1 2 31 +#"drscheme:check-syntax:imported\0" +0 -1 1 #"\0" +1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 1 1 1 68 0 203 0 0 0 -1 -1 2 35 +#"profj:syntax-colors:scheme:keyword\0" +0 -1 1 #"\0" +1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 -1 -1 2 1 +#"\0" +0 -1 1 #"\0" +1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 1 1 1 139 0 139 0 0 0 -1 -1 2 37 +#"profj:syntax-colors:scheme:prim-type\0" +0 -1 1 #"\0" +1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 1 1 1 139 0 139 0 0 0 -1 -1 2 38 +#"profj:syntax-colors:scheme:identifier\0" +0 -1 1 #"\0" +1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 1 1 1 38 38 128 0 0 0 -1 -1 2 1 +#"\0" +0 -1 1 #"\0" +1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 1 1 1 34 139 34 0 0 0 -1 -1 2 34 +#"profj:syntax-colors:scheme:string\0" +0 -1 1 #"\0" +1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 1 1 1 34 139 34 0 0 0 -1 -1 2 35 +#"profj:syntax-colors:scheme:literal\0" +0 -1 1 #"\0" +1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 1 1 1 34 139 34 0 0 0 -1 -1 2 35 +#"profj:syntax-colors:scheme:comment\0" +0 -1 1 #"\0" +1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 1 1 1 194 116 31 0 0 0 -1 -1 2 +33 #"profj:syntax-colors:scheme:error\0" +0 -1 1 #"\0" +1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 1 1 1 255 0 0 0 0 0 -1 -1 2 35 +#"profj:syntax-colors:scheme:default\0" +0 -1 1 #"\0" +1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 -1 -1 2 37 +#"profj:syntax-colors:scheme:uncovered\0" +0 -1 1 #"\0" +1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 -1 -1 2 35 +#"profj:syntax-colors:scheme:covered\0" +0 -1 1 #"\0" +1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 1 1 1 139 0 139 0 0 0 -1 -1 4 1 +#"\0" +0 70 1 #"\0" +1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 1 1 1 1 1 1 0 0 0 0 0 0 -1 -1 4 4 +#"XML\0" +0 70 1 #"\0" +1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 1 1 1 1 1 1 0 0 0 0 0 0 -1 -1 8 1 +#"\0" +0 -1 1 #"\0" +1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 1 1 1 255 0 0 0 0 0 -1 -1 8 24 +#"drscheme:text:ports err\0" +0 -1 1 #"\0" +1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 1 1 1 255 0 0 0 0 0 -1 -1 4 1 +#"\0" +0 71 1 #"\0" +1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 1 1 1 1 1 1 0 0 0 0 0 0 -1 -1 4 1 +#"\0" +0 -1 1 #"\0" +1 0 -1 -1 -1 -1 -1 -1 1 0 0 0 0 0 0 0 0 1 1 1 0 0 255 0 0 0 -1 -1 4 1 +#"\0" +0 71 1 #"\0" +1 0 -1 -1 -1 -1 -1 -1 1 0 0 0 0 0 0 0 0 1 1 1 0 0 255 0 0 0 -1 -1 4 1 +#"\0" +0 71 1 #"\0" +1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 1 1 1 0 100 0 0 0 0 -1 -1 2 1 +#"\0" +0 71 1 #"\0" +1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 1 1 1 1 1 1 0 0 0 0 0 0 -1 -1 2 1 +#"\0" +0 71 1 #"\0" +1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 1 1 1 0 100 0 0 0 0 -1 -1 0 1 +#"\0" +0 75 12 #"Courier New\0" +0 12 90 -1 90 -1 3 -1 0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 255 255 255 1 -1 +00000000002 0 00000000000 13 00000000000 819 0 4 3 85 +( + #";; The first three lines of this file were inserted by DrScheme. Th" + #"ey record metadata" +) 0 0 4 29 1 #"\n" +0 0 4 3 85 +( + #";; about the language level of this file in a form that our tools c" + #"an easily process." +) 0 0 4 29 1 #"\n" +0 0 4 3 337 +( + #"#reader(lib \"htdp-intermediate-lambda-reader.ss\" \"lang\"" + #")((modname matrix-client) (read-case-sensitive #t) (teachpacks ((li" + #"b \"world.ss\" \"teachpack\" \"htdp\") (lib \"testing" + #".ss\" \"teachpack\" \"htdp\"))) (htdp-settings #(#t const" + #"ructor repeating-decimal #f #t none #f ((lib \"world.ss\" \"t" + #"eachpack\" \"htdp\") (lib \"testing.ss\" \"teachpack" + #"\" \"htdp\")))))" +) 0 0 4 29 1 #"\n" +0 0 22 3 1 #"(" +0 0 14 3 7 #"require" +0 0 4 3 1 #" " +0 0 22 3 1 #"(" +0 0 14 3 3 #"lib" +0 0 4 3 1 #" " +0 0 19 3 11 #"\"matrix.ss\"" +0 0 4 3 1 #" " +0 0 19 3 6 #"\"htdp\"" +0 0 22 3 2 #"))" +0 0 4 29 1 #"\n" +0 0 22 3 1 #"(" +0 0 14 3 7 #"require" +0 0 4 3 1 #" " +0 0 22 3 1 #"(" +0 0 14 3 3 #"lib" +0 0 4 3 1 #" " +0 0 19 3 12 #"\"testing.ss\"" +0 0 4 3 1 #" " +0 0 19 3 6 #"\"htdp\"" +0 0 22 3 2 #"))" +0 0 4 29 1 #"\n" +0 0 4 29 1 #"\n" +0 0 22 3 1 #"(" +0 0 15 3 6 #"define" +0 0 4 3 1 #" " +0 0 14 3 2 #"m1" +0 0 4 3 1 #" " +0 0 22 3 1 #"(" +0 0 14 3 11 #"make-matrix" +0 0 4 3 1 #" " +0 0 20 3 1 #"2" +0 0 4 3 1 #" " +0 0 20 3 1 #"3" +0 0 4 3 1 #" " +0 0 22 3 1 #"(" +0 0 14 3 4 #"list" +0 0 4 3 1 #" " +0 0 20 3 1 #"'" +0 0 14 3 1 #"a" +0 0 4 3 1 #" " +0 0 20 3 1 #"'" +0 0 14 3 1 #"b" +0 0 4 3 1 #" " +0 0 20 3 1 #"'" +0 0 14 3 1 #"c" +0 0 4 3 1 #" " +0 0 20 3 1 #"'" +0 0 14 3 1 #"d" +0 0 4 3 1 #" " +0 0 20 3 1 #"'" +0 0 14 3 1 #"e" +0 0 4 3 1 #" " +0 0 20 3 1 #"'" +0 0 14 3 1 #"f" +0 0 22 3 2 #"))" +0 0 22 3 1 #")" +0 0 4 29 1 #"\n" +0 0 4 29 1 #"\n" +0 0 22 3 1 #"(" +0 0 15 3 6 #"define" +0 0 4 3 1 #" " +0 0 14 3 2 #"m2" +0 0 4 3 1 #" " +0 0 22 3 1 #"(" +0 0 14 3 10 #"matrix-set" +0 0 4 3 1 #" " +0 0 14 3 2 #"m1" +0 0 4 3 1 #" " +0 0 20 3 1 #"1" +0 0 4 3 1 #" " +0 0 20 3 1 #"1" +0 0 4 3 1 #" " +0 0 20 3 1 #"'" +0 0 14 3 1 #"x" +0 0 22 3 2 #"))" +0 0 4 29 1 #"\n" +0 0 4 29 1 #"\n" +0 0 22 3 1 #"(" +0 0 14 3 12 #"check-expect" +0 0 4 3 1 #" " +0 0 22 3 1 #"(" +0 0 14 3 10 #"matrix-ref" +0 0 4 3 1 #" " +0 0 14 3 2 #"m1" +0 0 4 3 1 #" " +0 0 20 3 1 #"0" +0 0 4 3 1 #" " +0 0 20 3 1 #"0" +0 0 22 3 1 #")" +0 0 4 3 1 #" " +0 0 20 3 1 #"'" +0 0 14 3 1 #"a" +0 0 22 3 1 #")" +0 0 4 29 1 #"\n" +0 0 22 3 1 #"(" +0 0 14 3 12 #"check-expect" +0 0 4 3 1 #" " +0 0 22 3 1 #"(" +0 0 14 3 10 #"matrix-ref" +0 0 4 3 1 #" " +0 0 14 3 2 #"m1" +0 0 4 3 1 #" " +0 0 20 3 1 #"0" +0 0 4 3 1 #" " +0 0 20 3 1 #"1" +0 0 22 3 1 #")" +0 0 4 3 1 #" " +0 0 20 3 1 #"'" +0 0 14 3 1 #"b" +0 0 22 3 1 #")" +0 0 4 29 1 #"\n" +0 0 22 3 1 #"(" +0 0 14 3 12 #"check-expect" +0 0 4 3 1 #" " +0 0 22 3 1 #"(" +0 0 14 3 10 #"matrix-ref" +0 0 4 3 1 #" " +0 0 14 3 2 #"m1" +0 0 4 3 1 #" " +0 0 20 3 1 #"0" +0 0 4 3 1 #" " +0 0 20 3 1 #"2" +0 0 22 3 1 #")" +0 0 4 3 1 #" " +0 0 20 3 1 #"'" +0 0 14 3 1 #"c" +0 0 22 3 1 #")" +0 0 4 29 1 #"\n" +0 0 22 3 1 #"(" +0 0 14 3 12 #"check-expect" +0 0 4 3 1 #" " +0 0 22 3 1 #"(" +0 0 14 3 10 #"matrix-ref" +0 0 4 3 1 #" " +0 0 14 3 2 #"m1" +0 0 4 3 1 #" " +0 0 20 3 1 #"1" +0 0 4 3 1 #" " +0 0 20 3 1 #"0" +0 0 22 3 1 #")" +0 0 4 3 1 #" " +0 0 20 3 1 #"'" +0 0 14 3 1 #"d" +0 0 22 3 1 #")" +0 0 4 29 1 #"\n" +0 0 22 3 1 #"(" +0 0 14 3 12 #"check-expect" +0 0 4 3 1 #" " +0 0 22 3 1 #"(" +0 0 14 3 10 #"matrix-ref" +0 0 4 3 1 #" " +0 0 14 3 2 #"m1" +0 0 4 3 1 #" " +0 0 20 3 1 #"1" +0 0 4 3 1 #" " +0 0 20 3 1 #"1" +0 0 22 3 1 #")" +0 0 4 3 1 #" " +0 0 20 3 1 #"'" +0 0 14 3 1 #"e" +0 0 22 3 1 #")" +0 0 4 29 1 #"\n" +0 0 22 3 1 #"(" +0 0 14 3 12 #"check-expect" +0 0 4 3 1 #" " +0 0 22 3 1 #"(" +0 0 14 3 10 #"matrix-ref" +0 0 4 3 1 #" " +0 0 14 3 2 #"m1" +0 0 4 3 1 #" " +0 0 20 3 1 #"1" +0 0 4 3 1 #" " +0 0 20 3 1 #"2" +0 0 22 3 1 #")" +0 0 4 3 1 #" " +0 0 20 3 1 #"'" +0 0 14 3 1 #"f" +0 0 22 3 1 #")" +0 0 4 29 1 #"\n" +0 0 4 29 1 #"\n" +0 0 22 3 1 #"(" +0 0 14 3 12 #"check-expect" +0 0 4 3 1 #" " +0 0 22 3 1 #"(" +0 0 14 3 10 #"matrix-ref" +0 0 4 3 1 #" " +0 0 14 3 2 #"m2" +0 0 4 3 1 #" " +0 0 20 3 1 #"1" +0 0 4 3 1 #" " +0 0 20 3 1 #"1" +0 0 22 3 1 #")" +0 0 4 3 1 #" " +0 0 20 3 1 #"'" +0 0 14 3 1 #"x" +0 0 22 3 1 #")" +0 0 4 29 1 #"\n" +0 0 4 29 1 #"\n" +0 0 22 3 1 #"(" +0 0 15 3 6 #"define" +0 0 4 3 1 #" " +0 0 14 3 7 #"matrix1" +0 0 4 3 1 #" " +0 0 22 3 1 #"(" +0 0 14 3 11 #"make-matrix" +0 0 4 3 1 #" " +0 0 20 3 1 #"2" +0 0 4 3 1 #" " +0 0 20 3 1 #"3" +0 0 4 3 1 #" " +0 0 20 3 1 #"'" +0 0 22 3 1 #"(" +0 0 14 3 3 #"a00" +0 0 4 3 1 #" " +0 0 14 3 3 #"a01" +0 0 4 3 1 #" " +0 0 14 3 3 #"a02" +0 0 4 3 1 #" " +0 0 14 3 3 #"a10" +0 0 4 3 1 #" " +0 0 14 3 3 #"a11" +0 0 4 3 1 #" " +0 0 14 3 3 #"a12" +0 0 22 3 2 #"))" +0 0 22 3 1 #")" +0 0 4 29 1 #"\n" +0 0 4 29 1 #"\n" +0 0 22 3 1 #"(" +0 0 15 3 6 #"define" +0 0 4 3 1 #" " +0 0 14 3 9 #"matrix1-2" +0 0 4 3 1 #" " +0 0 4 29 1 #"\n" +0 0 4 3 2 #" " +0 13 00000000004 4 29469 +( + #"(((a00 a01 a02) (a10 a11 a12)) (#(0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2" + #"55 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 " + #"0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0" + #" 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 25" + #"5 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0" + #" 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 " + #"0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255" + #" 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 " + #"255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0" + #" 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 " + #"0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 2" + #"55 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 " + #"0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0" + #" 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 0 0 0 0 0 0 " + #"0 0 0 0 0 0 0 0 0 0 0 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0" + #" 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 " + #"0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255" + #" 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 " + #"255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0" + #" 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 " + #"0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 2" + #"55 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 " + #"0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0" + #" 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 25" + #"5 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0" + #" 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 " + #"0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255" + #" 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 " + #"255 0 0 0 0 0 0 0 0 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 2" + #"55 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 " + #"0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0" + #" 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 25" + #"5 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0" + #" 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 " + #"0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255" + #" 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 " + #"255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0" + #" 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 " + #"0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 2" + #"55 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 " + #"0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0" + #" 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 25" + #"5 0 0 0 0 0 0 0 0 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255" + #" 0 0 0 0 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 25" + #"5 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 170 0 0 0 17 0 0 0 " + #"17 0 0 0 170 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 170 0 0 " + #"0 17 0 0 0 17 0 0 0 170 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0" + #" 0 255 0 0 0 255 0 0 0 0 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 " + #"0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 170" + #" 0 0 0 17 0 0 0 17 0 0 0 170 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 25" + #"5 0 0 0 204 0 0 0 102 0 0 0 17 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 " + #"255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 0 0 0 0 255 0 0 0 255 0 0 0" + #" 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 " + #"0 0 255 0 0 0 170 0 0 0 17 0 0 0 17 0 0 0 170 0 0 0 255 0 0 0 255 0" + #" 0 0 255 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 51 0 0 0 204 0 0 0 255 0 0 0" + #" 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 0 0 0 0 0 0 0 0 " + #"255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 17 0 0 0 255 0 0 " + #"0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0" + #" 0 0 255 0 0 0 187 0 0 0 34 0 0 0 238 0 0 0 238 0 0 0 34 0 0 0 187 " + #"0 0 0 255 0 0 0 255 0 0 0 187 0 0 0 34 0 0 0 238 0 0 0 238 0 0 0 34" + #" 0 0 0 187 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 " + #"17 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 " + #"0 255 0 0 0 255 0 0 0 255 0 0 0 187 0 0 0 34 0 0 0 238 0 0 0 238 0 " + #"0 0 34 0 0 0 187 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 85 0 0 0 136 0" + #" 0 0 0 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 " + #"0 0 0 255 0 0 0 17 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 25" + #"5 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 187 0 0 0 34 0 0 0 " + #"238 0 0 0 238 0 0 0 34 0 0 0 187 0 0 0 255 0 0 0 255 0 0 0 255 0 0 " + #"0 255 0 0 0 255 0 0 0 136 0 0 0 34 0 0 0 255 0 0 0 255 0 0 0 255 0 " + #"0 0 255 0 0 0 255 0 0 0 255 0 0 0 0 0 0 0 0 0 0 0 255 0 0 0 255 0 0" + #" 0 255 0 0 0 255 0 0 0 255 0 0 0 119 0 0 0 255 0 0 0 255 0 0 0 170 " + #"0 0 0 34 0 0 0 0 0 0 0 0 0 0 0 153 0 0 0 255 0 0 0 255 0 0 0 68 0 0" + #" 0 170 0 0 0 255 0 0 0 255 0 0 0 187 0 0 0 68 0 0 0 255 0 0 0 255 0" + #" 0 0 68 0 0 0 170 0 0 0 255 0 0 0 255 0 0 0 187 0 0 0 68 0 0 0 255 " + #"0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 119 0 0 0 255 0 0 0 2" + #"55 0 0 0 170 0 0 0 34 0 0 0 0 0 0 0 0 0 0 0 153 0 0 0 255 0 0 0 255" + #" 0 0 0 68 0 0 0 170 0 0 0 255 0 0 0 255 0 0 0 187 0 0 0 68 0 0 0 25" + #"5 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 0 0 0 0 255 0 0 0 2" + #"55 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 119 0 0 " + #"0 255 0 0 0 255 0 0 0 170 0 0 0 34 0 0 0 0 0 0 0 0 0 0 0 153 0 0 0 " + #"255 0 0 0 255 0 0 0 68 0 0 0 170 0 0 0 255 0 0 0 255 0 0 0 187 0 0 " + #"0 68 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 " + #"0 0 0 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0" + #" 0 0 0 0 0 0 0 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 " + #"0 0 255 0 0 0 255 0 0 0 255 0 0 0 68 0 0 0 204 0 0 0 255 0 0 0 187 " + #"0 0 0 0 0 0 0 255 0 0 0 255 0 0 0 0 0 0 0 255 0 0 0 255 0 0 0 255 0" + #" 0 0 255 0 0 0 0 0 0 0 255 0 0 0 255 0 0 0 0 0 0 0 255 0 0 0 255 0 " + #"0 0 255 0 0 0 255 0 0 0 0 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0" + #" 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 68 0 0 0 204 0 0 0 255" + #" 0 0 0 187 0 0 0 0 0 0 0 255 0 0 0 255 0 0 0 0 0 0 0 255 0 0 0 255 " + #"0 0 0 255 0 0 0 255 0 0 0 0 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255" + #" 0 0 0 255 0 0 0 0 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 25" + #"5 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 68 0 0 0 " + #"204 0 0 0 255 0 0 0 187 0 0 0 0 0 0 0 255 0 0 0 255 0 0 0 0 0 0 0 2" + #"55 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 0 0 0 0 255 0 0 0 255 0 0 0 " + #"255 0 0 0 255 0 0 0 255 0 0 0 187 0 0 0 51 0 0 0 255 0 0 0 255 0 0 " + #"0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 0 0 0 0 0 0 0 0 255 0 0 0" + #" 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 " + #"0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 0 0 0 0 255 0 0 0 255 0" + #" 0 0 0 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 0 0 0 0 255 0 " + #"0 0 255 0 0 0 0 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 0 0 0" + #" 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 " + #"0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 0 0 0 0 255" + #" 0 0 0 255 0 0 0 0 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 0 " + #"0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 0 0 0 0 255" + #" 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 " + #"255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0" + #" 0 0 0 0 0 255 0 0 0 255 0 0 0 0 0 0 0 255 0 0 0 255 0 0 0 255 0 0 " + #"0 255 0 0 0 0 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 221 0 0" + #" 0 17 0 0 0 204 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0" + #" 0 0 255 0 0 0 0 0 0 0 0 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 " + #"0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 204 0 0 0 68 0 0 0 0 0 " + #"0 0 0 0 0 0 0 0 0 0 255 0 0 0 255 0 0 0 0 0 0 0 255 0 0 0 255 0 0 0" + #" 255 0 0 0 255 0 0 0 0 0 0 0 255 0 0 0 255 0 0 0 0 0 0 0 255 0 0 0 " + #"255 0 0 0 255 0 0 0 255 0 0 0 0 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0" + #" 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 204 0 0 0 68 0 0" + #" 0 0 0 0 0 0 0 0 0 0 0 0 0 255 0 0 0 255 0 0 0 0 0 0 0 255 0 0 0 25" + #"5 0 0 0 255 0 0 0 255 0 0 0 0 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 2" + #"55 0 0 0 255 0 0 0 0 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 " + #"255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 204 0 0" + #" 0 68 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 255 0 0 0 255 0 0 0 0 0 0 0 255" + #" 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 0 0 0 0 255 0 0 0 255 0 0 0 25" + #"5 0 0 0 204 0 0 0 51 0 0 0 221 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 " + #"255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 0 0 0 0 0 0 0 0 255 0 0 0 2" + #"55 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 " + #"0 17 0 0 0 136 0 0 0 238 0 0 0 255 0 0 0 0 0 0 0 255 0 0 0 255 0 0 " + #"0 68 0 0 0 187 0 0 0 255 0 0 0 255 0 0 0 170 0 0 0 68 0 0 0 255 0 0" + #" 0 255 0 0 0 68 0 0 0 187 0 0 0 255 0 0 0 255 0 0 0 170 0 0 0 68 0 " + #"0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255" + #" 0 0 0 255 0 0 0 17 0 0 0 136 0 0 0 238 0 0 0 255 0 0 0 0 0 0 0 255" + #" 0 0 0 255 0 0 0 68 0 0 0 187 0 0 0 255 0 0 0 255 0 0 0 170 0 0 0 6" + #"8 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 0 0 0 0 2" + #"55 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 " + #"0 255 0 0 0 255 0 0 0 255 0 0 0 17 0 0 0 136 0 0 0 238 0 0 0 255 0 " + #"0 0 0 0 0 0 255 0 0 0 255 0 0 0 68 0 0 0 187 0 0 0 255 0 0 0 255 0 " + #"0 0 170 0 0 0 68 0 0 0 255 0 0 0 255 0 0 0 221 0 0 0 51 0 0 0 238 0" + #" 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 25" + #"5 0 0 0 255 0 0 0 0 0 0 0 0 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255" + #" 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 0 0 0 0 204 0 0 0 25" + #"5 0 0 0 170 0 0 0 0 0 0 0 238 0 0 0 255 0 0 0 187 0 0 0 34 0 0 0 23" + #"8 0 0 0 238 0 0 0 34 0 0 0 170 0 0 0 255 0 0 0 255 0 0 0 187 0 0 0 " + #"34 0 0 0 238 0 0 0 238 0 0 0 34 0 0 0 170 0 0 0 255 0 0 0 255 0 0 0" + #" 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 0 0 0 " + #"0 204 0 0 0 255 0 0 0 170 0 0 0 0 0 0 0 238 0 0 0 255 0 0 0 187 0 0" + #" 0 34 0 0 0 238 0 0 0 238 0 0 0 34 0 0 0 170 0 0 0 255 0 0 0 255 0 " + #"0 0 255 0 0 0 255 0 0 0 255 0 0 0 0 0 0 0 255 0 0 0 255 0 0 0 255 0" + #" 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 25" + #"5 0 0 0 0 0 0 0 204 0 0 0 255 0 0 0 170 0 0 0 0 0 0 0 238 0 0 0 255" + #" 0 0 0 187 0 0 0 34 0 0 0 238 0 0 0 238 0 0 0 34 0 0 0 170 0 0 0 25" + #"5 0 0 0 255 0 0 0 51 0 0 0 221 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 " + #"255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 0 0 0 0" + #" 0 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 " + #"0 255 0 0 0 255 0 0 0 153 0 0 0 0 0 0 0 0 0 0 0 119 0 0 0 102 0 0 0" + #" 0 0 0 0 255 0 0 0 255 0 0 0 170 0 0 0 17 0 0 0 0 0 0 0 119 0 0 0 2" + #"55 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 170 0 0 0 17 0 0 0 0 0 0 0 1" + #"19 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 " + #"0 255 0 0 0 255 0 0 0 255 0 0 0 153 0 0 0 0 0 0 0 0 0 0 0 119 0 0 0" + #" 102 0 0 0 0 0 0 0 255 0 0 0 255 0 0 0 170 0 0 0 17 0 0 0 0 0 0 0 1" + #"19 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 0 0 0 0 0 0 0 0 0 " + #"0 0 0 0 0 0 0 0 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0" + #" 0 0 255 0 0 0 255 0 0 0 255 0 0 0 153 0 0 0 0 0 0 0 0 0 0 0 119 0 " + #"0 0 102 0 0 0 0 0 0 0 255 0 0 0 255 0 0 0 170 0 0 0 17 0 0 0 0 0 0 " + #"0 119 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0" + #" 0 0 0 0 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 25" + #"5 0 0 0 0 0 0 0 0 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255" + #" 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 " + #"255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0" + #" 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 " + #"0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 2" + #"55 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 " + #"0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0" + #" 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 25" + #"5 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0" + #" 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 " + #"0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255" + #" 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 " + #"255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0" + #" 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 " + #"0 0 0 0 0 0 0 0 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0" + #" 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 25" + #"5 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0" + #" 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 " + #"0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255" + #" 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 " + #"255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0" + #" 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 " + #"0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 2" + #"55 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 " + #"0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0" + #" 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 25" + #"5 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0" + #" 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 " + #"0 0 0 0 0 0 0 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0" + #" 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 " + #"0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 2" + #"55 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 " + #"0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0" + #" 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 25" + #"5 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0" + #" 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 " + #"0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255" + #" 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 " + #"255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0" + #" 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 " + #"0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 2" + #"55 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 " + #"0 0 0 0 0 0 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0" + #" 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 " + #"0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255" + #" 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 " + #"255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0" + #" 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 " + #"0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 2" + #"55 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 " + #"0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0" + #" 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 25" + #"5 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0" + #" 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 " + #"0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255" + #" 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 " + #"0 0 0 0 0 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 2" + #"55 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 " + #"0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0" + #" 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 25" + #"5 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0" + #" 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 " + #"0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255" + #" 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 " + #"255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0" + #" 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 " + #"0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 2" + #"55 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 " + #"0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0" + #" 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 0 " + #"0 0 0 0 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255" + #" 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 " + #"255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0" + #" 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 " + #"0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 2" + #"55 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 " + #"0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0" + #" 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 25" + #"5 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0" + #" 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 " + #"0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255" + #" 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 " + #"255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0" + #" 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 0 0 " + #"0 0 0 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0" + #" 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 25" + #"5 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0" + #" 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 " + #"0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255" + #" 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 " + #"255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0" + #" 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 " + #"0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 2" + #"55 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 " + #"0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0" + #" 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 25" + #"5 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0" + #" 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 0 0 0 " + #"0 0 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0" + #" 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 " + #"0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 2" + #"55 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 " + #"0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0" + #" 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 25" + #"5 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0" + #" 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 " + #"0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255" + #" 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 " + #"255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0" + #" 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 " + #"0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 2" + #"55 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 0 0 0 0 " + #"0 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 0 0 0 0 2" + #"55 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 " + #"0 255 0 0 0 255 0 0 0 255 0 0 0 204 0 0 0 102 0 0 0 17 0 0 0 255 0 " + #"0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 170 0 0 0 17 0 0 0 17 0" + #" 0 0 170 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 25" + #"5 0 0 0 0 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 2" + #"55 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 204 0 0 0 102 0 0 " + #"0 17 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 204 0 " + #"0 0 102 0 0 0 17 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 " + #"0 0 0 255 0 0 0 255 0 0 0 0 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255" + #" 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 " + #"204 0 0 0 102 0 0 0 17 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 " + #"0 0 0 0 0 0 0 0 0 0 0 0 0 51 0 0 0 204 0 0 0 255 0 0 0 255 0 0 0 25" + #"5 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 0 0 0 0 0 0 0 0 255 0 0 0 255" + #" 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 17 0 0 0 255 0 0 0 255 0 0 0 2" + #"55 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 " + #"0 255 0 0 0 85 0 0 0 136 0 0 0 0 0 0 0 255 0 0 0 255 0 0 0 255 0 0 " + #"0 255 0 0 0 187 0 0 0 34 0 0 0 238 0 0 0 238 0 0 0 34 0 0 0 187 0 0" + #" 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 17 0 0 0 255 0" + #" 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 25" + #"5 0 0 0 255 0 0 0 255 0 0 0 85 0 0 0 136 0 0 0 0 0 0 0 255 0 0 0 25" + #"5 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 85 0 0 0 136 0 0 0 0 0 0 0 25" + #"5 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0" + #" 17 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0" + #" 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 85 0 0 0 136 0 0 0 0 0 0" + #" 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 " + #"0 0 0 136 0 0 0 34 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 25" + #"5 0 0 0 255 0 0 0 0 0 0 0 0 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255" + #" 0 0 0 255 0 0 0 119 0 0 0 255 0 0 0 255 0 0 0 170 0 0 0 34 0 0 0 0" + #" 0 0 0 0 0 0 0 153 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 25" + #"5 0 0 0 0 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 68 0 0 0 17" + #"0 0 0 0 255 0 0 0 255 0 0 0 187 0 0 0 68 0 0 0 255 0 0 0 255 0 0 0 " + #"255 0 0 0 255 0 0 0 255 0 0 0 119 0 0 0 255 0 0 0 255 0 0 0 170 0 0" + #" 0 34 0 0 0 0 0 0 0 0 0 0 0 153 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0" + #" 255 0 0 0 255 0 0 0 0 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 " + #"0 255 0 0 0 255 0 0 0 255 0 0 0 0 0 0 0 255 0 0 0 255 0 0 0 255 0 0" + #" 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 119 0 0 0 255 0 0 0 255 " + #"0 0 0 170 0 0 0 34 0 0 0 0 0 0 0 0 0 0 0 153 0 0 0 255 0 0 0 255 0 " + #"0 0 255 0 0 0 255 0 0 0 255 0 0 0 0 0 0 0 255 0 0 0 255 0 0 0 255 0" + #" 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 0 0 0 0 255 " + #"0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 0 0 0 0 0 0" + #" 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 25" + #"5 0 0 0 255 0 0 0 68 0 0 0 204 0 0 0 255 0 0 0 187 0 0 0 0 0 0 0 25" + #"5 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 0 0 0 0 255 0 0 0 2" + #"55 0 0 0 255 0 0 0 255 0 0 0 0 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 " + #"255 0 0 0 0 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0" + #" 255 0 0 0 255 0 0 0 255 0 0 0 68 0 0 0 204 0 0 0 255 0 0 0 187 0 0" + #" 0 0 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 0 0 0 " + #"0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0" + #" 0 0 0 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 " + #"0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 68 0 0 0 204 0 0 0 25" + #"5 0 0 0 187 0 0 0 0 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 2" + #"55 0 0 0 0 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 " + #"255 0 0 0 255 0 0 0 187 0 0 0 51 0 0 0 255 0 0 0 255 0 0 0 255 0 0 " + #"0 255 0 0 0 255 0 0 0 255 0 0 0 0 0 0 0 0 0 0 0 255 0 0 0 255 0 0 0" + #" 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 " + #"0 0 255 0 0 0 255 0 0 0 255 0 0 0 0 0 0 0 255 0 0 0 255 0 0 0 255 0" + #" 0 0 255 0 0 0 255 0 0 0 0 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 " + #"0 0 0 0 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 0 0 0 0 255 0" + #" 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 25" + #"5 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 0 0 0 0 255 0 0 0 2" + #"55 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 0 0 0 0 255 0 0 0 255 0 0 0 " + #"255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 0 0 0 0 255 0 0 0" + #" 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 " + #"0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 0 0" + #" 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 0 0 0 0 255 " + #"0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 221 0 0 0 1" + #"7 0 0 0 204 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0" + #" 255 0 0 0 0 0 0 0 0 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 " + #"255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 204 0 0 0 68 0 0 0 0 0 0 0 " + #"0 0 0 0 0 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 0" + #" 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 0 0 0 0 255 0 0 0 25" + #"5 0 0 0 255 0 0 0 255 0 0 0 0 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 2" + #"55 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 204 0 0 0 68 0 0 0" + #" 0 0 0 0 0 0 0 0 0 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 25" + #"5 0 0 0 0 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 2" + #"55 0 0 0 255 0 0 0 0 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 " + #"255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 204 0 0" + #" 0 68 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 2" + #"55 0 0 0 255 0 0 0 0 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 " + #"255 0 0 0 204 0 0 0 51 0 0 0 221 0 0 0 255 0 0 0 255 0 0 0 255 0 0 " + #"0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 0 0 0 0 0 0 0 0 255 0 0 0" + #" 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 " + #"0 0 17 0 0 0 136 0 0 0 238 0 0 0 255 0 0 0 0 0 0 0 255 0 0 0 255 0 " + #"0 0 255 0 0 0 255 0 0 0 255 0 0 0 0 0 0 0 255 0 0 0 255 0 0 0 255 0" + #" 0 0 255 0 0 0 68 0 0 0 187 0 0 0 255 0 0 0 255 0 0 0 170 0 0 0 68 " + #"0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 2" + #"55 0 0 0 255 0 0 0 17 0 0 0 136 0 0 0 238 0 0 0 255 0 0 0 0 0 0 0 2" + #"55 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 0 0 0 0 255 0 0 0 " + #"255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 0 0 0 0" + #" 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 " + #"0 0 255 0 0 0 255 0 0 0 255 0 0 0 17 0 0 0 136 0 0 0 238 0 0 0 255 " + #"0 0 0 0 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 0 0" + #" 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 221 0 0 0 51 0 0 0 238" + #" 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 " + #"255 0 0 0 255 0 0 0 0 0 0 0 0 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 2" + #"55 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 0 0 0 0 204 0 0 0 " + #"255 0 0 0 170 0 0 0 0 0 0 0 238 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0" + #" 255 0 0 0 0 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 187 0 0 " + #"0 34 0 0 0 238 0 0 0 238 0 0 0 34 0 0 0 170 0 0 0 255 0 0 0 255 0 0" + #" 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 0 0 " + #"0 0 204 0 0 0 255 0 0 0 170 0 0 0 0 0 0 0 238 0 0 0 255 0 0 0 255 0" + #" 0 0 255 0 0 0 255 0 0 0 0 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 " + #"0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 0 0 0 0 255 0 0 0 255 0 0 0 255" + #" 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 " + #"255 0 0 0 0 0 0 0 204 0 0 0 255 0 0 0 170 0 0 0 0 0 0 0 238 0 0 0 2" + #"55 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 0 0 0 0 255 0 0 0 255 0 0 0 " + #"255 0 0 0 255 0 0 0 51 0 0 0 221 0 0 0 255 0 0 0 255 0 0 0 255 0 0 " + #"0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 0 0 0" + #" 0 0 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 " + #"0 0 255 0 0 0 255 0 0 0 153 0 0 0 0 0 0 0 0 0 0 0 119 0 0 0 102 0 0" + #" 0 0 0 0 0 255 0 0 0 255 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 " + #"0 0 255 0 0 0 255 0 0 0 255 0 0 0 170 0 0 0 17 0 0 0 0 0 0 0 119 0 " + #"0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255" + #" 0 0 0 255 0 0 0 255 0 0 0 153 0 0 0 0 0 0 0 0 0 0 0 119 0 0 0 102 " + #"0 0 0 0 0 0 0 255 0 0 0 255 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0" + #" 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 " + #"0 0 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0" + #" 0 255 0 0 0 255 0 0 0 153 0 0 0 0 0 0 0 0 0 0 0 119 0 0 0 102 0 0 " + #"0 0 0 0 0 255 0 0 0 255 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0" + #" 0 255 0 0 0 255 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 255 " + #"0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 0 0 0 0 0 0" + #" 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 25" + #"5 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0" + #" 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 " + #"0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255" + #" 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 " + #"255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0" + #" 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 " + #"0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 2" + #"55 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 " + #"0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0" + #" 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 25" + #"5 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0" + #" 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 " + #"0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 0 0 0 0 0 0 0" + #" 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 " + #"0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 2" + #"55 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 " + #"0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0" + #" 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 25" + #"5 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0" + #" 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 " + #"0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255" + #" 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 " + #"255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0" + #" 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 " + #"0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 2" + #"55 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 " + #"0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 0 0 0 0 0 0 0 0" + #" 0 0 0 0 0 0 0 0 0 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 25" + #"5 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0" + #" 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 " + #"0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255" + #" 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 " + #"255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0" + #" 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 " + #"0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 2" + #"55 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 " + #"0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0" + #" 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 25" + #"5 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0" + #" 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 " + #"0 0 255 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0) 94 0 0))\0" +) 0 0 22 3 1 #")" +0 0 4 29 1 #"\n" +0 0 4 29 1 #"\n" +0 0 22 3 1 #"(" +0 0 14 3 12 #"check-expect" +0 0 4 3 1 #" " +0 0 14 3 7 #"matrix1" +0 0 4 3 1 #" " +0 0 14 3 9 #"matrix1-2" +0 0 22 3 1 #")" +0 0 4 29 1 #"\n" +0 0 4 29 1 #"\n" +0 0 22 3 1 #"(" +0 0 15 3 6 #"define" +0 0 4 3 1 #" " +0 0 14 3 2 #"r1" +0 0 4 3 1 #" " +0 0 20 3 1 #"'" +0 0 22 3 2 #"((" +0 0 14 3 3 #"a00" +0 0 4 3 1 #" " +0 0 14 3 3 #"a01" +0 0 4 3 1 #" " +0 0 14 3 3 #"a02" +0 0 22 3 1 #")" +0 0 4 29 1 #"\n" +0 0 4 3 13 #" " +0 0 22 3 1 #"(" +0 0 14 3 3 #"a10" +0 0 4 3 1 #" " +0 0 14 3 3 #"a11" +0 0 4 3 1 #" " +0 0 14 3 3 #"a12" +0 0 22 3 3 #")))" +0 0 4 29 1 #"\n" +0 0 4 29 1 #"\n" +0 0 22 3 1 #"(" +0 0 14 3 12 #"check-expect" +0 0 4 3 1 #" " +0 0 22 3 1 #"(" +0 0 14 3 13 #"matrix-render" +0 0 4 3 1 #" " +0 0 14 3 7 #"matrix1" +0 0 22 3 1 #")" +0 0 4 3 1 #" " +0 0 22 3 1 #"(" +0 0 14 3 13 #"matrix-render" +0 0 4 3 1 #" " +0 0 22 3 1 #"(" +0 0 14 3 17 #"rectangle->matrix" +0 0 4 3 1 #" " +0 0 14 3 2 #"r1" +0 0 22 3 3 #")))" +0 0 4 29 1 #"\n" +0 0 22 3 1 #"(" +0 0 14 3 12 #"check-expect" +0 0 4 3 1 #" " +0 0 22 3 1 #"(" +0 0 14 3 10 #"matrix-ref" +0 0 4 3 1 #" " +0 0 14 3 7 #"matrix1" +0 0 4 3 1 #" " +0 0 20 3 1 #"0" +0 0 4 3 1 #" " +0 0 20 3 1 #"0" +0 0 22 3 1 #")" +0 0 4 3 1 #" " +0 0 20 3 1 #"'" +0 0 14 3 3 #"a00" +0 0 22 3 1 #")" +0 0 4 29 1 #"\n" +0 0 22 3 1 #"(" +0 0 14 3 12 #"check-expect" +0 0 4 3 1 #" " +0 0 22 3 1 #"(" +0 0 14 3 10 #"matrix-ref" +0 0 4 3 1 #" " +0 0 14 3 7 #"matrix1" +0 0 4 3 1 #" " +0 0 20 3 1 #"0" +0 0 4 3 1 #" " +0 0 20 3 1 #"1" +0 0 22 3 1 #")" +0 0 4 3 1 #" " +0 0 20 3 1 #"'" +0 0 14 3 3 #"a01" +0 0 22 3 1 #")" +0 0 4 29 1 #"\n" +0 0 22 3 1 #"(" +0 0 14 3 12 #"check-expect" +0 0 4 3 1 #" " +0 0 22 3 1 #"(" +0 0 14 3 10 #"matrix-ref" +0 0 4 3 1 #" " +0 0 14 3 7 #"matrix1" +0 0 4 3 1 #" " +0 0 20 3 1 #"0" +0 0 4 3 1 #" " +0 0 20 3 1 #"2" +0 0 22 3 1 #")" +0 0 4 3 1 #" " +0 0 20 3 1 #"'" +0 0 14 3 3 #"a02" +0 0 22 3 1 #")" +0 0 4 29 1 #"\n" +0 0 22 3 1 #"(" +0 0 14 3 12 #"check-expect" +0 0 4 3 1 #" " +0 0 22 3 1 #"(" +0 0 14 3 10 #"matrix-ref" +0 0 4 3 1 #" " +0 0 14 3 7 #"matrix1" +0 0 4 3 1 #" " +0 0 20 3 1 #"1" +0 0 4 3 1 #" " +0 0 20 3 1 #"0" +0 0 22 3 1 #")" +0 0 4 3 1 #" " +0 0 20 3 1 #"'" +0 0 14 3 3 #"a10" +0 0 22 3 1 #")" +0 0 4 29 1 #"\n" +0 0 22 3 1 #"(" +0 0 14 3 12 #"check-expect" +0 0 4 3 1 #" " +0 0 22 3 1 #"(" +0 0 14 3 10 #"matrix-ref" +0 0 4 3 1 #" " +0 0 14 3 7 #"matrix1" +0 0 4 3 1 #" " +0 0 20 3 1 #"1" +0 0 4 3 1 #" " +0 0 20 3 1 #"1" +0 0 22 3 1 #")" +0 0 4 3 1 #" " +0 0 20 3 1 #"'" +0 0 14 3 3 #"a11" +0 0 22 3 1 #")" +0 0 4 29 1 #"\n" +0 0 22 3 1 #"(" +0 0 14 3 12 #"check-expect" +0 0 4 3 1 #" " +0 0 22 3 1 #"(" +0 0 14 3 10 #"matrix-ref" +0 0 4 3 1 #" " +0 0 14 3 7 #"matrix1" +0 0 4 3 1 #" " +0 0 20 3 1 #"1" +0 0 4 3 1 #" " +0 0 20 3 1 #"2" +0 0 22 3 1 #")" +0 0 4 3 1 #" " +0 0 20 3 1 #"'" +0 0 14 3 3 #"a12" +0 0 22 3 1 #")" +0 0 4 29 1 #"\n" +0 0 4 29 1 #"\n" +0 0 22 3 1 #"(" +0 0 14 3 12 #"check-expect" +0 0 4 3 1 #" " +0 0 22 3 1 #"(" +0 0 14 3 13 #"matrix-render" +0 0 4 3 1 #" " +0 0 22 3 1 #"(" +0 0 14 3 12 #"build-matrix" +0 0 4 3 1 #" " +0 0 20 3 1 #"2" +0 0 4 3 1 #" " +0 0 20 3 1 #"3" +0 0 4 3 1 #" " +0 0 22 3 1 #"(" +0 0 15 3 6 #"lambda" +0 0 4 3 1 #" " +0 0 22 3 1 #"(" +0 0 14 3 1 #"i" +0 0 4 3 1 #" " +0 0 14 3 1 #"j" +0 0 22 3 1 #")" +0 0 4 3 1 #" " +0 0 22 3 1 #"(" +0 0 14 3 10 #"matrix-ref" +0 0 4 3 1 #" " +0 0 14 3 7 #"matrix1" +0 0 4 3 1 #" " +0 0 14 3 1 #"i" +0 0 4 3 1 #" " +0 0 14 3 1 #"j" +0 0 22 3 4 #"))))" +0 0 4 29 1 #"\n" +0 0 4 3 14 #" " +0 0 22 3 1 #"(" +0 0 14 3 13 #"matrix-render" +0 0 4 3 1 #" " +0 0 14 3 7 #"matrix1" +0 0 22 3 2 #"))" +0 0 4 29 1 #"\n" +0 0 4 29 1 #"\n" +0 0 22 3 1 #"(" +0 0 15 3 6 #"define" +0 0 4 3 1 #" " +0 0 14 3 7 #"matrix2" +0 0 4 3 1 #" " +0 0 22 3 1 #"(" +0 0 14 3 11 #"make-matrix" +0 0 4 3 1 #" " +0 0 20 3 1 #"2" +0 0 4 3 1 #" " +0 0 20 3 1 #"2" +0 0 4 3 1 #" " +0 0 20 3 1 #"'" +0 0 22 3 1 #"(" +0 0 14 3 3 #"a00" +0 0 4 3 1 #" " +0 0 14 3 3 #"a01" +0 0 4 3 1 #" " +0 0 14 3 3 #"a10" +0 0 4 3 1 #" " +0 0 14 3 3 #"a11" +0 0 22 3 3 #")))" +0 0 4 29 1 #"\n" +0 0 4 29 1 #"\n" +0 0 22 3 1 #"(" +0 0 14 3 12 #"check-expect" +0 0 4 3 1 #" " +0 0 22 3 1 #"(" +0 0 14 3 13 #"matrix-render" +0 0 4 3 1 #" " +0 0 22 3 1 #"(" +0 0 14 3 12 #"matrix-minor" +0 0 4 3 1 #" " +0 0 14 3 7 #"matrix2" +0 0 4 3 1 #" " +0 0 20 3 1 #"0" +0 0 4 3 1 #" " +0 0 20 3 1 #"0" +0 0 22 3 2 #"))" +0 0 4 29 1 #"\n" +0 0 4 3 14 #" " +0 0 22 3 1 #"(" +0 0 14 3 13 #"matrix-render" +0 0 4 3 1 #" " +0 0 22 3 1 #"(" +0 0 14 3 11 #"make-matrix" +0 0 4 3 1 #" " +0 0 20 3 1 #"1" +0 0 4 3 1 #" " +0 0 20 3 1 #"1" +0 0 4 3 1 #" " +0 0 20 3 1 #"'" +0 0 22 3 1 #"(" +0 0 14 3 3 #"a11" +0 0 22 3 4 #"))))" +0 0 4 29 1 #"\n" +0 0 4 29 1 #"\n" +0 0 22 3 1 #"(" +0 0 14 3 12 #"check-expect" +0 0 4 3 1 #" " +0 0 22 3 1 #"(" +0 0 14 3 13 #"matrix-render" +0 0 4 3 1 #" " +0 0 22 3 1 #"(" +0 0 14 3 12 #"matrix-minor" +0 0 4 3 1 #" " +0 0 14 3 7 #"matrix2" +0 0 4 3 1 #" " +0 0 20 3 1 #"1" +0 0 4 3 1 #" " +0 0 20 3 1 #"1" +0 0 22 3 2 #"))" +0 0 4 29 1 #"\n" +0 0 4 3 14 #" " +0 0 22 3 1 #"(" +0 0 14 3 13 #"matrix-render" +0 0 4 3 1 #" " +0 0 22 3 1 #"(" +0 0 14 3 11 #"make-matrix" +0 0 4 3 1 #" " +0 0 20 3 1 #"1" +0 0 4 3 1 #" " +0 0 20 3 1 #"1" +0 0 4 3 1 #" " +0 0 20 3 1 #"'" +0 0 22 3 1 #"(" +0 0 14 3 3 #"a00" +0 0 22 3 4 #"))))" +0 0 4 29 1 #"\n" +0 0 4 29 1 #"\n" +0 0 17 3 78 +( + #";; ================================================================" + #"===========" +) 0 0 4 29 1 #"\n" +0 0 4 29 1 #"\n" +0 0 17 3 20 #";; Matrix -> Number " +0 0 4 29 1 #"\n" +0 0 17 3 53 #";; compute the determinat of a square (n x n) matrix " +0 0 4 29 1 #"\n" +0 0 22 3 1 #"(" +0 0 15 3 6 #"define" +0 0 4 3 1 #" " +0 0 22 3 1 #"(" +0 0 14 3 11 #"determinant" +0 0 4 3 1 #" " +0 0 14 3 1 #"M" +0 0 22 3 1 #")" +0 0 4 29 1 #"\n" +0 0 4 3 2 #" " +0 0 22 3 1 #"(" +0 0 15 3 5 #"local" +0 0 4 3 1 #" " +0 0 4 29 1 #"\n" +0 0 4 3 4 #" " +0 0 22 3 2 #"((" +0 0 15 3 6 #"define" +0 0 4 3 1 #" " +0 0 14 3 1 #"n" +0 0 4 3 1 #" " +0 0 22 3 1 #"(" +0 0 14 3 8 #"matrix-n" +0 0 4 3 1 #" " +0 0 14 3 1 #"M" +0 0 22 3 2 #"))" +0 0 4 29 1 #"\n" +0 0 4 3 5 #" " +0 0 22 3 1 #"(" +0 0 15 3 6 #"define" +0 0 4 3 1 #" " +0 0 22 3 1 #"(" +0 0 14 3 6 #"series" +0 0 4 3 1 #" " +0 0 14 3 1 #"i" +0 0 22 3 1 #")" +0 0 4 29 1 #"\n" +0 0 4 3 7 #" " +0 0 22 3 1 #"(" +0 0 14 3 1 #"*" +0 0 4 3 1 #" " +0 0 22 3 1 #"(" +0 0 14 3 4 #"expt" +0 0 4 3 1 #" " +0 0 20 3 2 #"-1" +0 0 4 3 1 #" " +0 0 14 3 1 #"i" +0 0 22 3 1 #")" +0 0 4 3 1 #" " +0 0 22 3 1 #"(" +0 0 14 3 10 #"matrix-ref" +0 0 4 3 1 #" " +0 0 14 3 1 #"M" +0 0 4 3 1 #" " +0 0 20 3 1 #"0" +0 0 4 3 1 #" " +0 0 14 3 1 #"i" +0 0 22 3 1 #")" +0 0 4 3 1 #" " +0 0 22 3 1 #"(" +0 0 14 3 11 #"determinant" +0 0 4 3 1 #" " +0 0 22 3 1 #"(" +0 0 14 3 12 #"matrix-minor" +0 0 4 3 1 #" " +0 0 14 3 1 #"M" +0 0 4 3 1 #" " +0 0 20 3 1 #"0" +0 0 4 3 1 #" " +0 0 14 3 1 #"i" +0 0 22 3 5 #")))))" +0 0 4 29 1 #"\n" +0 0 4 3 4 #" " +0 0 22 3 1 #"(" +0 0 14 3 2 #"if" +0 0 4 3 1 #" " +0 0 22 3 1 #"(" +0 0 14 3 1 #"=" +0 0 4 3 1 #" " +0 0 14 3 1 #"n" +0 0 4 3 1 #" " +0 0 20 3 1 #"1" +0 0 22 3 1 #")" +0 0 4 29 1 #"\n" +0 0 4 3 8 #" " +0 0 22 3 1 #"(" +0 0 14 3 10 #"matrix-ref" +0 0 4 3 1 #" " +0 0 14 3 1 #"M" +0 0 4 3 1 #" " +0 0 20 3 1 #"0" +0 0 4 3 1 #" " +0 0 20 3 1 #"0" +0 0 22 3 1 #")" +0 0 4 29 1 #"\n" +0 0 4 3 8 #" " +0 0 22 3 1 #"(" +0 0 14 3 5 #"foldl" +0 0 4 3 1 #" " +0 0 14 3 1 #"+" +0 0 4 3 1 #" " +0 0 20 3 1 #"0" +0 0 4 3 1 #" " +0 0 22 3 1 #"(" +0 0 14 3 10 #"build-list" +0 0 4 3 1 #" " +0 0 14 3 1 #"n" +0 0 4 3 1 #" " +0 0 14 3 6 #"series" +0 0 22 3 5 #")))))" +0 0 4 29 1 #"\n" +0 0 4 29 1 #"\n" +0 0 4 29 1 #"\n" +0 0 4 29 1 #"\n" +0 0 22 3 1 #"(" +0 0 14 3 12 #"check-expect" +0 0 4 3 1 #" " +0 0 22 3 1 #"(" +0 0 14 3 11 #"determinant" +0 0 4 3 1 #" " +0 0 22 3 1 #"(" +0 0 14 3 17 #"rectangle->matrix" +0 0 4 3 1 #" " +0 0 20 3 1 #"'" +0 0 22 3 2 #"((" +0 0 20 3 1 #"1" +0 0 4 3 1 #" " +0 0 20 3 1 #"1" +0 0 22 3 1 #")" +0 0 4 29 1 #"\n" +0 0 4 3 48 #" " +0 0 22 3 1 #"(" +0 0 20 3 1 #"1" +0 0 4 3 1 #" " +0 0 20 3 1 #"1" +0 0 22 3 4 #"))))" +0 0 4 29 1 #"\n" +0 0 4 3 14 #" " +0 0 20 3 1 #"0" +0 0 22 3 1 #")" +0 0 4 29 1 #"\n" +0 0 4 29 1 #"\n" +0 0 22 3 1 #"(" +0 0 14 3 12 #"check-expect" +0 0 4 3 1 #" " +0 0 22 3 1 #"(" +0 0 14 3 11 #"determinant" +0 0 4 3 1 #" " +0 0 22 3 1 #"(" +0 0 14 3 17 #"rectangle->matrix" +0 0 4 3 1 #" " +0 0 20 3 1 #"'" +0 0 22 3 2 #"((" +0 0 20 3 1 #"2" +0 0 4 3 1 #" " +0 0 20 3 1 #"1" +0 0 22 3 1 #")" +0 0 4 29 1 #"\n" +0 0 4 3 48 #" " +0 0 22 3 1 #"(" +0 0 20 3 1 #"1" +0 0 4 3 1 #" " +0 0 20 3 1 #"1" +0 0 22 3 4 #"))))" +0 0 4 29 1 #"\n" +0 0 4 3 14 #" " +0 0 20 3 1 #"1" +0 0 22 3 1 #")" +0 0 4 29 1 #"\n" +0 0 4 29 1 #"\n" +0 0 17 3 78 +( + #";; ================================================================" + #"===========" +) 0 0 4 29 1 #"\n" +0 0 17 3 32 #";; matrix with structure inside " +0 0 4 29 1 #"\n" +0 0 4 29 1 #"\n" +0 0 22 3 1 #"(" +0 0 15 3 13 #"define-struct" +0 0 4 3 1 #" " +0 0 14 3 1 #"p" +0 0 4 3 1 #" " +0 0 22 3 1 #"(" +0 0 14 3 1 #"x" +0 0 4 3 1 #" " +0 0 14 3 1 #"y" +0 0 22 3 2 #"))" +0 0 4 29 1 #"\n" +0 0 4 29 1 #"\n" +0 0 22 3 1 #"(" +0 0 15 3 6 #"define" +0 0 4 3 1 #" " +0 0 14 3 7 #"matrix3" +0 0 4 3 1 #" " +0 0 4 29 1 #"\n" +0 0 4 3 2 #" " +0 0 22 3 1 #"(" +0 0 14 3 17 #"rectangle->matrix" +0 0 4 3 1 #" " +0 0 4 29 1 #"\n" +0 0 4 3 3 #" " +0 0 22 3 1 #"(" +0 0 14 3 4 #"list" +0 0 4 3 1 #" " +0 0 22 3 1 #"(" +0 0 14 3 4 #"list" +0 0 4 3 1 #" " +0 0 22 3 1 #"(" +0 0 14 3 6 #"make-p" +0 0 4 3 1 #" " +0 0 20 3 1 #"0" +0 0 4 3 1 #" " +0 0 20 3 1 #"0" +0 0 22 3 1 #")" +0 0 4 3 1 #" " +0 0 22 3 1 #"(" +0 0 14 3 6 #"make-p" +0 0 4 3 1 #" " +0 0 20 3 1 #"0" +0 0 4 3 1 #" " +0 0 20 3 1 #"1" +0 0 22 3 2 #"))" +0 0 4 29 1 #"\n" +0 0 4 3 9 #" " +0 0 22 3 1 #"(" +0 0 14 3 4 #"list" +0 0 4 3 1 #" " +0 0 22 3 1 #"(" +0 0 14 3 6 #"make-p" +0 0 4 3 1 #" " +0 0 20 3 1 #"1" +0 0 4 3 1 #" " +0 0 20 3 1 #"0" +0 0 22 3 1 #")" +0 0 4 3 1 #" " +0 0 22 3 1 #"(" +0 0 14 3 6 #"make-p" +0 0 4 3 1 #" " +0 0 20 3 1 #"1" +0 0 4 3 1 #" " +0 0 20 3 1 #"1" +0 0 22 3 5 #")))))" +0 0 4 29 1 #"\n" +0 0 4 29 1 #"\n" +0 0 22 3 1 #"(" +0 0 15 3 6 #"define" +0 0 4 3 1 #" " +0 0 14 3 7 #"matrix4" +0 0 4 3 1 #" " +0 0 22 3 1 #"(" +0 0 14 3 10 #"matrix-set" +0 0 4 3 1 #" " +0 0 14 3 7 #"matrix3" +0 0 4 3 1 #" " +0 0 20 3 1 #"0" +0 0 4 3 1 #" " +0 0 20 3 1 #"0" +0 0 4 3 1 #" " +0 0 19 3 29 #"\"intentionally failing check\"" +0 0 22 3 2 #"))" +0 0 4 29 1 #"\n" +0 0 4 29 1 #"\n" +0 0 22 3 1 #"(" +0 0 14 3 12 #"check-expect" +0 0 4 3 1 #" " +0 0 14 3 7 #"matrix3" +0 0 4 3 1 #" " +0 0 14 3 7 #"matrix3" +0 0 22 3 1 #")" +0 0 4 29 1 #"\n" +0 0 4 29 1 #"\n" +0 0 22 3 1 #"(" +0 0 14 3 12 #"check-expect" +0 0 4 3 1 #" " +0 0 14 3 7 #"matrix3" +0 0 4 3 1 #" " +0 0 14 3 7 #"matrix4" +0 0 22 3 1 #")" +0 0 4 29 1 #"\n" +0 0 19 3 28 #"\"the above test should fail\"" +0 0 4 29 1 #"\n" +0 0 4 29 1 #"\n" +0 0 22 3 1 #"(" +0 0 14 3 15 #"generate-report" +0 0 22 3 1 #")" +0 0 4 29 1 #"\n" +0 00000000000 diff --git a/collects/htdp/matrix-unit.ss b/collects/htdp/matrix-unit.ss index 8984cc724d..b839c2c037 100644 --- a/collects/htdp/matrix-unit.ss +++ b/collects/htdp/matrix-unit.ss @@ -236,7 +236,7 @@ (define (check-matrix tag M* i j) (define M (cond [(matrix? M*) M*] - [(visible? M*) (printf "dereferencing ... \n") (visible-matrix M*)] + [(visible? M*) (visible-matrix M*)] [else (error 'check-matrix "something is wrong: ~e ~e~e\n" M* (visible? M*) (send M* get-M))])) (check-arg tag (matrix? M) 'matrix "first" M)