(*********************************************************************** Mathematica-Compatible Notebook This notebook can be used on any computer system with Mathematica 3.0, MathReader 3.0, or any compatible application. The data for the notebook starts with the line of stars above. To get the notebook into a Mathematica-compatible application, do one of the following: * Save the data starting with the line of stars above into a file with a name ending in .nb, then open the file inside the application; * Copy the data starting with the line of stars above to the clipboard, then use the Paste menu command inside the application. Data for notebooks contains only printable 7-bit ASCII and can be sent directly in email or through ftp in text mode. Newlines can be CR, LF or CRLF (Unix, Macintosh or MS-DOS style). NOTE: If you modify the data for this notebook not in a Mathematica- compatible application, you must delete the line below containing the word CacheID, otherwise Mathematica-compatible applications may try to use invalid cache data. For more information on notebooks and Mathematica-compatible applications, contact Wolfram Research: web: http://www.wolfram.com email: info@wolfram.com phone: +1-217-398-0700 (U.S.) Notebook reader applications are available free of charge from Wolfram Research. ***********************************************************************) (*CacheID: 232*) (*NotebookFileLineBreakTest NotebookFileLineBreakTest*) (*NotebookOptionsPosition[ 268881, 11273]*) (*NotebookOutlinePosition[ 269994, 11309]*) (* CellTagsIndexPosition[ 269950, 11305]*) (*WindowFrame->Normal*) Notebook[{ Cell[CellGroupData[{ Cell["Mathematica-aided Education of Science-major Students", "Subtitle", PageBreakAbove->False, TextAlignment->Center, FontFamily->"Palatino"], Cell["\<\ K. Nakagami, F. Takeutchi, F. Ushitaki and M. Yasugi Faculty of Seience, Kyoto Sangyo University, Kyoto, Japan http://www.kyoto-su.ac.jp/~yasugi\ \>", "Text", PageBreakAbove->False, TextAlignment->Center, FontFamily->"Palatino"], Cell["\<\ We will make a comprehensive report of our experience with \ Mathematica-aided education. Some students belonging either to Mathematics \ or Computer ScienceDepartment do graduation works using Mathematica as a \ language. We take up three subjects in those works.\ \>", "SmallText", PageBreakAbove->False, FontFamily->"Palatino"], Cell[CellGroupData[{ Cell["Helping students to understand mathematics. ", "Section", PageBreakAbove->False, FontFamily->"Palatino", FontWeight->"Bold"], Cell["\<\ We have seen there are three ways of helping students to \ understand mathematics by Mathematica: (1) graphics, (2) reading and writing \ programs, and (3) experiments. (1) The converging process of intervals to Cantor set and linear \ transforms of figures in the plane and the space by matrices and an initial \ value problem using the conservation law: With graphics, one can obtain a \ vivid picture of a limiting process, can get an idea of what a matrix is and \ dependence of a n initial value on conservation quantity. (2) Mathematical property of Cantor set and the condition of a Mersenne \ number to be a prime: By reading and writing programs, which gives procedual \ aspect of the mathematical notions, students understand easily those \ properties and proofs. (3) The fractional expression of left out points of Cantor set: We present \ a conjecture on the form of such fractions, and let the students experiment \ on it. They then wrote a program of \"quasi Cantor set\" (dividing the unit \ interval into four equal parts and eliminating the second and the fourth \ subintervals).\ \>", "Text", PageBreakAbove->False, FontFamily->"Palatino"] }, Open ]], Cell[CellGroupData[{ Cell[" Making teaching materials. ", "Section", PageBreakAbove->False, FontFamily->"Palatino"], Cell["\<\ Students can also help highschool students and freshmen at the \ university by inventing teaching materials with Mathematica. Graphics in \ linear algebra as in I above can be used also for this purpose, and a \ systematic drill for matrix computations is being programmed. In order to \ help understanding of quadratic functions, for example, one can let children \ draw a picture of a face with three parabolas. Through such works, with trial \ and error, they learn some properties of quadratic functions such as the fact \ that the shape of a parabola is determined by the coefficient of its highest order. In those trials, non-trivial devices were required in coloring by \ parts and solving inequalities.\ \>", "Text", PageBreakAbove->False, FontFamily->"Palatino"] }, Open ]], Cell[CellGroupData[{ Cell[TextData[StyleBox[" Programming to solve puzzles and games.", FontFamily->"Palatino", FontWeight->"Bold"]], "Section", PageBreakAbove->False], Cell["\<\ \tWe let students solve logical puzzles or make up strategies for \ winning a game by Mathematica. The principal objective of this activity is \ to help them analyze the puzzle or game, and materialize the algorithm in a \ relatively transparent way using Mathematica. \tAfter one year of training of using Mathematica as a programming language, \ each student chooses a puzzle or a game of appropriate difficulty for him/her \ to study for another year, assisted by the teacher. \tThe advantages of Mathematica as a tool are, its well thought-out structure \ as a programming language and the pattern matching feature of the language \ which is extremely useful for solving this kind of problems. Students are \ often amazed by the simplicity of the coding using this feature. \tWe would like to present here, as an example, two subjects chosen in the \ past by students. The first one is a game and the second a puzzle.\ \>", "Text", PageBreakAbove->False, PageBreakBelow->True, FontFamily->"Palatino"], Cell[CellGroupData[{ Cell["Yashima-game", "Subsubsection", FontFamily->"Palatino"], Cell["\<\ \tTwo players play alternately. On a sheet of paper, the players \ draw arbitrary number of nodes as points (meaning islands), and then connect \ arbitrarily the nodes by straight lines (meaning bridges). An example is \ shown is the following figure.\ \>", "Text", FontFamily->"Palatino"], Cell[GraphicsData["PostScript", "\<\ %! %%Creator: Mathematica %%AspectRatio: .95106 MathPictureStart /Mabs { Mgmatrix idtransform Mtmatrix dtransform } bind def /Mabsadd { Mabs 3 -1 roll add 3 1 roll add exch } bind def %% Graphics %%IncludeResource: font Courier %%IncludeFont: Courier /Courier findfont 10 scalefont setfont % Scaling calculations 0.5 0.333798 0.427716 0.333798 [ [ 0 0 0 0 ] [ 1 .95106 0 0 ] ] MathScale % Start of Graphics 1 setlinecap 1 setlinejoin newpath 0 0 m 1 0 L 1 .95106 L 0 .95106 L closepath clip newpath 0 g .03 w .5 .76151 Mdot .18254 .53087 Mdot .3038 .15767 Mdot .6962 .15767 Mdot .81746 .53087 Mdot .5 .92841 Mdot .02381 .58244 Mdot .2057 .02264 Mdot .7943 .02264 Mdot .97619 .58244 Mdot .5 Mabswid [ ] 0 setdash .5 .76151 m .3038 .15767 L .81746 .53087 L .18254 .53087 L .6962 .15767 L .5 .76151 L s .5 .92841 m .02381 .58244 L .2057 .02264 L .7943 .02264 L .97619 .58244 L .5 .92841 L s .5 .76151 m .5 .92841 L s .18254 .53087 m .02381 .58244 L s .3038 .15767 m .2057 .02264 L s .6962 .15767 m .7943 .02264 L s .81746 .53087 m .97619 .58244 L s % End of Graphics MathPictureEnd \ \>"], "Graphics", ImageSize->{328.312, 312.125}, ImageMargins->{{42.9375, 0}, {0, 0}}, ImageRegion->{{0, 1}, {0, 1}}, ImageCache->GraphicsData["Bitmap", "\<\ CF5dJ6E]HGAYHf4PAg9QL6QYHggYjN[Vi^OShn03ooeGooj[ooonICXf=SLcII03=Voc=Vc3=V VC=VIS=V0003o`00080000?o00003@000ol0000_0000<0000ol0000>0003o`0007l000?o0000 3P000ol0000_0000;`000ol0000@0003o`0007d000?o000040000ol0000^0000;`000ol0000A0003 o`0007`000?o000040000ol0000^0000;`000ol0000A0003o`0007/000?o00004@000ol0000^0000 ;P000ol0000C0003o`0007T000?o00004`000ol0000]0000;P000ol0000D0003o`0007P000?o0000 4`000ol0000]0000;P000ol0000E0003o`0007H000?o000050000ol0000]0000;@000ol0000F0003 o`0007D000?o00005P000ol0000/0000;@000ol0000G0003o`0007<000?o00005`000ol0000/0000 ;@000ol0000H0003o`00078000?o00005`000ol0000/0000;0000ol0000J0003o`00070000?o0000 6@000ol0000[0000;0000ol0000J0003o`0006l000?o00006P000ol0000[0000;0000ol0000K0003 o`0006h000?o00006P000ol0000[0000;0000ol0000L0003o`0006`000?o000070000ol0000Z0000 :`000ol0000N0003o`0006X000?o00007@000ol0000Z0000:`000ol0000N0003o`3o00;oH`03o`03 0?l001l000?o0000:P0002/000?o00007`05of401_lQ0003o`0002T0000Z0003o`0001l01omO00Oo 8@000ol0000Y0000:P000ol0000O00OoG`07ob4000?o0000:@0002X000?o00007`07oel01olR0003 o`0002P0000Y0003o`0002401_mP00Go8`000ol0000X0000:@000ol0000R00?o0P02oe`00_l0103o oolT0003o`0002P0000Y0003o`0002@000?o00000P000ol0001H0003o`00008000?o000090000ol0 000W0000:0000ol0000U0003o`0000<00_mF00;o1@000ol0000T0003o`0002L0000X0003o`0002H0 00?o000010000ol0001B0003o`0000@000?o00009@000ol0000W0000:0000ol0000V0003o`0000D0 00?o0000D0000ol000050003o`0002H000?o00009P0002L000?o00009`000ol0000600;oCP02o`P0 00?o00009P000ol0000V00009`000ol0000X0003o`0000L000?o0000BP000ol000070003o`0002L0 00?o00009P0002L000?o0000:0000ol000080003o`0004P000?o000020000ol0000X0003o`0002D0 000V0003o`0002T000?o00002@02odH00_l;0003o`0002P000?o00009@0002H000?o0000:P000ol0 000:0003o`00048000?o00002P000ol0000Y0003o`0002D0000V0003o`0002X000?o00002`000ol0 000o00;o3@000ol0000Z0003o`0002@0000U0003o`0002/000?o00003002och000?o00003@000ol0 000Z0003o`0002@0000U0003o`0002`000?o00003@000ol0000j0003o`0000d000?o0000:`000ol0 000T00009@000ol0000/0003o`0000h00_lh00;o40000ol0000/0003o`0002<0000T0003o`0002d0 00?o000040000ol0000d0003o`00010000?o0000;0000ol0000S000090000ol0000^0003o`000100 00?o00000000ol0 000Q0003o`0000D00_lS0003o`0003P000?o00007@0001l000?o0000>0000ol0000R00;o10000ol0 000S0003o`0003P000?o00007@0001h000?o0000>@000ol0000T0004o`00obD000?o0000>@000ol0 000M00007P000ol0000j0003o`0002@00_lV0003o`0003X000?o0000700001h000?o0000>P000ol0 000S0004o`3oobD000?o0000>P000ol0000L00007@000ol0000k0003o`00028000?o00000P000ol0 000Q0003o`0003/000?o0000700001d000?o0000?0000ol0000O00;o1P000ol0000P0003o`0003/0 00?o0000700001d000?o0000?0000ol0000N0003o`0000L00_lP0003o`0003`000?o00006`0001`0 00?o0000?@000ol0000L00;o30000ol0000L0003o`0003d000?o00006`0001`000?o0000?P000ol0 000J0003o`0000d000?o00006`000ol0000m0003o`0001/0000L0003o`0003h000?o00006@000ol0 000?00;o6`000ol0000n0003o`0001X0000K0003o`0003l000?o00005`02oa@000?o00005`000ol0 000o0003o`0001X0000K0003o`00040000?o00005@000ol0000E00;o5`000ol0000o0003o`0001X0 000K0003o`00040000?o000050000ol0000H0003o`0001@000?o0000@0000ol0000I00006P000ol0 00110003o`0001800_lL0003o`00018000?o0000@@000ol0000I00006P000ol000120003o`000100 00?o00007@02oa8000?o0000@@000ol0000I00006P000ol000120003o`0000h00_lR0003o`0000l0 00?o0000@P000ol0000H00006@000ol000130003o`0000d000?o00008`000ol0000=0003o`0004<0 00?o0000600001T000?o0000A0000ol0000;0003o`0002D00_l=0003o`0004<000?o0000600001T0 00?o0000A0000ol0000900;o:P000ol0000:0003o`0004@000?o00005`0001T000?o0000A0000ol0 00080003o`0002/00_l90003o`0004D000?o00005`0001P000?o0000AP000ol000060003o`0002h0 00?o00001P000ol000150003o`0001L0000H0003o`0004H000?o00001002oc8000?o00001@000ol0 00160003o`0001H0000H0003o`0004H000?o00000`000ol0000c00;o10000ol000170003o`0001H0 000G0003o`0004P000?o00000_lh0005o`000?l0B@000ol0000F00005`000ol000180003o`3o03/0 00Co003oBP000ol0000E00005`000ol0001800;o?@02od/000?o00005@0001H000?o0000B003och0 0_m:0003o`0001D0000F0003o`0004L000Co003o?P000ol0o`1:0003o`0001@0000F0003o`0004H0 00Go0000o`0m0004o`0000;oB0000ol0000D00005@000ol0001500;o10000ol0000k0003o`0000<0 00?o0000A@000ol0000D00005@000ol000140003o`0000D000?o0000>P000ol0000400;oAP000ol0 000C00005@000ol0001200;o20000ol0000i0003o`0000L000?o0000@`000ol0000C000050000ol0 00120003o`0000P000?o0000>@000ol000080003o`00048000?o00004`0001@000?o0000@@000ol0 000:0003o`0003P000?o00002@02od<000?o00004P0001@000?o0000?`02o`d000?o0000=`000ol0 000<0003o`00040000?o00004P0001<000?o0000?`000ol0000=0003o`0003L000?o00003@000ol0 000o0003o`000180000C0003o`0003h000?o00003`000ol0000f0003o`0000h00_m00003o`000140 000C0003o`0003`00_lB0003o`0003D000?o00004@000ol0000m0003o`000140000B0003o`0003`0 00?o00004P000ol0000e0003o`0001800_lm0003o`000140000B0003o`0003X00_lF0003o`0003@0 00?o000050000ol0000k0003o`000100000B0003o`0003T000?o00005P000ol0000c0003o`0001H0 00?o0000>P000ol0000@00004@000ol0000i0003o`0001L000?o0000<`000ol0000G00;o>P000ol0 000@00004@000ol0000g00;o6`000ol0000b0003o`0001T000?o0000>0000ol0000?00004@000ol0 000f0003o`0001/000?o0000<@000ol0000K0003o`0003L000?o00003`00010000?o0000=@02oah0 00?o0000<@000ol0000L00;o=`000ol0000?000040000ol0000d0003o`0001l000?o0000<0000ol0 000N0003o`0003D000?o00003P00010000?o0000<`000ol0000P0003o`00030000?o00007`000ol0 000d0003o`0000h0000?0003o`0003800_lS0003o`0002l000?o00008@02oc@000?o00003P0000l0 00?o0000<@000ol0000T0003o`0002h000?o00008`000ol0000b0003o`0000d0000?0003o`000300 00?o00009@000ol0000^0003o`0002@00_lb0003o`0000d0000?0003o`0002h00_lX0003o`0002d0 00?o00009`000ol0000_0003o`0000d0000>0003o`0002h000?o0000:@000ol0000/0003o`0002P0 00?o0000;`000ol0000<00003P000ol0000/00;o;0000ol0000/0003o`0002T00_l_0003o`0000`0 000>0003o`0002/000?o0000;0000ol0000[0003o`0002`000?o0000;0000ol0000<00003@000ol0 000[0003o`0002h000?o0000:P000ol0000]0003o`0002`000?o00002`0000d000?o0000:@02oc40 00?o0000:P000ol0000^00;o;0000ol0000;00003@000ol0000X0003o`00034000?o0000:@000ol0 000a0003o`0002T000?o00002`0000`000?o0000:0000ol0000c0003o`0002P000?o0000`000ol0000U0003o`0003T0 1olQ0003o`0000T0000:0003o`0001l0[OlR0003o`0000P0000:0003o`0001d02Oll0003o`0002@0 00?o0000>@09ob0000?o0000200000X000?o00006P03o`<01Olm0003o`0002<000?o0000>`05o`<0 0olM0003o`0000P000090003o`0001P00ol700?o?P000ol0000S0003o`0003`00ol700?o6`000ol0 000700002@000ol0000E00?oC0000ol0000R0003o`0004T01?lG0003o`0000L000090003o`000180 0om?0003o`00024000?o0000CP03oa@000?o00001`0000P000?o00003`04oe8000?o00008@000ol0 001A00?o4P000ol00006000020000ol0000<00?oE`000ol0000P0003o`0005@00ol?0003o`0000H0 00080003o`0000T00omJ0003o`0001l000?o0000F003o``000?o00001P0000L000?o00001`03oed0 00?o00007`000ol0001K00Co2@000ol0000500001004o`H00omQ0003o`0001h000?o0000G`03o`D0 0ol600000`05o`<00omT0003o`0001d000?o0000H`03o`030?oo00?o1@0000802OmW0003o`0001d0 00?o0000IP07o`@0000200OoJP000ol0000L0003o`0006H01ol400000P07ofX000?o00006`000ol0 001W00Oo100000<01Ol00`3o001X0003o`0001/000?o0000J005o`D0000400?o0`02ofP000?o0000 6P000ol0001V00;o00@0oooo1P0000`000?o0000I@000ol0000I0003o`0006H000?o00002P0000d0 00?o0000I0000ol0000I0003o`0006@00_l=00003P02ofD000?o000060000ol0001S0003o`0000d0 000@0003o`00068000?o00005`000ol0001S0003o`0000h0000A00;oHP000ol0000G0003o`000640 0_lA00004`000ol0001P0003o`0001H000?o0000H0000ol0000A000050000ol0001O0003o`0001D0 00?o0000H0000ol0000B00005@02oel000?o00005@000ol0001N00;o5@0001L000?o0000G@000ol0 000D0003o`0005d000?o00005@0001P000?o0000G0000ol0000C0003o`0005`00_lH00006@02oe`0 00?o00004`000ol0001K0003o`0001P0000K0003o`0005X000?o00004P000ol0001J0003o`0001T0 000L0003o`0005T000?o00004@000ol0001I00;o700001d00_mI0003o`00014000?o0000F0000ol0 000L00007`000ol0001F0003o`00014000?o0000E`000ol0000M00008002oeL000?o00003`000ol0 001F00;o8000028000?o0000E0000ol0000?0003o`0005D000?o0000800002<000?o0000D`000ol0 000?0003o`0005<00_lS00009002oe@000?o00003@000ol0001C0003o`0002<0000V0003o`000540 00?o00003@000ol0001B0003o`0002@0000W0003o`00050000?o00003@000ol0001@00;o9`0002P0 0_mA0003o`0000/000?o0000D0000ol0000W0000:P000ol0001>0003o`0000/000?o0000C`000ol0 000X0000:`000ol0001=0003o`0000/000?o0000C@02ob/0000/00;oCP000ol000090003o`0004d0 00?o0000:`0002h000?o0000B`000ol000090003o`0004/00_l^0000;`02od/000?o00002@000ol0 001:0003o`0002h0000a0003o`0004T000?o00001`000ol0001:0003o`0002l0000b0003o`0004P0 00?o00001`000ol0001800;oP000ol000120003o`0000<000?o0000@P000ol0000i0000>`02od8000?o00000`000ol0 00110003o`0003X0000m0003o`00040000Go0000o`1200;o?@0003h00_m00005o`000?l0@@000ol0 000m0000@0000ol0000m0005o`000?l0@0000ol0000n0000@@000ol0000m0003o`3o03l00_m10000 @P02ocd00oln0003o`00044000140003o`0003T01Olk00;oA00004D000?o0000=`07ocT000?o0000 A00004H00_lg00Oo>0000ol000150000B0000ol0000d00Oo=P02odP000190003o`0003@01Olf0003 o`0004P0001:00;o=@03ocH000?o0000B@0004`000?o0000<`000ol0000c00;oC00004d00_lc0003 o`00038000?o0000C00004l000?o0000<0000ol0000a0003o`0004d0001@0003o`0002l000?o0000 ;`02oe00001A00;o;`000ol0000^0003o`000500001C0003o`0002`000?o0000;002oe<0001D0003 o`0002/000?o0000:`000ol0001C0000E@02ob/000?o0000:P000ol0001D0000E`000ol0000X0003 o`0002P00_mG0000F0000ol0000W0003o`0002L000?o0000E`0005T00_lW0003o`0002H000?o0000 F00005/000?o000090000ol0000T00;oF`0005`00_lT0003o`0002<000?o0000F`0005h000?o0000 8@000ol0000Q00;oGP0005l000?o000080000ol0000P0003o`0005h0001P00;o80000ol0000O0003 o`0005l0001R0003o`0001d000?o00007@02of80001S0003o`0001`000?o000070000ol0001R0000 I002oa`000?o00006`000ol0001S0000IP000ol0000I0003o`0001T00_mV0000I`000ol0000H0003 o`0001P000?o0000IP0006P00_lH0003o`0001H00_mY0000JP000ol0000E0003o`0001D000?o0000 J@0006/00_lE0003o`0001@000?o0000JP0006d000?o00004P000ol0000B00;oK@0006h000?o0000 4@000ol0000A0003o`0006d0001_00;o4@000ol0000@0003o`0006h0001a0003o`0000h000?o0000 3P02og40001b0003o`0000d000?o00003@000ol0001a0000L`02o`d000?o00002`02og@0001e0003 o`0000X000?o00002P000ol0001d0000MP000ol000090003o`0000T000?o0000M@0007L00_l90003 o`0000L00_mh0000N@000ol000060003o`0000H000?o0000N00007X00_l60003o`0000D000?o0000 N@0007`000?o00000`000ol0000300;oO00007d000?o00000P000ol000020003o`0007`0001n00;o 00D0oooo0002ogl0002000GoP@0007l01on00000O`07oh00001o00OoP00008001On10000P@03oh80 003o00L0003o00L00000\ \>"], ImageRangeCache->{{{0, 261.625}, {248.688, 0}} -> {-1.49873, -1.28138, 0.00916568, 0.00916568}}], Cell["\<\ \tAfter that, each player chooses his/her own starting node, and \ put a bead on those nodes. First player now moves from his/her node to \ another along one of the straight lines, and then deletes the strait line \ used (burns the bridge he/she just crossed). Second player does the same. \ The objective of the game is to make the opponent frozen in an island so that \ no straight line is existing from the node where the opponent is. \tThis game, although simple, is fairly amusing when played. To analyze this \ game, the student who chose this subject has given a unique name to each \ node. Then she made a matrix of N by N whose elements are either True or \ False. N is the number of nodes, and the element True means two nodes are \ still connected with a straight line. \tThen she made a program using the backtrack algorithm. She has started \ from the Backtrack function in the Skiena's book. She changed the function \ such that the length of the total solution is not a fixed number. She could \ then tell that given the initial board, she can win even the opponent plays \ flawlessly, or she can loose if the opponent plays flawlessly. \tIn solving this problem with Mathematica, she was impressed by the \ flexibility of Mathematica. The number of nodes as well as the number of \ lines can be anything. Also she could follow the movement of backtracking \ function at work in a very transparent way. Unless the board is very \ complicated, the speed of Mathematica is enough so that it is fun to play \ against the computer.\ \>", "Text", FontFamily->"Palatino"] }, Open ]], Cell[CellGroupData[{ Cell["Nonogram", "Subsubsection", FontFamily->"Palatino"], Cell["\<\ \tThe second example we show here is a puzzle called Nonogram. A \ very simple example is shown in the next figure. This example is entitled as \ Puppy.\ \>", "Text", FontFamily->"Palatino"], Cell[BoxData[ \(problem\)], "Input", PageBreakAbove->True], Cell[BoxData[GridBox[{ { ButtonBox["3", ButtonFunction:>process$r[ 1], ButtonEvaluator->Automatic, Active->True], ButtonBox[" ", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->GrayLevel[0.500008]]}, { ButtonBox["2", ButtonFunction:>process$r[ 2], ButtonEvaluator->Automatic, Active->True], ButtonBox[" ", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->GrayLevel[0.500008]]}, { ButtonBox["4", ButtonFunction:>process$r[ 3], ButtonEvaluator->Automatic, Active->True], ButtonBox[" ", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->GrayLevel[0.500008]]}, { ButtonBox["3", ButtonFunction:>process$r[ 4], ButtonEvaluator->Automatic, Active->True], ButtonBox[" ", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->GrayLevel[0.500008]]}, { ButtonBox[\(1 \[FilledVerySmallSquare]1\), ButtonFunction:>process$r[ 5], ButtonEvaluator->Automatic, Active->True], ButtonBox[" ", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->GrayLevel[0.500008]]}, { ButtonBox[" ", Background->GrayLevel[1]], ButtonBox[GridBox[{ {"2"} }], ButtonFunction:>process$c[ 1], ButtonEvaluator->Automatic, Active->True], ButtonBox[GridBox[{ {"5"} }], ButtonFunction:>process$c[ 2], ButtonEvaluator->Automatic, Active->True], ButtonBox[GridBox[{ {"1"}, {"2"} }], ButtonFunction:>process$c[ 3], ButtonEvaluator->Automatic, Active->True], ButtonBox[GridBox[{ {"3"} }], ButtonFunction:>process$c[ 4], ButtonEvaluator->Automatic, Active->True], ButtonBox[GridBox[{ {"1"} }], ButtonFunction:>process$c[ 5], ButtonEvaluator->Automatic, Active->True]} }, RowSpacings->0, ColumnSpacings->0, ColumnWidths->{Automatic, 1.4}, GridFrame->True]], "Input", GeneratedCell->True], Cell[BoxData[ \(solution\)], "Input"], Cell[BoxData[GridBox[{ { ButtonBox["3", ButtonFunction:>process$r[ 1], ButtonEvaluator->Automatic, Active->True], ButtonBox[" ", Background->RGBColor[1, 0, 0]], ButtonBox[" ", Background->RGBColor[1, 0, 0]], ButtonBox[" ", Background->RGBColor[1, 0, 0]], ButtonBox["\[FilledVerySmallSquare]", Background->GrayLevel[0.500008]], ButtonBox["\[FilledVerySmallSquare]", Background->GrayLevel[0.500008]]}, { ButtonBox["2", ButtonFunction:>process$r[ 2], ButtonEvaluator->Automatic, Active->True], ButtonBox[" ", Background->RGBColor[1, 0, 0]], ButtonBox[" ", Background->RGBColor[1, 0, 0]], ButtonBox["\[FilledVerySmallSquare]", Background->GrayLevel[0.500008]], ButtonBox["\[FilledVerySmallSquare]", Background->GrayLevel[0.500008]], ButtonBox["\[FilledVerySmallSquare]", Background->GrayLevel[0.500008]]}, { ButtonBox["4", ButtonFunction:>process$r[ 3], ButtonEvaluator->Automatic, Active->True], ButtonBox["\[FilledVerySmallSquare]", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->RGBColor[1, 0, 0]], ButtonBox[" ", Background->RGBColor[1, 0, 0]], ButtonBox[" ", Background->RGBColor[1, 0, 0]], ButtonBox[" ", Background->RGBColor[1, 0, 0]]}, { ButtonBox["3", ButtonFunction:>process$r[ 4], ButtonEvaluator->Automatic, Active->True], ButtonBox["\[FilledVerySmallSquare]", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->RGBColor[1, 0, 0]], ButtonBox[" ", Background->RGBColor[1, 0, 0]], ButtonBox[" ", Background->RGBColor[1, 0, 0]], ButtonBox["\[FilledVerySmallSquare]", Background->GrayLevel[0.500008]]}, { ButtonBox[\(1 \[FilledVerySmallSquare]1\), ButtonFunction:>process$r[ 5], ButtonEvaluator->Automatic, Active->True], ButtonBox["\[FilledVerySmallSquare]", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->RGBColor[1, 0, 0]], ButtonBox["\[FilledVerySmallSquare]", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->RGBColor[1, 0, 0]], ButtonBox[" ", Background->GrayLevel[0.500008]]}, { ButtonBox[" ", Background->GrayLevel[1]], ButtonBox[GridBox[{ {"2"} }], ButtonFunction:>process$c[ 1], ButtonEvaluator->Automatic, Active->True], ButtonBox[GridBox[{ {"5"} }], ButtonFunction:>process$c[ 2], ButtonEvaluator->Automatic, Active->True], ButtonBox[GridBox[{ {"1"}, {"2"} }], ButtonFunction:>process$c[ 3], ButtonEvaluator->Automatic, Active->True], ButtonBox[GridBox[{ {"3"} }], ButtonFunction:>process$c[ 4], ButtonEvaluator->Automatic, Active->True], ButtonBox[GridBox[{ {"1"} }], ButtonFunction:>process$c[ 5], ButtonEvaluator->Automatic, Active->True]} }, RowSpacings->0, ColumnSpacings->0, ColumnWidths->{Automatic, 1.4}, GridFrame->True]], "Input"], Cell["\<\ \tA rectangle of 5 by 5 squares is surrounded by series of numbers \ called hints. The player should either draw in a dot in the square or paint \ it black. The hint like 1 . 1 in the bottom row means in that row of two \ non-adjacent single squares somewhere should be painted black. The dot in \ the hints means that those painted squares are non adjacent. The hint of the \ left-most column is just 2. This means in this column, somewhere two \ consecutive squares should be painted black, and the rest (3 squares) should \ carry each a dot. \tThe rule is simple. Problems are very carefully prepared so that the \ player can reach the unique final solutions without cut-and-try method. \tThe real problems are a little more complicated with larger number of \ squares. We show here one of the problems which is entitles as Craw.\ \>", "Text", FontFamily->"Palatino"], Cell[BoxData[ \(problem\)], "Input", PageBreakAbove->True], Cell[BoxData[GridBox[{ { ButtonBox["6", ButtonFunction:>process$r[ 1], ButtonEvaluator->Automatic, Active->True], ButtonBox[" ", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->GrayLevel[0.500008]]}, { ButtonBox["10", ButtonFunction:>process$r[ 2], ButtonEvaluator->Automatic, Active->True], ButtonBox[" ", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->GrayLevel[0.500008]]}, { ButtonBox["13", ButtonFunction:>process$r[ 3], ButtonEvaluator->Automatic, Active->True], ButtonBox[" ", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->GrayLevel[0.500008]]}, { ButtonBox["13", ButtonFunction:>process$r[ 4], ButtonEvaluator->Automatic, Active->True], ButtonBox[" ", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->GrayLevel[0.500008]]}, { ButtonBox[\(10 \[FilledVerySmallSquare]2\), ButtonFunction:>process$r[ 5], ButtonEvaluator->Automatic, Active->True], ButtonBox[" ", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->GrayLevel[0.500008]]}, { ButtonBox["14", ButtonFunction:>process$r[ 6], ButtonEvaluator->Automatic, Active->True], ButtonBox[" ", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->GrayLevel[0.500008]]}, { ButtonBox["14", ButtonFunction:>process$r[ 7], ButtonEvaluator->Automatic, Active->True], ButtonBox[" ", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->GrayLevel[0.500008]]}, { ButtonBox["15", ButtonFunction:>process$r[ 8], ButtonEvaluator->Automatic, Active->True], ButtonBox[" ", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->GrayLevel[0.500008]]}, { ButtonBox[\(7 \[FilledVerySmallSquare]5\), ButtonFunction:>process$r[ 9], ButtonEvaluator->Automatic, Active->True], ButtonBox[" ", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->GrayLevel[0.500008]]}, { ButtonBox[\(5 \[FilledVerySmallSquare]4\), ButtonFunction:>process$r[ 10], ButtonEvaluator->Automatic, Active->True], ButtonBox[" ", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->GrayLevel[0.500008]]}, { ButtonBox[\(4 \[FilledVerySmallSquare]3\), ButtonFunction:>process$r[ 11], ButtonEvaluator->Automatic, Active->True], ButtonBox[" ", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->GrayLevel[0.500008]]}, { ButtonBox[ \(4 \[FilledVerySmallSquare]2\[FilledVerySmallSquare]2\), ButtonFunction:>process$r[ 12], ButtonEvaluator->Automatic, Active->True], ButtonBox[" ", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->GrayLevel[0.500008]]}, { ButtonBox[ \(3 \[FilledVerySmallSquare]1\[FilledVerySmallSquare]1\), ButtonFunction:>process$r[ 13], ButtonEvaluator->Automatic, Active->True], ButtonBox[" ", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->GrayLevel[0.500008]]}, { ButtonBox[\(3 \[FilledVerySmallSquare]3\), ButtonFunction:>process$r[ 14], ButtonEvaluator->Automatic, Active->True], ButtonBox[" ", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->GrayLevel[0.500008]]}, { ButtonBox[\(2 \[FilledVerySmallSquare]2\), ButtonFunction:>process$r[ 15], ButtonEvaluator->Automatic, Active->True], ButtonBox[" ", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->GrayLevel[0.500008]]}, { ButtonBox[ \(1 \[FilledVerySmallSquare]1\[FilledVerySmallSquare]1\ \[FilledVerySmallSquare]1\), ButtonFunction:>process$r[ 16], ButtonEvaluator->Automatic, Active->True], ButtonBox[" ", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->GrayLevel[0.500008]]}, { ButtonBox[\(2 \[FilledVerySmallSquare]2\), ButtonFunction:>process$r[ 17], ButtonEvaluator->Automatic, Active->True], ButtonBox[" ", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->GrayLevel[0.500008]]}, { ButtonBox[ \(1 \[FilledVerySmallSquare]1\[FilledVerySmallSquare]3\ \[FilledVerySmallSquare]3\), ButtonFunction:>process$r[ 18], ButtonEvaluator->Automatic, Active->True], ButtonBox[" ", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->GrayLevel[0.500008]]}, { ButtonBox[ \(2 \[FilledVerySmallSquare]2\[FilledVerySmallSquare]6\), ButtonFunction:>process$r[ 19], ButtonEvaluator->Automatic, Active->True], ButtonBox[" ", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->GrayLevel[0.500008]]}, { ButtonBox[ \(3 \[FilledVerySmallSquare]3\[FilledVerySmallSquare]3\ \[FilledVerySmallSquare]1\), ButtonFunction:>process$r[ 20], ButtonEvaluator->Automatic, Active->True], ButtonBox[" ", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->GrayLevel[0.500008]]}, { ButtonBox[\(6 \[FilledVerySmallSquare]4\), ButtonFunction:>process$r[ 21], ButtonEvaluator->Automatic, Active->True], ButtonBox[" ", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->GrayLevel[0.500008]]}, { ButtonBox[ \(1 \[FilledVerySmallSquare]3\[FilledVerySmallSquare]3\), ButtonFunction:>process$r[ 22], ButtonEvaluator->Automatic, Active->True], ButtonBox[" ", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->GrayLevel[0.500008]]}, { ButtonBox[\(4 \[FilledVerySmallSquare]3\), ButtonFunction:>process$r[ 23], ButtonEvaluator->Automatic, Active->True], ButtonBox[" ", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->GrayLevel[0.500008]]}, { ButtonBox[\(3 \[FilledVerySmallSquare]6\), ButtonFunction:>process$r[ 24], ButtonEvaluator->Automatic, Active->True], ButtonBox[" ", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->GrayLevel[0.500008]]}, { ButtonBox[\(3 \[FilledVerySmallSquare]7\), ButtonFunction:>process$r[ 25], ButtonEvaluator->Automatic, Active->True], ButtonBox[" ", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->GrayLevel[0.500008]]}, { ButtonBox[" ", Background->GrayLevel[1]], ButtonBox[GridBox[{ {"14"} }], ButtonFunction:>process$c[ 1], ButtonEvaluator->Automatic, Active->True], ButtonBox[GridBox[{ {"13"} }], ButtonFunction:>process$c[ 2], ButtonEvaluator->Automatic, Active->True], ButtonBox[GridBox[{ {"13"}, {"2"} }], ButtonFunction:>process$c[ 3], ButtonEvaluator->Automatic, Active->True], ButtonBox[GridBox[{ {"11"}, {"3"} }], ButtonFunction:>process$c[ 4], ButtonEvaluator->Automatic, Active->True], ButtonBox[GridBox[{ {"9"}, {"4"} }], ButtonFunction:>process$c[ 5], ButtonEvaluator->Automatic, Active->True], ButtonBox[GridBox[{ {"9"}, {"2"}, {"3"} }], ButtonFunction:>process$c[ 6], ButtonEvaluator->Automatic, Active->True], ButtonBox[GridBox[{ {"9"}, {"5"} }], ButtonFunction:>process$c[ 7], ButtonEvaluator->Automatic, Active->True], ButtonBox[GridBox[{ {"8"}, {"6"} }], ButtonFunction:>process$c[ 8], ButtonEvaluator->Automatic, Active->True], ButtonBox[GridBox[{ {"8"}, {"4"} }], ButtonFunction:>process$c[ 9], ButtonEvaluator->Automatic, Active->True], ButtonBox[GridBox[{ {"8"}, {"3"} }], ButtonFunction:>process$c[ 10], ButtonEvaluator->Automatic, Active->True], ButtonBox[GridBox[{ {"4"}, {"4"} }], ButtonFunction:>process$c[ 11], ButtonEvaluator->Automatic, Active->True], ButtonBox[GridBox[{ {"9"}, {"3"} }], ButtonFunction:>process$c[ 12], ButtonEvaluator->Automatic, Active->True], ButtonBox[GridBox[{ {"9"}, {"4"} }], ButtonFunction:>process$c[ 13], ButtonEvaluator->Automatic, Active->True], ButtonBox[GridBox[{ {"7"}, {"8"} }], ButtonFunction:>process$c[ 14], ButtonEvaluator->Automatic, Active->True], ButtonBox[GridBox[{ {"6"}, {"2"}, {"7"} }], ButtonFunction:>process$c[ 15], ButtonEvaluator->Automatic, Active->True], ButtonBox[GridBox[{ {"2"}, {"2"}, {"5"} }], ButtonFunction:>process$c[ 16], ButtonEvaluator->Automatic, Active->True], ButtonBox[GridBox[{ {"1"}, {"1"}, {"4"}, {"2"} }], ButtonFunction:>process$c[ 17], ButtonEvaluator->Automatic, Active->True], ButtonBox[GridBox[{ {"3"}, {"3"}, {"2"} }], ButtonFunction:>process$c[ 18], ButtonEvaluator->Automatic, Active->True], ButtonBox[GridBox[{ {"2"}, {"2"} }], ButtonFunction:>process$c[ 19], ButtonEvaluator->Automatic, Active->True], ButtonBox[GridBox[{ {"1"} }], ButtonFunction:>process$c[ 20], ButtonEvaluator->Automatic, Active->True]} }, RowSpacings->0, ColumnSpacings->0, ColumnWidths->{Automatic, 1.4}, GridFrame->True]], "Input", GeneratedCell->True], Cell[BoxData[ \(solution\)], "Input", PageBreakAbove->True], Cell[BoxData[GridBox[{ { ButtonBox["6", ButtonFunction:>process$r[ 1], ButtonEvaluator->Automatic, Active->True], ButtonBox["\[FilledVerySmallSquare]", Background->GrayLevel[0.500008]], ButtonBox["\[FilledVerySmallSquare]", Background->GrayLevel[0.500008]], ButtonBox["\[FilledVerySmallSquare]", Background->GrayLevel[0.500008]], ButtonBox["\[FilledVerySmallSquare]", Background->GrayLevel[0.500008]], ButtonBox["\[FilledVerySmallSquare]", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->RGBColor[1, 0, 0]], ButtonBox[" ", Background->RGBColor[1, 0, 0]], ButtonBox[" ", Background->RGBColor[1, 0, 0]], ButtonBox[" ", Background->RGBColor[1, 0, 0]], ButtonBox[" ", Background->RGBColor[1, 0, 0]], ButtonBox[" ", Background->RGBColor[1, 0, 0]], ButtonBox["\[FilledVerySmallSquare]", Background->GrayLevel[0.500008]], ButtonBox["\[FilledVerySmallSquare]", Background->GrayLevel[0.500008]], ButtonBox["\[FilledVerySmallSquare]", Background->GrayLevel[0.500008]], ButtonBox["\[FilledVerySmallSquare]", Background->GrayLevel[0.500008]], ButtonBox["\[FilledVerySmallSquare]", Background->GrayLevel[0.500008]], ButtonBox["\[FilledVerySmallSquare]", Background->GrayLevel[0.500008]], ButtonBox["\[FilledVerySmallSquare]", Background->GrayLevel[0.500008]], ButtonBox["\[FilledVerySmallSquare]", Background->GrayLevel[0.500008]], ButtonBox["\[FilledVerySmallSquare]", Background->GrayLevel[0.500008]]}, { ButtonBox["10", ButtonFunction:>process$r[ 2], ButtonEvaluator->Automatic, Active->True], ButtonBox["\[FilledVerySmallSquare]", Background->GrayLevel[0.500008]], ButtonBox["\[FilledVerySmallSquare]", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->RGBColor[1, 0, 0]], ButtonBox[" ", Background->RGBColor[1, 0, 0]], ButtonBox[" ", Background->RGBColor[1, 0, 0]], ButtonBox[" ", Background->RGBColor[1, 0, 0]], ButtonBox[" ", Background->RGBColor[1, 0, 0]], ButtonBox[" ", Background->RGBColor[1, 0, 0]], ButtonBox[" ", Background->RGBColor[1, 0, 0]], ButtonBox[" ", Background->RGBColor[1, 0, 0]], ButtonBox[" ", Background->RGBColor[1, 0, 0]], ButtonBox[" ", Background->RGBColor[1, 0, 0]], ButtonBox[" ", Background->GrayLevel[0.500008]], ButtonBox["\[FilledVerySmallSquare]", Background->GrayLevel[0.500008]], ButtonBox["\[FilledVerySmallSquare]", Background->GrayLevel[0.500008]], ButtonBox["\[FilledVerySmallSquare]", Background->GrayLevel[0.500008]], ButtonBox["\[FilledVerySmallSquare]", Background->GrayLevel[0.500008]], ButtonBox["\[FilledVerySmallSquare]", Background->GrayLevel[0.500008]], ButtonBox["\[FilledVerySmallSquare]", Background->GrayLevel[0.500008]], ButtonBox["\[FilledVerySmallSquare]", Background->GrayLevel[0.500008]]}, { ButtonBox["13", ButtonFunction:>process$r[ 3], ButtonEvaluator->Automatic, Active->True], ButtonBox[" ", Background->RGBColor[1, 0, 0]], ButtonBox[" ", Background->RGBColor[1, 0, 0]], ButtonBox[" ", Background->RGBColor[1, 0, 0]], ButtonBox[" ", Background->RGBColor[1, 0, 0]], ButtonBox[" ", Background->RGBColor[1, 0, 0]], ButtonBox[" ", Background->RGBColor[1, 0, 0]], ButtonBox[" ", Background->RGBColor[1, 0, 0]], ButtonBox[" ", Background->RGBColor[1, 0, 0]], ButtonBox[" ", Background->RGBColor[1, 0, 0]], ButtonBox[" ", Background->RGBColor[1, 0, 0]], ButtonBox[" ", Background->RGBColor[1, 0, 0]], ButtonBox[" ", Background->RGBColor[1, 0, 0]], ButtonBox[" ", Background->RGBColor[1, 0, 0]], ButtonBox["\[FilledVerySmallSquare]", Background->GrayLevel[0.500008]], ButtonBox["\[FilledVerySmallSquare]", Background->GrayLevel[0.500008]], ButtonBox["\[FilledVerySmallSquare]", Background->GrayLevel[0.500008]], ButtonBox["\[FilledVerySmallSquare]", Background->GrayLevel[0.500008]], ButtonBox["\[FilledVerySmallSquare]", Background->GrayLevel[0.500008]], ButtonBox["\[FilledVerySmallSquare]", Background->GrayLevel[0.500008]], ButtonBox["\[FilledVerySmallSquare]", Background->GrayLevel[0.500008]]}, { ButtonBox["13", ButtonFunction:>process$r[ 4], ButtonEvaluator->Automatic, Active->True], ButtonBox[" ", Background->RGBColor[1, 0, 0]], ButtonBox[" ", Background->RGBColor[1, 0, 0]], ButtonBox[" ", Background->RGBColor[1, 0, 0]], ButtonBox[" ", Background->RGBColor[1, 0, 0]], ButtonBox[" ", Background->RGBColor[1, 0, 0]], ButtonBox[" ", Background->RGBColor[1, 0, 0]], ButtonBox[" ", Background->RGBColor[1, 0, 0]], ButtonBox[" ", Background->RGBColor[1, 0, 0]], ButtonBox[" ", Background->RGBColor[1, 0, 0]], ButtonBox[" ", Background->RGBColor[1, 0, 0]], ButtonBox[" ", Background->RGBColor[1, 0, 0]], ButtonBox[" ", Background->RGBColor[1, 0, 0]], ButtonBox[" ", Background->RGBColor[1, 0, 0]], ButtonBox["\[FilledVerySmallSquare]", Background->GrayLevel[0.500008]], ButtonBox["\[FilledVerySmallSquare]", Background->GrayLevel[0.500008]], ButtonBox["\[FilledVerySmallSquare]", Background->GrayLevel[0.500008]], ButtonBox["\[FilledVerySmallSquare]", Background->GrayLevel[0.500008]], ButtonBox["\[FilledVerySmallSquare]", Background->GrayLevel[0.500008]], ButtonBox["\[FilledVerySmallSquare]", Background->GrayLevel[0.500008]], ButtonBox["\[FilledVerySmallSquare]", Background->GrayLevel[0.500008]]}, { ButtonBox[\(10 \[FilledVerySmallSquare]2\), ButtonFunction:>process$r[ 5], ButtonEvaluator->Automatic, Active->True], ButtonBox[" ", Background->RGBColor[1, 0, 0]], ButtonBox[" ", Background->RGBColor[1, 0, 0]], ButtonBox[" ", Background->RGBColor[1, 0, 0]], ButtonBox[" ", Background->RGBColor[1, 0, 0]], ButtonBox[" ", Background->RGBColor[1, 0, 0]], ButtonBox[" ", Background->RGBColor[1, 0, 0]], ButtonBox[" ", Background->RGBColor[1, 0, 0]], ButtonBox[" ", Background->RGBColor[1, 0, 0]], ButtonBox[" ", Background->RGBColor[1, 0, 0]], ButtonBox[" ", Background->RGBColor[1, 0, 0]], ButtonBox["\[FilledVerySmallSquare]", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->RGBColor[1, 0, 0]], ButtonBox[" ", Background->RGBColor[1, 0, 0]], ButtonBox["\[FilledVerySmallSquare]", Background->GrayLevel[0.500008]], ButtonBox["\[FilledVerySmallSquare]", Background->GrayLevel[0.500008]], ButtonBox["\[FilledVerySmallSquare]", Background->GrayLevel[0.500008]], ButtonBox["\[FilledVerySmallSquare]", Background->GrayLevel[0.500008]], ButtonBox["\[FilledVerySmallSquare]", Background->GrayLevel[0.500008]], ButtonBox["\[FilledVerySmallSquare]", Background->GrayLevel[0.500008]], ButtonBox["\[FilledVerySmallSquare]", Background->GrayLevel[0.500008]]}, { ButtonBox["14", ButtonFunction:>process$r[ 6], ButtonEvaluator->Automatic, Active->True], ButtonBox[" ", Background->RGBColor[1, 0, 0]], ButtonBox[" ", Background->RGBColor[1, 0, 0]], ButtonBox[" ", Background->RGBColor[1, 0, 0]], ButtonBox[" ", Background->RGBColor[1, 0, 0]], ButtonBox[" ", Background->RGBColor[1, 0, 0]], ButtonBox[" ", Background->RGBColor[1, 0, 0]], ButtonBox[" ", Background->RGBColor[1, 0, 0]], ButtonBox[" ", Background->RGBColor[1, 0, 0]], ButtonBox[" ", Background->RGBColor[1, 0, 0]], ButtonBox[" ", Background->RGBColor[1, 0, 0]], ButtonBox[" ", Background->RGBColor[1, 0, 0]], ButtonBox[" ", Background->RGBColor[1, 0, 0]], ButtonBox[" ", Background->RGBColor[1, 0, 0]], ButtonBox[" ", Background->RGBColor[1, 0, 0]], ButtonBox["\[FilledVerySmallSquare]", Background->GrayLevel[0.500008]], ButtonBox["\[FilledVerySmallSquare]", Background->GrayLevel[0.500008]], ButtonBox["\[FilledVerySmallSquare]", Background->GrayLevel[0.500008]], ButtonBox["\[FilledVerySmallSquare]", Background->GrayLevel[0.500008]], ButtonBox["\[FilledVerySmallSquare]", Background->GrayLevel[0.500008]], ButtonBox["\[FilledVerySmallSquare]", Background->GrayLevel[0.500008]]}, { ButtonBox["14", ButtonFunction:>process$r[ 7], ButtonEvaluator->Automatic, Active->True], ButtonBox[" ", Background->RGBColor[1, 0, 0]], ButtonBox[" ", Background->RGBColor[1, 0, 0]], ButtonBox[" ", Background->RGBColor[1, 0, 0]], ButtonBox[" ", Background->RGBColor[1, 0, 0]], ButtonBox[" ", Background->RGBColor[1, 0, 0]], ButtonBox[" ", Background->RGBColor[1, 0, 0]], ButtonBox[" ", Background->RGBColor[1, 0, 0]], ButtonBox[" ", Background->RGBColor[1, 0, 0]], ButtonBox[" ", Background->RGBColor[1, 0, 0]], ButtonBox[" ", Background->RGBColor[1, 0, 0]], ButtonBox[" ", Background->RGBColor[1, 0, 0]], ButtonBox[" ", Background->RGBColor[1, 0, 0]], ButtonBox[" ", Background->RGBColor[1, 0, 0]], ButtonBox[" ", Background->RGBColor[1, 0, 0]], ButtonBox["\[FilledVerySmallSquare]", Background->GrayLevel[0.500008]], ButtonBox["\[FilledVerySmallSquare]", Background->GrayLevel[0.500008]], ButtonBox["\[FilledVerySmallSquare]", Background->GrayLevel[0.500008]], ButtonBox["\[FilledVerySmallSquare]", Background->GrayLevel[0.500008]], ButtonBox["\[FilledVerySmallSquare]", Background->GrayLevel[0.500008]], ButtonBox["\[FilledVerySmallSquare]", Background->GrayLevel[0.500008]]}, { ButtonBox["15", ButtonFunction:>process$r[ 8], ButtonEvaluator->Automatic, Active->True], ButtonBox[" ", Background->RGBColor[1, 0, 0]], ButtonBox[" ", Background->RGBColor[1, 0, 0]], ButtonBox[" ", Background->RGBColor[1, 0, 0]], ButtonBox[" ", Background->RGBColor[1, 0, 0]], ButtonBox[" ", Background->RGBColor[1, 0, 0]], ButtonBox[" ", Background->RGBColor[1, 0, 0]], ButtonBox[" ", Background->RGBColor[1, 0, 0]], ButtonBox[" ", Background->RGBColor[1, 0, 0]], ButtonBox[" ", Background->RGBColor[1, 0, 0]], ButtonBox[" ", Background->RGBColor[1, 0, 0]], ButtonBox[" ", Background->RGBColor[1, 0, 0]], ButtonBox[" ", Background->RGBColor[1, 0, 0]], ButtonBox[" ", Background->RGBColor[1, 0, 0]], ButtonBox[" ", Background->RGBColor[1, 0, 0]], ButtonBox[" ", Background->RGBColor[1, 0, 0]], ButtonBox["\[FilledVerySmallSquare]", Background->GrayLevel[0.500008]], ButtonBox["\[FilledVerySmallSquare]", Background->GrayLevel[0.500008]], ButtonBox["\[FilledVerySmallSquare]", Background->GrayLevel[0.500008]], ButtonBox["\[FilledVerySmallSquare]", Background->GrayLevel[0.500008]], ButtonBox["\[FilledVerySmallSquare]", Background->GrayLevel[0.500008]]}, { ButtonBox[\(7 \[FilledVerySmallSquare]5\), ButtonFunction:>process$r[ 9], ButtonEvaluator->Automatic, Active->True], ButtonBox[" ", Background->RGBColor[1, 0, 0]], ButtonBox[" ", Background->RGBColor[1, 0, 0]], ButtonBox[" ", Background->RGBColor[1, 0, 0]], ButtonBox[" ", Background->RGBColor[1, 0, 0]], ButtonBox[" ", Background->RGBColor[1, 0, 0]], ButtonBox[" ", Background->RGBColor[1, 0, 0]], ButtonBox[" ", Background->RGBColor[1, 0, 0]], ButtonBox["\[FilledVerySmallSquare]", Background->GrayLevel[0.500008]], ButtonBox["\[FilledVerySmallSquare]", Background->GrayLevel[0.500008]], ButtonBox["\[FilledVerySmallSquare]", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->RGBColor[1, 0, 0]], ButtonBox[" ", Background->RGBColor[1, 0, 0]], ButtonBox[" ", Background->RGBColor[1, 0, 0]], ButtonBox[" ", Background->RGBColor[1, 0, 0]], ButtonBox[" ", Background->RGBColor[1, 0, 0]], ButtonBox["\[FilledVerySmallSquare]", Background->GrayLevel[0.500008]], ButtonBox["\[FilledVerySmallSquare]", Background->GrayLevel[0.500008]], ButtonBox["\[FilledVerySmallSquare]", Background->GrayLevel[0.500008]], ButtonBox["\[FilledVerySmallSquare]", Background->GrayLevel[0.500008]], ButtonBox["\[FilledVerySmallSquare]", Background->GrayLevel[0.500008]]}, { ButtonBox[\(5 \[FilledVerySmallSquare]4\), ButtonFunction:>process$r[ 10], ButtonEvaluator->Automatic, Active->True], ButtonBox[" ", Background->RGBColor[1, 0, 0]], ButtonBox[" ", Background->RGBColor[1, 0, 0]], ButtonBox[" ", Background->RGBColor[1, 0, 0]], ButtonBox[" ", Background->RGBColor[1, 0, 0]], ButtonBox[" ", Background->RGBColor[1, 0, 0]], ButtonBox["\[FilledVerySmallSquare]", Background->GrayLevel[0.500008]], ButtonBox["\[FilledVerySmallSquare]", Background->GrayLevel[0.500008]], ButtonBox["\[FilledVerySmallSquare]", Background->GrayLevel[0.500008]], ButtonBox["\[FilledVerySmallSquare]", Background->GrayLevel[0.500008]], ButtonBox["\[FilledVerySmallSquare]", Background->GrayLevel[0.500008]], ButtonBox["\[FilledVerySmallSquare]", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->RGBColor[1, 0, 0]], ButtonBox[" ", Background->RGBColor[1, 0, 0]], ButtonBox[" ", Background->RGBColor[1, 0, 0]], ButtonBox[" ", Background->RGBColor[1, 0, 0]], ButtonBox["\[FilledVerySmallSquare]", Background->GrayLevel[0.500008]], ButtonBox["\[FilledVerySmallSquare]", Background->GrayLevel[0.500008]], ButtonBox["\[FilledVerySmallSquare]", Background->GrayLevel[0.500008]], ButtonBox["\[FilledVerySmallSquare]", Background->GrayLevel[0.500008]], ButtonBox["\[FilledVerySmallSquare]", Background->GrayLevel[0.500008]]}, { ButtonBox[\(4 \[FilledVerySmallSquare]3\), ButtonFunction:>process$r[ 11], ButtonEvaluator->Automatic, Active->True], ButtonBox[" ", Background->RGBColor[1, 0, 0]], ButtonBox[" ", Background->RGBColor[1, 0, 0]], ButtonBox[" ", Background->RGBColor[1, 0, 0]], ButtonBox[" ", Background->RGBColor[1, 0, 0]], ButtonBox["\[FilledVerySmallSquare]", Background->GrayLevel[0.500008]], ButtonBox["\[FilledVerySmallSquare]", Background->GrayLevel[0.500008]], ButtonBox["\[FilledVerySmallSquare]", Background->GrayLevel[0.500008]], ButtonBox["\[FilledVerySmallSquare]", Background->GrayLevel[0.500008]], ButtonBox["\[FilledVerySmallSquare]", Background->GrayLevel[0.500008]], ButtonBox["\[FilledVerySmallSquare]", Background->GrayLevel[0.500008]], ButtonBox["\[FilledVerySmallSquare]", Background->GrayLevel[0.500008]], ButtonBox["\[FilledVerySmallSquare]", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->RGBColor[1, 0, 0]], ButtonBox[" ", Background->RGBColor[1, 0, 0]], ButtonBox[" ", Background->RGBColor[1, 0, 0]], ButtonBox["\[FilledVerySmallSquare]", Background->GrayLevel[0.500008]], ButtonBox["\[FilledVerySmallSquare]", Background->GrayLevel[0.500008]], ButtonBox["\[FilledVerySmallSquare]", Background->GrayLevel[0.500008]], ButtonBox["\[FilledVerySmallSquare]", Background->GrayLevel[0.500008]], ButtonBox["\[FilledVerySmallSquare]", Background->GrayLevel[0.500008]]}, { ButtonBox[ \(4 \[FilledVerySmallSquare]2\[FilledVerySmallSquare]2\), ButtonFunction:>process$r[ 12], ButtonEvaluator->Automatic, Active->True], ButtonBox[" ", Background->RGBColor[1, 0, 0]], ButtonBox[" ", Background->RGBColor[1, 0, 0]], ButtonBox[" ", Background->RGBColor[1, 0, 0]], ButtonBox[" ", Background->RGBColor[1, 0, 0]], ButtonBox["\[FilledVerySmallSquare]", Background->GrayLevel[0.500008]], ButtonBox["\[FilledVerySmallSquare]", Background->GrayLevel[0.500008]], ButtonBox["\[FilledVerySmallSquare]", Background->GrayLevel[0.500008]], ButtonBox["\[FilledVerySmallSquare]", Background->GrayLevel[0.500008]], ButtonBox["\[FilledVerySmallSquare]", Background->GrayLevel[0.500008]], ButtonBox["\[FilledVerySmallSquare]", Background->GrayLevel[0.500008]], ButtonBox["\[FilledVerySmallSquare]", Background->GrayLevel[0.500008]], ButtonBox["\[FilledVerySmallSquare]", Background->GrayLevel[0.500008]], ButtonBox["\[FilledVerySmallSquare]", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->RGBColor[1, 0, 0]], ButtonBox[" ", Background->RGBColor[1, 0, 0]], ButtonBox["\[FilledVerySmallSquare]", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->RGBColor[1, 0, 0]], ButtonBox[" ", Background->RGBColor[1, 0, 0]], ButtonBox["\[FilledVerySmallSquare]", Background->GrayLevel[0.500008]], ButtonBox["\[FilledVerySmallSquare]", Background->GrayLevel[0.500008]]}, { ButtonBox[ \(3 \[FilledVerySmallSquare]1\[FilledVerySmallSquare]1\), ButtonFunction:>process$r[ 13], ButtonEvaluator->Automatic, Active->True], ButtonBox[" ", Background->RGBColor[1, 0, 0]], ButtonBox[" ", Background->RGBColor[1, 0, 0]], ButtonBox[" ", Background->RGBColor[1, 0, 0]], ButtonBox["\[FilledVerySmallSquare]", Background->GrayLevel[0.500008]], ButtonBox["\[FilledVerySmallSquare]", Background->GrayLevel[0.500008]], ButtonBox["\[FilledVerySmallSquare]", Background->GrayLevel[0.500008]], ButtonBox["\[FilledVerySmallSquare]", Background->GrayLevel[0.500008]], ButtonBox["\[FilledVerySmallSquare]", Background->GrayLevel[0.500008]], ButtonBox["\[FilledVerySmallSquare]", Background->GrayLevel[0.500008]], ButtonBox["\[FilledVerySmallSquare]", Background->GrayLevel[0.500008]], ButtonBox["\[FilledVerySmallSquare]", Background->GrayLevel[0.500008]], ButtonBox["\[FilledVerySmallSquare]", Background->GrayLevel[0.500008]], ButtonBox["\[FilledVerySmallSquare]", Background->GrayLevel[0.500008]], ButtonBox["\[FilledVerySmallSquare]", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->RGBColor[1, 0, 0]], ButtonBox["\[FilledVerySmallSquare]", Background->GrayLevel[0.500008]], ButtonBox["\[FilledVerySmallSquare]", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->RGBColor[1, 0, 0]], ButtonBox["\[FilledVerySmallSquare]", Background->GrayLevel[0.500008]], ButtonBox["\[FilledVerySmallSquare]", Background->GrayLevel[0.500008]]}, { ButtonBox[\(3 \[FilledVerySmallSquare]3\), ButtonFunction:>process$r[ 14], ButtonEvaluator->Automatic, Active->True], ButtonBox[" ", Background->RGBColor[1, 0, 0]], ButtonBox[" ", Background->RGBColor[1, 0, 0]], ButtonBox[" ", Background->RGBColor[1, 0, 0]], ButtonBox["\[FilledVerySmallSquare]", Background->GrayLevel[0.500008]], ButtonBox["\[FilledVerySmallSquare]", Background->GrayLevel[0.500008]], ButtonBox["\[FilledVerySmallSquare]", Background->GrayLevel[0.500008]], ButtonBox["\[FilledVerySmallSquare]", Background->GrayLevel[0.500008]], ButtonBox["\[FilledVerySmallSquare]", Background->GrayLevel[0.500008]], ButtonBox["\[FilledVerySmallSquare]", Background->GrayLevel[0.500008]], ButtonBox["\[FilledVerySmallSquare]", Background->GrayLevel[0.500008]], ButtonBox["\[FilledVerySmallSquare]", Background->GrayLevel[0.500008]], ButtonBox["\[FilledVerySmallSquare]", Background->GrayLevel[0.500008]], ButtonBox["\[FilledVerySmallSquare]", Background->GrayLevel[0.500008]], ButtonBox["\[FilledVerySmallSquare]", Background->GrayLevel[0.500008]], ButtonBox["\[FilledVerySmallSquare]", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->RGBColor[1, 0, 0]], ButtonBox[" ", Background->RGBColor[1, 0, 0]], ButtonBox[" ", Background->RGBColor[1, 0, 0]], ButtonBox["\[FilledVerySmallSquare]", Background->GrayLevel[0.500008]], ButtonBox["\[FilledVerySmallSquare]", Background->GrayLevel[0.500008]]}, { ButtonBox[\(2 \[FilledVerySmallSquare]2\), ButtonFunction:>process$r[ 15], ButtonEvaluator->Automatic, Active->True], ButtonBox[" ", Background->RGBColor[1, 0, 0]], ButtonBox[" ", Background->RGBColor[1, 0, 0]], ButtonBox["\[FilledVerySmallSquare]", Background->GrayLevel[0.500008]], ButtonBox["\[FilledVerySmallSquare]", Background->GrayLevel[0.500008]], ButtonBox["\[FilledVerySmallSquare]", Background->GrayLevel[0.500008]], ButtonBox["\[FilledVerySmallSquare]", Background->GrayLevel[0.500008]], ButtonBox["\[FilledVerySmallSquare]", Background->GrayLevel[0.500008]], ButtonBox["\[FilledVerySmallSquare]", Background->GrayLevel[0.500008]], ButtonBox["\[FilledVerySmallSquare]", Background->GrayLevel[0.500008]], ButtonBox["\[FilledVerySmallSquare]", Background->GrayLevel[0.500008]], ButtonBox["\[FilledVerySmallSquare]", Background->GrayLevel[0.500008]], ButtonBox["\[FilledVerySmallSquare]", Background->GrayLevel[0.500008]], ButtonBox["\[FilledVerySmallSquare]", Background->GrayLevel[0.500008]], ButtonBox["\[FilledVerySmallSquare]", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->RGBColor[1, 0, 0]], ButtonBox[" ", Background->RGBColor[1, 0, 0]], ButtonBox["\[FilledVerySmallSquare]", Background->GrayLevel[0.500008]], ButtonBox["\[FilledVerySmallSquare]", Background->GrayLevel[0.500008]], ButtonBox["\[FilledVerySmallSquare]", Background->GrayLevel[0.500008]], ButtonBox["\[FilledVerySmallSquare]", Background->GrayLevel[0.500008]]}, { ButtonBox[ \(1 \[FilledVerySmallSquare]1\[FilledVerySmallSquare]1\ \[FilledVerySmallSquare]1\), ButtonFunction:>process$r[ 16], ButtonEvaluator->Automatic, Active->True], ButtonBox[" ", Background->RGBColor[1, 0, 0]], ButtonBox["\[FilledVerySmallSquare]", Background->GrayLevel[0.500008]], ButtonBox["\[FilledVerySmallSquare]", Background->GrayLevel[0.500008]], ButtonBox["\[FilledVerySmallSquare]", Background->GrayLevel[0.500008]], ButtonBox["\[FilledVerySmallSquare]", Background->GrayLevel[0.500008]], ButtonBox["\[FilledVerySmallSquare]", Background->GrayLevel[0.500008]], ButtonBox["\[FilledVerySmallSquare]", Background->GrayLevel[0.500008]], ButtonBox["\[FilledVerySmallSquare]", Background->GrayLevel[0.500008]], ButtonBox["\[FilledVerySmallSquare]", Background->GrayLevel[0.500008]], ButtonBox["\[FilledVerySmallSquare]", Background->GrayLevel[0.500008]], ButtonBox["\[FilledVerySmallSquare]", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->RGBColor[1, 0, 0]], ButtonBox["\[FilledVerySmallSquare]", Background->GrayLevel[0.500008]], ButtonBox["\[FilledVerySmallSquare]", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->RGBColor[1, 0, 0]], ButtonBox["\[FilledVerySmallSquare]", Background->GrayLevel[0.500008]], ButtonBox["\[FilledVerySmallSquare]", Background->GrayLevel[0.500008]], ButtonBox["\[FilledVerySmallSquare]", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->RGBColor[1, 0, 0]], ButtonBox["\[FilledVerySmallSquare]", Background->GrayLevel[0.500008]]}, { ButtonBox[\(2 \[FilledVerySmallSquare]2\), ButtonFunction:>process$r[ 17], ButtonEvaluator->Automatic, Active->True], ButtonBox["\[FilledVerySmallSquare]", Background->GrayLevel[0.500008]], ButtonBox["\[FilledVerySmallSquare]", Background->GrayLevel[0.500008]], ButtonBox["\[FilledVerySmallSquare]", Background->GrayLevel[0.500008]], ButtonBox["\[FilledVerySmallSquare]", Background->GrayLevel[0.500008]], ButtonBox["\[FilledVerySmallSquare]", Background->GrayLevel[0.500008]], ButtonBox["\[FilledVerySmallSquare]", Background->GrayLevel[0.500008]], ButtonBox["\[FilledVerySmallSquare]", Background->GrayLevel[0.500008]], ButtonBox["\[FilledVerySmallSquare]", Background->GrayLevel[0.500008]], ButtonBox["\[FilledVerySmallSquare]", Background->GrayLevel[0.500008]], ButtonBox["\[FilledVerySmallSquare]", Background->GrayLevel[0.500008]], ButtonBox["\[FilledVerySmallSquare]", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->RGBColor[1, 0, 0]], ButtonBox[" ", Background->RGBColor[1, 0, 0]], ButtonBox["\[FilledVerySmallSquare]", Background->GrayLevel[0.500008]], ButtonBox["\[FilledVerySmallSquare]", Background->GrayLevel[0.500008]], ButtonBox["\[FilledVerySmallSquare]", Background->GrayLevel[0.500008]], ButtonBox["\[FilledVerySmallSquare]", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->RGBColor[1, 0, 0]], ButtonBox[" ", Background->RGBColor[1, 0, 0]], ButtonBox["\[FilledVerySmallSquare]", Background->GrayLevel[0.500008]]}, { ButtonBox[ \(1 \[FilledVerySmallSquare]1\[FilledVerySmallSquare]3\ \[FilledVerySmallSquare]3\), ButtonFunction:>process$r[ 18], ButtonEvaluator->Automatic, Active->True], ButtonBox["\[FilledVerySmallSquare]", Background->GrayLevel[0.500008]], ButtonBox["\[FilledVerySmallSquare]", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->RGBColor[1, 0, 0]], ButtonBox["\[FilledVerySmallSquare]", Background->GrayLevel[0.500008]], ButtonBox["\[FilledVerySmallSquare]", Background->GrayLevel[0.500008]], ButtonBox["\[FilledVerySmallSquare]", Background->GrayLevel[0.500008]], ButtonBox["\[FilledVerySmallSquare]", Background->GrayLevel[0.500008]], ButtonBox["\[FilledVerySmallSquare]", Background->GrayLevel[0.500008]], ButtonBox["\[FilledVerySmallSquare]", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->RGBColor[1, 0, 0]], ButtonBox["\[FilledVerySmallSquare]", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->RGBColor[1, 0, 0]], ButtonBox[" ", Background->RGBColor[1, 0, 0]], ButtonBox[" ", Background->RGBColor[1, 0, 0]], ButtonBox["\[FilledVerySmallSquare]", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->RGBColor[1, 0, 0]], ButtonBox[" ", Background->RGBColor[1, 0, 0]], ButtonBox[" ", Background->RGBColor[1, 0, 0]], ButtonBox["\[FilledVerySmallSquare]", Background->GrayLevel[0.500008]], ButtonBox["\[FilledVerySmallSquare]", Background->GrayLevel[0.500008]]}, { ButtonBox[ \(2 \[FilledVerySmallSquare]2\[FilledVerySmallSquare]6\), ButtonFunction:>process$r[ 19], ButtonEvaluator->Automatic, Active->True], ButtonBox["\[FilledVerySmallSquare]", Background->GrayLevel[0.500008]], ButtonBox["\[FilledVerySmallSquare]", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->RGBColor[1, 0, 0]], ButtonBox[" ", Background->RGBColor[1, 0, 0]], ButtonBox["\[FilledVerySmallSquare]", Background->GrayLevel[0.500008]], ButtonBox["\[FilledVerySmallSquare]", Background->GrayLevel[0.500008]], ButtonBox["\[FilledVerySmallSquare]", Background->GrayLevel[0.500008]], ButtonBox["\[FilledVerySmallSquare]", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->RGBColor[1, 0, 0]], ButtonBox[" ", Background->RGBColor[1, 0, 0]], ButtonBox["\[FilledVerySmallSquare]", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->RGBColor[1, 0, 0]], ButtonBox[" ", Background->RGBColor[1, 0, 0]], ButtonBox[" ", Background->RGBColor[1, 0, 0]], ButtonBox[" ", Background->RGBColor[1, 0, 0]], ButtonBox[" ", Background->RGBColor[1, 0, 0]], ButtonBox[" ", Background->RGBColor[1, 0, 0]], ButtonBox["\[FilledVerySmallSquare]", Background->GrayLevel[0.500008]], ButtonBox["\[FilledVerySmallSquare]", Background->GrayLevel[0.500008]]}, { ButtonBox[ \(3 \[FilledVerySmallSquare]3\[FilledVerySmallSquare]3\ \[FilledVerySmallSquare]1\), ButtonFunction:>process$r[ 20], ButtonEvaluator->Automatic, Active->True], ButtonBox["\[FilledVerySmallSquare]", Background->GrayLevel[0.500008]], ButtonBox["\[FilledVerySmallSquare]", Background->GrayLevel[0.500008]], ButtonBox["\[FilledVerySmallSquare]", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->RGBColor[1, 0, 0]], ButtonBox[" ", Background->RGBColor[1, 0, 0]], ButtonBox[" ", Background->RGBColor[1, 0, 0]], ButtonBox["\[FilledVerySmallSquare]", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->RGBColor[1, 0, 0]], ButtonBox[" ", Background->RGBColor[1, 0, 0]], ButtonBox[" ", Background->RGBColor[1, 0, 0]], ButtonBox["\[FilledVerySmallSquare]", Background->GrayLevel[0.500008]], ButtonBox["\[FilledVerySmallSquare]", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->RGBColor[1, 0, 0]], ButtonBox[" ", Background->RGBColor[1, 0, 0]], ButtonBox[" ", Background->RGBColor[1, 0, 0]], ButtonBox["\[FilledVerySmallSquare]", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->RGBColor[1, 0, 0]], ButtonBox["\[FilledVerySmallSquare]", Background->GrayLevel[0.500008]], ButtonBox["\[FilledVerySmallSquare]", Background->GrayLevel[0.500008]], ButtonBox["\[FilledVerySmallSquare]", Background->GrayLevel[0.500008]]}, { ButtonBox[\(6 \[FilledVerySmallSquare]4\), ButtonFunction:>process$r[ 21], ButtonEvaluator->Automatic, Active->True], ButtonBox["\[FilledVerySmallSquare]", Background->GrayLevel[0.500008]], ButtonBox["\[FilledVerySmallSquare]", Background->GrayLevel[0.500008]], ButtonBox["\[FilledVerySmallSquare]", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->RGBColor[1, 0, 0]], ButtonBox[" ", Background->RGBColor[1, 0, 0]], ButtonBox[" ", Background->RGBColor[1, 0, 0]], ButtonBox[" ", Background->RGBColor[1, 0, 0]], ButtonBox[" ", Background->RGBColor[1, 0, 0]], ButtonBox[" ", Background->GrayLevel[0.500008]], ButtonBox["\[FilledVerySmallSquare]", Background->GrayLevel[0.500008]], ButtonBox["\[FilledVerySmallSquare]", Background->GrayLevel[0.500008]], ButtonBox["\[FilledVerySmallSquare]", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->RGBColor[1, 0, 0]], ButtonBox[" ", Background->RGBColor[1, 0, 0]], ButtonBox[" ", Background->RGBColor[1, 0, 0]], ButtonBox[" ", Background->RGBColor[1, 0, 0]], ButtonBox["\[FilledVerySmallSquare]", Background->GrayLevel[0.500008]], ButtonBox["\[FilledVerySmallSquare]", Background->GrayLevel[0.500008]], ButtonBox["\[FilledVerySmallSquare]", Background->GrayLevel[0.500008]]}, { ButtonBox[ \(1 \[FilledVerySmallSquare]3\[FilledVerySmallSquare]3\), ButtonFunction:>process$r[ 22], ButtonEvaluator->Automatic, Active->True], ButtonBox["\[FilledVerySmallSquare]", Background->GrayLevel[0.500008]], ButtonBox["\[FilledVerySmallSquare]", Background->GrayLevel[0.500008]], ButtonBox["\[FilledVerySmallSquare]", Background->GrayLevel[0.500008]], ButtonBox["\[FilledVerySmallSquare]", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->RGBColor[1, 0, 0]], ButtonBox["\[FilledVerySmallSquare]", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->RGBColor[1, 0, 0]], ButtonBox[" ", Background->RGBColor[1, 0, 0]], ButtonBox[" ", Background->RGBColor[1, 0, 0]], ButtonBox["\[FilledVerySmallSquare]", Background->GrayLevel[0.500008]], ButtonBox["\[FilledVerySmallSquare]", Background->GrayLevel[0.500008]], ButtonBox["\[FilledVerySmallSquare]", Background->GrayLevel[0.500008]], ButtonBox["\[FilledVerySmallSquare]", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->RGBColor[1, 0, 0]], ButtonBox[" ", Background->RGBColor[1, 0, 0]], ButtonBox[" ", Background->RGBColor[1, 0, 0]], ButtonBox["\[FilledVerySmallSquare]", Background->GrayLevel[0.500008]], ButtonBox["\[FilledVerySmallSquare]", Background->GrayLevel[0.500008]], ButtonBox["\[FilledVerySmallSquare]", Background->GrayLevel[0.500008]], ButtonBox["\[FilledVerySmallSquare]", Background->GrayLevel[0.500008]]}, { ButtonBox[\(4 \[FilledVerySmallSquare]3\), ButtonFunction:>process$r[ 23], ButtonEvaluator->Automatic, Active->True], ButtonBox["\[FilledVerySmallSquare]", Background->GrayLevel[0.500008]], ButtonBox["\[FilledVerySmallSquare]", Background->GrayLevel[0.500008]], ButtonBox["\[FilledVerySmallSquare]", Background->GrayLevel[0.500008]], ButtonBox["\[FilledVerySmallSquare]", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->RGBColor[1, 0, 0]], ButtonBox[" ", Background->RGBColor[1, 0, 0]], ButtonBox[" ", Background->RGBColor[1, 0, 0]], ButtonBox[" ", Background->RGBColor[1, 0, 0]], ButtonBox["\[FilledVerySmallSquare]", Background->GrayLevel[0.500008]], ButtonBox["\[FilledVerySmallSquare]", Background->GrayLevel[0.500008]], ButtonBox["\[FilledVerySmallSquare]", Background->GrayLevel[0.500008]], ButtonBox["\[FilledVerySmallSquare]", Background->GrayLevel[0.500008]], ButtonBox["\[FilledVerySmallSquare]", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->RGBColor[1, 0, 0]], ButtonBox[" ", Background->RGBColor[1, 0, 0]], ButtonBox[" ", Background->RGBColor[1, 0, 0]], ButtonBox["\[FilledVerySmallSquare]", Background->GrayLevel[0.500008]], ButtonBox["\[FilledVerySmallSquare]", Background->GrayLevel[0.500008]], ButtonBox["\[FilledVerySmallSquare]", Background->GrayLevel[0.500008]], ButtonBox["\[FilledVerySmallSquare]", Background->GrayLevel[0.500008]]}, { ButtonBox[\(3 \[FilledVerySmallSquare]6\), ButtonFunction:>process$r[ 24], ButtonEvaluator->Automatic, Active->True], ButtonBox["\[FilledVerySmallSquare]", Background->GrayLevel[0.500008]], ButtonBox["\[FilledVerySmallSquare]", Background->GrayLevel[0.500008]], ButtonBox["\[FilledVerySmallSquare]", Background->GrayLevel[0.500008]], ButtonBox["\[FilledVerySmallSquare]", Background->GrayLevel[0.500008]], ButtonBox["\[FilledVerySmallSquare]", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->RGBColor[1, 0, 0]], ButtonBox[" ", Background->RGBColor[1, 0, 0]], ButtonBox[" ", Background->RGBColor[1, 0, 0]], ButtonBox["\[FilledVerySmallSquare]", Background->GrayLevel[0.500008]], ButtonBox["\[FilledVerySmallSquare]", Background->GrayLevel[0.500008]], ButtonBox["\[FilledVerySmallSquare]", Background->GrayLevel[0.500008]], ButtonBox["\[FilledVerySmallSquare]", Background->GrayLevel[0.500008]], ButtonBox["\[FilledVerySmallSquare]", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->RGBColor[1, 0, 0]], ButtonBox[" ", Background->RGBColor[1, 0, 0]], ButtonBox[" ", Background->RGBColor[1, 0, 0]], ButtonBox[" ", Background->RGBColor[1, 0, 0]], ButtonBox[" ", Background->RGBColor[1, 0, 0]], ButtonBox[" ", Background->RGBColor[1, 0, 0]], ButtonBox["\[FilledVerySmallSquare]", Background->GrayLevel[0.500008]]}, { ButtonBox[\(3 \[FilledVerySmallSquare]7\), ButtonFunction:>process$r[ 25], ButtonEvaluator->Automatic, Active->True], ButtonBox["\[FilledVerySmallSquare]", Background->GrayLevel[0.500008]], ButtonBox["\[FilledVerySmallSquare]", Background->GrayLevel[0.500008]], ButtonBox["\[FilledVerySmallSquare]", Background->GrayLevel[0.500008]], ButtonBox["\[FilledVerySmallSquare]", Background->GrayLevel[0.500008]], ButtonBox["\[FilledVerySmallSquare]", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->RGBColor[1, 0, 0]], ButtonBox[" ", Background->RGBColor[1, 0, 0]], ButtonBox[" ", Background->RGBColor[1, 0, 0]], ButtonBox["\[FilledVerySmallSquare]", Background->GrayLevel[0.500008]], ButtonBox["\[FilledVerySmallSquare]", Background->GrayLevel[0.500008]], ButtonBox["\[FilledVerySmallSquare]", Background->GrayLevel[0.500008]], ButtonBox["\[FilledVerySmallSquare]", Background->GrayLevel[0.500008]], ButtonBox["\[FilledVerySmallSquare]", Background->GrayLevel[0.500008]], ButtonBox[" ", Background->RGBColor[1, 0, 0]], ButtonBox[" ", Background->RGBColor[1, 0, 0]], ButtonBox[" ", Background->RGBColor[1, 0, 0]], ButtonBox[" ", Background->RGBColor[1, 0, 0]], ButtonBox[" ", Background->RGBColor[1, 0, 0]], ButtonBox[" ", Background->RGBColor[1, 0, 0]], ButtonBox[" ", Background->RGBColor[1, 0, 0]]}, { ButtonBox[" ", Background->GrayLevel[1]], ButtonBox[GridBox[{ {"14"} }], ButtonFunction:>process$c[ 1], ButtonEvaluator->Automatic, Active->True], ButtonBox[GridBox[{ {"13"} }], ButtonFunction:>process$c[ 2], ButtonEvaluator->Automatic, Active->True], ButtonBox[GridBox[{ {"13"}, {"2"} }], ButtonFunction:>process$c[ 3], ButtonEvaluator->Automatic, Active->True], ButtonBox[GridBox[{ {"11"}, {"3"} }], ButtonFunction:>process$c[ 4], ButtonEvaluator->Automatic, Active->True], ButtonBox[GridBox[{ {"9"}, {"4"} }], ButtonFunction:>process$c[ 5], ButtonEvaluator->Automatic, Active->True], ButtonBox[GridBox[{ {"9"}, {"2"}, {"3"} }], ButtonFunction:>process$c[ 6], ButtonEvaluator->Automatic, Active->True], ButtonBox[GridBox[{ {"9"}, {"5"} }], ButtonFunction:>process$c[ 7], ButtonEvaluator->Automatic, Active->True], ButtonBox[GridBox[{ {"8"}, {"6"} }], ButtonFunction:>process$c[ 8], ButtonEvaluator->Automatic, Active->True], ButtonBox[GridBox[{ {"8"}, {"4"} }], ButtonFunction:>process$c[ 9], ButtonEvaluator->Automatic, Active->True], ButtonBox[GridBox[{ {"8"}, {"3"} }], ButtonFunction:>process$c[ 10], ButtonEvaluator->Automatic, Active->True], ButtonBox[GridBox[{ {"4"}, {"4"} }], ButtonFunction:>process$c[ 11], ButtonEvaluator->Automatic, Active->True], ButtonBox[GridBox[{ {"9"}, {"3"} }], ButtonFunction:>process$c[ 12], ButtonEvaluator->Automatic, Active->True], ButtonBox[GridBox[{ {"9"}, {"4"} }], ButtonFunction:>process$c[ 13], ButtonEvaluator->Automatic, Active->True], ButtonBox[GridBox[{ {"7"}, {"8"} }], ButtonFunction:>process$c[ 14], ButtonEvaluator->Automatic, Active->True], ButtonBox[GridBox[{ {"6"}, {"2"}, {"7"} }], ButtonFunction:>process$c[ 15], ButtonEvaluator->Automatic, Active->True], ButtonBox[GridBox[{ {"2"}, {"2"}, {"5"} }], ButtonFunction:>process$c[ 16], ButtonEvaluator->Automatic, Active->True], ButtonBox[GridBox[{ {"1"}, {"1"}, {"4"}, {"2"} }], ButtonFunction:>process$c[ 17], ButtonEvaluator->Automatic, Active->True], ButtonBox[GridBox[{ {"3"}, {"3"}, {"2"} }], ButtonFunction:>process$c[ 18], ButtonEvaluator->Automatic, Active->True], ButtonBox[GridBox[{ {"2"}, {"2"} }], ButtonFunction:>process$c[ 19], ButtonEvaluator->Automatic, Active->True], ButtonBox[GridBox[{ {"1"} }], ButtonFunction:>process$c[ 20], ButtonEvaluator->Automatic, Active->True]} }, RowSpacings->0, ColumnSpacings->0, ColumnWidths->{Automatic, 1.4}, GridFrame->True]], "Input"], Cell["\<\ A not-so-well-skilled player can solve this problem in less than \ one hour. \tTo solve this problem, the pattern matching feature of the Mathematica \ language is very effectively used. Man can pick up the hints on columns and \ rows to be used in a right sequence. If one makes a program which picks up \ randomly the hints to be used, it needs usually an enormous amount of time to \ find out one square to be painted in a say row of 25 squares. So a \ simple-minded program needs many and many hours to solve such a problem as \ the one shown in Fig. 2. A very careful programming is needed to speed up \ the solving. In this case, a program containing some 400 lines of codes \ solved the second problem with a speed comparative to a man. \tIn doing this, we find that still a major disadvantage of Mathematica is \ its slow speed, due to the fact that it is an interpreter language. One \ should be able to use the compiled function by sacrificing some flexibility, \ still this part seems a problem with this language. Just for fun, the author \ coded the same program in Lisp. It was about 30 times faster than the \ program in Mathematica. Should a smart automatic background compilation \ mechanism be incorporated in Mathematica, this activity would certainly be \ more fun and productive.\ \>", "Text", FontFamily->"Palatino"] }, Open ]] }, Open ]], Cell[CellGroupData[{ Cell["Acquiring mathematical concpets and skills", "Section", FontFamily->"Palatino"], Cell["\<\ In this section, we report some effects of graduation works by \ students of the third year and the fourth year. They do the work in \ continuation for two years. Our students, being computer students, do not \ have much chance of acquiring mathematical background, but with some help of \ Mathematica, they were able to make progress without pain.\ \>", "Text", FontFamily->"Palatino"] }, Open ]], Cell[CellGroupData[{ Cell["Mersenne numbers:4 students", "Subsubtitle", FontFamily->"Palatino", FontWeight->"Bold"], Cell[TextData[{ "By reading a program of finding Mersenne numbers, the students learned \ elements of number theory.\nThis work was motivated by experiments on the \ distribution of prime numbers in the set of natural numbers. By using \ \"ListPlot\" one can plot the distribution of prime numbers up to the \n \ 100th, 1000th, 1000000th, ...\nprimes, and see that the frequency \ decreases. The students, on the other hand, know that there are infinitely \ many prime numbers by the method of Euclid. \nThey then became interested \ in possible algorithms of finding large prime numbers, and found a \ well-known program named \"MersenneExponentQ\" in a textbook. It is no \ easy job to justify the \"Do\" part of the program, which stands\n \ Do[r=Mod[", Cell[BoxData[ \(TraditionalForm\`r\^2\)]], " -2,N],{p-2}]\nwhere the program tries to judge whether ", Cell[BoxData[ \(TraditionalForm\`2\^p\)]], " -1 is a prime number for a prime number p. The output is \"True\" if \ r=0 when the \"Do\" part is repeated (p-2) times, and is \"False\" \ otherwise.\n Upon suggestion in the text, they began to challenge the proof \ of an old theorem (1935) by D.H.Lehmer, in Journal of the London Mathemati