The Eight Queens Puzzle Demonstration
2020-12-31 12:13
The Eight Queens Puzzle is a classic problem in combinatorial mathematics and computer science. The objective is to place eight chess queens on an 8×8 chessboard so that no two queens threaten each other. This GeoGebra applet utilizes commands like Polygon, Sequence, and If to construct the chessboard grid. By manipulating coordinate points, it visually demonstrates the constraints and potential s
In collections
Math Games with GeoGebra
<?xml version="1.0" encoding="utf-8"?>
<geogebra format="5.0" version="5.0.620.0" app="classic" platform="w" id="99594036-78a4-4857-94e3-3f662eac6a4a" xsi:noNamespaceSchemaLocation="http://www.geogebra.org/apps/xsd/ggb.xsd" xmlns="" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" >
<gui>
<window width="827" height="806" />
<perspectives>
<perspective id="tmp">
<panes>
<pane location="" divider="0.3542926239419589" orientation="1" />
</panes>
<views>
<view id="512" toolbar="0 | 1 501 5 19 , 67 | 2 15 45 18 , 7 37 | 514 3 9 , 13 44 , 47 | 16 | 551 550 11 , 20 22 21 23 , 55 56 57 , 12 | 69 | 510 511 , 512 513 | 533 531 , 534 532 , 522 523 , 537 536 , 535 | 521 520 | 36 , 38 49 560 | 571 30 29 570 31 33 | 17 | 540 40 41 42 , 27 28 35 , 6 , 502" visible="false" inframe="false" stylebar="false" location="1,1,1" size="500" window="100,100,600,400" />
<view id="4" toolbar="0 || 2020 , 2021 , 2022 , 66 || 2001 , 2003 , 2002 , 2004 , 2005 || 2040 , 2041 , 2042 , 2044 , 2043" visible="false" inframe="false" stylebar="true" location="1,1" size="300" window="100,100,600,400" />
<view id="8" toolbar="1001 | 1002 | 1003 || 1005 | 1004 || 1006 | 1007 | 1010 || 1008 1009 || 66 68 || 6" visible="false" inframe="false" stylebar="false" location="1,3" size="300" window="100,100,600,400" />
<view id="4097" visible="false" inframe="false" stylebar="true" location="1,1" size="395" window="-97,263,1574,786" />
<view id="1" visible="true" inframe="false" stylebar="false" location="1" size="827" window="100,100,600,400" />
<view id="2" visible="false" inframe="false" stylebar="true" location="3" size="293" tab="ALGEBRA" window="84,0,600,1047" />
<view id="16" visible="false" inframe="false" stylebar="false" location="1" size="150" window="50,50,500,500" />
<view id="32" visible="false" inframe="false" stylebar="true" location="1" size="150" window="50,50,500,500" />
<view id="64" toolbar="0" visible="false" inframe="false" stylebar="false" location="1" size="150" window="50,50,500,500" />
<view id="128" visible="false" inframe="false" stylebar="false" location="1" size="480" window="50,50,500,500" />
<view id="70" toolbar="0 || 2020 || 2021 || 2022" visible="false" inframe="false" stylebar="true" location="1" size="150" window="50,50,500,500" />
</views>
<toolbar show="false" items="0 39 73 62 | 1 501 67 , 5 19 , 72 75 76 | 2 15 45 , 18 65 , 7 37 | 4 3 8 9 , 13 44 , 58 , 47 | 16 51 64 , 70 | 10 34 53 11 , 24 20 22 , 21 23 | 55 56 57 , 12 | 36 46 , 38 49 50 , 71 14 68 | 30 29 54 32 31 33 | 25 17 26 60 52 61 | 40 41 42 , 27 28 35 , 6" position="1" help="false" />
<input show="false" cmd="true" top="algebra" />
<dockBar show="false" east="false" />
</perspective>
</perspectives>
<labelingStyle val="3"/>
<font size="24"/>
</gui>
<euclidianView>
<viewNumber viewNo="1"/>
<size width="827" height="806"/>
<coordSystem xZero="47.47500000000016" yZero="635.925" scale="66.54999999999998" yscale="66.55"/>
<evSettings axes="false" grid="false" gridIsBold="false" pointCapturing="2" rightAngleStyle="1" checkboxSize="26" gridType="3"/>
<bgColor r="255" g="255" b="255"/>
<axesColor r="0" g="0" b="0"/>
<gridColor r="192" g="192" b="192"/>
<lineStyle axes="1" grid="0"/>
<axis id="0" show="false" label="" unitLabel="" tickStyle="1" showNumbers="true"/>
<axis id="1" show="false" label="" unitLabel="" tickStyle="1" showNumbers="true"/>
</euclidianView>
<kernel>
<continuous val="false"/>
<usePathAndRegionParameters val="true"/>
<decimals val="2"/>
<angleUnit val="degree"/>
<algebraStyle val="0" spreadsheet="0"/>
<coordStyle val="0"/>
</kernel>
<tableview min="-2" max="2" step="1"/>
<scripting blocked="false" disabled="false"/>
<construction title="" author="" date="">
<command name="Polygon">
<input a0="{(2 - 0.5, 1 - 0.5), (2 + 0.5, 1 - 0.5), (2 + 0.5, 1 + 0.5), (2 - 0.5, 1 + 0.5)}"/>
<output a0="p21"/>
</command>
<element type="polygon" label="p21">
<lineStyle thickness="0" type="0" typeHidden="1" opacity="178"/>
<show object="true" label="false" ev="4"/>
<condition showObject="(2, 1) ∈ allM \ dots1"/>
<objColor r="255" g="255" b="255" alpha="0.05000000074505806"/>
<layer val="2"/>
<labelMode val="0"/>
<tooltipMode val="2"/>
<ggbscript val="SetValue[queens,Append(queens,(2,1))]"/>
</element>
<command name="Polygon">
<input a0="{(3 - 0.5, 1 - 0.5), (3 + 0.5, 1 - 0.5), (3 + 0.5, 1 + 0.5), (3 - 0.5, 1 + 0.5)}"/>
<output a0="p31"/>
</command>
<element type="polygon" label="p31">
<lineStyle thickness="0" type="0" typeHidden="1" opacity="178"/>
<show object="true" label="false" ev="4"/>
<condition showObject="(3, 1) ∈ allM \ dots1"/>
<objColor r="255" g="255" b="255" alpha="0.05000000074505806"/>
<layer val="2"/>
<labelMode val="0"/>
<tooltipMode val="2"/>
<ggbscript val="SetValue[queens,Append(queens,(3,1))]"/>
</element>
<command name="Polygon">
<input a0="{(4 - 0.5, 1 - 0.5), (4 + 0.5, 1 - 0.5), (4 + 0.5, 1 + 0.5), (4 - 0.5, 1 + 0.5)}"/>
<output a0="p41"/>
</command>
<element type="polygon" label="p41">
<lineStyle thickness="0" type="0" typeHidden="1" opacity="178"/>
<show object="true" label="false" ev="4"/>
<condition showObject="(4, 1) ∈ allM \ dots1"/>
<objColor r="255" g="255" b="255" alpha="0.05000000074505806"/>
<layer val="2"/>
<labelMode val="0"/>
<tooltipMode val="2"/>
<ggbscript val="SetValue[queens,Append(queens,(4,1))]"/>
</element>
<command name="Polygon">
<input a0="{(5 - 0.5, 1 - 0.5), (5 + 0.5, 1 - 0.5), (5 + 0.5, 1 + 0.5), (5 - 0.5, 1 + 0.5)}"/>
<output a0="p51"/>
</command>
<element type="polygon" label="p51">
<lineStyle thickness="0" type="0" typeHidden="1" opacity="178"/>
<show object="true" label="false" ev="4"/>
<condition showObject="(5, 1) ∈ allM \ dots1"/>
<objColor r="255" g="255" b="255" alpha="0.05000000074505806"/>
<layer val="2"/>
<labelMode val="0"/>
<tooltipMode val="2"/>
<ggbscript val="SetValue[queens,Append(queens,(5,1))]"/>
</element>
<command name="Polygon">
<input a0="{(6 - 0.5, 1 - 0.5), (6 + 0.5, 1 - 0.5), (6 + 0.5, 1 + 0.5), (6 - 0.5, 1 + 0.5)}"/>
<output a0="p61"/>
</command>
<element type="polygon" label="p61">
<lineStyle thickness="0" type="0" typeHidden="1" opacity="178"/>
<show object="true" label="false" ev="4"/>
<condition showObject="(6, 1) ∈ allM \ dots1"/>
<objColor r="255" g="255" b="255" alpha="0.05000000074505806"/>
<layer val="2"/>
<labelMode val="0"/>
<tooltipMode val="2"/>
<ggbscript val="SetValue[queens,Append(queens,(6,1))]"/>
</element>
<command name="Polygon">
<input a0="{(7 - 0.5, 1 - 0.5), (7 + 0.5, 1 - 0.5), (7 + 0.5, 1 + 0.5), (7 - 0.5, 1 + 0.5)}"/>
<output a0="p71"/>
</command>
<element type="polygon" label="p71">
<lineStyle thickness="0" type="0" typeHidden="1" opacity="178"/>
<show object="true" label="false" ev="4"/>
<condition showObject="(7, 1) ∈ allM \ dots1"/>
<objColor r="255" g="255" b="255" alpha="0.05000000074505806"/>
<layer val="2"/>
<labelMode val="0"/>
<tooltipMode val="2"/>
<ggbscript val="SetValue[queens,Append(queens,(7,1))]"/>
</element>
<command name="Polygon">
<input a0="{(8 - 0.5, 1 - 0.5), (8 + 0.5, 1 - 0.5), (8 + 0.5, 1 + 0.5), (8 - 0.5, 1 + 0.5)}"/>
<output a0="p81"/>
</command>
<element type="polygon" label="p81">
<lineStyle thickness="0" type="0" typeHidden="1" opacity="178"/>
<show object="true" label="false" ev="4"/>
<condition showObject="(8, 1) ∈ allM \ dots1"/>
<objColor r="255" g="255" b="255" alpha="0.05000000074505806"/>
<layer val="2"/>
<labelMode val="0"/>
<tooltipMode val="2"/>
<ggbscript val="SetValue[queens,Append(queens,(8,1))]"/>
</element>
<command name="Polygon">
<input a0="{(1 - 0.5, 1 - 0.5), (1 + 0.5, 1 - 0.5), (1 + 0.5, 1 + 0.5), (1 - 0.5, 1 + 0.5)}"/>
<output a0="p11"/>
</command>
<element type="polygon" label="p11">
<lineStyle thickness="0" type="0" typeHidden="1" opacity="178"/>
<show object="true" label="false" ev="4"/>
<condition showObject="(1, 1) ∈ allM \ dots1"/>
<objColor r="255" g="255" b="255" alpha="0.05000000074505806"/>
<layer val="2"/>
<labelMode val="0"/>
<tooltipMode val="2"/>
<ggbscript val="SetValue[queens,Append(queens,(1,1))]"/>
</element>
<command name="Polygon">
<input a0="{(7 - 0.5, 2 - 0.5), (7 + 0.5, 2 - 0.5), (7 + 0.5, 2 + 0.5), (7 - 0.5, 2 + 0.5)}"/>
<output a0="p72"/>
</command>
<element type="polygon" label="p72">
<lineStyle thickness="0" type="0" typeHidden="1" opacity="178"/>
<show object="true" label="false" ev="4"/>
<condition showObject="(7, 2) ∈ allM \ dots1"/>
<objColor r="255" g="255" b="255" alpha="0.05000000074505806"/>
<layer val="2"/>
<labelMode val="0"/>
<tooltipMode val="2"/>
<ggbscript val="SetValue[queens,Append(queens,(7,2))]"/>
</element>
<command name="Polygon">
<input a0="{(6 - 0.5, 2 - 0.5), (6 + 0.5, 2 - 0.5), (6 + 0.5, 2 + 0.5), (6 - 0.5, 2 + 0.5)}"/>
<output a0="p62"/>
</command>
<element type="polygon" label="p62">
<lineStyle thickness="0" type="0" typeHidden="1" opacity="178"/>
<show object="true" label="false" ev="4"/>
<condition showObject="(6, 2) ∈ allM \ dots1"/>
<objColor r="255" g="255" b="255" alpha="0.05000000074505806"/>
<layer val="2"/>
<labelMode val="0"/>
<tooltipMode val="2"/>
<ggbscript val="SetValue[queens,Append(queens,(6,2))]"/>
</element>
<command name="Polygon">
<input a0="{(5 - 0.5, 2 - 0.5), (5 + 0.5, 2 - 0.5), (5 + 0.5, 2 + 0.5), (5 - 0.5, 2 + 0.5)}"/>
<output a0="p52"/>
</command>
<element type="polygon" label="p52">
<lineStyle thickness="0" type="0" typeHidden="1" opacity="178"/>
<show object="true" label="false" ev="4"/>
<condition showObject="(5, 2) ∈ allM \ dots1"/>
<objColor r="255" g="255" b="255" alpha="0.05000000074505806"/>
<layer val="2"/>
<labelMode val="0"/>
<tooltipMode val="2"/>
<ggbscript val="SetValue[queens,Append(queens,(5,2))]"/>
</element>
<command name="Polygon">
<input a0="{(4 - 0.5, 2 - 0.5), (4 + 0.5, 2 - 0.5), (4 + 0.5, 2 + 0.5), (4 - 0.5, 2 + 0.5)}"/>
<output a0="p42"/>
</command>
<element type="polygon" label="p42">
<lineStyle thickness="0" type="0" typeHidden="1" opacity="178"/>
<show object="true" label="false" ev="4"/>
<condition showObject="(4, 2) ∈ allM \ dots1"/>
<objColor r="255" g="255" b="255" alpha="0.05000000074505806"/>
<layer val="2"/>
<labelMode val="0"/>
<tooltipMode val="2"/>
<ggbscript val="SetValue[queens,Append(queens,(4,2))]"/>
</element>
<command name="Polygon">
<input a0="{(3 - 0.5, 2 - 0.5), (3 + 0.5, 2 - 0.5), (3 + 0.5, 2 + 0.5), (3 - 0.5, 2 + 0.5)}"/>
<output a0="p32"/>
</command>
<element type="polygon" label="p32">
<lineStyle thickness="0" type="0" typeHidden="1" opacity="178"/>
<show object="true" label="false" ev="4"/>
<condition showObject="(3, 2) ∈ allM \ dots1"/>
<objColor r="255" g="255" b="255" alpha="0.05000000074505806"/>
<layer val="2"/>
<labelMode val="0"/>
<tooltipMode val="2"/>
<ggbscript val="SetValue[queens,Append(queens,(3,2))]"/>
</element>
<command name="Polygon">
<input a0="{(2 - 0.5, 2 - 0.5), (2 + 0.5, 2 - 0.5), (2 + 0.5, 2 + 0.5), (2 - 0.5, 2 + 0.5)}"/>
<output a0="p22"/>
</command>
<element type="polygon" label="p22">
<lineStyle thickness="0" type="0" typeHidden="1" opacity="178"/>
<show object="true" label="false" ev="4"/>
<condition showObject="(2, 2) ∈ allM \ dots1"/>
<objColor r="255" g="255" b="255" alpha="0.05000000074505806"/>
<layer val="2"/>
<labelMode val="0"/>
<tooltipMode val="2"/>
<ggbscript val="SetValue[queens,Append(queens,(2,2))]"/>
</element>
<command name="Polygon">
<input a0="{(1 - 0.5, 2 - 0.5), (1 + 0.5, 2 - 0.5), (1 + 0.5, 2 + 0.5), (1 - 0.5, 2 + 0.5)}"/>
<output a0="p12"/>
</command>
<element type="polygon" label="p12">
<lineStyle thickness="0" type="0" typeHidden="1" opacity="178"/>
<show object="true" label="false" ev="4"/>
<condition showObject="(1, 2) ∈ allM \ dots1"/>
<objColor r="255" g="255" b="255" alpha="0.05000000074505806"/>
<layer val="2"/>
<labelMode val="0"/>
<tooltipMode val="2"/>
<ggbscript val="SetValue[queens,Append(queens,(1,2))]"/>
</element>
<command name="Polygon">
<input a0="{(8 - 0.5, 2 - 0.5), (8 + 0.5, 2 - 0.5), (8 + 0.5, 2 + 0.5), (8 - 0.5, 2 + 0.5)}"/>
<output a0="p82"/>
</command>
<element type="polygon" label="p82">
<lineStyle thickness="0" type="0" typeHidden="1" opacity="178"/>
<show object="true" label="false" ev="4"/>
<condition showObject="(8, 2) ∈ allM \ dots1"/>
<objColor r="255" g="255" b="255" alpha="0.05000000074505806"/>
<layer val="2"/>
<labelMode val="0"/>
<tooltipMode val="2"/>
<ggbscript val="SetValue[queens,Append(queens,(8,2))]"/>
</element>
<command name="Polygon">
<input a0="{(7 - 0.5, 3 - 0.5), (7 + 0.5, 3 - 0.5), (7 + 0.5, 3 + 0.5), (7 - 0.5, 3 + 0.5)}"/>
<output a0="p73"/>
</command>
<element type="polygon" label="p73">
<lineStyle thickness="0" type="0" typeHidden="1" opacity="178"/>
<show object="true" label="false" ev="4"/>
<condition showObject="(7, 3) ∈ allM \ dots1"/>
<objColor r="255" g="255" b="255" alpha="0.05000000074505806"/>
<layer val="2"/>
<labelMode val="0"/>
<tooltipMode val="2"/>
<ggbscript val="SetValue[queens,Append(queens,(7,3))]"/>
</element>
<command name="Polygon">
<input a0="{(6 - 0.5, 3 - 0.5), (6 + 0.5, 3 - 0.5), (6 + 0.5, 3 + 0.5), (6 - 0.5, 3 + 0.5)}"/>
<output a0="p63"/>
</command>
<element type="polygon" label="p63">
<lineStyle thickness="0" type="0" typeHidden="1" opacity="178"/>
<show object="true" label="false" ev="4"/>
<condition showObject="(6, 3) ∈ allM \ dots1"/>
<objColor r="255" g="255" b="255" alpha="0.05000000074505806"/>
<layer val="2"/>
<labelMode val="0"/>
<tooltipMode val="2"/>
<ggbscript val="SetValue[queens,Append(queens,(6,3))]"/>
</element>
<command name="Polygon">
<input a0="{(5 - 0.5, 3 - 0.5), (5 + 0.5, 3 - 0.5), (5 + 0.5, 3 + 0.5), (5 - 0.5, 3 + 0.5)}"/>
<output a0="p53"/>
</command>
<element type="polygon" label="p53">
<lineStyle thickness="0" type="0" typeHidden="1" opacity="178"/>
<show object="true" label="false" ev="4"/>
<condition showObject="(5, 3) ∈ allM \ dots1"/>
<objColor r="255" g="255" b="255" alpha="0.05000000074505806"/>
<layer val="2"/>
<labelMode val="0"/>
<tooltipMode val="2"/>
<ggbscript val="SetValue[queens,Append(queens,(5,3))]"/>
</element>
<command name="Polygon">
<input a0="{(4 - 0.5, 3 - 0.5), (4 + 0.5, 3 - 0.5), (4 + 0.5, 3 + 0.5), (4 - 0.5, 3 + 0.5)}"/>
<output a0="p43"/>
</command>
<element type="polygon" label="p43">
<lineStyle thickness="0" type="0" typeHidden="1" opacity="178"/>
<show object="true" label="false" ev="4"/>
<condition showObject="(4, 3) ∈ allM \ dots1"/>
<objColor r="255" g="255" b="255" alpha="0.05000000074505806"/>
<layer val="2"/>
<labelMode val="0"/>
<tooltipMode val="2"/>
<ggbscript val="SetValue[queens,Append(queens,(4,3))]"/>
</element>
<command name="Polygon">
<input a0="{(3 - 0.5, 3 - 0.5), (3 + 0.5, 3 - 0.5), (3 + 0.5, 3 + 0.5), (3 - 0.5, 3 + 0.5)}"/>
<output a0="p33"/>
</command>
<element type="polygon" label="p33">
<lineStyle thickness="0" type="0" typeHidden="1" opacity="178"/>
<show object="true" label="false" ev="4"/>
<condition showObject="(3, 3) ∈ allM \ dots1"/>
<objColor r="255" g="255" b="255" alpha="0.05000000074505806"/>
<layer val="2"/>
<labelMode val="0"/>
<tooltipMode val="2"/>
<ggbscript val="SetValue[queens,Append(queens,(3,3))]"/>
</element>
<command name="Polygon">
<input a0="{(2 - 0.5, 3 - 0.5), (2 + 0.5, 3 - 0.5), (2 + 0.5, 3 + 0.5), (2 - 0.5, 3 + 0.5)}"/>
<output a0="p23"/>
</command>
<element type="polygon" label="p23">
<lineStyle thickness="0" type="0" typeHidden="1" opacity="178"/>
<show object="true" label="false" ev="4"/>
<condition showObject="(2, 3) ∈ allM \ dots1"/>
<objColor r="255" g="255" b="255" alpha="0.05000000074505806"/>
<layer val="2"/>
<labelMode val="0"/>
<tooltipMode val="2"/>
<ggbscript val="SetValue[queens,Append(queens,(2,3))]"/>
</element>
<command name="Polygon">
<input a0="{(1 - 0.5, 3 - 0.5), (1 + 0.5, 3 - 0.5), (1 + 0.5, 3 + 0.5), (1 - 0.5, 3 + 0.5)}"/>
<output a0="p13"/>
</command>
<element type="polygon" label="p13">
<lineStyle thickness="0" type="0" typeHidden="1" opacity="178"/>
<show object="true" label="false" ev="4"/>
<condition showObject="(1, 3) ∈ allM \ dots1"/>
<objColor r="255" g="255" b="255" alpha="0.05000000074505806"/>
<layer val="2"/>
<labelMode val="0"/>
<tooltipMode val="2"/>
<ggbscript val="SetValue[queens,Append(queens,(1,3))]"/>
</element>
<command name="Polygon">
<input a0="{(8 - 0.5, 3 - 0.5), (8 + 0.5, 3 - 0.5), (8 + 0.5, 3 + 0.5), (8 - 0.5, 3 + 0.5)}"/>
<output a0="p83"/>
</command>
<element type="polygon" label="p83">
<lineStyle thickness="0" type="0" typeHidden="1" opacity="178"/>
<show object="true" label="false" ev="4"/>
<condition showObject="(8, 3) ∈ allM \ dots1"/>
<objColor r="255" g="255" b="255" alpha="0.05000000074505806"/>
<layer val="2"/>
<labelMode val="0"/>
<tooltipMode val="2"/>
<ggbscript val="SetValue[queens,Append(queens,(8,3))]"/>
</element>
<command name="Polygon">
<input a0="{(6 - 0.5, 4 - 0.5), (6 + 0.5, 4 - 0.5), (6 + 0.5, 4 + 0.5), (6 - 0.5, 4 + 0.5)}"/>
<output a0="p64"/>
</command>
<element type="polygon" label="p64">
<lineStyle thickness="0" type="0" typeHidden="1" opacity="178"/>
<show object="true" label="false" ev="4"/>
<condition showObject="(6, 4) ∈ allM \ dots1"/>
<objColor r="255" g="255" b="255" alpha="0.05000000074505806"/>
<layer val="2"/>
<labelMode val="0"/>
<tooltipMode val="2"/>
<ggbscript val="SetValue[queens,Append(queens,(6,4))]"/>
</element>
<command name="Polygon">
<input a0="{(4 - 0.5, 4 - 0.5), (4 + 0.5, 4 - 0.5), (4 + 0.5, 4 + 0.5), (4 - 0.5, 4 + 0.5)}"/>
<output a0="p44"/>
</command>
<element type="polygon" label="p44">
<lineStyle thickness="0" type="0" typeHidden="1" opacity="178"/>
<show object="true" label="false" ev="4"/>
<condition showObject="(4, 4) ∈ allM \ dots1"/>
<objColor r="255" g="255" b="255" alpha="0.05000000074505806"/>
<layer val="2"/>
<labelMode val="0"/>
<tooltipMode val="2"/>
<ggbscript val="SetValue[queens,Append(queens,(4,4))]"/>
</element>
<command name="Polygon">
<input a0="{(3 - 0.5, 4 - 0.5), (3 + 0.5, 4 - 0.5), (3 + 0.5, 4 + 0.5), (3 - 0.5, 4 + 0.5)}"/>
<output a0="p34"/>
</command>
<element type="polygon" label="p34">
<lineStyle thickness="0" type="0" typeHidden="1" opacity="178"/>
<show object="true" label="false" ev="4"/>
<condition showObject="(3, 4) ∈ allM \ dots1"/>
<objColor r="255" g="255" b="255" alpha="0.05000000074505806"/>
<layer val="2"/>
<labelMode val="0"/>
<tooltipMode val="2"/>
<ggbscript val="SetValue[queens,Append(queens,(3,4))]"/>
</element>
<command name="Polygon">
<input a0="{(2 - 0.5, 4 - 0.5), (2 + 0.5, 4 - 0.5), (2 + 0.5, 4 + 0.5), (2 - 0.5, 4 + 0.5)}"/>
<output a0="p24"/>
</command>
<element type="polygon" label="p24">
<lineStyle thickness="0" type="0" typeHidden="1" opacity="178"/>
<show object="true" label="false" ev="4"/>
<condition showObject="(2, 4) ∈ allM \ dots1"/>
<objColor r="255" g="255" b="255" alpha="0.05000000074505806"/>
<layer val="2"/>
<labelMode val="0"/>
<tooltipMode val="2"/>
<ggbscript val="SetValue[queens,Append(queens,(2,4))]"/>
</element>
<command name="Polygon">
<input a0="{(1 - 0.5, 4 - 0.5), (1 + 0.5, 4 - 0.5), (1 + 0.5, 4 + 0.5), (1 - 0.5, 4 + 0.5)}"/>
<output a0="p14"/>
</command>
<element type="polygon" label="p14">
<lineStyle thickness="0" type="0" typeHidden="1" opacity="178"/>
<show object="true" label="false" ev="4"/>
<condition showObject="(1, 4) ∈ allM \ dots1"/>
<objColor r="255" g="255" b="255" alpha="0.05000000074505806"/>
<layer val="2"/>
<labelMode val="0"/>
<tooltipMode val="2"/>
<ggbscript val="SetValue[queens,Append(queens,(1,4))]"/>
</element>
<command name="Polygon">
<input a0="{(5 - 0.5, 4 - 0.5), (5 + 0.5, 4 - 0.5), (5 + 0.5, 4 + 0.5), (5 - 0.5, 4 + 0.5)}"/>
<output a0="p54"/>
</command>
<element type="polygon" label="p54">
<lineStyle thickness="0" type="0" typeHidden="1" opacity="178"/>
<show object="true" label="false" ev="4"/>
<condition showObject="(5, 4) ∈ allM \ dots1"/>
<objColor r="255" g="255" b="255" alpha="0.05000000074505806"/>
<layer val="2"/>
<labelMode val="0"/>
<tooltipMode val="2"/>
<ggbscript val="SetValue[queens,Append(queens,(5,4))]"/>
</element>
<command name="Polygon">
<input a0="{(7 - 0.5, 4 - 0.5), (7 + 0.5, 4 - 0.5), (7 + 0.5, 4 + 0.5), (7 - 0.5, 4 + 0.5)}"/>
<output a0="p74"/>
</command>
<element type="polygon" label="p74">
<lineStyle thickness="0" type="0" typeHidden="1" opacity="178"/>
<show object="true" label="false" ev="4"/>
<condition showObject="(7, 4) ∈ allM \ dots1"/>
<objColor r="255" g="255" b="255" alpha="0.05000000074505806"/>
<layer val="2"/>
<labelMode val="0"/>
<tooltipMode val="2"/>
<ggbscript val="SetValue[queens,Append(queens,(7,4))]"/>
</element>
<command name="Polygon">
<input a0="{(8 - 0.5, 4 - 0.5), (8 + 0.5, 4 - 0.5), (8 + 0.5, 4 + 0.5), (8 - 0.5, 4 + 0.5)}"/>
<output a0="p84"/>
</command>
<element type="polygon" label="p84">
<lineStyle thickness="0" type="0" typeHidden="1" opacity="178"/>
<show object="true" label="false" ev="4"/>
<condition showObject="(8, 4) ∈ allM \ dots1"/>
<objColor r="255" g="255" b="255" alpha="0.05000000074505806"/>
<layer val="2"/>
<labelMode val="0"/>
<tooltipMode val="2"/>
<ggbscript val="SetValue[queens,Append(queens,(8,4))]"/>
</element>
<command name="Polygon">
<input a0="{(7 - 0.5, 5 - 0.5), (7 + 0.5, 5 - 0.5), (7 + 0.5, 5 + 0.5), (7 - 0.5, 5 + 0.5)}"/>
<output a0="p75"/>
</command>
<element type="polygon" label="p75">
<lineStyle thickness="0" type="0" typeHidden="1" opacity="178"/>
<show object="true" label="false" ev="4"/>
<condition showObject="(7, 5) ∈ allM \ dots1"/>
<objColor r="255" g="255" b="255" alpha="0.05000000074505806"/>
<layer val="2"/>
<labelMode val="0"/>
<tooltipMode val="2"/>
<ggbscript val="SetValue[queens,Append(queens,(7,5))]"/>
</element>
<command name="Polygon">
<input a0="{(5 - 0.5, 5 - 0.5), (5 + 0.5, 5 - 0.5), (5 + 0.5, 5 + 0.5), (5 - 0.5, 5 + 0.5)}"/>
<output a0="p55"/>
</command>
<element type="polygon" label="p55">
<lineStyle thickness="0" type="0" typeHidden="1" opacity="178"/>
<show object="true" label="false" ev="4"/>
<condition showObject="(5, 5) ∈ allM \ dots1"/>
<objColor r="255" g="255" b="255" alpha="0.05000000074505806"/>
<layer val="2"/>
<labelMode val="0"/>
<tooltipMode val="2"/>
<ggbscript val="SetValue[queens,Append(queens,(5,5))]"/>
</element>
<command name="Polygon">
<input a0="{(4 - 0.5, 5 - 0.5), (4 + 0.5, 5 - 0.5), (4 + 0.5, 5 + 0.5), (4 - 0.5, 5 + 0.5)}"/>
<output a0="p45"/>
</command>
<element type="polygon" label="p45">
<lineStyle thickness="0" type="0" typeHidden="1" opacity="178"/>
<show object="true" label="false" ev="4"/>
<condition showObject="(4, 5) ∈ allM \ dots1"/>
<objColor r="255" g="255" b="255" alpha="0.05000000074505806"/>
<layer val="2"/>
<labelMode val="0"/>
<tooltipMode val="2"/>
<ggbscript val="SetValue[queens,Append(queens,(4,5))]"/>
</element>
<command name="Polygon">
<input a0="{(3 - 0.5, 5 - 0.5), (3 + 0.5, 5 - 0.5), (3 + 0.5, 5 + 0.5), (3 - 0.5, 5 + 0.5)}"/>
<output a0="p35"/>
</command>
<element type="polygon" label="p35">
<lineStyle thickness="0" type="0" typeHidden="1" opacity="178"/>
<show object="true" label="false" ev="4"/>
<condition showObject="(3, 5) ∈ allM \ dots1"/>
<objColor r="255" g="255" b="255" alpha="0.05000000074505806"/>
<layer val="2"/>
<labelMode val="0"/>
<tooltipMode val="2"/>
<ggbscript val="SetValue[queens,Append(queens,(3,5))]"/>
</element>
<command name="Polygon">
<input a0="{(2 - 0.5, 5 - 0.5), (2 + 0.5, 5 - 0.5), (2 + 0.5, 5 + 0.5), (2 - 0.5, 5 + 0.5)}"/>
<output a0="p25"/>
</command>
<element type="polygon" label="p25">
<lineStyle thickness="0" type="0" typeHidden="1" opacity="178"/>
<show object="true" label="false" ev="4"/>
<condition showObject="(2, 5) ∈ allM \ dots1"/>
<objColor r="255" g="255" b="255" alpha="0.05000000074505806"/>
<layer val="2"/>
<labelMode val="0"/>
<tooltipMode val="2"/>
<ggbscript val="SetValue[queens,Append(queens,(2,5))]"/>
</element>
<command name="Polygon">
<input a0="{(1 - 0.5, 5 - 0.5), (1 + 0.5, 5 - 0.5), (1 + 0.5, 5 + 0.5), (1 - 0.5, 5 + 0.5)}"/>
<output a0="p15"/>
</command>
<element type="polygon" label="p15">
<lineStyle thickness="0" type="0" typeHidden="1" opacity="178"/>
<show object="true" label="false" ev="4"/>
<condition showObject="(1, 5) ∈ allM \ dots1"/>
<objColor r="255" g="255" b="255" alpha="0.05000000074505806"/>
<layer val="2"/>
<labelMode val="0"/>
<tooltipMode val="2"/>
<ggbscript val="SetValue[queens,Append(queens,(1,5))]"/>
</element>
<command name="Polygon">
<input a0="{(6 - 0.5, 5 - 0.5), (6 + 0.5, 5 - 0.5), (6 + 0.5, 5 + 0.5), (6 - 0.5, 5 + 0.5)}"/>
<output a0="p65"/>
</command>
<element type="polygon" label="p65">
<lineStyle thickness="0" type="0" typeHidden="1" opacity="178"/>
<show object="true" label="false" ev="4"/>
<condition showObject="(6, 5) ∈ allM \ dots1"/>
<objColor r="255" g="255" b="255" alpha="0.05000000074505806"/>
<layer val="2"/>
<labelMode val="0"/>
<tooltipMode val="2"/>
<ggbscript val="SetValue[queens,Append(queens,(6,5))]"/>
</element>
<command name="Polygon">
<input a0="{(8 - 0.5, 5 - 0.5), (8 + 0.5, 5 - 0.5), (8 + 0.5, 5 + 0.5), (8 - 0.5, 5 + 0.5)}"/>
<output a0="p85"/>
</command>
<element type="polygon" label="p85">
<lineStyle thickness="0" type="0" typeHidden="1" opacity="178"/>
<show object="true" label="false" ev="4"/>
<condition showObject="(8, 5) ∈ allM \ dots1"/>
<objColor r="255" g="255" b="255" alpha="0.05000000074505806"/>
<layer val="2"/>
<labelMode val="0"/>
<tooltipMode val="2"/>
<ggbscript val="SetValue[queens,Append(queens,(8,5))]"/>
</element>
<command name="Polygon">
<input a0="{(7 - 0.5, 6 - 0.5), (7 + 0.5, 6 - 0.5), (7 + 0.5, 6 + 0.5), (7 - 0.5, 6 + 0.5)}"/>
<output a0="p76"/>
</command>
<element type="polygon" label="p76">
<lineStyle thickness="0" type="0" typeHidden="1" opacity="178"/>
<show object="true" label="false" ev="4"/>
<condition showObject="(7, 6) ∈ allM \ dots1"/>
<objColor r="255" g="255" b="255" alpha="0.05000000074505806"/>
<layer val="2"/>
<labelMode val="0"/>
<tooltipMode val="2"/>
<ggbscript val="SetValue[queens,Append(queens,(7,6))]"/>
</element>
<command name="Polygon">
<input a0="{(6 - 0.5, 6 - 0.5), (6 + 0.5, 6 - 0.5), (6 + 0.5, 6 + 0.5), (6 - 0.5, 6 + 0.5)}"/>
<output a0="p66"/>
</command>
<element type="polygon" label="p66">
<lineStyle thickness="0" type="0" typeHidden="1" opacity="178"/>
<show object="false" label="false" ev="4"/>
<condition showObject="(6, 6) ∈ allM \ dots1"/>
<objColor r="255" g="255" b="255" alpha="0.05000000074505806"/>
<layer val="2"/>
<labelMode val="0"/>
<tooltipMode val="2"/>
<ggbscript val="SetValue[queens,Append(queens,(6,6))]"/>
</element>
<command name="Polygon">
<input a0="{(5 - 0.5, 6 - 0.5), (5 + 0.5, 6 - 0.5), (5 + 0.5, 6 + 0.5), (5 - 0.5, 6 + 0.5)}"/>
<output a0="p56"/>
</command>
<element type="polygon" label="p56">
<lineStyle thickness="0" type="0" typeHidden="1" opacity="178"/>
<show object="true" label="false" ev="4"/>
<condition showObject="(5, 6) ∈ allM \ dots1"/>
<objColor r="255" g="255" b="255" alpha="0.05000000074505806"/>
<layer val="2"/>
<labelMode val="0"/>
<tooltipMode val="2"/>
<ggbscript val="SetValue[queens,Append(queens,(5,6))]"/>
</element>
<command name="Polygon">
<input a0="{(4 - 0.5, 6 - 0.5), (4 + 0.5, 6 - 0.5), (4 + 0.5, 6 + 0.5), (4 - 0.5, 6 + 0.5)}"/>
<output a0="p46"/>
</command>
<element type="polygon" label="p46">
<lineStyle thickness="0" type="0" typeHidden="1" opacity="178"/>
<show object="true" label="false" ev="4"/>
<condition showObject="(4, 6) ∈ allM \ dots1"/>
<objColor r="255" g="255" b="255" alpha="0.05000000074505806"/>
<layer val="2"/>
<labelMode val="0"/>
<tooltipMode val="2"/>
<ggbscript val="SetValue[queens,Append(queens,(4,6))]"/>
</element>
<command name="Polygon">
<input a0="{(3 - 0.5, 6 - 0.5), (3 + 0.5, 6 - 0.5), (3 + 0.5, 6 + 0.5), (3 - 0.5, 6 + 0.5)}"/>
<output a0="p36"/>
</command>
<element type="polygon" label="p36">
<lineStyle thickness="0" type="0" typeHidden="1" opacity="178"/>
<show object="true" label="false" ev="4"/>
<condition showObject="(3, 6) ∈ allM \ dots1"/>
<objColor r="255" g="255" b="255" alpha="0.05000000074505806"/>
<layer val="2"/>
<labelMode val="0"/>
<tooltipMode val="2"/>
<ggbscript val="SetValue[queens,Append(queens,(3,6))]"/>
</element>
<command name="Polygon">
<input a0="{(2 - 0.5, 6 - 0.5), (2 + 0.5, 6 - 0.5), (2 + 0.5, 6 + 0.5), (2 - 0.5, 6 + 0.5)}"/>
<output a0="p26"/>
</command>
<element type="polygon" label="p26">
<lineStyle thickness="0" type="0" typeHidden="1" opacity="178"/>
<show object="true" label="false" ev="4"/>
<condition showObject="(2, 6) ∈ allM \ dots1"/>
<objColor r="255" g="255" b="255" alpha="0.05000000074505806"/>
<layer val="2"/>
<labelMode val="0"/>
<tooltipMode val="2"/>
<ggbscript val="SetValue[queens,Append(queens,(2,6))]"/>
</element>
<command name="Polygon">
<input a0="{(1 - 0.5, 6 - 0.5), (1 + 0.5, 6 - 0.5), (1 + 0.5, 6 + 0.5), (1 - 0.5, 6 + 0.5)}"/>
<output a0="p16"/>
</command>
<element type="polygon" label="p16">
<lineStyle thickness="0" type="0" typeHidden="1" opacity="178"/>
<show object="true" label="false" ev="4"/>
<condition showObject="(1, 6) ∈ allM \ dots1"/>
<objColor r="255" g="255" b="255" alpha="0.05000000074505806"/>
<layer val="2"/>
<labelMode val="0"/>
<tooltipMode val="2"/>
<ggbscript val="SetValue[queens,Append(queens,(1,6))]"/>
</element>
<command name="Polygon">
<input a0="{(8 - 0.5, 6 - 0.5), (8 + 0.5, 6 - 0.5), (8 + 0.5, 6 + 0.5), (8 - 0.5, 6 + 0.5)}"/>
<output a0="p86"/>
</command>
<element type="polygon" label="p86">
<lineStyle thickness="0" type="0" typeHidden="1" opacity="178"/>
<show object="true" label="false" ev="4"/>
<condition showObject="(8, 6) ∈ allM \ dots1"/>
<objColor r="255" g="255" b="255" alpha="0.05000000074505806"/>
<layer val="2"/>
<labelMode val="0"/>
<tooltipMode val="2"/>
<ggbscript val="SetValue[queens,Append(queens,(8,6))]"/>
</element>
<command name="Polygon">
<input a0="{(7 - 0.5, 7 - 0.5), (7 + 0.5, 7 - 0.5), (7 + 0.5, 7 + 0.5), (7 - 0.5, 7 + 0.5)}"/>
<output a0="p77"/>
</command>
<element type="polygon" label="p77">
<lineStyle thickness="0" type="0" typeHidden="1" opacity="178"/>
<show object="true" label="false" ev="4"/>
<condition showObject="(7, 7) ∈ allM \ dots1"/>
<objColor r="255" g="255" b="255" alpha="0.05000000074505806"/>
<layer val="2"/>
<labelMode val="0"/>
<tooltipMode val="2"/>
<ggbscript val="SetValue[queens,Append(queens,(7,7))]"/>
</element>
<command name="Polygon">
<input a0="{(6 - 0.5, 7 - 0.5), (6 + 0.5, 7 - 0.5), (6 + 0.5, 7 + 0.5), (6 - 0.5, 7 + 0.5)}"/>
<output a0="p67"/>
</command>
<element type="polygon" label="p67">
<lineStyle thickness="0" type="0" typeHidden="1" opacity="178"/>
<show object="true" label="false" ev="4"/>
<condition showObject="(6, 7) ∈ allM \ dots1"/>
<objColor r="255" g="255" b="255" alpha="0.05000000074505806"/>
<layer val="2"/>
<labelMode val="0"/>
<tooltipMode val="2"/>
<ggbscript val="SetValue[queens,Append(queens,(6,7))]"/>
</element>
<command name="Polygon">
<input a0="{(5 - 0.5, 7 - 0.5), (5 + 0.5, 7 - 0.5), (5 + 0.5, 7 + 0.5), (5 - 0.5, 7 + 0.5)}"/>
<output a0="p57"/>
</command>
<element type="polygon" label="p57">
<lineStyle thickness="0" type="0" typeHidden="1" opacity="178"/>
<show object="true" label="false" ev="4"/>
<condition showObject="(5, 7) ∈ allM \ dots1"/>
<objColor r="255" g="255" b="255" alpha="0.05000000074505806"/>
<layer val="2"/>
<labelMode val="0"/>
<tooltipMode val="2"/>
<ggbscript val="SetValue[queens,Append(queens,(5,7))]"/>
</element>
<command name="Polygon">
<input a0="{(4 - 0.5, 7 - 0.5), (4 + 0.5, 7 - 0.5), (4 + 0.5, 7 + 0.5), (4 - 0.5, 7 + 0.5)}"/>
<output a0="p47"/>
</command>
<element type="polygon" label="p47">
<lineStyle thickness="0" type="0" typeHidden="1" opacity="178"/>
<show object="true" label="false" ev="4"/>
<condition showObject="(4, 7) ∈ allM \ dots1"/>
<objColor r="255" g="255" b="255" alpha="0.05000000074505806"/>
<layer val="2"/>
<labelMode val="0"/>
<tooltipMode val="2"/>
<ggbscript val="SetValue[queens,Append(queens,(4,7))]"/>
</element>
<command name="Polygon">
<input a0="{(3 - 0.5, 7 - 0.5), (3 + 0.5, 7 - 0.5), (3 + 0.5, 7 + 0.5), (3 - 0.5, 7 + 0.5)}"/>
<output a0="p37"/>
</command>
<element type="polygon" label="p37">
<lineStyle thickness="0" type="0" typeHidden="1" opacity="178"/>
<show object="true" label="false" ev="4"/>
<condition showObject="(3, 7) ∈ allM \ dots1"/>
<objColor r="255" g="255" b="255" alpha="0.05000000074505806"/>
<layer val="2"/>
<labelMode val="0"/>
<tooltipMode val="2"/>
<ggbscript val="SetValue[queens,Append(queens,(3,7))]"/>
</element>
<command name="Polygon">
<input a0="{(2 - 0.5, 7 - 0.5), (2 + 0.5, 7 - 0.5), (2 + 0.5, 7 + 0.5), (2 - 0.5, 7 + 0.5)}"/>
<output a0="p27"/>
</command>
<element type="polygon" label="p27">
<lineStyle thickness="0" type="0" typeHidden="1" opacity="178"/>
<show object="true" label="false" ev="4"/>
<condition showObject="(2, 7) ∈ allM \ dots1"/>
<objColor r="255" g="255" b="255" alpha="0.05000000074505806"/>
<layer val="2"/>
<labelMode val="0"/>
<tooltipMode val="2"/>
<ggbscript val="SetValue[queens,Append(queens,(2,7))]"/>
</element>
<command name="Polygon">
<input a0="{(1 - 0.5, 7 - 0.5), (1 + 0.5, 7 - 0.5), (1 + 0.5, 7 + 0.5), (1 - 0.5, 7 + 0.5)}"/>
<output a0="p17"/>
</command>
<element type="polygon" label="p17">
<lineStyle thickness="0" type="0" typeHidden="1" opacity="178"/>
<show object="true" label="false" ev="4"/>
<condition showObject="(1, 7) ∈ allM \ dots1"/>
<objColor r="255" g="255" b="255" alpha="0.05000000074505806"/>
<layer val="2"/>
<labelMode val="0"/>
<tooltipMode val="2"/>
<ggbscript val="SetValue[queens,Append(queens,(1,7))]"/>
</element>
<command name="Polygon">
<input a0="{(8 - 0.5, 7 - 0.5), (8 + 0.5, 7 - 0.5), (8 + 0.5, 7 + 0.5), (8 - 0.5, 7 + 0.5)}"/>
<output a0="p87"/>
</command>
<element type="polygon" label="p87">
<lineStyle thickness="0" type="0" typeHidden="1" opacity="178"/>
<show object="true" label="false" ev="4"/>
<condition showObject="(8, 7) ∈ allM \ dots1"/>
<objColor r="255" g="255" b="255" alpha="0.05000000074505806"/>
<layer val="2"/>
<labelMode val="0"/>
<tooltipMode val="2"/>
<ggbscript val="SetValue[queens,Append(queens,(8,7))]"/>
</element>
<command name="Polygon">
<input a0="{(7 - 0.5, 8 - 0.5), (7 + 0.5, 8 - 0.5), (7 + 0.5, 8 + 0.5), (7 - 0.5, 8 + 0.5)}"/>
<output a0="p78"/>
</command>
<element type="polygon" label="p78">
<lineStyle thickness="0" type="0" typeHidden="1" opacity="178"/>
<show object="true" label="false" ev="4"/>
<condition showObject="(7, 8) ∈ allM \ dots1"/>
<objColor r="255" g="255" b="255" alpha="0.05000000074505806"/>
<layer val="2"/>
<labelMode val="0"/>
<tooltipMode val="2"/>
<ggbscript val="SetValue[queens,Append(queens,(7,8))]"/>
</element>
<command name="Polygon">
<input a0="{(6 - 0.5, 8 - 0.5), (6 + 0.5, 8 - 0.5), (6 + 0.5, 8 + 0.5), (6 - 0.5, 8 + 0.5)}"/>
<output a0="p68"/>
</command>
<element type="polygon" label="p68">
<lineStyle thickness="0" type="0" typeHidden="1" opacity="178"/>
<show object="true" label="false" ev="4"/>
<condition showObject="(6, 8) ∈ allM \ dots1"/>
<objColor r="255" g="255" b="255" alpha="0.05000000074505806"/>
<layer val="2"/>
<labelMode val="0"/>
<tooltipMode val="2"/>
<ggbscript val="SetValue[queens,Append(queens,(6,8))]"/>
</element>
<command name="Polygon">
<input a0="{(5 - 0.5, 8 - 0.5), (5 + 0.5, 8 - 0.5), (5 + 0.5, 8 + 0.5), (5 - 0.5, 8 + 0.5)}"/>
<output a0="p58"/>
</command>
<element type="polygon" label="p58">
<lineStyle thickness="0" type="0" typeHidden="1" opacity="178"/>
<show object="true" label="false" ev="4"/>
<condition showObject="(5, 8) ∈ allM \ dots1"/>
<objColor r="255" g="255" b="255" alpha="0.05000000074505806"/>
<layer val="2"/>
<labelMode val="0"/>
<tooltipMode val="2"/>
<ggbscript val="SetValue[queens,Append(queens,(5,8))]"/>
</element>
<command name="Polygon">
<input a0="{(4 - 0.5, 8 - 0.5), (4 + 0.5, 8 - 0.5), (4 + 0.5, 8 + 0.5), (4 - 0.5, 8 + 0.5)}"/>
<output a0="p48"/>
</command>
<element type="polygon" label="p48">
<lineStyle thickness="0" type="0" typeHidden="1" opacity="178"/>
<show object="true" label="false" ev="4"/>
<condition showObject="(4, 8) ∈ allM \ dots1"/>
<objColor r="255" g="255" b="255" alpha="0.05000000074505806"/>
<layer val="2"/>
<labelMode val="0"/>
<tooltipMode val="2"/>
<ggbscript val="SetValue[queens,Append(queens,(4,8))]"/>
</element>
<command name="Polygon">
<input a0="{(3 - 0.5, 8 - 0.5), (3 + 0.5, 8 - 0.5), (3 + 0.5, 8 + 0.5), (3 - 0.5, 8 + 0.5)}"/>
<output a0="p38"/>
</command>
<element type="polygon" label="p38">
<lineStyle thickness="0" type="0" typeHidden="1" opacity="178"/>
<show object="true" label="false" ev="4"/>
<condition showObject="(3, 8) ∈ allM \ dots1"/>
<objColor r="255" g="255" b="255" alpha="0.05000000074505806"/>
<layer val="2"/>
<labelMode val="0"/>
<tooltipMode val="2"/>
<ggbscript val="SetValue[queens,Append(queens,(3,8))]"/>
</element>
<command name="Polygon">
<input a0="{(2 - 0.5, 8 - 0.5), (2 + 0.5, 8 - 0.5), (2 + 0.5, 8 + 0.5), (2 - 0.5, 8 + 0.5)}"/>
<output a0="p28"/>
</command>
<element type="polygon" label="p28">
<lineStyle thickness="0" type="0" typeHidden="1" opacity="178"/>
<show object="true" label="false" ev="4"/>
<condition showObject="(2, 8) ∈ allM \ dots1"/>
<objColor r="255" g="255" b="255" alpha="0.05000000074505806"/>
<layer val="2"/>
<labelMode val="0"/>
<tooltipMode val="2"/>
<ggbscript val="SetValue[queens,Append(queens,(2,8))]"/>
</element>
<command name="Polygon">
<input a0="{(1 - 0.5, 8 - 0.5), (1 + 0.5, 8 - 0.5), (1 + 0.5, 8 + 0.5), (1 - 0.5, 8 + 0.5)}"/>
<output a0="p18"/>
</command>
<element type="polygon" label="p18">
<lineStyle thickness="0" type="0" typeHidden="1" opacity="178"/>
<show object="true" label="false" ev="4"/>
<condition showObject="(1, 8) ∈ allM \ dots1"/>
<objColor r="255" g="255" b="255" alpha="0.05000000074505806"/>
<layer val="2"/>
<labelMode val="0"/>
<tooltipMode val="2"/>
<ggbscript val="SetValue[queens,Append(queens,(1,8))]"/>
</element>
<command name="Polygon">
<input a0="{(8 - 0.5, 8 - 0.5), (8 + 0.5, 8 - 0.5), (8 + 0.5, 8 + 0.5), (8 - 0.5, 8 + 0.5)}"/>
<output a0="p88"/>
</command>
<element type="polygon" label="p88">
<lineStyle thickness="0" type="0" typeHidden="1" opacity="178"/>
<show object="true" label="false" ev="4"/>
<condition showObject="(8, 8) ∈ allM \ dots1"/>
<objColor r="255" g="255" b="255" alpha="0.05000000074505806"/>
<layer val="2"/>
<labelMode val="0"/>
<tooltipMode val="2"/>
<ggbscript val="SetValue[queens,Append(queens,(8,8))]"/>
</element>
<command name="Join">
<input a0="Sequence[Sequence[(m, n), n, 1, 8], m, 1, 8]"/>
<output a0="allM"/>
</command>
<element type="list" label="allM">
<show object="false" label="false" ev="4"/>
<objColor r="0" g="100" b="0" alpha="0"/>
<layer val="0"/>
<labelMode val="0"/>
<lineStyle thickness="5" type="0" typeHidden="1"/>
<pointSize val="5"/>
<pointStyle val="0"/>
<angleStyle val="0"/>
</element>
<expression label="queens" exp="{}"/>
<element type="list" label="queens">
<show object="false" label="false" ev="4"/>
<objColor r="0" g="0" b="255" alpha="0"/>
<layer val="0"/>
<labelMode val="0"/>
<tooltipMode val="2"/>
<animation step="1" speed="1" type="0" playing="false"/>
<selectionAllowed val="false"/>
<lineStyle thickness="5" type="0" typeHidden="1"/>
<listType val="point"/>
<pointSize val="9"/>
<pointStyle val="6"/>
<angleStyle val="0"/>
</element>
<command name="If">
<input a0="Length[queens] ≟ 0" a1="{}" a2="Unique[Join[Sequence[KeepIf[x(P) ≟ x(queens(k)) ∨ y(P) ≟ y(queens(k)) ∨ x(P) - x(queens(k)) ≟ y(P) - y(queens(k)) ∨ x(P) - x(queens(k)) ≟ (-y(P)) + y(queens(k)), P, allM], k, 1, Length[queens]]]]"/>
<output a0="dots1"/>
</command>
<element type="list" label="dots1">
<show object="false" label="false" ev="4"/>
<objColor r="0" g="100" b="0" alpha="0"/>
<layer val="0"/>
<labelMode val="0"/>
<lineStyle thickness="5" type="0" typeHidden="1"/>
<listType val="point"/>
<pointSize val="5"/>
<pointStyle val="0"/>
<angleStyle val="0"/>
</element>
<expression label="dots" exp="dots1 \ queens" />
<element type="list" label="dots">
<show object="true" label="false" ev="4"/>
<objColor r="0" g="0" b="0" alpha="0"/>
<layer val="3"/>
<labelMode val="0"/>
<tooltipMode val="2"/>
<selectionAllowed val="false"/>
<ggbscript onUpdate="SetFixed[,true,false]"/>
<lineStyle thickness="5" type="0" typeHidden="1"/>
<listType val="point"/>
<pointSize val="9"/>
<pointStyle val="0"/>
<angleStyle val="0"/>
</element>
<element type="image" label="picBoard">
<file name="c35a0d3613711c8e85d5ebd31a581d17/transferImage.png"/>
<inBackground val="false"/>
<startPoint number="0" x="0.5" y="0.5" z="1"/>
<startPoint number="1" x="8.5" y="0.5" z="1"/>
<show object="true" label="false"/>
<objColor r="0" g="0" b="0" alpha="1"/>
<layer val="1"/>
<labelMode val="0"/>
<tooltipMode val="2"/>
<animation step="1" speed="1" type="0" playing="false"/>
<selectionAllowed val="false"/>
</element>
<expression label="edges" exp="{Sequence[Segment[(0.5, k + 0.5), (8.5, k + 0.5)], k, 0, 8], Sequence[Segment[(0.5 + k, 0.5), (0.5 + k, 8.5)], k, 0, 8]}" />
<element type="list" label="edges">
<show object="true" label="false" ev="4"/>
<objColor r="0" g="0" b="0" alpha="0"/>
<layer val="3"/>
<labelMode val="0"/>
<tooltipMode val="2"/>
<selectionAllowed val="false"/>
<lineStyle thickness="4" type="0" typeHidden="1"/>
<pointSize val="5"/>
<pointStyle val="0"/>
<angleStyle val="0"/>
</element>
<command name="Polygon">
<input a0="{Corner[1], Corner[2], Corner[3], Corner[4]}"/>
<output a0="polyBackground"/>
</command>
<element type="polygon" label="polyBackground">
<lineStyle thickness="0" type="0" typeHidden="1" opacity="178"/>
<show object="true" label="false" ev="4"/>
<objColor r="0" g="0" b="0" alpha="1"/>
<layer val="0"/>
<labelMode val="0"/>
<tooltipMode val="2"/>
<fixed val="true"/>
<selectionAllowed val="false"/>
</element>
<element type="button" label="buttonPlay">
<show object="true" label="true"/>
<objColor r="0" g="0" b="0" alpha="1"/>
<bgColor r="0" g="255" b="0" alpha="255"/>
<layer val="5"/>
<labelOffset x="64" y="626"/>
<labelMode val="3"/>
<tooltipMode val="2"/>
<fixed val="true"/>
<auxiliary val="true"/>
<ggbscript val="queens={}"/>
<font serif="false" sizeM="4" size="72" style="1"/>
<dimensions width="160" height="120" />
<startPoint x="1.0037565740045087" y="-0.0011269722013530499" z="1"/>
<caption val="PLAY"/>
</element>
<expression label="numRemaining" exp="64 - Length[dots1]" />
<element type="numeric" label="numRemaining">
<value val="64"/>
<objColor r="0" g="0" b="0" alpha="0.10000000149011612"/>
<ggbscript onUpdate="If[numRemaining==0,SetValue[showResult,true]]"/>
</element>
<element type="image" label="picQueen">
<file name="36122a5bdf1c8f6b532a595587bde5b5/queen.png"/>
<inBackground val="false"/>
<startPoint number="0" x="9" y="0" z="1"/>
<startPoint number="1" x="10" y="0" z="1"/>
<show object="false" label="false"/>
<objColor r="0" g="0" b="0" alpha="1"/>
<layer val="1"/>
<labelMode val="0"/>
<tooltipMode val="2"/>
<animation step="1" speed="1" type="0" playing="false"/>
</element>
<command name="Sequence">
<input a0="Translate[picQueen, Vector[(9.5, 0.5), queens(k)]]" a1="k" a2="1" a3="Length[queens]"/>
<output a0="picQueens"/>
</command>
<element type="list" label="picQueens">
<show object="true" label="false" ev="4"/>
<objColor r="0" g="100" b="0" alpha="1"/>
<layer val="3"/>
<labelMode val="0"/>
<tooltipMode val="2"/>
<selectionAllowed val="false"/>
<lineStyle thickness="5" type="0" typeHidden="1"/>
<listType val="image"/>
<pointSize val="5"/>
<pointStyle val="0"/>
<angleStyle val="0"/>
</element>
<command name="Length">
<input a0="queens"/>
<output a0="numQueens"/>
</command>
<element type="numeric" label="numQueens">
<value val="0"/>
<objColor r="0" g="0" b="0" alpha="0.10000000149011612"/>
</element>
<expression label="textRule" exp=""八皇后問題:
 如何能夠在8×8的西洋棋棋盤上放置八個皇后,使得任何一個
皇后都無法直接吃掉其他的皇后?為了達到此目的,任兩個皇后
都不能處於同一條橫行、縱行或斜線上。

The Eight Queens Puzzle:
 Place eight chess queens on an 8×8 chessboard so that 
no two queens threaten each other; thus, a solution requires 
that no two queens share the same row, column, or diagonal.

玩法:
 點按棋盤上的格子放置皇后,直到無法放置為止。

How to play:
 Click on the board to place the queen(s) until it cannot 
be placed.""/>
<element type="text" label="textRule">
<show object="false" label="false" ev="40"/>
<condition showObject="showRule"/>
<objColor r="255" g="255" b="0" alpha="0"/>
<layer val="9"/>
<labelMode val="0"/>
<tooltipMode val="2"/>
<fixed val="true"/>
<selectionAllowed val="false"/>
<font serif="false" sizeM="1" size="0" style="1"/>
<startPoint x="0.5" y="8" z="1"/>
</element>
<element type="button" label="buttonUndo">
<show object="true" label="true"/>
<objColor r="0" g="0" b="0" alpha="0"/>
<bgColor r="175" g="238" b="238" alpha="255"/>
<layer val="5"/>
<labelOffset x="325" y="601"/>
<labelMode val="3"/>
<tooltipMode val="2"/>
<fixed val="true"/>
<auxiliary val="true"/>
<ggbscript val="SetValue(queens,queens\Last(queens))"/>
<font serif="false" sizeM="4" size="72" style="1"/>
<dimensions width="160" height="120" />
<startPoint x="4" y="0" z="1"/>
<caption val="Undo"/>
</element>
<element type="button" label="buttonRule">
<show object="true" label="true"/>
<objColor r="0" g="0" b="0" alpha="0"/>
<bgColor r="208" g="240" b="192" alpha="255"/>
<layer val="5"/>
<labelOffset x="509" y="626"/>
<labelMode val="0"/>
<tooltipMode val="2"/>
<animation step="1" speed="1" type="0" playing="false"/>
<auxiliary val="true"/>
<ggbscript val="showRule=!showRule"/>
<font serif="false" sizeM="2" size="24" style="0"/>
<dimensions width="280" height="50" />
<startPoint x="7" y="0" z="1"/>
<caption val="Game Rule"/>
</element>
<element type="button" label="buttonSolutions">
<show object="true" label="true"/>
<objColor r="0" g="0" b="0" alpha="0"/>
<bgColor r="208" g="240" b="192" alpha="255"/>
<layer val="5"/>
<labelOffset x="513" y="702"/>
<labelMode val="3"/>
<tooltipMode val="2"/>
<animation step="1" speed="1" type="0" playing="false"/>
<auxiliary val="true"/>
<ggbscript val="showSolutions=!showSolutions"/>
<font serif="false" sizeM="2" size="24" style="0"/>
<dimensions width="280" height="50" />
<startPoint x="7" y="-1" z="1"/>
<caption val="Fundamental Solutions"/>
</element>
<command name="Polygon">
<input a0="{Corner[1], Corner[2], Corner[3], Corner[4]}"/>
<output a0="polyMask"/>
</command>
<element type="polygon" label="polyMask">
<lineStyle thickness="5" type="0" typeHidden="1" opacity="178"/>
<show object="true" label="false" ev="4"/>
<condition showObject="showRule ∨ showSolutions ∨ showResult"/>
<objColor r="32" g="32" b="32" alpha="0.949999988079071"/>
<layer val="8"/>
<labelMode val="0"/>
<tooltipMode val="2"/>
<ggbscript val="SetValue(showRule,false)
SetValue(showSolutions,false)
SetValue(showResult,false)

"/>
</element>
<element type="image" label="picS1">
<file name="0cc7f5e3be48de53bb9001aad00a3742/transferImage.png"/>
<inBackground val="false"/>
<startPoint number="0" x="-0.25" y="4" z="1"/>
<startPoint number="1" x="11.25" y="4" z="1"/>
<show object="true" label="false"/>
<condition showObject="showSolutions"/>
<objColor r="0" g="0" b="0" alpha="1"/>
<layer val="9"/>
<labelMode val="0"/>
<tooltipMode val="2"/>
<fixed val="true"/>
<selectionAllowed val="false"/>
</element>
<element type="image" label="picS2">
<file name="29dea3c6b3a364a9ab325f189398f46b/transferImage.png"/>
<inBackground val="false"/>
<startPoint number="0" x="-0.25" y="1" z="1"/>
<startPoint number="1" x="11.25" y="1" z="1"/>
<show object="true" label="false"/>
<condition showObject="showSolutions"/>
<objColor r="0" g="0" b="0" alpha="1"/>
<layer val="9"/>
<labelMode val="0"/>
<tooltipMode val="2"/>
<fixed val="true"/>
<selectionAllowed val="false"/>
</element>
<element type="image" label="picS3">
<file name="07e61235b65f4606c38921fa3849dc8e/transferImage.png"/>
<inBackground val="false"/>
<startPoint number="0" x="-0.25" y="-2" z="1"/>
<startPoint number="1" x="11.25" y="-2" z="1"/>
<show object="true" label="false"/>
<condition showObject="showSolutions"/>
<objColor r="0" g="0" b="0" alpha="1"/>
<layer val="9"/>
<labelMode val="0"/>
<tooltipMode val="2"/>
<fixed val="true"/>
<selectionAllowed val="false"/>
</element>
<expression label="textSolutions" exp=""八個皇后在8x8棋盤上只有92個互不相同的解。
如果將旋轉和對稱的解歸為一種的話,則一共有12個獨立解。
The puzzle has 92 distinct solutions. If the symmetry operations of 
rotation/reflection are counted as one, the puzzle has 12 solutions.""/>
<element type="text" label="textSolutions">
<show object="true" label="false" ev="40"/>
<condition showObject="showSolutions"/>
<objColor r="255" g="255" b="0" alpha="0"/>
<layer val="8"/>
<labelMode val="0"/>
<tooltipMode val="2"/>
<fixed val="true"/>
<selectionAllowed val="false"/>
<font serif="false" sizeM="1" size="0" style="1"/>
<startPoint x="0" y="9" z="1"/>
</element>
<element type="boolean" label="showRule">
<value val="false"/>
<show object="false" label="true"/>
<objColor r="0" g="0" b="0" alpha="0"/>
<layer val="0"/>
<labelMode val="0"/>
<checkbox fixed="true"/>
</element>
<element type="boolean" label="showSolutions">
<value val="false"/>
<show object="false" label="true"/>
<objColor r="0" g="0" b="0" alpha="0"/>
<layer val="0"/>
<labelMode val="0"/>
<checkbox fixed="true"/>
</element>
<expression label="textnumQ" exp=""" + numQueens + """ />
<element type="text" label="textnumQ">
<show object="true" label="false" ev="40"/>
<objColor r="255" g="255" b="0" alpha="0"/>
<layer val="2"/>
<labelMode val="0"/>
<tooltipMode val="2"/>
<fixed val="true"/>
<selectionAllowed val="false"/>
<font serif="false" sizeM="4" size="72" style="1"/>
<startPoint x="9.7" y="5" z="1"/>
</element>
<expression label="textnumQueens" exp=""皇后數
Queens""/>
<element type="text" label="textnumQueens">
<show object="true" label="false" ev="8"/>
<objColor r="255" g="255" b="0" alpha="0"/>
<bgColor r="0" g="0" b="0" alpha="255"/>
<layer val="1"/>
<labelMode val="0"/>
<tooltipMode val="2"/>
<fixed val="true"/>
<selectionAllowed val="false"/>
<font serif="false" sizeM="1.4" size="10" style="1"/>
<startPoint x="9.2" y="7.5" z="1"/>
</element>
<expression label="textnumR" exp=""" + numRemaining + """ />
<element type="text" label="textnumR">
<show object="true" label="false" ev="40"/>
<objColor r="255" g="255" b="0" alpha="0"/>
<layer val="2"/>
<labelMode val="0"/>
<tooltipMode val="2"/>
<fixed val="true"/>
<selectionAllowed val="false"/>
<font serif="false" sizeM="4" size="72" style="1"/>
<startPoint x="9.7" y="1.5" z="1"/>
</element>
<expression label="textnumRemaining" exp="" 剩餘格數
Remaining""/>
<element type="text" label="textnumRemaining">
<show object="true" label="false" ev="8"/>
<objColor r="255" g="255" b="0" alpha="0"/>
<layer val="1"/>
<labelMode val="0"/>
<tooltipMode val="2"/>
<fixed val="true"/>
<selectionAllowed val="false"/>
<font serif="false" sizeM="1.4" size="10" style="1"/>
<startPoint x="8.8" y="4" z="1"/>
</element>
<element type="boolean" label="showResult">
<value val="false"/>
<show object="false" label="true"/>
<objColor r="0" g="0" b="0" alpha="0"/>
<layer val="0"/>
<labelMode val="0"/>
<checkbox fixed="true"/>
</element>
<expression label="textDone" exp=""恭喜你,成功了!
嘗試找找看還有沒有其他解法。
Congratulations! You've done it.
Retry to find out other solutions.""/>
<element type="text" label="textDone">
<show object="true" label="false" ev="40"/>
<condition showObject="showResult ≟ true ∧ numQueens ≟ 8"/>
<objColor r="0" g="0" b="0" alpha="0"/>
<bgColor r="255" g="255" b="0" alpha="255"/>
<layer val="8"/>
<labelMode val="0"/>
<tooltipMode val="2"/>
<fixed val="true"/>
<selectionAllowed val="false"/>
<font serif="false" sizeM="1.4" size="10" style="1"/>
<startPoint x="1.5" y="5.5" z="1"/>
</element>
<expression label="textFail" exp=""你失敗了!
你一共只擺放了 " + numQueens + " 個皇后。
You failed!
You have only placed " + numQueens + " Queens."" />
<element type="text" label="textFail">
<show object="true" label="false" ev="8"/>
<condition showObject="showResult ≟ true ∧ numQueens ≠ 8"/>
<objColor r="153" g="51" b="0" alpha="0"/>
<bgColor r="0" g="255" b="0" alpha="255"/>
<layer val="9"/>
<labelMode val="0"/>
<tooltipMode val="2"/>
<fixed val="true"/>
<selectionAllowed val="false"/>
<font serif="false" sizeM="1.4" size="10" style="1"/>
<startPoint x="1.5" y="5.5" z="1"/>
</element>
</construction>
</geogebra>