<?xml version="1.0" encoding="UTF-8"?>
<Worksheet>
<Version major="2018" minor="1"/>
<Label-Scheme value="2" prefix=""/>
<View-Properties presentation="true" autoexpanding_sections="true" UserProfileName="Maple Default Profile" NumericFormat-ApplyInteger="true" NumericFormat-ApplyRational="true" NumericFormat-ApplyExponent="false" editable="true">
</View-Properties>
<MapleNet-Properties prettyprint="3" warnlevel="3" preplot="" helpbrowser="standard" displayprecision="-1" echo="1" unitattributes="&quot;fontweight&quot; = &quot;bold&quot;" imaginaryunit="I" longdelim="true" elisiontermsthreshold="10000" elisiondigitsafter="100" elisiondigitsbefore="100" plotdevice="inline" errorbreak="1" plotoptions="" plotdriver="opengl" quiet="false" elisiontermsbefore="100" elisiontermsafter="100" screenwidth="79" indentamount="4" plotoutput="terminal" screenpixelheight="1024" rtablesize="10" useclientjvm="true" labelwidth="20" postplot="" typesetting="extended" ansi="false" ansicolor="[]" elisiondigitsthreshold="10000" showassumed="1" ansilprint="false" errorcursor="false" labelling="true" screenheight="25" prompt="&gt; " verboseproc="1" latexwidth="8.0" ShowLabels="true"/>
<Styles>
<Font name="Heading 1" background="[255,255,255]" bold="true" executable="false" family="Times New Roman" foreground="[0,0,0]" italic="false" opaque="false" readonly="false" size="18" subscript="false" superscript="false" underline="false" placeholder="false"/>
<Font name="Warning" background="[255,255,255]" bold="false" executable="false" family="Courier New" foreground="[0,0,255]" italic="false" opaque="false" readonly="true" size="12" subscript="false" superscript="false" underline="false" placeholder="false"/>
<Font name="2D Output" background="[255,255,255]" bold="false" executable="false" family="Times New Roman" foreground="[0,0,255]" italic="false" opaque="false" readonly="true" size="12" subscript="false" superscript="false" underline="false" placeholder="false"/>
<Font name="Heading 4" background="[255,255,255]" bold="false" executable="false" family="Times New Roman" foreground="[0,0,0]" italic="true" opaque="false" readonly="false" size="12" subscript="false" superscript="false" underline="false" placeholder="false"/>
<Font name="Line Printed Output" background="[255,255,255]" bold="false" executable="false" family="Courier New" foreground="[0,0,255]" italic="false" opaque="false" readonly="true" size="12" subscript="false" superscript="false" underline="false" placeholder="false"/>
<Font name="Heading 2" background="[255,255,255]" bold="true" executable="false" family="Times New Roman" foreground="[0,0,0]" italic="false" opaque="false" readonly="false" size="16" subscript="false" superscript="false" underline="false" placeholder="false"/>
<Font name="Maple Output" background="[255,255,255]" bold="false" executable="false" family="Times New Roman" foreground="[0,0,0]" italic="false" opaque="false" readonly="false" size="12" subscript="false" superscript="false" underline="false" placeholder="false"/>
<Font name="2D Inert Output" background="[255,255,255]" bold="false" executable="true" family="Times New Roman" foreground="[144,144,144]" italic="false" opaque="false" readonly="false" size="12" subscript="false" superscript="false" underline="false" placeholder="false"/>
<Font name="Heading 3" background="[255,255,255]" bold="true" executable="false" family="Times New Roman" foreground="[0,0,0]" italic="true" opaque="false" readonly="false" size="14" subscript="false" superscript="false" underline="false" placeholder="false"/>
<Font name="Diagnostic" background="[255,255,255]" bold="false" executable="false" family="Courier New" foreground="[40,120,40]" italic="false" opaque="false" readonly="true" size="12" subscript="false" superscript="false" underline="false" placeholder="false"/>
<Font name="Ordered List 1" background="[255,255,255]" bold="false" executable="false" family="Times New Roman" foreground="[0,0,0]" italic="false" opaque="false" readonly="false" size="12" subscript="false" superscript="false" underline="false" placeholder="false"/>
<Font name="Maple Input" background="[255,255,255]" bold="true" executable="true" family="Courier New" foreground="[120,0,14]" italic="false" opaque="false" readonly="false" size="12" subscript="false" superscript="false" underline="false" placeholder="false"/>
<Font name="Text Output" background="[255,255,255]" bold="false" executable="false" family="Courier New" foreground="[0,0,255]" italic="false" opaque="false" readonly="true" size="12" subscript="false" superscript="false" underline="false" placeholder="false"/>
<Font name="Ordered List 2" background="[255,255,255]" bold="false" executable="false" family="Times New Roman" foreground="[0,0,0]" italic="false" opaque="false" readonly="false" size="12" subscript="false" superscript="false" underline="false" placeholder="false"/>
<Font name="Ordered List 3" background="[255,255,255]" bold="false" executable="false" family="Times New Roman" foreground="[0,0,0]" italic="false" opaque="false" readonly="false" size="12" subscript="false" superscript="false" underline="false" placeholder="false"/>
<Font name="Ordered List 4" background="[255,255,255]" bold="false" executable="false" family="Times New Roman" foreground="[0,0,0]" italic="false" opaque="false" readonly="false" size="12" subscript="false" superscript="false" underline="false" placeholder="false"/>
<Font name="Ordered List 5" background="[255,255,255]" bold="false" executable="false" family="Times New Roman" foreground="[0,0,0]" italic="false" opaque="false" readonly="false" size="12" subscript="false" superscript="false" underline="false" placeholder="false"/>
<Font name="Annotation Title" background="[255,255,255]" bold="true" executable="false" family="Times New Roman" foreground="[0,0,0]" italic="false" opaque="false" readonly="false" size="18" subscript="false" superscript="false" underline="false" placeholder="false"/>
<Font name="Header and Footer" background="[255,255,255]" bold="false" executable="false" family="Times New Roman" foreground="[0,0,0]" italic="false" opaque="false" readonly="false" size="10" subscript="false" superscript="false" underline="false" placeholder="false"/>
<Font name="HyperlinkError" background="[255,255,255]" bold="false" executable="false" family="Courier New" foreground="[255,0,255]" italic="false" opaque="false" readonly="true" size="12" subscript="false" superscript="false" underline="true" placeholder="false"/>
<Font name="Atomic Variable" background="[255,255,255]" bold="false" executable="false" family="Times New Roman" foreground="[175,0,175]" italic="true" opaque="false" readonly="false" size="12" subscript="false" superscript="false" underline="false" placeholder="false"/>
<Font name="HyperlinkWarning" background="[255,255,255]" bold="false" executable="false" family="Courier New" foreground="[0,0,255]" italic="false" opaque="false" readonly="true" size="12" subscript="false" superscript="false" underline="true" placeholder="false"/>
<Font name="Dictionary Hyperlink" background="[255,255,255]" bold="false" executable="false" family="Times New Roman" foreground="[147,0,15]" italic="false" opaque="false" readonly="false" size="12" subscript="false" superscript="false" underline="true" placeholder="false"/>
<Font name="2D Math" background="[255,255,255]" bold="false" executable="true" family="Times New Roman" foreground="[0,0,0]" italic="false" opaque="false" readonly="false" size="12" subscript="false" superscript="false" underline="false" placeholder="false"/>
<Font name="Bullet Item" background="[255,255,255]" bold="false" executable="false" family="Times New Roman" foreground="[0,0,0]" italic="false" opaque="false" readonly="false" size="12" subscript="false" superscript="false" underline="false" placeholder="false"/>
<Font name="Maple Plot" background="[255,255,255]" bold="false" executable="false" family="Times New Roman" foreground="[0,0,0]" italic="false" opaque="false" readonly="false" size="12" subscript="false" superscript="false" underline="false" placeholder="false"/>
<Font name="Annotation Text" background="[255,255,255]" bold="false" executable="false" family="Times New Roman" foreground="[0,0,0]" italic="false" opaque="false" readonly="false" size="12" subscript="false" superscript="false" underline="false" placeholder="false"/>
<Font name="List Item" background="[255,255,255]" bold="false" executable="false" family="Times New Roman" foreground="[0,0,0]" italic="false" opaque="false" readonly="false" size="12" subscript="false" superscript="false" underline="false" placeholder="false"/>
<Font name="Dash Item" background="[255,255,255]" bold="false" executable="false" family="Times New Roman" foreground="[0,0,0]" italic="false" opaque="false" readonly="false" size="12" subscript="false" superscript="false" underline="false" placeholder="false"/>
<Font name="2D Input" background="[255,255,255]" bold="false" executable="true" family="Times New Roman" foreground="[0,0,0]" italic="false" opaque="false" readonly="false" size="12" subscript="false" superscript="false" underline="false" placeholder="false"/>
<Font name="Error" background="[255,255,255]" bold="false" executable="false" family="Courier New" foreground="[255,0,255]" italic="false" opaque="false" readonly="true" size="12" subscript="false" superscript="false" underline="false" placeholder="false"/>
<Font name="Title" background="[255,255,255]" bold="true" executable="false" family="Times New Roman" foreground="[0,0,0]" italic="false" opaque="false" readonly="false" size="18" subscript="false" superscript="false" underline="false" placeholder="false"/>
<Font name="Text" background="[255,255,255]" bold="false" executable="false" family="Times New Roman" foreground="[0,0,0]" italic="false" opaque="false" readonly="false" size="12" subscript="false" superscript="false" underline="false" placeholder="false"/>
<Font name="Normal" background="[255,255,255]" bold="false" executable="false" family="Times New Roman" foreground="[0,0,0]" italic="false" opaque="false" readonly="false" size="12" subscript="false" superscript="false" underline="false" placeholder="false"/>
<Font name="Caption Reference" background="[255,255,255]" bold="true" executable="false" family="Times New Roman" foreground="[0,0,0]" italic="false" opaque="false" readonly="false" size="12" subscript="false" superscript="false" underline="false" placeholder="false"/>
<Font name="Code" background="[255,255,255]" bold="false" executable="false" family="Courier New" foreground="[255,0,0]" italic="false" opaque="false" readonly="false" size="12" subscript="false" superscript="false" underline="false" placeholder="false"/>
<Font name="Maple Input Placeholder" background="[255,255,255]" bold="true" executable="true" family="Courier New" foreground="[200,0,200]" italic="false" opaque="false" readonly="false" size="12" subscript="false" superscript="false" underline="false" placeholder="true"/>
<Font name="Equation Label" background="[255,255,255]" bold="true" executable="false" family="Times New Roman" foreground="[0,0,0]" italic="false" opaque="false" readonly="false" size="12" subscript="false" superscript="false" underline="false" placeholder="false"/>
<Font name="Author" background="[255,255,255]" bold="false" executable="false" family="Times New Roman" foreground="[0,0,0]" italic="false" opaque="false" readonly="false" size="12" subscript="false" superscript="false" underline="false" placeholder="false"/>
<Font name="Hyperlink" background="[255,255,255]" bold="false" executable="false" family="Times New Roman" foreground="[0,128,128]" italic="false" opaque="false" readonly="false" size="12" subscript="false" superscript="false" underline="true" placeholder="false"/>
<Font name="Caption Text" background="[255,255,255]" bold="true" executable="false" family="Times New Roman" foreground="[0,0,0]" italic="false" opaque="false" readonly="false" size="12" subscript="false" superscript="false" underline="false" placeholder="false"/>
<Layout name="Heading 1" alignment="left" bullet="none" firstindent="0" leftmargin="0" rightmargin="0" linespacing="0.0" spaceabove="8" spacebelow="4" linebreak="space" pagebreak-before="false" initial="0" bulletsuffix=""/>
<Layout name="Warning" alignment="left" bullet="none" firstindent="0" leftmargin="0" rightmargin="0" linespacing="0.0" spaceabove="0" spacebelow="0" linebreak="space" pagebreak-before="false" initial="0" bulletsuffix=""/>
<Layout name="Heading 4" alignment="left" bullet="none" firstindent="0" leftmargin="0" rightmargin="0" linespacing="0.0" spaceabove="0" spacebelow="0" linebreak="space" pagebreak-before="false" initial="0" bulletsuffix=""/>
<Layout name="Line Printed Output" alignment="left" bullet="none" firstindent="0" leftmargin="0" rightmargin="0" linespacing="0.0" spaceabove="0" spacebelow="0" linebreak="any" pagebreak-before="false" initial="0" bulletsuffix=""/>
<Layout name="Heading 2" alignment="left" bullet="none" firstindent="0" leftmargin="0" rightmargin="0" linespacing="0.0" spaceabove="8" spacebelow="2" linebreak="space" pagebreak-before="false" initial="0" bulletsuffix=""/>
<Layout name="Maple Output" alignment="centred" bullet="none" firstindent="0" leftmargin="0" rightmargin="0" linespacing="0.3" spaceabove="0" spacebelow="0" linebreak="space" pagebreak-before="false" initial="0" bulletsuffix=""/>
<Layout name="Heading 3" alignment="left" bullet="none" firstindent="0" leftmargin="0" rightmargin="0" linespacing="0.0" spaceabove="0" spacebelow="0" linebreak="space" pagebreak-before="false" initial="0" bulletsuffix=""/>
<Layout name="Diagnostic" alignment="left" bullet="none" firstindent="0" leftmargin="0" rightmargin="0" linespacing="0.0" spaceabove="0" spacebelow="0" linebreak="any" pagebreak-before="false" initial="0" bulletsuffix=""/>
<Layout name="Ordered List 1" alignment="left" bullet="numeric" firstindent="0" leftmargin="0" rightmargin="0" linespacing="0.0" spaceabove="3" spacebelow="3" linebreak="space" pagebreak-before="false" initial="-1" bulletsuffix="."/>
<Layout name="Text Output" alignment="left" bullet="none" firstindent="0" leftmargin="0" rightmargin="0" linespacing="0.0" spaceabove="0" spacebelow="0" linebreak="newline" pagebreak-before="false" initial="0" bulletsuffix=""/>
<Layout name="Ordered List 2" alignment="left" bullet="alphabetic" firstindent="0" leftmargin="36" rightmargin="0" linespacing="0.0" spaceabove="3" spacebelow="3" linebreak="space" pagebreak-before="false" initial="-1" bulletsuffix="."/>
<Layout name="Ordered List 3" alignment="left" bullet="roman" firstindent="0" leftmargin="72" rightmargin="0" linespacing="0.0" spaceabove="3" spacebelow="3" linebreak="space" pagebreak-before="false" initial="-1" bulletsuffix="."/>
<Layout name="Ordered List 4" alignment="left" bullet="ALPHABETIC" firstindent="0" leftmargin="108" rightmargin="0" linespacing="0.0" spaceabove="3" spacebelow="3" linebreak="space" pagebreak-before="false" initial="-1" bulletsuffix="."/>
<Layout name="Ordered List 5" alignment="left" bullet="ROMAN" firstindent="0" leftmargin="144" rightmargin="0" linespacing="0.0" spaceabove="3" spacebelow="3" linebreak="space" pagebreak-before="false" initial="-1" bulletsuffix="."/>
<Layout name="Annotation Title" alignment="centred" bullet="none" firstindent="0" leftmargin="0" rightmargin="0" linespacing="0.0" spaceabove="12" spacebelow="12" linebreak="space" pagebreak-before="false" initial="0" bulletsuffix=""/>
<Layout name="HyperlinkError" alignment="left" bullet="none" firstindent="0" leftmargin="0" rightmargin="0" linespacing="0.0" spaceabove="0" spacebelow="0" linebreak="space" pagebreak-before="false" initial="0" bulletsuffix=""/>
<Layout name="HyperlinkWarning" alignment="left" bullet="none" firstindent="0" leftmargin="0" rightmargin="0" linespacing="0.0" spaceabove="0" spacebelow="0" linebreak="space" pagebreak-before="false" initial="0" bulletsuffix=""/>
<Layout name="Bullet Item" alignment="left" bullet="dot" firstindent="0" leftmargin="0" rightmargin="0" linespacing="0.0" spaceabove="3" spacebelow="3" linebreak="space" pagebreak-before="false" initial="0" bulletsuffix=""/>
<Layout name="Maple Plot" alignment="centred" bullet="none" firstindent="0" leftmargin="0" rightmargin="0" linespacing="0.0" spaceabove="0" spacebelow="0" linebreak="space" pagebreak-before="false" initial="0" bulletsuffix=""/>
<Layout name="List Item" alignment="left" bullet="indent" firstindent="0" leftmargin="0" rightmargin="0" linespacing="0.0" spaceabove="3" spacebelow="3" linebreak="space" pagebreak-before="false" initial="0" bulletsuffix=""/>
<Layout name="Dash Item" alignment="left" bullet="dash" firstindent="0" leftmargin="0" rightmargin="0" linespacing="0.0" spaceabove="3" spacebelow="3" linebreak="space" pagebreak-before="false" initial="0" bulletsuffix=""/>
<Layout name="Error" alignment="left" bullet="none" firstindent="0" leftmargin="0" rightmargin="0" linespacing="0.0" spaceabove="0" spacebelow="0" linebreak="space" pagebreak-before="false" initial="0" bulletsuffix=""/>
<Layout name="Title" alignment="centred" bullet="none" firstindent="0" leftmargin="0" rightmargin="0" linespacing="0.0" spaceabove="12" spacebelow="12" linebreak="space" pagebreak-before="false" initial="0" bulletsuffix=""/>
<Layout name="Normal" alignment="left" bullet="none" firstindent="0" leftmargin="0" rightmargin="0" linespacing="0.0" spaceabove="0" spacebelow="0" linebreak="space" pagebreak-before="false" initial="0" bulletsuffix=""/>
<Layout name="Author" alignment="centred" bullet="none" firstindent="0" leftmargin="0" rightmargin="0" linespacing="0.0" spaceabove="8" spacebelow="8" linebreak="space" pagebreak-before="false" initial="0" bulletsuffix=""/>
<Pencil-style name="Pencil 1" pen-color="[0,0,0]" pen-height="1.0" pen-width="1.0" pen-opacity="1.0"/>
<Pencil-style name="Pencil 2" pen-color="[0,0,255]" pen-height="1.0" pen-width="1.0" pen-opacity="1.0"/>
<Pencil-style name="Pencil 3" pen-color="[0,0,0]" pen-height="3.0" pen-width="3.0" pen-opacity="1.0"/>
<Pencil-style name="Pencil 4" pen-color="[0,0,255]" pen-height="3.0" pen-width="3.0" pen-opacity="1.0"/>
<Pencil-style name="Pencil 5" pen-color="[255,0,0]" pen-height="5.0" pen-width="5.0" pen-opacity="1.0"/>
<Highlighter-style name="Highlighter 5" pen-color="[255,255,0]" pen-height="48.0" pen-width="48.0" pen-opacity="0.8"/>
<Highlighter-style name="Highlighter 3" pen-color="[51,255,0]" pen-height="24.0" pen-width="24.0" pen-opacity="0.8"/>
<Highlighter-style name="Highlighter 4" pen-color="[0,255,255]" pen-height="32.0" pen-width="32.0" pen-opacity="0.8"/>
<Highlighter-style name="Highlighter 1" pen-color="[255,153,255]" pen-height="12.0" pen-width="8.0" pen-opacity="0.8"/>
<Highlighter-style name="Highlighter 2" pen-color="[255,204,0]" pen-height="14.0" pen-width="14.0" pen-opacity="0.8"/>
</Styles>
<Startup-Code startupcode=""/>
<Task-table>
    <Task-category name="&lt;default&gt;"/>
</Task-table>
<Task/><Presentation-Block>
<Group view="presentation" inline-output="false" labelreference="L1308" drawlabel="true" applyint="true" applyrational="true" applyexponent="false">
<Input><Text-field style="Title" layout="Title"><Font size="36" style="Text" bold="true">The </Font><Equation executable="false" style="2D Math" input-equation="" display="LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYnLUkjbWlHRiQ2KVEibkYnLyUlc2l6ZUdRIzM2RicvJSVib2xkR1EldHJ1ZUYnLyUnaXRhbGljR0Y0LyUrZXhlY3V0YWJsZUdRJmZhbHNlRicvJSxtYXRodmFyaWFudEdRLGJvbGQtaXRhbGljRicvJStmb250d2VpZ2h0R1ElYm9sZEYnRjJGNy9GO0Y/Rj0=">LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYnLUkjbWlHRiQ2KVEibkYnLyUlc2l6ZUdRIzM2RicvJSVib2xkR1EldHJ1ZUYnLyUnaXRhbGljR0Y0LyUrZXhlY3V0YWJsZUdRJmZhbHNlRicvJSxtYXRodmFyaWFudEdRLGJvbGQtaXRhbGljRicvJStmb250d2VpZ2h0R1ElYm9sZEYnRjJGNy9GO0Y/Rj0=</Equation><Font size="36" style="Text" bold="true">-Queens Problem</Font><Font size="16" style="Text" bold="true">
Curtis Bright</Font><Font size="16" style="Text">, Maplesoft</Font></Text-field>
</Input>
</Group></Presentation-Block><Presentation-Block>
<Group view="presentation" inline-output="false" labelreference="L2073" drawlabel="true" applyint="true" applyrational="true" applyexponent="false"><Text-field opaque="false" subscript="false" underline="false" superscript="false" bold="false" foreground="[0,0,0]" italic="false" executable="false" selection-placeholder="false" size="12" readonly="false" background="[255,255,255]" placeholder="false" family="Times New Roman" spaceabove="0" linebreak="space" rightmargin="0" linespacing="0.0" initial="0" firstindent="0" leftmargin="0" bulletsuffix="" alignment="centred" bullet="none" spacebelow="0" pagebreak-before="false"><Image height="400" width="400" zoomable="false" labelreference="L2071" drawcaption="false" captionalignment="0" captionposition="1">TUZOV3RLVWI8b2I8Uj1NRExDZE5GWkpsOj5bQFo6eHFwXlNGW2o/Y1NXSHRKXFxjPUBqRGlMQWg7O2teTG5aTE92bHNwcXdwPE9kWFA7dU14aWxBcFVxSG1jdXlwXUteZG06PXBjQGw6XUtmZVhAXXM8ZU9oPG07UU1WdVVAbVByUFY8VE1iXFxYVnRWWmVOS21OXlVMXT1MVl1TamlwalVqQFVUcE1LVmVzRE1TXFw9WFtNU1xcQFVwYUw+QVZHdW5abEtOYG5iRUtOTVlATXJwTU93aFZRSFdEeHY9aEo9THhQaVlxSVF3TXk6aXh1UUxeeHNHdFR0cXZuaVhYTXFJSVlaPVlyP2BCQGtCYHFueXljZl06QGtCYHRDaFo8X2I+T2JSP14+X2JeXmo/TmI+S1RIb1g8T2VUTz15VlloWWB5c2ZMbHRJdkF4TUpZdE1Zaj9Za1FUUl1IbWx5WW08bndleE95VHJddkt4UkpMTExMbm5dTFt0dXhVeWdsWXJJdkFcXFFvYXRNTVNBRUxcXFFYc0B0T2l0P0B3YkFXYmVwVGVuXUFLc0hZbXFOeE15TXltXFxJcEFxTU1NUURAbGlxcXVxS1lxWXVfckBxcmRmXT8/c0pBdEpucXRRd2U+XUdwYnZ5cXl5eHlhbEhYXmZGYXNGXWl3cXdxeD54d0lHeURReVN5ZllIbnNIcVNGX2NGX2xuckx4c29Zd1FJOnVUUXVEPFFyPGFESFVGYHF4Z1l1cmdZdXFoZHV2WldnZVdLWkl2QXhNUD1RQ0BNZWh0RD50VFF1ZFB1cz53aXl3QUJ5Q3lDeVNOa1NcXGtmd2dpV0V3QmtJc3F2VXdXajtJcjtjO0lyOz1lRm1GX1d2QkNFU3VDYFN4OmFUaVV2V21pdkVROml2RXlsX0lTX1RQbUh1RmB1Vj9vZmBvPl9lVl9tTEloPmBuXmBuWkZhc0ZdR2lzR1FjQUdcXExYbVVYa2RRd2RndGhJc1Rnb1BfXFxQblxcXFxBdjtZamJeX2ZeZHRua0pAc0JBY3ZBeV15a3JmaGRhbExJZD5AbUdxZlJoc2A/b29ZdEBuYFVoW0tIbEtAZW9QZ09Oa0RQa05wa11ebmpAcEpOaXdwaUxxX1pJYUpOXlxcTlxcPFFaW05eXFxGXmY+XFxcXE4+P0A/O2JqYkI6P0A/O2JqYkI6P0A/O2JqYkJ0cVhJV0Npd3BVbmhwb0h0TGhcXFU6dVhxdVBWbEtBXFxrQFVed3l1eWlhbE9obD9cXFhuXWh5c3Jebkx3dGl4ZUFoclxcR2Jpd2dpblpBdlpLTl1UTmtiQXdiX25faG5jcHhYeV9eeWVQVms/dl15X3lrTmF0TmFKeXRReWpqQXhqP21Gb152YHhMWWNkaHFpd2pMXnlQP15HaGtHQHV2SGltTnl0UXlAaWl5WG5dWFpvaXhvQXVzWGhhTnhtWXhLb2VYb1tXcGNheW9SX25cXGZlV2dlUmlxdXd4YmljTHBibmF4bkF2VGlwZT9vaHBvQE9obE9gRFBrREB5cV5iTVB3aHF3QHFyR1hdS3F0UHFgaFl5V2htV0BnZE9nPHFxd1d5SlBsTFBqZFF3ZG9nSlFpOnlfQUBwSHBdd05rb1ZnUGFjYnZrdWldc05oPlZnUGFvO1hyW0F4QV9fTEdsUHBsUF55YHlgeUhtSm9dcVlxbGd2RE5bRE5bald5cGlneWZeXWZwYldnZVdybXhzeFZhW2BhaHl0VmF1RmByPmFyY3d3PnlicUFzWD9eR2hLS0NES0NacVh1Z0lUbWlzR2lTQ2lzR2lYc0dJVWhZdVhxdUhwdW9VVFI9VVJYZE9ZWXRNWWpXVXFwRXZIaW11TFBhVE5vQHdlWXc9UW1vVFdaYVh0ZFFYbVF3ZFFXbFh1aFVgYVZkcU5lRWpyaHVoXVdYV3BRaWZKd2RRd2pAcXJAR21MR2xUYV1yPmg6WXdsPnFrV3ZAdnlAQGdOR2RLR2xRaWZaV3BTQXB5d3l4R21MZnNITnBQPmNXZ2VXYWtBaG9gUGhmQXVrRmtNQWxUZmhvZ2hbcXJHWF08V2ZJeW15dl9rT11MV151aHVIUHVUUWVbSHBhbmNWQHZLQWxjP3NUP15ZYGlsSWtqQXVAcXJAb2NWRnJcXEdwQnZrZ0l3Y0l2Wz5bPGdpd2dxallnQ1hyW0F4Y3lnam9wTWhwOk9xdVhxP3hydGh1aD91Zm9gY1FySlBfR2FoTGFlaEl4XnBpWXdpd2lwSVd2d0dpV1ZtZ2FmZz5cXFFYc19ZdHJxc0hxY0NQbEpQZVdpcXV3dGFIeGdpd2dRXFxfRl5vUHhvaWhCeWxdRl9taG1maFpcXF9gVGZpVHZtSkBsWmZjSk5kZ1ZqO0F2TUF5PmFyPkdrTEBMVWNQY0dsSVd2WXNpc2lmQ1RMR3VBbXQ8Q3lBd1lyeUJbSWhLRVRLPUNDQ0NLP0hHQ2dLXVVWXWVqQVVXb1NBP2NCP0NDU3RKT0VfY0ZfQ3lua2VVS2hNVWRvP1JsT2hsP2ZLQWN3PXVXZ2dJPXJ3Z0lCZ0JFa0RCY2NHbVNIbVJqPVhqX3JDP1NnTXZdWXZLU0VVU0dua0hvY0hPd2VCdWVAX2c/S1ZqO0VKPVVSPXdvQWlqQXhqXXZheXZFQWRCX3RgbXV2R1lCSXNDSXh0XVVqPVhqa1V2RXg/RXc9Q2RkY2RQb2R0ZWlrU2dLQVdKTVVUTUdNTWZTSVJweVNcXHdkUXdkdWVoRUNnTUl3am14ZklVYml4dEVFTUVkVF9mYXdmXUl5YXllcUFZc0FmWj9Gdkd4QFlFdj9oXFxjY1R1aGhlRXBdd1JJdk9BZURPY0RrRXhPZTtfdz9LZktBV2pFeWxpVl5lVl9lc3JfV3I9WXJLRVRLRXJDV25DclV1V3dnYkdTRXBbc3JfZUh1Zj1FVVNFZUl5cndHV3BJR2lzR0FlVl9ldkZXWVxcS0VHb0JBeWNZc0R0S1lsc3RyaXZcXE1jVGNjQGN0T2l0Yj1XYj1yZGl0ZXdGRj1WRl1TRktzRVlzS3F1WHFzT3NlYF9ob1V3UF1UUG1UXFxlckRnRE1rc2c9RUZrQl51VmFVdl5Jc01fWWFpREdFR3lzSVlzVXZFeD9rSGdNdW5DdmJzckJJRnF5SXdJd0k9dW5HV01PUkNjdD95Z3FZQkNVU0VVUlRNVVRbVWhzRGZtSFVbVWhzREZvUl1zQ1FFZEFRdlxcUXZKc0RRc2JbR2ZbO3VncVhyY2VIPUVGa0JbWURnYUhxQWVGbUZWc0l4XUVBeWNZc1JZdVVZW3dwVUk8WXI9YHlQSHhzQHNpaEpsTFJlaHRcXGxOYGxSQ3hVR1VwPj1USj1MSUlYSnhzPFlyPUl5aFRfWmlfZ0drQkBjQlZbPkBrQmBqakBiQkBrQj87Ojo6Ojo6OjpaQmFsUVd2d0l2QXhdamd5dGloT3FlUXZ5SXZpcllaOj5yZm9gZVB5bGZzUXFvV1dkZ2FdUmhzYD9acXF3ZnFuQGdxd2hRO3Y9d0N4cGtIcEs/WHRCSHBTYWdieGhIXl9QVjtLZ1d1QkBrQkA7SlRNVVRdVHV0SlBVb090UXVJdUlxTndddztIdltJZk1oYWpBdD13W1s/aGo/ZFBBZj5fYk4+eVBuX1Y/a2lxcXVxZzx5eGFgdT1GaWBJbWE/aG1xdkdfXXReaEJvdFpPaGNfZ2ZfalNhZ0BJd015bk9XaUVgdUJBc0JfYWthck0+dW14ZklQdEtfamZpdXV4XFxQV29PZmF3ZmFEd2JLTnRWYXVGYHVWYWV2QHlcXFlrUldxcGdvTEloPmBxblFUS1I8TVJKUXVUUWduXURbY0ZfY0ZqU2VHQUltbXZGT3RLXWJSaXdwXURQa0RcXGV3VGlocltZckFoTElYPl9HWW1pdk1zdW1mRkVVWkNSO0VSajtFRktnd1t5bUtkdVtJdltFQFVmS0V1amtJUndJeW1pZHd2OlVmS0FncEl5WUNzdz9YW1FST3FzOz1XYj1Hbk1JV09XYUFWS1FmPz1CWk91YXlZPj1XYj1nZHV2Wk1pVmFJQ29TPl1SPD1VWltSPl1GPmdCPF1SPk06Ojo6Ojo6OjpqRkVZb2xVVFBVYXVWYVxcb1BVT2ZtUFVMUjxNUkpUTVVUb1RZU0BZb09VVVVVTXRUUXVEVnFYdUtsTVhsa3JBeXJdUj9lUmNkTWVtc2pFcVY9cFJdT2Jxd2hxakVpdjxIdGJdUkxNVExMUjxNUk5wa0BtWT5RSmtRclNYUGE9eEhZUWlBcmRlcEg9WWZMT2RMS1VtcGZFUltFVltcXFBUbFFnUFhqVXFXQXV1eFhpbGtXVFFAcHF4VlxcWHZjRE9jPFlnaWhxQGh0ZXhkZT5saG9nalh1Z0FfY0ZfO2djR2dbVnBjYUFxQWFgVGZbUGlvVXdqV1dxcEdecG5gUEduPmB2SV9hPmh2O3ZwVWlrZ1hlcVBmXXFyR1hsUHg6Y3VXaXViS0dkS3JUZ0hlanNEdmZ5VnFYdWtgV1NRUGZhZWFhbl9JWlZZcXdJd1RoYGU/cG13dkg/cVdxZ3l2XlZoeWZuXFxFbmxoZmVEWG5Bd2tIP19JPnZYUWlMV2VVV2s+YXI+X3RQcXRkPmxKYHlHaFpcXElqXFxQblxcXl13TmlOWW5fV11VVl1LcG1YcHNRPmBDRnFWb19eeG5hWGl2d2R3UHBsUGBOYGxOQHNWUGdoR3docXdAUXlvWXdhYF9pSXBWcGNhbmBoX3VCUHl0UWl5Xl5dZl5rQGJgP2RNV2RdaXhnZ2lVWG1VSGRQb2RgVmRcXEhxYUBuWkByZVllbHBsT2hsW0hxc0hlWEBibV9rVWl3QFFtb1ZnWndwVWlxVFZsV2htR2lxa0llSGhabFZqd1l5cVlbR1hhcF93Ul5laHZsPklnYHFddWh1SFBtVFBdW0hwZGdxQWZoWkhvaXhvQXdmYXduUVl2Vm5bQV5zYFdwbklqYj5makBiYEhgbHFnZUZcXHBXcVdYZTpRXFxiWG9lWFxcaE52QHFyQG9nO1ZjWlluSXBhTF9mZmZaeG5cXEJhYFRRdVRhaVR2X1RvYW55ZFF5b1l3XFxYVndsR3E+cHBWSGd2dmVQWVppd1t3Tmx0QHA6b25bSXNDVnJjQWhlWXNxb3FISVpxUVp3d3ZlYV1SYWdwRmc8QGQ6SWY7YGNdXmF2XnVhSHhgVmxDT25eVmhReG9tP1xcTVZcXF1GZExIcUV5dHM+eG9fYT9uX1A+U3NVeVtDb1ljWV15PE1mXlNYUVlISWFJXVtJUFVmS0FGeGtJWE1yblNYTXdHZUlSRl1TRnNJUlVJRUdoOm1mW01IU19iaXNjW3d0ZUl5Qz9XQ1tnVXVoSD15PztHX2NGP1dVeU9EckV2P3dEPndyeF94TFlTTGtGWz9SPVFCU0dycGdXVWFiQGlWX2VWO3VmTUlTVm9WaElIVGNjUnVoaGVlSkF1Z1NVcD9TVm9WaE1zQkFzSktHXFxlZ1BVY1ZfZVZDdz1DVDpBVjtfc1pzSXlzdWVpSUNTZENhYmxReGxFZUxjc3djVE9lVFh1aTpnV1RhaENDRVNDRWxjRlRAV29QVVZwUXdNdWVpUTtZdkF5a211S2ptbF1FanI9dm5Jd01xTWllSkFxckBRbltIbjtYWVlMTERES0NEcl9Zc1FoUXhcXG1SSG1TSGtkUG9kRG1NZXNnRFNDRVNydFhoYW1BdVlRUU1HcEpBdEtYXFxSUG1UUHhNTEg8bE1KSXduPVFxbWdOcGxQUHJaP2BGT3FGcGVpeGJbR2ZbbnFyUXZFSF9RSF5rR2RLR2RyUXZFeF9qSGdNcW5jdmU+YWtAV15kVl9lZmpwcGxjb2ZleGRpcGJFV2NFTnRMUXRgYGl4V1xcTE5cXEpBdEpBajxRcjx3YWFYXl8+aGdWeDxZbWlvcUNoXXVuaFpIcXNIXWdnZ2c/d2l5d0E/ZVI/XVxcV2ZdR2xUUG1EaXFIRm1jaXh0X115QkFlUj9lQlRTRVVDeE95VFlFcltBWFpFdFxcZ1JCd2NJd1JMTVRMU2M9bVZdU1lScUhVZ0NvaXhvVHdQaU86PHJcXGhSRWZeX2ZqUUhoWVhmcnBwc0djZWh0XFxmX2dmO01NX1huRklVdGVxWERtU0htRHVyUlh0RnBSXUx4bVl4T3BrO01LXUlOZkxOXFxMXFw/QktDZEprPEM7Ojo6Ojo6Ojo6SklcXEtJdEtJdFNwQXI9eUt5XFxrVXlwaVV5dXRLS0RMPzxtSkBsSkhTdUFWRFl5O0BNRmxKVnFxd1VNdXBYZ1FsbzxtVm1RdkF4PT11Zm1QZlRVcGBLSV1Ra2FqTElYPkBtR3FWOjxUZ2FNTmBsTkBKOkxYbE1YTmhLXFw8c2RlcDxRV29QTmhsT0h0eXZ5c3lhb25dTVtMV1lYSm94bz10cGhldTxIdWZtcnZJeW1JeDxZS2k8T1d0UkJIdWZtbWxxT2VYVGhJamZ0VXhgTTo8WHNReF9FeUxIc0JhV3BUTnF0UFFkbE9obEJYa0VYVHRsa0pgbE5gTF50TmFUbnNIcVNFd2JMUmxVWG1FVFdlVUd4c3hUeUZFd2JMUmZwVGVMO0ZyPVBvd2hiZV9mXl9eeF95a3liVlBhb09jY0FfPF9zYFdgRnFmbW5uckdtRD5pcFZtR1JeXV5kZ1xcRExEV15eQHBqZFh0UWNTSEQ8P2g6PUtLQExQPFtcXGJqYkI6P0A/O2JqYkI6P0A/O2JqYkI6P3BGSVZIdW5NbFNhWFRjQU14RHl4WXlpaWxIQHZNSGo7SEpyaHVoZW5dPUxDRG1scVlaXFxQdWRQb2RQW0F1a1hWYm1XaG1yOkFyOnZ4aG9cXE1wbFBwanZgcXZebl5gbmJWXWpvWnBXcVd2XFxoXmU6aHJcXEdCbmpAcGpqdmdYYWE+d2JBV15nZl9HdnN5dnl2Tmo9WGpPcGtzZl5RWHM/WGBhb1NBcFlMbmdob2ddcDppa0BVTmxMYFp2X2l2W2tGYGtOW2FgXmxhW3FBYmBBaztIajteb1ZHcUxWX1BfbzpnZ2dnd2JHaUZgYVBXZE1Xal9Zc1FYZl1xckdAaHNgZURuXldQZWdnZ2duZXRHd19eZFF3REl3Y0lySkF0SjxyV1lxcUV0WHF1SFBrRFBLXnF2YFFudVhxVUV2XlhsVURxc2RUaG1XaExtVVhtQWl3d0l1Zm1QZll1cXhLa0VYaz11cXhXWVBqY0RrdnRyPHZacl5dSF5vUkdwPGZrR2hrbW5fdW92RkldZkBla1BeWlVVbVZtR0VBbWNWQ0VnY2NjP3VncVBiPE86VVl1VXFZUGxzbXJkZXBcXEV5bGl2bWxsVVh1Z3FSS0VUS2xVc2V2T3RRX1ROTHRyPERdZl91ckhcXFBXb09Zdl9pX1BWW0ROW0ReZkZfdldYY1FwX0dwdVRhdE12aGhhdTtxd1dZcWFmcUFYcExuWkBuWkpwbVhwW0FYcltJeFJYYkFwW3NneHlhY15gWlA+c2Z2dE5hdF5JdFh4cndhc2BXYHRWYXVmZkJfdldIbltIXnZ4eXhZeVh3a3VoSWdjbXV2SElzSj9zdXViSXNFQGdzYFV4dF11SGlldUNZPGdlPEtFRVtWUFdJcF13Uj94UnlDeDt5Ok1yXktWaGdVdW9CdWd1aFtIcFRWXWFrQWBxXnF2cFVxa012PklLW0hwd2VZd01SX3lTXnlPZjxsU21vY0hvQz1ZZlVYbVVwbkVSPmRVeXBZVz1ZZkF2WkFOdFVZdWVORlV2d3BrSHBLW1FKPnZkaGBlS0BgR0ZsbkBlWlZwUlhyW0F4ZEFxdWl5VFF1VGFeRldeQHlsUXZlY25ydVFjXkF0T2BsXUlrXmFyPEZtP2FwVGdvTElcXHZvYGlvdXZ2bUB5eG5heEJfbD5fa2lYaEpXZVVXX0tPXFxcXEZ3a0BiYEdgZ3BkRUB4akFoW0l4a0lYX2JjXXI+Z2I/R3lua0lrQ3A+P2tDUGtEUHhjX3lIaF11Xl5ET2JeZmFQPnNmdmxQcGxgQHNSR292dnhWWWg8WWZHblo9Tl5cXE4+SHhYXVROXWxJZU5sWWtZXXk8TXJuXFxSTFFWO2BzbEVZc0VZPFV2bkxNR2xVeEV5X0VrTUFZaWxPaGxTcmBKTFF0TEFMTlxcTF5EWFxcdHdDcHM7XVROXVQ6eVVUbWpgcVBQPHNmdGxKQGw6YG1WYE1peHJnQXVrWHJhWXJpTFRTcXBnVW1RaVJKbExQbGpGYGtGRG1MRFlhdFF5dE1rSHBrcFVJWG9mYG8+cFI9WXNPSVRaUVY7YHM7ZGxPZnF0Xl1PSGxLSGpMUXRMR11NRmlhR3NMaF5CeXNJeXhyYGJQbl9Wc1d5WFlpYkh1Zk1HSVN3Vm5NSVdrc1hnSUVTZktBd2tBRWl1dkY/U0NbR0pHSTp1Zk1Jdk15U3ljcml3WXdZd2N1aGJlSFRjQ0RXY0VHWHRheGNBYlVReEd1U0l1UlNFVVNhY18/aHJFeFxcXWlxcXV1bUlZX1lRT1VGXVNGS1VUTVVKX2ROX0hnUVh0ZWlYc2ZJdWVAbVl4bWlZT2RLdExSdW9MXFxOVWRrQFVqZFBvZFxcV1VxcEd0TXY9eDtMbVRQbVpVcFNBbk9RV1tdUFREbFRQbURgcXZgUWlwcExoeWdEUGtETGF1c1hocl9YU1FAWF9Rc09cXHhuYXg6SXduTXJaPVBaTFF0TE1lbFRmQGpDYVZEPGttcU1NSFBSXFxLclBZb1FPVFBtVEBYZGF0Y1xccHBwcDxxVm1ITl5cXE4+RFBrRFByaXZpdFlDYG9mYE9iaXh0ZW5dUExzXWo/TFBBYXI+YXJaUG5cXFBSY0FNPFFqPVhqa1BXT1FPZlBVb1BTY0FPPFFUTVVUS1BtVFBvbl1LXFx0bWtBTFBETEtEWzxGXlxcTl5bXj9ETENERkQ8SltLSzpERkQ8SltLSzpERkQ8SltLS3ZbRnZbSXZbSW94Ol9jRl9bdFBxdFBaYHFwYHB1ZHF3aHFaOl5fUj9wWj5maGFjYWlveHF5eENOdUlBQ2JwVVhhc1NHa0NIS3ZIaWV1O3RkZWhCc0NJc1R0a2NKdjpYSkh1bk1sWHVoTTpQcWFBdmN4blhQUlF1VFFhakFxbnZ4TUJYdGNhTXF5VW9QWHRkbXI9eDt5Sk9wa1tZTG94czt5dXZpc1lBT1dEUkJpbXV0WDo8Smh0bEVYWFpAUG9wUXl5cGl1dVhkeVRlc209UE9ZeHlkVjtgUXNhdk1AS0dOaz13akhGc1BOY0hna0doa1JZUVljYHF2YElFaVVGVDtnWDtZWklCUl9TYGN0SElyWGlpdUV0TmF0Pm9lWG9FX1dmQkNXaG1XQFF4X1lzS3dlWXdjRl9jRmNmXUFDQ2FzRmFiSHVmPWlzVXdIT29jXFxbdmd5aFlxUkNFU0Nrc1ZHSV1fWE5DRnBVaVdDZVNHZUJZc0VZckNXRGFbZEhXRl5FeWxpdk1tSUBZWFpbUj5uXFxCRlxcS1JSOjo6OjpKQmVsZFl3ZUlwbkV3TF1OYGxOPFFWa0BPV3RqYm1TVFB4TUB3Pk1TZW1XaG1yY1hUYUB4PllMST1uakBwSkxVZ3BMOmlxSXV4aHhVeXBNaHRsRTxKamBXU1FwS1lXUEVKcXFPdUBwaXV1eFxceHFjUXdkQV9iPl9CP3F5WTtjYFVIUDtDY0tnZ2dnR2tUZWdEQ0VTQz1jQ0djU2N5eFVXZVVHUF1nUkVCcVd1RztCYlF3ZFFyQ1lkYUNCVllpOj12QkVZRj93ZmF3PkdzXk1KUkFxa1VOZFlnPT5aSF9tckZqWHBtWD5dR3ByS2lmZ3BkZU51VFF1SnZdWXZhdG5qQmBxQVliUl9uUlB1VFFlZmZldGBcXFV4YGlvYlZfZVZBcT1HZEdoa0dYbl9JWjpuZm1IaW5Zd3JBeXJJaFF3ZkdIa0NIXVFfWl1mdmtOdlJJcF1Xbll3dE9pdFtJdWF3bT9xdkdZbWtgaGNRZG5mYG9GY3N5cT5fYGFAcDo/Y2t2XXY/eDtBd1FxZ3FYXXV2aGhhXXd5eHd5XFw6YWtJeGtZZnlUV29PUXZkaXRlWG55cWdjR2dTdnBmT2NET3NyeGl5UXhReHFWZnl0X2dTQHFXcWdOYGxOQGs/eF5cXG5cXEJGX0FBZmpea3V5cEBXeFFZXmRIb2NIb3Jnd294dEB3eXdHeFxcaXJrV3N0Xl1ISGNBSVo6SVdYbll1cXFxdXVVdkhJakZoUU5oSlpdeHZIS0tEWUl5d2FBUnRQcXRAdExRdDxweXhxWXJkbUg9TUZsWnZAaWtObExQbEpeXVZed2lBYVhXcFVpd2JYb2VYclF4ZXhHW1Voc0BAbEpAXFx2VnhGWWBCYXNGYW1qUXZOPmtAcGpAQGhnUXVvPmVncHRLWV1XQV1Gblp2dnhWRUZtRk1LYjxPYnZxZF9faXZfRVdnZVc/V2dlVz88UXFtd1ZBcUFZdExRdGpxc3V0dzo+d29ReWt3a29faG5fa3hndVNJdXNuZ0lmZmZpWz5xZGhgZXNuZ1ZHZ2NHX0hwXXdOWzo+eWF4aXR5XnZfeEt5YkxeeVlAaUFJd25PclxcR3BaWG9lZFdxV0FvU2FXUlI9VVJLZE1XZEtDRVNDd3FhSVxcW0dQU0N4dXl1eXVJb2VJT0hUY2NCbVNIbXJkaXRld0ZOS1laS2hVaXdqP1VmO3djSXc7aXdVeWhLS0VUS2NiP2diW0Zhc0ZdRXY8aWJEdXJVR2RFaXY8ZVl3ZUl4QXhBd0k6cVZtR1JlZ3Q8QVduS3Y/d0RYPUVxb0dCaXNpVUhXaXVXaWM9c0JIO3ZAaWNVU0RYU0lxbXdWW1h0Y0VsV2htR2RLR2RbeXRRQ0hJRWlWbUd2T3hEWUdqU2VHWURIPXY8O3JIaWV1Q2RQb2RAV3ZBeWNJPXVsb0NOc2RoY1U8WXlpeWl5S1VWU1Z3XXhLeVJCU0NFU3JwZ1dVQXhWWVhJSXlfc2M7QVY6aXZFeWRBdUhWa3JYV3g6a3JpaVZSaXdwSVhJWXdSeXJAa0JAa3JHV3dmYXdWX1hzbHJHaXU/WEtRXFxZQnV3d0huW0hOUmhzYF1tdXRYaE10VVxceFJoc2Bdcj9pcltAcXJAUVp1d1h1dE5hdD5QajxQamt1c2tBaz11akhEclo9UFpgcXZgTXNEUXNseUl0djt4d3l4eVh0SkhcXE06aHJcXEVySkF0SmFqQVlvZFBvamF5bXlzXVV1cGhXO1RxO1VZXkFzS1xcbE5gbEY9eXV4SmhpdT14cl5NUFtQb2RQc2l0d3hcXHhFSU5mVGs/UWo8UGo8SFNFWVY+WHRjYVJPZVRPbHhmSXVtRHc+UU9jPVZaPUpDSGtDQFF0XXhiYW5fSUpWWVlrWU1zYVc8YVZldGxMcXV5dXl3XXdYaXF1TXRsQU1LeXVZeWtZaXloeVhNbHg+XFx2bmx4SkxsT1FXV3R4UkF1UXR5dXlRZUlYZXF0Z0h0aXhSaFV1dER1SUlxeUBSTlB5RkFzV1lxcUVwd1V5cF1UUXVUSVVZcWVxcHF4cF1XU1FwP2R3Z2l3eF1TYUltXXRSSEBWX1FjYWh5dXFwVWl3QmlzR1VOXVRuQ1Y9P1JjZXl3aXlSYWhjVURoX1VzT0hfWVdGaXV1d1hLQXVSQWNZYXlgeUhdcXdgO0Via0hoXXVCT2I8T2JDVXNdXWJPUVc/UWhfVXNKVVVVVUd1bUVTWUNeV2dlV0N1d1hpcUV3Z0liYVNoY1V0X2I9eWJJU3NWT3NtbUdRV0NjSXdjWURYXXVgT3RReXRBZ0Rla1RGVUk7cXlwbXdWSUl2eXR5ZXlRd3JFeUV4W1lSc2RoY1VMR0hLQVldc3hVc2l5dWNaXXdFY3dPV0dRbXJ3a0hwaVJmcXl1ZUh5bXlzeXZNb3lGO0JyYXZNd1M6W1N2Q1Npc2h3V1lxUVl2eUheYVh0Q3h1d3V3cVducVlaSWJab2l4b0VpX2lsdGtFRVZZcXF3PXVxeFdZYHNjYFFxTHhWUFlUTUt3ZFF3PFl3aXhRaVF4ZXVseWpcXFBuXFx0a2lhc2JxWHVIcGtVZmx4Z2pGc1g/XnV0dUdYcXF3V3VnQGFleXNZWFl2T2dTaFV5cGl3bVFZTEt5dFF5Sl1UTl1GTU1GaUF1Z3FYVkNJbF1yZUlYQWtDVjt4VWlZYndSWFFidXV5VU1XQXFkaml5VWVpXXV5d3V5WDtzQklJT1d5eW1yUnl1a2t4bXNGbFVpckV4XFx3dD9fWWFxS2JAb2JAbGNEbHFdbUh1TmxYcG1ocVhZblJJcW11dj5IcUtNU09lVE94dD9gdVdpdWdAc3NMcENBVWZsTGlYS1Npd3BVTnF0UFFtdHdEUlNVS15ReW9ZdzxZVUtteXZcXGtsZG1reFd1YXhASW1tdFY8TFZpXFx2PGlqRUxSQWBKV3BTYWFqcW1RQ2lWXmF1QGh0ZGVtbElRdXhZPVBWZlFYXXVxcE1RV1hUWExWU1R5bWl5c21rW2F5c1l4PFV2ZnBUZT1SVnlTeGFzU1hQTWxLP0xZPGl3cFVLaXhRTE1YdGRtPFlZTndteXZdSnZqTmliWXhyaHF3aF9gcG5gRF9tYHlvXmdfSlh5SVZhclduX2huP0d4Q1hnZ2dnP3dlWXdtSkFlUVhzX1Z3PklpRHlscz54UUl5PEB3YkF3S3lvQXF3P2BpeWl5cVluWXdbRl5bRnBteUhocl5dXVFjXVhxdVhpbldfZVhwbVhoVnFcXFFBdVFucWt4YXVfdmpIbVZxZ1lxcXdmd3N4cVNgWjxpaHhwYXhBeV1HdmtoaG9naExuXktWaGdRdW9Gdj1HZD1Yaj1wYUd5bU5edWh3cEl3c11Bc1tXZXM+c1Q/XnhgZ3dmdXdYaXFPdU1ucXhBYHBpb1xcUF5oeWFwdndpV2I9V2JiaXdnaVxcWHZ3aVhyQlhGdVRHZ3lddWl5VWdxXVZ4a3JQa3JCUVhdc1llc3hpaVlGZ3lTU1ZJSWhyWXdXT1h3Z2l3b0lnPUNzUUh5TVRraVZ3O2l5bWdOP3ZlcVVWT3RtPVZtR3V2TUlWX3VQcXRgQ1ZUR3heZUdKc1VJR2ZlY2l1cUdsV3V4a3RCeXZHW2RcXFl3bXl3aWdJOklodVVCUFNjX01zUVtlS09SVV93anN0QklocHlHeV95bF11cXl5aXl5eHlrdXVzP0F1PF14UUlRSnRVYUFyWXVqS3RuXVl3dD1OdHhMaWRMWXV2Onlsd0BZYzx5dGF5RUlxWzxPZUVqclFxT3hwckV4XFxFa0xAa2tpeD1IalV5cGl1bGA8a1poSkVsTHJheFhtWHllbWE8TXV5WEx5dFF5UHQ9dWBxeVxcQE1TWW5VYHc+YXdCUXBxeXc7YGt2dXFvaHBvXXVEQE1MTFxcPGB2bVZ4b2c9ZWdUTG5eTHZ2RVVJXFxQVGRrXFx5TWpoeG9tS0xRdExhTkRNTkB5dGF5T29kUE9NbVpUbEpocDptclhUdXBxVGI9V2JQdllAS29peE1kbXhheT49d05dWVNYSnllTHJpeXVVSnl4eXd5dztcXFNWUVhWRHVMUG1mQXRaQVNrXVNvaHBvTXdOSW9LeW89WXI9eU52TXBXbU9LRExLbFFPQHFMWU1LPWppdVlBSWpqRU93dVVQSUpjbHJ1UU9eXFxOPnluTERsbW1LXmVPSmhMZWxUQnRZZGBVY3F0QWx3b3R5d3lMYFl4QUFVY0R5bGFRdFlYSGxyaGVOSGBtZnFxeXV0d112PkR5XnV3bFB5dFl3aUhQajxQakR2akVzQnlzYm1XaG1Nd3FteXB4eDxKWjxRcjxNQ0lzQ3FZWVRPX3hsWW1ZU0Vsa1BUQ1hrRVhMWFltcGlWZmBsPGRYSFxcVmdGZltHZnJveXN5dndwXWFYdGNBcHBnd1RHXUxGaWlpa3FudUpOcXB4c3Bpd1VZWlxcUW06d3N5dnl2QHREPnByR3hcXHdxWFlfXV93X0l1VVF1VEFgaj5gakZuOl9tSHdeSF49W1N0d0JseXJ5a3lLc0JJa0VWP3h3dWI9SWJIb2NIO3VmbWhLeXdzWWg6PUJaVXJAZ0NSd0hpbWVRWXZQVHFwXXVvZXFOUGxMUGxcXFxceDtZU11IdEJgc0ZhU1NMTHN1TmI8T0J0T3hAeVxcQHRSRXRrTVR1aXhpeFlnXFx4cVVtS0hsa2xXV1FsVGB3WVxcTnZleE95VEtETEtEdmtReDtDdmd4UFlVQmNDR2Nka2NkYVFUTVVUS11VVl13T0FlZl9nZlt2YXl2RWFkQllJbXF2R1lSQ0VTQ3dUaVtSRXNEaFtyVXVXd2d2UVlXTGd1eU9YdnF4cXdpP3lleWF5YUlDRWlpcFF1ZT15YFllaW1GdnV5RXlHeV9yeV15QUBtaml5cHF4cElYUWV4P1xceXVJTjw9SkJga0ZgcnBoV1VhcVRUVmxEbWpZb1lleURtbj5tdXVkWXRhcFF1dkxcXFh0ZHViaVBoUUo7UW9PVW9qUFY/UUtpcHJedVZhVU5rRFBLbW4+bXVrPE1GPG9ocG9wUVddYFBwbFBQdHJJeE1RSFBPeE1EXFxOcjxRUnR3d3h4WGxsZkRVbFR2bFBRV3BLaWVxb3FsWXFPYHl2Y1B0TFFUVlxcUXI9dF1Ic1VhcGNVdGJpbW1RSj9dVE5ddGJpamhxVkxETEtEZl9nbm53eWlZeWl5eXh5Z0NvX11GeFd5aFlJdnlveWF5aUBpaWlJbEFvXWtJeWFRaWVndGRoZHJXdkd4QG9zQV9GYGtGXFxfaXZfSVpvR2RLRVhrRUhvZFBvRElveERVcj1ZcktBdEpBRGp1WHVdR2hrR0BxYkdTRXZLVXBTSXVTSVpxR0JDZVBvZEBvYkBsTWdYbUNES0M8V2I9V0poeVZ1bVltT2BAb01Jd2pxd3VmcmV4b3hQYWNpdmR4YkhGZVdWQVNDQldWeFdkY1tHZltyX1lzUUdoaGV1dEdDcUFkSkFXbjtTR2VTP0lpbXV2al15ckl4Oj9JbmVYeT9nYj9HVlNJcF1DU0l1U1lkeEdJO0FWajtGaXNHSXN3d3d4WHdUdV1jTEV4YUljREVJcUV3YVdoXFxlckRbaXFxbWpQVj9XbFBGY25faG5Oa0VYa0tvZFBvXFxKeGQ8aGBUZmtyUGlvUV9EWXNFeV53b1tHblo9TmtFWGtLUXRMUXZxWWdHSGlcXD5fYj5bVXdwaGdic0dpc25sZkZlbEZuWnh2R1ltQWBuXmBeVk5hbj9bc0dpc0daTz92XU5kTVdkS1F0TFFqdmF5dkljSUZnP3FyQFFubFBwTHZcXGluZW5Zc0FoZndxeER3XFxOXlxcPmhwZXd0XFxnd1RpcGJ5d2l5Ynl3aXlud1hpcUVWajtBakJAa0JGbl1fcnhxbE5gbD5gbl5gbktZdmRpaXdnaUJ2W0l2YkZfY0Z4dUlYb0VAZWpAZjtOeGxReEpYbE1YalhwbVg+dWdxaEZZbXFiO0FWOj1VUj1lXFxXR0Z3SXFBWXZpeGNbeENhUkBtUlxcaWNxa3U6aWV1c1hAdXZaRXI8Z0JCP2NCP0NSV3JwV3RLSXduPUdoa29cXFF2XFxJWGFxbEZwUl1MVlxcTVY8TFhdSXd4RWtDSGtCXVNGXXJxeXV5dWtYcXVYXUtIbEtcXFxcUGptTEd5Xjo+XVNJYz5HYk4/Z2JOXlxcTl48bnZKWHVuX2tAVz5Ra2JAb2JATVdYSndwVUlAb2JAT3l4cV9NVUtIdUhUS0VUS0J4WHA8a0xZd29JSnNoal9Jb1pAblpcXFI/T2RmV2N2T2B4YWFpRlxcQnZ4ZUdbSG5bQFF2P1lrPU52Z09xXFxQZl1XZktWXVVWb25fW1tXW1BCSnNEUXNmbl1DW01VZ29Ea0l4a1FjeF1VOndobmdmOj92SWlJcj9SYjtEXFxHdTpnQjxFQjt5VUFnZHhxeGl1eVBlREFHR0JfdDpnQjxVWERPRUhpaEtDZz9TQz5PQkB3SVhxVXVhdk13U0RxeXU7Y2BRQ1A7Qz9bQ3lddT1PVWNZRz1RREdxRmY7REQ7RUlnSXBBZWZ5aV15R3lFeUVfd3lXYmJtZ1pFYko9cnJZdFlveT5nRXVrWEJReEhfZ0o/TGJsT2hsckl0UXZBTnN5c2BMbWVQSnlZVHlcXFBhPXduTVFOXVROPW5uYHBOZG9naG9iQWc7eF95TFVoc0BUbUdxUGNpSlB0TnVJTVtETls8S0l0S0FdV2ZdT1xcWG5dSGxOYGw+VGxDYW5EeEtzSExjSEtRQU9EPFFUZW9QRE9jRE9NbVVIdFlaPVZaTXJ3UFJuUFVndFFZSVJeeVZmPExMZW1KQGxKZFRWTVFAQFdwWHZzPExcXExOTExyPEQ+P0RQO0NLQ0xsZHZzPExRWHM/VG9PUWtUUXVUdVlgSWxGaXBldXQ6PEphcFNXUFJVVVVVUHJjXXJXUXFvVVNPWVhacVh1SFhiQXRbZG5dQFtvUGU7PlpZeGl4SXE8SWM+SXVncWhiZ3BUZ3RISXJhdm12T1o6Tm9Xd1pAdlpBRlpWWXlVTmRlYV1udmBxVl5bRl5bT3RBcV1Sbl1YYmFTWVpJZkFvRVRjeVl3RlxcS2ZzV1Npd3RdeVl5eXBIPXl4YWx1PU5JZVFvYUxUVVVVRVhzUXhfRVU9SHNfWXJJdFE+SHVmbXJQaW9VZXl0dXB1RE9PbExQTE5cXExOPHRNeD15W1B0S11qXnF2YFFyYFdkZ3FsUWh0ZGdqU2FnQHlxeFl3eVBecXZgUUd3ck5iUHhfWW9bZ3BkRWhxdXd4ZGZdPz9rU2FnQGh0ZGdkZ1l3SmhzYFdiaG9naE5mXVdma0hnTXFeX1h2QkZfZl5fVlB4eGdhTW9cXEJhY2lpckleaHBWbUduZm1IXUV4XFxpbmRvaWNdT15dVl5PV2FBRl9jRl9icG9ocFtyWGldV2llSXVhd21PZ3dWPl1HcGJ2QXldeWtkaG09VmxDYVplaHRkUHVheWlecWtHWGtQZl9MZ3hWXnV5V11pSVxcdkZrSF9iPk9CSjw7Ojo6Ojo6Ojo6VFRYZWtRcFZpdHBVaWtIcXNISXRlZGpUZGtAXXI+YXI6VW5LdXNZWHJaQXZadnhxWWZqP2hKRm5bSG5CQGtCQGpId25NT2FQeHJWcGNhQXdWPndvUWk+Z2I/R3JiX2BkZl1FQHNlTndzZ3Jadm1HXltGPnZqSXY9QWFrT3Y+XndwV3lyRF1HdEJ3ZFltWVNjYj9nYkpZd29RQ19bZVNpckV3RGtteXZJWVZBaWtVQj1VUj1VZll5Q0hrQ0BNVExNRGxLSGxLQnRxeWljRVdjRVJ5aXl1SWRVV2VFdm5NSUFpSVBzRVlzY2dTVXA/RmFzRkFlVF9tU211RHlRU2FBY1BxdFBdZ1l1aVhjWXdlWU1vSWhVaFNBVExNVDxXVGFvSz1VUj1MblxcUG52YW1qTVlxbXdWSXJYaFF1PVZrQFVgYFl2UXY/WWtyYFhjUUxYZVlvaVRmUFVvUHNJSUthbVhcXGFyQ1xcTE5cXEw6aXZsZVN0QVlVVVVVTHVUUXVqSXNhdG1aYXhjWXRkUHVdUG5zSGthQVJgQWpIcGtIXFxvVkVxbE1zbEFNZVhxdVhNRXFsZ1RNd1xccU88S0BwakBAcGV1dGhIT0VZdnhpVmVeZFpheXNZeHg/Y2BJcVRQbVReZ1hhcXNPc2xBXWVwcXhwXWV2ZGhgalVpd3BZYmxOXmtfX0pIZUhpdmxHXndmYVduW0FYcl1JYHBXcVdWXXFuZ0Y+bVE+YG1IdUZYZ1Fxb3NnYGBBc0tEdE9pdF9WRF12V29jSDx1dGhYZXhUXV1PUFRLWHVZd2lYU1BMS0RTPWhKbFRzT2F0TkFudVhxVVl3a2VvZ0Z0VmF1ZmZpWnZfc2ZtSF90UHF0dGdhaHF3V1lxPFd2XkF4SFlhaWFjcnZ1W0lrXXhiSVBpT195Pm95QFFaU2h2SGdtdGZuQkFlY0BlZm5cXFZJcW13cmlZZl9Qdm5PYUtzT0l5d11HS3dJaj9SYEVpUHF0UEV2a2dXZ2VXTGtGS1NYXXFyR0N2a3dYaGF1O3VXaXVnPkdXdnd0S0l0W1tocUlIXFxReW9Zd0xrZltLZFBTQ15tRFU7RVI7eGJhZmdhVHRLSXRbRkZVRmBxeGdZdXhjY3FpZjpfZlpJc1VzRGBXcnc7RERbVmY7ZFNdR15bRj5leFl3RlI9aWpFZklVdk9vWWVbZztBVkpdeHFZRENJYz9LSEVpcj5hckJzY0dFU0NFZGg7Y1o/Y0I/Q1lvckFpcj9JU05fUkZdVE5dZEllRlh3ZFF3RltNRVxcQ1drP1JgRWlvVXdQSUNJZ1lbaWJRW0ZGTUZgQ1BcXExqPFBqPnByQHVSQVVPeHhKWj1QUjxsSkBsWlxcUXhUTl1UUjxhUD47X2l2X0lbZ0daZWlYdWNGYXNGRUVMQ1E+XVI+XFxTYFRsSkF1b1hXUVFTVnBSRnFsZ1RVPnByX2ROX0ROcGxQUE12blxcYj1RWlNodkZwYl1OX2RCaXdyT2VUT0VGXltGPm1iPm11ZUtHZEt4dGFVQE1WXFxNRkxRdExhVkRddldfZ2ZfR2l3eD5jeHRlSUhtZXZDR01NRlxcQ1dqP1JgQWI8UXI8XXdUaWhFWXZfeUNYW0lSO0R1dUVdW0NAU0JYaVlxaVVmO1VqP3JdZ3ZdUXZcXEF4UFlVaUVDWUt5TFdSb2VYb3dyP29mTUl3akl3YXdlQFt1b0FzQm93QVFCU1dGWHFZdWlXVm9Jd01ZVFlTQHdyPmFyWkdmW0dCP2dKd3lMRllSRXhMaWxya1hWQUFwXkVzTEhPRUhOcjxRUlRNcFxcVzpJbj11akpcXE1WXFx3YWFqTVlNY2RqcXR1dlVYVGlxY2BsTmBMdkl4SXhZPk1UTHdhYFheTFZuaHl4ck9sUU9gbVZgS0hsS0hqQHFyQF9pcEl1YT9wU2FnSlFnb0BgVGZrckl5SXlpSGBsTkRad3VwWVdqO0Vqd1l5cVlucXhwUXJcXEVoWndmYXdCSHVmTWtCPUdCS0l0S0FTRGBucll1cHVuXUh0Yj1UVE1VRGh3VXlwXXBvaHBLWXhZeElRZm1QVUxiPkBedE5hVFZ3UGlvXUlhSU5kT0Byd2dwWkZlYl9gVF5vWGdxVFZvUXdvUE9hREBwQkBLc0d4P3lcXE90a1tiY2l4dF12XmF2WnNGYXNSY0FHPm1JW0lGZktGXFxLRDxRQltcXFI8PVVaXFxSPjs6Ojo6Ojo6OjpCSVtDSXNDSXNTcEFScj1Zckt5dVl5PUt5eEFETUlYdWd1XXdVQUt0V0d3dkdIbltIPjtCZHdlPWNoeXN5OnN2OkVHbWdWVztCTmlJQXNjd2t4Ukt5dVl5YVtJcGN2Zl9jVkFlYWNIb2NUeF9WbEtXZl1XPjtCZmNVdF9ESWFJbWRqTUFra1RtR0FKTnlRQUR1U0l1RHROS1R0VmF1RlRtR3FKd3BVSWBqPmBKX1h2QkRUdWFNYmhZVzxwVWl3alBVZ0BKTmlRQVRUV0FvZ01zPERZbkl0QUVMVlxcTUZQRl9XO2F2Xk1IUz9ocXV3WF1FcjtYOmVocXdCb1NlR0FIU19TZGdlPTtCYk1XZE1yQ1lkYWNkSEdGXkdpc0dFRXlkaXNSUG1UUEtIbDxPV3RSQmh0ZGVqSHVuTWV3VlxcT1RdcEJkTl9kTmRoVUFcXHdwX0ZHZUJZc0VZWlZARFZtR3FgX1lmdnZaPF9iPkNQXkJDPjo6Ojo6Ojo6OjpKa1FqVWl3QGVVV2VNcGxXVkFrYXhteE1NO0lyO0FZdkl4QUlwbGV2RF10TmF0OklnTk9hXFxhb2FhaHRGaFxcYXJDXm9TV3BAdmN4RnlebnZJeW1JeG5ZcEltWHBtSFRPZVRvcldBckFfdkt5dFF5YmxPaGxbR1VtaEZzY3hLeWJrRXY9eDtdSXVhd20/WV9pZFE9dEtJdFtfWHZLeF1jWFhxdkVFQldnZVc/VXlvWXdhYk9bZml3Z0ljWXdlWWJdV2ZdYjtBVjplWG9laGR1V3hVRGJRd2RRd0pXZVVXQ0FXcmtrd3VpZVdnZWJhd2ZhUkdlU0dLRExLRGpNeW5AUFRka0RhalZoclZxV3FMc0RRc2p4VklxbUNkUmdlcFRFVm9QVWs9d0pJTl5hdl5BbmxQcGxNc1VATEthdzs/Xlg+Z2VXZz1PZlxcT3ZGWGVRb2h1aF1ldmRoYGJnZ2dneG1MaHNXdmJJcF0/T2l0T3k+UHhyeGVlV2dlTlxcTVZcXEtJdVNJd2FgZm13YmhvZ2hOY0RPY2BfdUVZYFVoc1JHcWxDXWFVS095az9SYD10UXl0YUl0RXN0QnNoVWljZmF3Zkl0VUFVTHd3VE9lVD9USj1UWkl4bHFYdWd1ZUdJXUdld2d5cFl1YkdnY0d4ckVZRWdyPGdnVXVoREFlQk9CO1NDXm1CdW14ZklSWXVVWXdUXV1VaHNERE9jRF9WRF1IcWFETltEcmVZaFVmbVdoTXNSSF9FS0dHS2F1THl0UXlid1NZcEFZd2t3RkllbTtoUl1HbFtGXFw/UjtRQlNvYkVpdmxRV2VXV2ZvZmBvRm51WHFVU1Y/V2hJaFJdRzx5Yl1vSXJBdj1rZU51ZDpHdWZtRHhtRUlnRXVrRmtNRURbRmY7ZGNdSG9jSHNheEhRZ2BvZmBDQ01hc0d1ZXZNeEM/eFJVZUdxckxzZDp3R209cm89VnBVVjtfUz1xVm1HeW5reVBpZ1VNdD5DZT1hWVdXQll1ck13V0lJZldxT1FYc19kVVJMS2JcXE9KRE1DcE14UU5jYXBvaHBjZE1bbXNdWW1TbFZpbExCYVB2ZXlmRHJwaXdVaW5DTFBBSmV4VGlwbGA8c1ZsdkVhTWJpaGo+XUZOdD9IbjpQcjxGbUBPZExPXFxuTl1reXNUb25eYG5Cd1xcYG9rRG9jSG9cXFhWZ2o+XUpWXFxNVl5bT21zSHNReHFdb289VnBVVlteT110Z3FYRm1TSG08V2ZdWXZdSWZsRm1ebmNudnheaG5fSFtpR1phZ2ZfR2JlaHREV11ib1tEWXNFWVxcWEFsRFlzRVlscmZbP2I/S0g9Z1V1b1g7dWdRWVlva1JdR3RaX2l2X1VgX1JtVWNiWVhjPUhSO2hnVXVwQ0VMY3N3Q0hrQ0hSYWhjVWRRWXZMVVRNRWRQb2RgU1JcXEtDTltHSkdFPmVSP0V2XklzTW9VV3V0YUF2O1lidm9FUF9ibFNIbUNUVl1VZkl4bFFJV29DYXFzV1dScj1Zcl9jY292UHRLWFxceGRBWE5dU0ZdS0h1bXhkd01JTlpNS3ZdT0p0S2ZYVXFwS0dkS0c8S0NES1NwWHNkb1BVa014TklNTnl0UVl5U0NxZl9pdl9Bb2Zgb1ZIeD9Gc2JfYFxcUXY/WWtCP2NCP3hNT3BzSGJlaHRcXEhuW0hac0Zhc1ZgaFZtVFBtRFhrUXZfSEFxeEBsdElwOl9hTmBsTmBqVXhgaU92WklyPUBjQj9jUmZpW1Z0Yl9gakZtRj9fZ1JLWXRNWXZLUUNATVZsWXhtSVhtcXZHXWlzcXZVV3ZIbWNlYVh0W2ZeX2ZaQXlrWXZidVdpdVZzPXNeXVY9Q2dfZ2Y/U2VwY1dUc1RKQ0ZbQ25LSGw7cGpAcEpuXFxQbjxYaXlXSEB2eGluUVxceHRlUURUS0VEVFI9VUI8dlhHY2tpX0RweV9fYFRGZFRPZURQdExRZHJodWg/YVZuW2hHd3RJZTxPYjxOXFxMTlxcal95ckl4S1lfbz54TGl3bVdcXEVeckFeX0lmZmNfYFRubEFQclJfXW1XXUlGZktGXFxLQFxcUD5bS0ZcXENGZjtAXFxLRmxKOjo6Ojo6Ojo6PmxBbmpBeGpBeF51P3ZpcXloeXdKcXVYcW9UWXl0d2hxd2g9SXduT3ZjeW5ZcHI9eVt5Xm9uX11bdmRoYGU7PlpPcXM7aHRkZ1o6Xl5hdl5lXm0+X3NnWEU7dWZtSHY7eVpZYlJdaGJFZExJWD46O0lXb1NudVhxVUZyO0lSc3N3c3hWT3RrXWJWRWlsZUJrR2hrP1dpdVdZP3hSYWQ/S3hqWXJJU3ZwaXdVUWhBV0ZcXEtmOnFETEtEbENXWVtTc3VJSndWWEdZQDtCakV5bGlWc1FUQ0FzZm1IXXNIcXNET2dkTz9jRVdjTU1JSD9kTl9kTltGYWxSbVVYbVB0S11qXmdzP2dob2dgeFZ5ZllgX1hOXWdQXFxMUGxMXFxBdjtZal14UEtUVFVAc0JBU3ZBeV15a3JkWGRhbExJVD5AbUc/YFVoc1JQZnV2YFpJdWZvYD5vYkBPZk9Rb08/X2ROX0xPYUhAbDxRUktZd29ZTHlycm1DPj9LQ0RmW2JCbFxcXFxOPj9APztiamJCOj9APztiamJCOj9APztiamJCSE9pdHZodEx1aHVIcHJAcVJ2ZXlveXRqPVFWPFVuQFdLTExMTExKQGxKQEpHcHJpSVhCZWpWcFNhbG9ZdXFIcHVYcVVGXl0+Q1RLa0tJdGpEXUpeXFxOXm5uX2FMR1phWHRDcG5gcF5uX2huP255eHFZRmZbR2ZqRm1GP2NHZ2M/cGRlaGR0bm1kP3lnaVxcdXhvaXhbP2dCS1dlVW9ncVhJPVl2bE5gbEpfaG5fQHNCQXNqeVReTFRTdG5NSWtkUG9kXFxVdGBYQ3RYaGF1U0B4ckhyWj1yQGhLVTxsWHBtaEBSdExUPXRsRWlqV1hRcU12PklrTTxYclxcTU1sTXE8TUY8dWxoVkVsdXZVeEdtV0pRWTp5T0FAcGZsTEVsbGhkZWFvc1ZIbW5gYTo+bm1YcE1Wd1F5b1Fnd0d3ZEJvZXdoUWtIZ011PldDUWtHRk1VWDtyd2dpVVlyQXdDXXVzWGdJUktFVEt4bU1SRFtYcFVpV0NjQ0djUnloaXV1Xmd2a0toRkVTQ0VDUG1nVkxzXz13aWBWaTxMVWhzQGB4bmFYUml3cHVrUHh1cXhXWUxzRFFzXm1TP01XXFxhWHREeHRZd2lYWXZ5UG5FeFxcaVJWPFFqPVJgYVRecE5odXBVRHdjSXddeHhCeG1DVVRNVUxQeW9ZdVFfcUppZHVdVFk7YG9ZdXFYVEo9VEpYZWtTSXFtdW5BWUxHVXBZZVI/ZUp0WXl1aXFUVFhbUXI/PFVmbExTUExLUHV2cHl0WXdiZVdnZXhkXVNNVVRNbGtWREFIdTttdDxEcFJdT2JVV2VVTFRUeVl4eXN5bUx0bltkUGxYdWdRcj89WGhhdXNEa01BbFREUVdwU1ZAUWtNUmJdT1l1amB4TmVFanZdeWt5cjxZVmVVV2VlTkZNUmRlVmtAVT54c2E9VWdwVHZ1eXd5eEx0TlxcZHBjTVdkTUx4dG1LaXVXaXNdSE5NQWxvQFJ0TFF0XFxqQVFRVmxLbml4b0lTUnBqTkFvYXhuQT1ZZkF0SkFMdFVZdWVORlVSZF12RVl3SmBMXXlWbURVRVxcck1ZbFhYVEtkUXZpUm14clpBdlp4U115b1l1cWhEVExMVGV4UXlTWW9ydVFYXmNWcFdkbz9SPFlyPWlReGxReGxVXFxgTl5wVFtIbltwUUd4UFNgU0xkTltkcERUS0VUeGNdeWRoVGVgTkRNUHVBc1Q9Tnhgb3ZITltETnh0TEpEb1ldVE5dbGpBdXNVeGBJTmxMUExNcm5cXG5AbXFoXVJeXFxOXjxTTmBWcElsb0BScFxcV1JBTnZsUGVUT0VNcl5cXF5MUGxMQGBpb1U9V2ZZWElpSUFnQkVrREJdZUJfdGBjRl9jQkBTYjs9V2ZHc15NUmZdV2ZfckNvVklDdXFBUkxRdExhaVhzZk9RV2tnVkVxRFNLREtPdWZbVXI/VGJ5V0I7QmlDVzw9QmhpaVhfV1VxcEpBVUtJWG1lamZ5TV5cXG9ocG9wUXlKXVRPZVRPTFZcXE1WXk1TPk1XTXhtWXh3b0luZmBtVmBNZkRVbGBSYGBSXnBQP2lyP3FVaT1rXmF2XkFOYXROQW1tOlVwPmB3P0xMTExMPFhvUXVvdF1wVTxvS0FXSkVUS0VyQ1Vua212R1ltQWh5dXl4XWxPaGxzXWh2WV1Za2lSXnVWYVVzVlBrTnF2Zkl1bXBNWV1vb1RPZVRLT2hsT1BQYUxUeXRxVl1TS0FXbkx2ZGl0ZUBPaGxPQHBVaXhtbkVtbmBwblxcVXhgWVNUUXBdd2p5Ul5MZEVuXFxmPnJ4aXl1SWxReGxxZnZ1VnBcXFF2XFxBZFBvZEB4ZXdRd1FfUXFTTTt3bk1JVmdJdW1ET2dkT1dUaEl0VF9TYFtldkNZTGN0T2l0Skl3bm1ZSD1neGtZdW9Va29VaXdSc0VZc0tTRVVrc0hxU2R1V2l1akVxVj1QVGRrQj1TQj1MeERzP1VYQWFxc1V4SmhtV2hrZmF3Zl11ckhYPWRRd2RRak1hWz9gUj5cXFdmXUd5cVtOeEJvaXhvYWxZeG1JZm9QZUtJdEtJWnVodUhAeGpBaFJkQ3diSGlpXnl4RWt1ZV1IVFtmYG9mXFxjSG9jdFl5aVRvVktnckV3RF1FeFxcaXJEdXJaY0RtQ2VGXXlWP2RJP1lFVVVcXEtGTEtyPENGXFw+UEtGXFw6Ojo6Ojo6Ojo+c054ZF1pXVROXTx3Y0l3W2ZuXFxFeGFtQWNAUWdvUFo6bmdYYXFjQGhMdnV2aXZpdmlLZ3dWXmhwb2hcXD9nYj9bZ2l3Z1FjQUdcXExpdE9pYHR5ZW9wczt5YFlhaT1mbUh3blRJYWJJd2NJWjpmdHh2eXdnaXc/WjpWcVdxb1RJYWJ5d2l5bWxxdWJ2W0Z2O1lyTTx2W3hqWExyWkF2WmBvO0FrQkBPamlPVj1xSnR1d3V4V2FqaXlTc3hKTERNU0RrO0lyO11MUXRMRVFNRm1PR2hrR0BwVGVvYjxPYjxySXFZcFlQX1h2QkRzR2lzP3lTeE14TVxceVV5cXdZbUxJVD5gd1dZcVE8SmpNeF5JUz9YbEJIcWxldkRcXHNgVVBcXFl2XWlUdXV5VGRwSUlSQ0VTQ1xcV3BUbWR1VUFgd3BVUUZxVm1sbXZNeENdeXV5cXlZcUxJWD5gZkdpaktBZ1ZgeGtIX0VeZnhheXNBYFNgY1h3dUJwYUpAZWdwZHZZc3lgeUVObExQbE5wa1xcXl5xdmBRdmN3ZnhOUGdhQXJkZ3BcXEhvY0hjb3h4cnhgVGZralZNS0RMS0ROVUlBa1ZtR0V0Y2VIZWhtPVZtR3VKTWw+ZXBJeXlCRWp2WXZ5bHldUFdhQXY9eVtyZnZdX2FDcGM+S2ZKTGJKOjo6Ojo6Ojo6Sk1tVUd4bGI8dG9peG9Jcmh1cF1cXFF2XFxNQFRqO0V3clxcUnh1dmo9UVpVcFNBbk9RV1tdUFREbk9RV3dReXVJcUFMUmRQVmtAVUpobVdoa3NZeGFZdmt5cll0ckxpbkVFeGJZbklQdmt5cllmbXV2aEhwdTtua2JvcGw/YVY+dXF4Z1lOVj9Jdjt5WkR4ZllwSVF2Y3luWXBSaj1Yamx0ZkhVPVBxdFBRcmh1aHVxXkVWO0BsZDxxVz9pX2lsUT9wZkd1bF50TmF0Okl3bm9rdV9xaXhvSWZmX2dmQlhrRVhiXVdmXVBiY0ZrXml0UHF0QGhuRXdsXFxAb2JAW1dmXVdWXFxYdm9peG9BT2l0T2FQeU95U1J1Ul5BcjxDRk89dXZHWW1rQ1dLSW5TdmxtQ0FXQmVtdGZQdVRRVXlcXG5cXEx4WXBrSHBLZnRVeGBNV2l1V1lQaFRVUXVUQWhsZV5sd2BiUj9eTj54SGBdc05abUh1Zkl4bHFncVhdVXhgaW94YmdiXU5kPXZqPUlqbmF4bndvREZyXFxHcFppeFF5ZVFIYE9WWz5QWlZYc19RYkNHY0N4dF1hXUhid1l5cVlzSj9jQnl5SF1lckNGbkdSbl14YklUU3VzRUtoOj1HWmd0UXl0XT1WWj1SYl13U1dIYT12bEVpXmtTPl12eVV0V3lkdk1JaHVoVWNIb2NITHNmc1lHUDtDP1toZXNUaD9DSWdYcltFYmF3ZmFkamNDS3d5R1tDRltTdE1yVllUWXdZeElpPkdXQFlWOz9UOlVoU2FXeGNjcWlWP1lGRFxcWVd1SmRRd2RhbkNMUENsTEJkSm5kcVh1d01BWXldcU9IbEJtU3hwbz1MWFxcRWpKPVJ1TXZDeE52TU1ZUGxMUE5HPUxcXGRqUmRrQD1Xbkx2UWRLQ2FzRmFsamRzcl1PSkxbUHdvWENJZ2NHZ2M/XVNGXWM+R1dCX3lJVWZLQUZnY0dHPVl2WUNpW2laQ1ZUR3hSPUZOO3RcXFl2XUlkSj9kWltIcHNHaXNTXFxhSD5Nc3Jpd2l1WWVbSGg8U0JsdGdYVWFEWFR4cVxcRWpKPXJlUG9kUGpIdW5tUVdGXVl2XVFwZFdUYU5NTU5cXHR5RFVTRVVSUG1UUHh0XVFvZFBvdk1RdmlQTWxMQj5pYFZsQ2Z0T2l0WHZlY19gYG5eQHZteE95Y3h0X1hiTj5zZFBvZEBsVFBtZEl4bGlcXE9mXFxCQXNCQWxrRlxcRV5qTk9mV1Fxbz9xdGdYP2diP2djdWRFQXNCQVJFVVNFc0dpcVNtb2NIdWY9VVI9VUJwXXdSSUhncVU/R3JaPXJTWWhhRWhddXJIQ3VtQ3h4PUZeT0VrSXBrVXhgaVNuZFBvRHZdeWt5bFJBdVJBXFxNSD5dR3BiZkZlbGBaU0dlU1dgUF5bS1BtY19gVF5kTl9kWld5cGlXTVdkPVhfUXNPO3VmPHRlaXhCUGtEUHJkaFRlQHBoZXV0RFVJVFVHWHNdeWxZUVJeRG5OYXROdW9wZXZDcFZVVGo7QWpXVFFwPXlfdU9dTVF2XFxqP11SPk1CQjxROjo6Ojo6Ojo6OjpcXHY7SHZbSWZNaGFqYGlzUWhudmBxVnJeT2BzWWFNYF5mcGRlPlpaXmF2XmVveHhCQGdob2dAPlpPeXM7T2NET2tsSGI+Zmt2dnk6dnY6R19kd2VBXndwV2FmcWh1Plpvd3M7Sz90bGl0VVhAeFJhbHFZSnNJeUl5WWhUV2JEcWdEVWxgSndkUXc8UFRka0R1UktsTFRMTUR4UlhEWT5MWXdwVWNBTzxNbl1YbmtZckl0UWJkTT09VTxNUjxMcXRQcUpkTVdkd2tpd25VSkc9VVI9TXhNeU15bWRkTT09VVZdVVZscXdxeFVldGhYSm15dklXcXF3d2RQeW8/X19mXj9Gc0NJc01wYXBmdlg+W0tGXFxLYWhyb1s+QGtCPD47OjpCeXlpSHV4bG1iSE9EPXFHOjtCOjtSTEVkTUNkZT9EUj81PlwiXHtcfQ==<Drawing-Root>LSUrQU5OT1RBVElPTkc2Jy0lKUJPVU5EU19YRzYjJCIjNSEiIi0lKUJPVU5EU19ZRzYjJCIiIUYqLSUtQk9VTkRTX1dJRFRIRzYjJCIlK1NGKi0lLkJPVU5EU19IRUlHSFRHRjItJSlDSElMRFJFTkc2Ig==</Drawing-Root></Image></Text-field>
</Group></Presentation-Block><Presentation-Block>
<Group view="presentation" inline-output="false" labelreference="L2038" drawlabel="true" applyint="true" applyrational="true" applyexponent="false">
<Input><Text-field style="Text" layout="Normal" bullet="dot"><Font size="16">The </Font><Equation executable="false" style="2D Math" input-equation="" display="LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYlLUkjbWlHRiQ2J1EibkYnLyUlc2l6ZUdRIzE2RicvJSdpdGFsaWNHUSV0cnVlRicvJStleGVjdXRhYmxlR1EmZmFsc2VGJy8lLG1hdGh2YXJpYW50R1EnaXRhbGljRidGNS9GOVEnbm9ybWFsRic=">LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYlLUkjbWlHRiQ2J1EibkYnLyUlc2l6ZUdRIzE2RicvJSdpdGFsaWNHUSV0cnVlRicvJStleGVjdXRhYmxlR1EmZmFsc2VGJy8lLG1hdGh2YXJpYW50R1EnaXRhbGljRidGNS9GOVEnbm9ybWFsRic=</Equation><Font size="16">-Queens problem is to place <Font italic="true">n</Font> queens on an <Font italic="true">n</Font> by <Font italic="true">n</Font> chessboard such that no two queens are mutually attacking (are in the same row, column, or diagonal).  The above image shows the squares attacked by a queen on an 8 by 8 chessboard.</Font></Text-field>
</Input>
</Group></Presentation-Block><Presentation-Block>
<Group view="presentation" inline-output="false" labelreference="L2040" drawlabel="true" applyint="true" applyrational="true" applyexponent="false">
<Input><Text-field style="Text" layout="Normal" bullet="dot"><Font size="16">The problem is solvable for all <Font italic="true">n</Font> larger than 3.</Font></Text-field>
</Input>
</Group></Presentation-Block><Presentation-Block>
<Group view="presentation" inline-output="false" labelreference="L2039" drawlabel="true" applyint="true" applyrational="true" applyexponent="false">
<Input><Text-field style="Text" layout="Normal" bullet="dot"><Font size="16">We can use Maple's built-in efficient SAT solver to quickly solve this problem.  A SAT solver takes as input a formula in Boolean logic and returns an assignment to the variables which makes the formula true (if one exists). See the </Font><Hyperlink linktarget="Help:Logic[Satisfy]" hyperlink="true"><Font size="16" style="Hyperlink">Satisfy</Font></Hyperlink><Font size="16"> command for more information.</Font></Text-field>
</Input>
</Group></Presentation-Block><Presentation-Block>
<Group view="presentation" inline-output="false" labelreference="L2042" drawlabel="true" applyint="true" applyrational="true" applyexponent="false">
<Input><Text-field style="Text" layout="Normal"></Text-field>
</Input>
</Group></Presentation-Block>
<Section collapsed="true" isCollapsible="true" drawButton="true" MultipleChoiceAnswerIndex="-1" MultipleChoiceRandomizeChoices="false" TrueFalseAnswerIndex="-1" EssayAnswerRows="5" EssayAnswerColumns="60"><Title><Text-field style="Heading 1" layout="Heading 1"><Font size="24">Setting up the problem</Font></Text-field></Title><Presentation-Block>
<Group view="presentation" hide-input="false" inline-output="false" labelreference="L1092" drawlabel="true" applyint="true" applyrational="true" applyexponent="false">
<Input><Text-field style="Text" layout="Normal" bullet="dot"><Font size="16">We'll use the Boolean variables </Font><Equation executable="false" style="2D Math" input-equation="" display="LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYnLUklbXN1YkdGJDYmLUkjbWlHRiQ2J1EiUUYnLyUlc2l6ZUdRIzE2RicvJSdpdGFsaWNHUSV0cnVlRicvJStleGVjdXRhYmxlR1EmZmFsc2VGJy8lLG1hdGh2YXJpYW50R1EnaXRhbGljRictRiM2KS1GLzYnUSJ4RidGMkY1RjhGOy1JI21vR0YkNi9RIixGJ0YyRjgvRjxRJ25vcm1hbEYnLyUmZmVuY2VHRjovJSpzZXBhcmF0b3JHRjcvJSlzdHJldGNoeUdGOi8lKnN5bW1ldHJpY0dGOi8lKGxhcmdlb3BHRjovJS5tb3ZhYmxlbGltaXRzR0Y6LyUnYWNjZW50R0Y6LyUnbHNwYWNlR1EmMC4wZW1GJy8lJ3JzcGFjZUdRLDAuMzMzMzMzM2VtRictRi82J1EieUYnRjJGNUY4RjtGMkY1RjhGOy8lL3N1YnNjcmlwdHNoaWZ0R1EiMEYnL0krbXNlbWFudGljc0dGJFEnYXRvbWljRictRi82I1EhRidGMkY4Rkc=">LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYnLUklbXN1YkdGJDYmLUkjbWlHRiQ2J1EiUUYnLyUlc2l6ZUdRIzE2RicvJSdpdGFsaWNHUSV0cnVlRicvJStleGVjdXRhYmxlR1EmZmFsc2VGJy8lLG1hdGh2YXJpYW50R1EnaXRhbGljRictRiM2KS1GLzYnUSJ4RidGMkY1RjhGOy1JI21vR0YkNi9RIixGJ0YyRjgvRjxRJ25vcm1hbEYnLyUmZmVuY2VHRjovJSpzZXBhcmF0b3JHRjcvJSlzdHJldGNoeUdGOi8lKnN5bW1ldHJpY0dGOi8lKGxhcmdlb3BHRjovJS5tb3ZhYmxlbGltaXRzR0Y6LyUnYWNjZW50R0Y6LyUnbHNwYWNlR1EmMC4wZW1GJy8lJ3JzcGFjZUdRLDAuMzMzMzMzM2VtRictRi82J1EieUYnRjJGNUY4RjtGMkY1RjhGOy8lL3N1YnNjcmlwdHNoaWZ0R1EiMEYnL0krbXNlbWFudGljc0dGJFEnYXRvbWljRictRi82I1EhRidGMkY4Rkc=</Equation><Font size="16"> for </Font><Equation executable="false" style="2D Math" input-equation="" display="LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYmLUkjbWlHRiQ2J1EieEYnLyUlc2l6ZUdRIzE2RicvJSdpdGFsaWNHUSV0cnVlRicvJStleGVjdXRhYmxlR1EmZmFsc2VGJy8lLG1hdGh2YXJpYW50R1EnaXRhbGljRidGL0Y1L0Y5USdub3JtYWxGJw==">LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYmLUkjbWlHRiQ2J1EieEYnLyUlc2l6ZUdRIzE2RicvJSdpdGFsaWNHUSV0cnVlRicvJStleGVjdXRhYmxlR1EmZmFsc2VGJy8lLG1hdGh2YXJpYW50R1EnaXRhbGljRidGL0Y1L0Y5USdub3JtYWxGJw==</Equation><Font size="16"> and </Font><Equation executable="false" style="2D Math" input-equation="" display="LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYmLUkjbWlHRiQ2J1EieUYnLyUlc2l6ZUdRIzE2RicvJSdpdGFsaWNHUSV0cnVlRicvJStleGVjdXRhYmxlR1EmZmFsc2VGJy8lLG1hdGh2YXJpYW50R1EnaXRhbGljRidGL0Y1L0Y5USdub3JtYWxGJw==">LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYmLUkjbWlHRiQ2J1EieUYnLyUlc2l6ZUdRIzE2RicvJSdpdGFsaWNHUSV0cnVlRicvJStleGVjdXRhYmxlR1EmZmFsc2VGJy8lLG1hdGh2YXJpYW50R1EnaXRhbGljRidGL0Y1L0Y5USdub3JtYWxGJw==</Equation><Font size="16"> between 1 and </Font><Equation executable="false" style="2D Math" input-equation="" display="LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYmLUkjbWlHRiQ2J1EibkYnLyUlc2l6ZUdRIzE2RicvJSdpdGFsaWNHUSV0cnVlRicvJStleGVjdXRhYmxlR1EmZmFsc2VGJy8lLG1hdGh2YXJpYW50R1EnaXRhbGljRidGL0Y1L0Y5USdub3JtYWxGJw==">LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYmLUkjbWlHRiQ2J1EibkYnLyUlc2l6ZUdRIzE2RicvJSdpdGFsaWNHUSV0cnVlRicvJStleGVjdXRhYmxlR1EmZmFsc2VGJy8lLG1hdGh2YXJpYW50R1EnaXRhbGljRidGL0Y1L0Y5USdub3JtYWxGJw==</Equation><Font size="16"> to denote if there is a queen on the square at </Font><Equation executable="false" style="2D Math" input-equation="" display="LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYmLUkobWZlbmNlZEdGJDYmLUYjNigtSSNtaUdGJDYnUSJ4RicvJSVzaXplR1EjMTZGJy8lJ2l0YWxpY0dRJXRydWVGJy8lK2V4ZWN1dGFibGVHUSZmYWxzZUYnLyUsbWF0aHZhcmlhbnRHUSdpdGFsaWNGJy1JI21vR0YkNi9RIixGJ0Y0RjovRj5RJ25vcm1hbEYnLyUmZmVuY2VHRjwvJSpzZXBhcmF0b3JHRjkvJSlzdHJldGNoeUdGPC8lKnN5bW1ldHJpY0dGPC8lKGxhcmdlb3BHRjwvJS5tb3ZhYmxlbGltaXRzR0Y8LyUnYWNjZW50R0Y8LyUnbHNwYWNlR1EmMC4wZW1GJy8lJ3JzcGFjZUdRLDAuMzMzMzMzM2VtRictRjE2J1EieUYnRjRGN0Y6Rj1GNEY6RkRGNEY6RkRGNEY6RkQ=">LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYmLUkobWZlbmNlZEdGJDYmLUYjNigtSSNtaUdGJDYnUSJ4RicvJSVzaXplR1EjMTZGJy8lJ2l0YWxpY0dRJXRydWVGJy8lK2V4ZWN1dGFibGVHUSZmYWxzZUYnLyUsbWF0aHZhcmlhbnRHUSdpdGFsaWNGJy1JI21vR0YkNi9RIixGJ0Y0RjovRj5RJ25vcm1hbEYnLyUmZmVuY2VHRjwvJSpzZXBhcmF0b3JHRjkvJSlzdHJldGNoeUdGPC8lKnN5bW1ldHJpY0dGPC8lKGxhcmdlb3BHRjwvJS5tb3ZhYmxlbGltaXRzR0Y8LyUnYWNjZW50R0Y8LyUnbHNwYWNlR1EmMC4wZW1GJy8lJ3JzcGFjZUdRLDAuMzMzMzMzM2VtRictRjE2J1EieUYnRjRGN0Y6Rj1GNEY6RkRGNEY6RkRGNEY6RkQ=</Equation><Font size="16">.</Font></Text-field>
</Input>
</Group></Presentation-Block><Presentation-Block>
<Group view="presentation" inline-output="false" labelreference="L1104" drawlabel="true" applyint="true" applyrational="true" applyexponent="false">
<Input><Text-field style="Text" layout="Normal" bulletsuffix="." bullet="dot"><Font size="16">We'll also use a few simple functions to compute the set of variables which are attacked by a queen at </Font><Equation executable="false" style="2D Math" input-equation="" display="LUkobWZlbmNlZEc2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYmLUklbXJvd0dGJDYoLUkjbWlHRiQ2J1EieEYnLyUlc2l6ZUdRIzE2RicvJSdpdGFsaWNHUSV0cnVlRicvJStleGVjdXRhYmxlR1EmZmFsc2VGJy8lLG1hdGh2YXJpYW50R1EnaXRhbGljRictSSNtb0dGJDYvUSIsRidGMkY4L0Y8USdub3JtYWxGJy8lJmZlbmNlR0Y6LyUqc2VwYXJhdG9yR0Y3LyUpc3RyZXRjaHlHRjovJSpzeW1tZXRyaWNHRjovJShsYXJnZW9wR0Y6LyUubW92YWJsZWxpbWl0c0dGOi8lJ2FjY2VudEdGOi8lJ2xzcGFjZUdRJjAuMGVtRicvJSdyc3BhY2VHUSwwLjMzMzMzMzNlbUYnLUYvNidRInlGJ0YyRjVGOEY7RjJGOEZCRjJGOEZC">LUkobWZlbmNlZEc2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYmLUklbXJvd0dGJDYoLUkjbWlHRiQ2J1EieEYnLyUlc2l6ZUdRIzE2RicvJSdpdGFsaWNHUSV0cnVlRicvJStleGVjdXRhYmxlR1EmZmFsc2VGJy8lLG1hdGh2YXJpYW50R1EnaXRhbGljRictSSNtb0dGJDYvUSIsRidGMkY4L0Y8USdub3JtYWxGJy8lJmZlbmNlR0Y6LyUqc2VwYXJhdG9yR0Y3LyUpc3RyZXRjaHlHRjovJSpzeW1tZXRyaWNHRjovJShsYXJnZW9wR0Y6LyUubW92YWJsZWxpbWl0c0dGOi8lJ2FjY2VudEdGOi8lJ2xzcGFjZUdRJjAuMGVtRicvJSdyc3BhY2VHUSwwLjMzMzMzMzNlbUYnLUYvNidRInlGJ0YyRjVGOEY7RjJGOEZCRjJGOEZC</Equation><Font size="16">.</Font></Text-field>
</Input>
</Group></Presentation-Block><Presentation-Block>
<Group view="presentation" inline-output="false" labelreference="L1106" drawlabel="true" applyint="true" applyrational="true" applyexponent="false">
<Input><Text-field style="Text" layout="Normal" bulletsuffix="." bullet="dot"><Font size="16">To define </Font><Equation executable="false" style="2D Math" input-equation="" display="LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYmLUkjbWlHRiQ2J1EtYXR0YWNrZWRWYXJzRicvJSVzaXplR1EjMTZGJy8lJ2l0YWxpY0dRJXRydWVGJy8lK2V4ZWN1dGFibGVHUSZmYWxzZUYnLyUsbWF0aHZhcmlhbnRHUSdpdGFsaWNGJy1JKG1mZW5jZWRHRiQ2Ji1GIzYnLUYsNidRInhGJ0YvRjJGNUY4LUkjbW9HRiQ2L1EiLEYnRi9GNS9GOVEnbm9ybWFsRicvJSZmZW5jZUdGNy8lKnNlcGFyYXRvckdGNC8lKXN0cmV0Y2h5R0Y3LyUqc3ltbWV0cmljR0Y3LyUobGFyZ2VvcEdGNy8lLm1vdmFibGVsaW1pdHNHRjcvJSdhY2NlbnRHRjcvJSdsc3BhY2VHUSYwLjBlbUYnLyUncnNwYWNlR1EsMC4zMzMzMzMzZW1GJy1GLDYnUSJ5RidGL0YyRjVGOEY1RkdGL0Y1RkdGNUZH">LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYmLUkjbWlHRiQ2J1EtYXR0YWNrZWRWYXJzRicvJSVzaXplR1EjMTZGJy8lJ2l0YWxpY0dRJXRydWVGJy8lK2V4ZWN1dGFibGVHUSZmYWxzZUYnLyUsbWF0aHZhcmlhbnRHUSdpdGFsaWNGJy1JKG1mZW5jZWRHRiQ2Ji1GIzYnLUYsNidRInhGJ0YvRjJGNUY4LUkjbW9HRiQ2L1EiLEYnRi9GNS9GOVEnbm9ybWFsRicvJSZmZW5jZUdGNy8lKnNlcGFyYXRvckdGNC8lKXN0cmV0Y2h5R0Y3LyUqc3ltbWV0cmljR0Y3LyUobGFyZ2VvcEdGNy8lLm1vdmFibGVsaW1pdHNHRjcvJSdhY2NlbnRHRjcvJSdsc3BhY2VHUSYwLjBlbUYnLyUncnNwYWNlR1EsMC4zMzMzMzMzZW1GJy1GLDYnUSJ5RidGL0YyRjVGOEY1RkdGL0Y1RkdGNUZH</Equation><Font size="16"> we'll use the following four functions:
* <Font italic="true">varsInCol</Font>: Returns the set of variables in the same column as the square at </Font><Equation executable="false" style="2D Math" input-equation="" display="LUkobWZlbmNlZEc2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYmLUklbXJvd0dGJDYoLUkjbWlHRiQ2J1EieEYnLyUlc2l6ZUdRIzE2RicvJSdpdGFsaWNHUSV0cnVlRicvJStleGVjdXRhYmxlR1EmZmFsc2VGJy8lLG1hdGh2YXJpYW50R1EnaXRhbGljRictSSNtb0dGJDYvUSIsRidGMkY4L0Y8USdub3JtYWxGJy8lJmZlbmNlR0Y6LyUqc2VwYXJhdG9yR0Y3LyUpc3RyZXRjaHlHRjovJSpzeW1tZXRyaWNHRjovJShsYXJnZW9wR0Y6LyUubW92YWJsZWxpbWl0c0dGOi8lJ2FjY2VudEdGOi8lJ2xzcGFjZUdRJjAuMGVtRicvJSdyc3BhY2VHUSwwLjMzMzMzMzNlbUYnLUYvNidRInlGJ0YyRjVGOEY7RjJGOEZCRjJGOEZC">LUkobWZlbmNlZEc2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYmLUklbXJvd0dGJDYoLUkjbWlHRiQ2J1EieEYnLyUlc2l6ZUdRIzE2RicvJSdpdGFsaWNHUSV0cnVlRicvJStleGVjdXRhYmxlR1EmZmFsc2VGJy8lLG1hdGh2YXJpYW50R1EnaXRhbGljRictSSNtb0dGJDYvUSIsRidGMkY4L0Y8USdub3JtYWxGJy8lJmZlbmNlR0Y6LyUqc2VwYXJhdG9yR0Y3LyUpc3RyZXRjaHlHRjovJSpzeW1tZXRyaWNHRjovJShsYXJnZW9wR0Y6LyUubW92YWJsZWxpbWl0c0dGOi8lJ2FjY2VudEdGOi8lJ2xzcGFjZUdRJjAuMGVtRicvJSdyc3BhY2VHUSwwLjMzMzMzMzNlbUYnLUYvNidRInlGJ0YyRjVGOEY7RjJGOEZCRjJGOEZC</Equation><Font size="16">.
* <Font italic="true">varsInRow</Font>: Returns the set of variables in the same row as the square at </Font><Equation executable="false" style="2D Math" input-equation="" display="LUkobWZlbmNlZEc2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYmLUklbXJvd0dGJDYoLUkjbWlHRiQ2J1EieEYnLyUlc2l6ZUdRIzE2RicvJSdpdGFsaWNHUSV0cnVlRicvJStleGVjdXRhYmxlR1EmZmFsc2VGJy8lLG1hdGh2YXJpYW50R1EnaXRhbGljRictSSNtb0dGJDYvUSIsRidGMkY4L0Y8USdub3JtYWxGJy8lJmZlbmNlR0Y6LyUqc2VwYXJhdG9yR0Y3LyUpc3RyZXRjaHlHRjovJSpzeW1tZXRyaWNHRjovJShsYXJnZW9wR0Y6LyUubW92YWJsZWxpbWl0c0dGOi8lJ2FjY2VudEdGOi8lJ2xzcGFjZUdRJjAuMGVtRicvJSdyc3BhY2VHUSwwLjMzMzMzMzNlbUYnLUYvNidRInlGJ0YyRjVGOEY7RjJGOEZCRjJGOEZC">LUkobWZlbmNlZEc2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYmLUklbXJvd0dGJDYoLUkjbWlHRiQ2J1EieEYnLyUlc2l6ZUdRIzE2RicvJSdpdGFsaWNHUSV0cnVlRicvJStleGVjdXRhYmxlR1EmZmFsc2VGJy8lLG1hdGh2YXJpYW50R1EnaXRhbGljRictSSNtb0dGJDYvUSIsRidGMkY4L0Y8USdub3JtYWxGJy8lJmZlbmNlR0Y6LyUqc2VwYXJhdG9yR0Y3LyUpc3RyZXRjaHlHRjovJSpzeW1tZXRyaWNHRjovJShsYXJnZW9wR0Y6LyUubW92YWJsZWxpbWl0c0dGOi8lJ2FjY2VudEdGOi8lJ2xzcGFjZUdRJjAuMGVtRicvJSdyc3BhY2VHUSwwLjMzMzMzMzNlbUYnLUYvNidRInlGJ0YyRjVGOEY7RjJGOEZCRjJGOEZC</Equation><Font size="16">.
* <Font italic="true">varsInDiag</Font>: Returns the set of variables in the same diagonal as the square at </Font><Equation executable="false" style="2D Math" input-equation="" display="LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYmLUkobWZlbmNlZEdGJDYmLUYjNigtSSNtaUdGJDYnUSJ4RicvJSVzaXplR1EjMTZGJy8lJ2l0YWxpY0dRJXRydWVGJy8lK2V4ZWN1dGFibGVHUSZmYWxzZUYnLyUsbWF0aHZhcmlhbnRHUSdpdGFsaWNGJy1JI21vR0YkNi9RIixGJ0Y0RjovRj5RJ25vcm1hbEYnLyUmZmVuY2VHRjwvJSpzZXBhcmF0b3JHRjkvJSlzdHJldGNoeUdGPC8lKnN5bW1ldHJpY0dGPC8lKGxhcmdlb3BHRjwvJS5tb3ZhYmxlbGltaXRzR0Y8LyUnYWNjZW50R0Y8LyUnbHNwYWNlR1EmMC4wZW1GJy8lJ3JzcGFjZUdRLDAuMzMzMzMzM2VtRictRjE2J1EieUYnRjRGN0Y6Rj1GNEY6RkRGNEY6RkRGNEY6RkQ=">LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYmLUkobWZlbmNlZEdGJDYmLUYjNigtSSNtaUdGJDYnUSJ4RicvJSVzaXplR1EjMTZGJy8lJ2l0YWxpY0dRJXRydWVGJy8lK2V4ZWN1dGFibGVHUSZmYWxzZUYnLyUsbWF0aHZhcmlhbnRHUSdpdGFsaWNGJy1JI21vR0YkNi9RIixGJ0Y0RjovRj5RJ25vcm1hbEYnLyUmZmVuY2VHRjwvJSpzZXBhcmF0b3JHRjkvJSlzdHJldGNoeUdGPC8lKnN5bW1ldHJpY0dGPC8lKGxhcmdlb3BHRjwvJS5tb3ZhYmxlbGltaXRzR0Y8LyUnYWNjZW50R0Y8LyUnbHNwYWNlR1EmMC4wZW1GJy8lJ3JzcGFjZUdRLDAuMzMzMzMzM2VtRictRjE2J1EieUYnRjRGN0Y6Rj1GNEY6RkRGNEY6RkRGNEY6RkQ=</Equation><Font size="16">.
* <Font italic="true">varsInAntiDiag</Font>: Returns the set of variables in the same anti-diagonal as the square at </Font><Equation executable="false" style="2D Math" input-equation="" display="LUkobWZlbmNlZEc2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYmLUklbXJvd0dGJDYoLUkjbWlHRiQ2J1EieEYnLyUlc2l6ZUdRIzE2RicvJSdpdGFsaWNHUSV0cnVlRicvJStleGVjdXRhYmxlR1EmZmFsc2VGJy8lLG1hdGh2YXJpYW50R1EnaXRhbGljRictSSNtb0dGJDYvUSIsRidGMkY4L0Y8USdub3JtYWxGJy8lJmZlbmNlR0Y6LyUqc2VwYXJhdG9yR0Y3LyUpc3RyZXRjaHlHRjovJSpzeW1tZXRyaWNHRjovJShsYXJnZW9wR0Y6LyUubW92YWJsZWxpbWl0c0dGOi8lJ2FjY2VudEdGOi8lJ2xzcGFjZUdRJjAuMGVtRicvJSdyc3BhY2VHUSwwLjMzMzMzMzNlbUYnLUYvNidRInlGJ0YyRjVGOEY7RjJGOEZCRjJGOEZC">LUkobWZlbmNlZEc2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYmLUklbXJvd0dGJDYoLUkjbWlHRiQ2J1EieEYnLyUlc2l6ZUdRIzE2RicvJSdpdGFsaWNHUSV0cnVlRicvJStleGVjdXRhYmxlR1EmZmFsc2VGJy8lLG1hdGh2YXJpYW50R1EnaXRhbGljRictSSNtb0dGJDYvUSIsRidGMkY4L0Y8USdub3JtYWxGJy8lJmZlbmNlR0Y6LyUqc2VwYXJhdG9yR0Y3LyUpc3RyZXRjaHlHRjovJSpzeW1tZXRyaWNHRjovJShsYXJnZW9wR0Y6LyUubW92YWJsZWxpbWl0c0dGOi8lJ2FjY2VudEdGOi8lJ2xzcGFjZUdRJjAuMGVtRicvJSdyc3BhY2VHUSwwLjMzMzMzMzNlbUYnLUYvNidRInlGJ0YyRjVGOEY7RjJGOEZCRjJGOEZC</Equation><Font size="16">.</Font></Text-field>
</Input>
</Group></Presentation-Block>
<Section collapsed="true" isCollapsible="true" drawButton="true" MultipleChoiceAnswerIndex="-1" MultipleChoiceRandomizeChoices="false" TrueFalseAnswerIndex="-1" EssayAnswerRows="5" EssayAnswerColumns="60"><Title><Text-field style="Heading 2" layout="Heading 2">Function definitions</Text-field></Title><Presentation-Block><CodeEditor-ExecGroup view="presentation" inline-output="false" labelreference="L1120" drawlabel="true" applyint="true" applyrational="true" display="code"><EC-CodeEditor id="CodeEditRegion4" expanded="true" visible="true" pixel-width="500" pixel-height="200" code-language="text/maple" autofit="true" wrapping="true" show-border="true" code-line-numbers="true">varsInCol := proc(x, y)
	return {seq(Q[x, i], i=1..n)};
end proc:

varsInRow := proc(x, y)
	return {seq(Q[i, y], i=1..n)};
end proc:

varsInDiag := proc(x, y)
	local diagVars;
	if y &gt; n - x then
		diagVars := {seq(Q[i, x+y-i], i=x+y-n..n)};
	else
		diagVars := {seq(Q[i, x+y-i], i=1..x+y-1)};
	end if;
	return diagVars;
end proc:

varsInAntiDiag := proc(x, y)
	local diagVars;
	if x &lt; y then
		diagVars := {seq(Q[i, y-x+i], i=1..n-y+x)};
	else
		diagVars := {seq(Q[i, y-x+i], i=x-y+1..n)};
	end if;
	return diagVars;
end proc:

attackedVars := proc(x, y)
	return (varsInRow(x, y) union varsInCol(x, y) union varsInDiag(x, y) union varsInAntiDiag(x, y)) minus {Q[x, y]};
end proc:</EC-CodeEditor></CodeEditor-ExecGroup></Presentation-Block>
</Section>
</Section><Presentation-Block>
<Group view="presentation" inline-output="false" labelreference="L1309" drawlabel="true" applyint="true" applyrational="true" applyexponent="false">
<Input><Text-field style="Text" layout="Normal"><Equation executable="true" style="2D Math" input-equation="" display="LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYlLUkjbWlHRiQ2I1EhRicvJStleGVjdXRhYmxlR1EmZmFsc2VGJy8lLG1hdGh2YXJpYW50R1Enbm9ybWFsRic=">JSFH</Equation></Text-field>
</Input>
</Group></Presentation-Block>
<Section collapsed="true" isCollapsible="true" drawButton="true" MultipleChoiceAnswerIndex="-1" MultipleChoiceRandomizeChoices="false" TrueFalseAnswerIndex="-1" EssayAnswerRows="5" EssayAnswerColumns="60"><Title><Text-field style="Heading 1" size="24" layout="Heading 1"><Font size="24">Generating the constraints</Font></Text-field></Title><Presentation-Block>
<Group view="presentation" inline-output="false" labelreference="L1144" drawlabel="true" applyint="true" applyrational="true" applyexponent="false">
<Input><Text-field style="Text" layout="Normal" bullet="dot"><Font size="16">For a given </Font><Equation executable="false" style="2D Math" input-equation="" display="LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYmLUkjbWlHRiQ2J1EibkYnLyUlc2l6ZUdRIzE2RicvJSdpdGFsaWNHUSV0cnVlRicvJStleGVjdXRhYmxlR1EmZmFsc2VGJy8lLG1hdGh2YXJpYW50R1EnaXRhbGljRidGL0Y1L0Y5USdub3JtYWxGJw==">LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYmLUkjbWlHRiQ2J1EibkYnLyUlc2l6ZUdRIzE2RicvJSdpdGFsaWNHUSV0cnVlRicvJStleGVjdXRhYmxlR1EmZmFsc2VGJy8lLG1hdGh2YXJpYW50R1EnaXRhbGljRidGL0Y1L0Y5USdub3JtYWxGJw==</Equation><Font size="16"> we need to generate the constraints for the <Font italic="true">n</Font> by <Font italic="true">n</Font> chessboard.</Font></Text-field>
</Input>
</Group></Presentation-Block><Presentation-Block>
<Group view="presentation" inline-output="false" labelreference="L1142" drawlabel="true" applyint="true" applyrational="true" applyexponent="false">
<Input><Text-field style="Text" layout="Normal" bullet="dot"><Font size="16">There are two types of constraints:
* Postive constraints (saying there are at least <Font italic="true">n</Font> queens on the board) 
* Negative constraints (saying each queen doesn't attack any other queen)</Font></Text-field>
</Input>
</Group></Presentation-Block><Presentation-Block>
<Group view="presentation" inline-output="false" labelreference="L1158" drawlabel="true" applyint="true" applyrational="true" applyexponent="false">
<Input><Text-field style="Text" layout="Normal"></Text-field>
</Input>
</Group></Presentation-Block>
<Section collapsed="true" isCollapsible="true" drawButton="true" MultipleChoiceAnswerIndex="-1" MultipleChoiceRandomizeChoices="false" TrueFalseAnswerIndex="-1" EssayAnswerRows="5" EssayAnswerColumns="60"><Title><Text-field style="Heading 2" layout="Heading 2">Positive constraints</Text-field></Title><Presentation-Block>
<Group view="presentation" inline-output="false" labelreference="L1138" drawlabel="true" applyint="true" applyrational="true" applyexponent="false">
<Input><Text-field style="Text" layout="Normal" bullet="dot"><Font size="16">Each row must contain a queen since there are <Font italic="true">n</Font> rows and only one queen can go in each row.</Font></Text-field>
</Input>
</Group></Presentation-Block><Presentation-Block>
<Group view="presentation" inline-output="false" labelreference="L1168" drawlabel="true" applyint="true" applyrational="true" applyexponent="false">
<Input><Text-field style="Text" layout="Normal" bullet="dot"><Font size="16">These clauses have the form </Font><Equation executable="false" style="2D Math" input-equation="" display="LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzY0LUklbXN1YkdGJDYmLUkjbWlHRiQ2J1EiUUYnLyUlc2l6ZUdRIzE2RicvJSdpdGFsaWNHUSV0cnVlRicvJStleGVjdXRhYmxlR1EmZmFsc2VGJy8lLG1hdGh2YXJpYW50R1EnaXRhbGljRictRiM2KS1JI21uR0YkNiZRIjFGJ0YyRjgvRjxRJ25vcm1hbEYnLUkjbW9HRiQ2L1EiLEYnRjJGOEZELyUmZmVuY2VHRjovJSpzZXBhcmF0b3JHRjcvJSlzdHJldGNoeUdGOi8lKnN5bW1ldHJpY0dGOi8lKGxhcmdlb3BHRjovJS5tb3ZhYmxlbGltaXRzR0Y6LyUnYWNjZW50R0Y6LyUnbHNwYWNlR1EmMC4wZW1GJy8lJ3JzcGFjZUdRLDAuMzMzMzMzM2VtRictRi82J1EiakYnRjJGNUY4RjtGMkY1RjhGOy8lL3N1YnNjcmlwdHNoaWZ0R1EiMEYnL0krbXNlbWFudGljc0dGJFEnYXRvbWljRictRkc2L1EifkYnRjJGOEZERkovRk1GOkZORlBGUkZURlZGWC9GZm5GWi1GRzYvUSYmdmVlO0YnRjJGOEZERkpGZG9GTkZQRlJGVEZWL0ZZUSwwLjE2NjY2NjdlbUYnL0ZmbkZqb0Zhby1GLDYmRi4tRiM2KS1GQTYmUSIyRidGMkY4RkRGRkZobkYyRjVGOEY7RltvRl5vRmFvRmZvRmFvLUZHNi9RJyZzZG90O0YnRjJGOEZERkpGZG9GTkZQRlJGVEZWRlhGZW9GY3BGY3BGYW9GZm9GYW8tRiw2JkYuLUYjNiktRi82J1EibkYnRjJGNUY4RjtGRkZobkYyRjVGOEY7RltvRl5vLUYvNiNRIUYnRjhGRA==">LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzY0LUklbXN1YkdGJDYmLUkjbWlHRiQ2J1EiUUYnLyUlc2l6ZUdRIzE2RicvJSdpdGFsaWNHUSV0cnVlRicvJStleGVjdXRhYmxlR1EmZmFsc2VGJy8lLG1hdGh2YXJpYW50R1EnaXRhbGljRictRiM2KS1JI21uR0YkNiZRIjFGJ0YyRjgvRjxRJ25vcm1hbEYnLUkjbW9HRiQ2L1EiLEYnRjJGOEZELyUmZmVuY2VHRjovJSpzZXBhcmF0b3JHRjcvJSlzdHJldGNoeUdGOi8lKnN5bW1ldHJpY0dGOi8lKGxhcmdlb3BHRjovJS5tb3ZhYmxlbGltaXRzR0Y6LyUnYWNjZW50R0Y6LyUnbHNwYWNlR1EmMC4wZW1GJy8lJ3JzcGFjZUdRLDAuMzMzMzMzM2VtRictRi82J1EiakYnRjJGNUY4RjtGMkY1RjhGOy8lL3N1YnNjcmlwdHNoaWZ0R1EiMEYnL0krbXNlbWFudGljc0dGJFEnYXRvbWljRictRkc2L1EifkYnRjJGOEZERkovRk1GOkZORlBGUkZURlZGWC9GZm5GWi1GRzYvUSYmdmVlO0YnRjJGOEZERkpGZG9GTkZQRlJGVEZWL0ZZUSwwLjE2NjY2NjdlbUYnL0ZmbkZqb0Zhby1GLDYmRi4tRiM2KS1GQTYmUSIyRidGMkY4RkRGRkZobkYyRjVGOEY7RltvRl5vRmFvRmZvRmFvLUZHNi9RJyZzZG90O0YnRjJGOEZERkpGZG9GTkZQRlJGVEZWRlhGZW9GY3BGY3BGYW9GZm9GYW8tRiw2JkYuLUYjNiktRi82J1EibkYnRjJGNUY4RjtGRkZobkYyRjVGOEY7RltvRl5vLUYvNiNRIUYnRjhGRA==</Equation><Font size="16"> for </Font><Equation executable="false" style="2D Math" input-equation="" display="LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYlLUkjbWlHRiQ2J1EiakYnLyUlc2l6ZUdRIzE2RicvJSdpdGFsaWNHUSV0cnVlRicvJStleGVjdXRhYmxlR1EmZmFsc2VGJy8lLG1hdGh2YXJpYW50R1EnaXRhbGljRidGNS9GOVEnbm9ybWFsRic=">LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYlLUkjbWlHRiQ2J1EiakYnLyUlc2l6ZUdRIzE2RicvJSdpdGFsaWNHUSV0cnVlRicvJStleGVjdXRhYmxlR1EmZmFsc2VGJy8lLG1hdGh2YXJpYW50R1EnaXRhbGljRidGNS9GOVEnbm9ybWFsRic=</Equation><Font size="16"> from 1 to </Font><Equation executable="false" style="2D Math" input-equation="" display="LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYlLUkjbWlHRiQ2J1EibkYnLyUlc2l6ZUdRIzE2RicvJSdpdGFsaWNHUSV0cnVlRicvJStleGVjdXRhYmxlR1EmZmFsc2VGJy8lLG1hdGh2YXJpYW50R1EnaXRhbGljRidGNS9GOVEnbm9ybWFsRic=">LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYlLUkjbWlHRiQ2J1EibkYnLyUlc2l6ZUdRIzE2RicvJSdpdGFsaWNHUSV0cnVlRicvJStleGVjdXRhYmxlR1EmZmFsc2VGJy8lLG1hdGh2YXJpYW50R1EnaXRhbGljRidGNS9GOVEnbm9ybWFsRic=</Equation><Font size="16">.</Font></Text-field>
</Input>
</Group></Presentation-Block><Presentation-Block>
<Group view="presentation" inline-output="false" labelreference="L1159" drawlabel="true" applyint="true" applyrational="true" applyexponent="false">
<Input><Text-field style="Text" layout="Normal" bullet="dot"><Font size="16">Similarly, each column must contain a queen.</Font></Text-field>
</Input>
</Group></Presentation-Block><Presentation-Block>
<Group view="presentation" inline-output="false" labelreference="L1160" drawlabel="true" applyint="true" applyrational="true" applyexponent="false">
<Input><Text-field style="Text" layout="Normal"></Text-field>
</Input>
</Group></Presentation-Block><Presentation-Block><CodeEditor-ExecGroup view="presentation" hide-input="false" inline-output="false" labelreference="L1162" drawlabel="true" applyint="true" applyrational="true" display="code"><EC-CodeEditor id="CodeEditRegion7" expanded="true" visible="true" pixel-width="500" pixel-height="200" code-language="text/maple" autofit="true" wrapping="true" show-border="true" code-line-numbers="true">positiveConstraints := proc(n)
	local x, constraints;
	constraints := Array(1..2*n);
	for x from 1 to n do
		constraints[2*x-1] := &amp;or(seq(Q[i, x], i=1..n));
		constraints[2*x] := &amp;or(seq(Q[x, j], j=1..n))
	end do:
	return &amp;and(entries(constraints, nolist));
end proc:</EC-CodeEditor></CodeEditor-ExecGroup></Presentation-Block>
</Section><Presentation-Block>
<Group view="presentation" inline-output="false" labelreference="L1139" drawlabel="true" applyint="true" applyrational="true" applyexponent="false">
<Input><Text-field style="Text" layout="Normal"><Equation executable="true" style="2D Math" input-equation="" display="LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYlLUkjbWlHRiQ2I1EhRicvJStleGVjdXRhYmxlR1EmZmFsc2VGJy8lLG1hdGh2YXJpYW50R1Enbm9ybWFsRic=">LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYjLUkjbWlHRiQ2I1EhRic=</Equation></Text-field>
</Input>
</Group></Presentation-Block>
<Section collapsed="true" isCollapsible="true" drawButton="true" MultipleChoiceAnswerIndex="-1" MultipleChoiceRandomizeChoices="false" TrueFalseAnswerIndex="-1" EssayAnswerRows="5" EssayAnswerColumns="60"><Title><Text-field style="Heading 2" layout="Heading 2">Negative constraints</Text-field></Title><Presentation-Block>
<Group view="presentation" inline-output="false" labelreference="L1169" drawlabel="true" applyint="true" applyrational="true" applyexponent="false">
<Input><Text-field style="Text" layout="Normal" bullet="dot"><Font size="16">If a square contains a queen then no other square in that row, column, or diagonal contains a queen.</Font></Text-field>
</Input>
</Group></Presentation-Block><Presentation-Block>
<Group view="presentation" hide-input="false" inline-output="false" labelreference="L1171" drawlabel="true" applyint="true" applyrational="true" applyexponent="false">
<Input><Text-field style="Text" layout="Normal" bullet="dot"><Font size="16">These clauses have the form </Font><Equation executable="false" style="2D Math" input-equation="" display="LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYrLUklbXN1YkdGJDYmLUkjbWlHRiQ2J1EiUUYnLyUlc2l6ZUdRIzE2RicvJSdpdGFsaWNHUSV0cnVlRicvJStleGVjdXRhYmxlR1EmZmFsc2VGJy8lLG1hdGh2YXJpYW50R1EnaXRhbGljRictRiM2KS1GLzYnUSJ4RidGMkY1RjhGOy1JI21vR0YkNi9RIixGJ0YyRjgvRjxRJ25vcm1hbEYnLyUmZmVuY2VHRjovJSpzZXBhcmF0b3JHRjcvJSlzdHJldGNoeUdGOi8lKnN5bW1ldHJpY0dGOi8lKGxhcmdlb3BHRjovJS5tb3ZhYmxlbGltaXRzR0Y6LyUnYWNjZW50R0Y6LyUnbHNwYWNlR1EmMC4wZW1GJy8lJ3JzcGFjZUdRLDAuMzMzMzMzM2VtRictRi82J1EieUYnRjJGNUY4RjtGMkY1RjhGOy8lL3N1YnNjcmlwdHNoaWZ0R1EiMEYnL0krbXNlbWFudGljc0dGJFEnYXRvbWljRictRkQ2L1EifkYnRjJGOEZHRkkvRkxGOkZNRk9GUUZTRlVGVy9GZW5GWS1GRDYvUS0mUmlnaHRhcnJvdztGJ0YyRjhGR0ZJRmNvL0ZORjdGT0ZRRlNGVS9GWFEsMC4yNzc3Nzc4ZW1GJy9GZW5Gam9GYG8tRkQ2L1EmJm5vdDtGJ0YyRjhGR0ZJRmNvRk1GT0ZRRlNGVUZXRltwLUYvNidRIkFGJ0YyRjVGOEY7RjJGOEZH">LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYrLUklbXN1YkdGJDYmLUkjbWlHRiQ2J1EiUUYnLyUlc2l6ZUdRIzE2RicvJSdpdGFsaWNHUSV0cnVlRicvJStleGVjdXRhYmxlR1EmZmFsc2VGJy8lLG1hdGh2YXJpYW50R1EnaXRhbGljRictRiM2KS1GLzYnUSJ4RidGMkY1RjhGOy1JI21vR0YkNi9RIixGJ0YyRjgvRjxRJ25vcm1hbEYnLyUmZmVuY2VHRjovJSpzZXBhcmF0b3JHRjcvJSlzdHJldGNoeUdGOi8lKnN5bW1ldHJpY0dGOi8lKGxhcmdlb3BHRjovJS5tb3ZhYmxlbGltaXRzR0Y6LyUnYWNjZW50R0Y6LyUnbHNwYWNlR1EmMC4wZW1GJy8lJ3JzcGFjZUdRLDAuMzMzMzMzM2VtRictRi82J1EieUYnRjJGNUY4RjtGMkY1RjhGOy8lL3N1YnNjcmlwdHNoaWZ0R1EiMEYnL0krbXNlbWFudGljc0dGJFEnYXRvbWljRictRkQ2L1EifkYnRjJGOEZHRkkvRkxGOkZNRk9GUUZTRlVGVy9GZW5GWS1GRDYvUS0mUmlnaHRhcnJvdztGJ0YyRjhGR0ZJRmNvL0ZORjdGT0ZRRlNGVS9GWFEsMC4yNzc3Nzc4ZW1GJy9GZW5Gam9GYG8tRkQ2L1EmJm5vdDtGJ0YyRjhGR0ZJRmNvRk1GT0ZRRlNGVUZXRltwLUYvNidRIkFGJ0YyRjVGOEY7RjJGOEZH</Equation><Font size="16"> where </Font><Equation executable="false" style="2D Math" input-equation="" display="LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYmLUkjbWlHRiQ2J1EiQUYnLyUlc2l6ZUdRIzE2RicvJSdpdGFsaWNHUSV0cnVlRicvJStleGVjdXRhYmxlR1EmZmFsc2VGJy8lLG1hdGh2YXJpYW50R1EnaXRhbGljRidGL0Y1L0Y5USdub3JtYWxGJw==">LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYmLUkjbWlHRiQ2J1EiQUYnLyUlc2l6ZUdRIzE2RicvJSdpdGFsaWNHUSV0cnVlRicvJStleGVjdXRhYmxlR1EmZmFsc2VGJy8lLG1hdGh2YXJpYW50R1EnaXRhbGljRidGL0Y1L0Y5USdub3JtYWxGJw==</Equation><Font size="16"> is in </Font><Equation executable="false" style="2D Math" input-equation="" display="LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYnLUkjbWlHRiQ2J1EtQXR0YWNrZWRWYXJzRicvJSVzaXplR1EjMTZGJy8lJ2l0YWxpY0dRJXRydWVGJy8lK2V4ZWN1dGFibGVHUSZmYWxzZUYnLyUsbWF0aHZhcmlhbnRHUSdpdGFsaWNGJy1JKG1mZW5jZWRHRiQ2Ji1GIzYoLUYsNidRInhGJ0YvRjJGNUY4LUkjbW9HRiQ2L1EiLEYnRi9GNS9GOVEnbm9ybWFsRicvJSZmZW5jZUdGNy8lKnNlcGFyYXRvckdGNC8lKXN0cmV0Y2h5R0Y3LyUqc3ltbWV0cmljR0Y3LyUobGFyZ2VvcEdGNy8lLm1vdmFibGVsaW1pdHNHRjcvJSdhY2NlbnRHRjcvJSdsc3BhY2VHUSYwLjBlbUYnLyUncnNwYWNlR1EsMC4zMzMzMzMzZW1GJy1GLDYnUSJ5RidGL0YyRjVGOEYvRjVGR0YvRjVGR0YvRjVGRw==">LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYnLUkjbWlHRiQ2J1EtQXR0YWNrZWRWYXJzRicvJSVzaXplR1EjMTZGJy8lJ2l0YWxpY0dRJXRydWVGJy8lK2V4ZWN1dGFibGVHUSZmYWxzZUYnLyUsbWF0aHZhcmlhbnRHUSdpdGFsaWNGJy1JKG1mZW5jZWRHRiQ2Ji1GIzYoLUYsNidRInhGJ0YvRjJGNUY4LUkjbW9HRiQ2L1EiLEYnRi9GNS9GOVEnbm9ybWFsRicvJSZmZW5jZUdGNy8lKnNlcGFyYXRvckdGNC8lKXN0cmV0Y2h5R0Y3LyUqc3ltbWV0cmljR0Y3LyUobGFyZ2VvcEdGNy8lLm1vdmFibGVsaW1pdHNHRjcvJSdhY2NlbnRHRjcvJSdsc3BhY2VHUSYwLjBlbUYnLyUncnNwYWNlR1EsMC4zMzMzMzMzZW1GJy1GLDYnUSJ5RidGL0YyRjVGOEYvRjVGR0YvRjVGR0YvRjVGRw==</Equation><Font size="16">.</Font></Text-field>
</Input>
</Group></Presentation-Block><Presentation-Block>
<Group view="presentation" inline-output="false" labelreference="L1259" drawlabel="true" applyint="true" applyrational="true" applyexponent="false">
<Input><Text-field style="Text" layout="Normal" bullet="dot"><Font size="16">Equivalently, they have the form </Font><Equation executable="false" style="2D Math" input-equation="" display="LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYrLUklbXN1YkdGJDYmLUkjbWlHRiQ2J1EiUUYnLyUlc2l6ZUdRIzE2RicvJSdpdGFsaWNHUSV0cnVlRicvJStleGVjdXRhYmxlR1EmZmFsc2VGJy8lLG1hdGh2YXJpYW50R1EnaXRhbGljRictRiM2KS1GLzYnUSJ4RidGMkY1RjhGOy1JI21vR0YkNi9RIixGJ0YyRjgvRjxRJ25vcm1hbEYnLyUmZmVuY2VHRjovJSpzZXBhcmF0b3JHRjcvJSlzdHJldGNoeUdGOi8lKnN5bW1ldHJpY0dGOi8lKGxhcmdlb3BHRjovJS5tb3ZhYmxlbGltaXRzR0Y6LyUnYWNjZW50R0Y6LyUnbHNwYWNlR1EmMC4wZW1GJy8lJ3JzcGFjZUdRLDAuMzMzMzMzM2VtRictRi82J1EieUYnRjJGNUY4RjtGMkY1RjhGOy8lL3N1YnNjcmlwdHNoaWZ0R1EiMEYnL0krbXNlbWFudGljc0dGJFEnYXRvbWljRictRkQ2L1EifkYnRjJGOEZHRkkvRkxGOkZNRk9GUUZTRlVGVy9GZW5GWS1GRDYvUS0mUmlnaHRhcnJvdztGJ0YyRjhGR0ZJRmNvL0ZORjdGT0ZRRlNGVS9GWFEsMC4yNzc3Nzc4ZW1GJy9GZW5Gam9GYG8tRkQ2L1EmJm5vdDtGJ0YyRjhGR0ZJRmNvRk1GT0ZRRlNGVUZXRltwLUkobWZlbmNlZEdGJDYnLUYjNjAtRiw2Ji1GLzYnUSJBRidGMkY1RjhGOy1GIzYnLUkjbW5HRiQ2JlEiMUYnRjJGOEZHRjJGNUY4RjtGam5GXW9GYG8tRkQ2L1ElJm9yO0YnRjJGOEZHRklGY29GaG9GT0ZRRlNGVS9GWFEsMC4yMjIyMjIyZW1GJy9GZW5GY3FGYG8tRkQ2L1EnJnNkb3Q7RidGMkY4RkdGSUZjb0ZNRk9GUUZTRlVGV0Zkb0ZlcUZlcUZgb0ZfcUZgby1GLDYmRmZwLUYjNiktRi82J1Eia0YnRjJGNUY4RjtGMkY1LyUrZm9yZWdyb3VuZEdRLFsyMDAsMCwyMDBdRidGOC8lLHBsYWNlaG9sZGVyR0Y3RjtGam5GXW9GMkY4RkdGMkY4LyUwZm9udF9zdHlsZV9uYW1lR1EpMkR+SW5wdXRGJ0ZHRjJGOEZH">LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYrLUklbXN1YkdGJDYmLUkjbWlHRiQ2J1EiUUYnLyUlc2l6ZUdRIzE2RicvJSdpdGFsaWNHUSV0cnVlRicvJStleGVjdXRhYmxlR1EmZmFsc2VGJy8lLG1hdGh2YXJpYW50R1EnaXRhbGljRictRiM2KS1GLzYnUSJ4RidGMkY1RjhGOy1JI21vR0YkNi9RIixGJ0YyRjgvRjxRJ25vcm1hbEYnLyUmZmVuY2VHRjovJSpzZXBhcmF0b3JHRjcvJSlzdHJldGNoeUdGOi8lKnN5bW1ldHJpY0dGOi8lKGxhcmdlb3BHRjovJS5tb3ZhYmxlbGltaXRzR0Y6LyUnYWNjZW50R0Y6LyUnbHNwYWNlR1EmMC4wZW1GJy8lJ3JzcGFjZUdRLDAuMzMzMzMzM2VtRictRi82J1EieUYnRjJGNUY4RjtGMkY1RjhGOy8lL3N1YnNjcmlwdHNoaWZ0R1EiMEYnL0krbXNlbWFudGljc0dGJFEnYXRvbWljRictRkQ2L1EifkYnRjJGOEZHRkkvRkxGOkZNRk9GUUZTRlVGVy9GZW5GWS1GRDYvUS0mUmlnaHRhcnJvdztGJ0YyRjhGR0ZJRmNvL0ZORjdGT0ZRRlNGVS9GWFEsMC4yNzc3Nzc4ZW1GJy9GZW5Gam9GYG8tRkQ2L1EmJm5vdDtGJ0YyRjhGR0ZJRmNvRk1GT0ZRRlNGVUZXRltwLUkobWZlbmNlZEdGJDYnLUYjNjAtRiw2Ji1GLzYnUSJBRidGMkY1RjhGOy1GIzYnLUkjbW5HRiQ2JlEiMUYnRjJGOEZHRjJGNUY4RjtGam5GXW9GYG8tRkQ2L1ElJm9yO0YnRjJGOEZHRklGY29GaG9GT0ZRRlNGVS9GWFEsMC4yMjIyMjIyZW1GJy9GZW5GY3FGYG8tRkQ2L1EnJnNkb3Q7RidGMkY4RkdGSUZjb0ZNRk9GUUZTRlVGV0Zkb0ZlcUZlcUZgb0ZfcUZgby1GLDYmRmZwLUYjNiktRi82J1Eia0YnRjJGNUY4RjtGMkY1LyUrZm9yZWdyb3VuZEdRLFsyMDAsMCwyMDBdRidGOC8lLHBsYWNlaG9sZGVyR0Y3RjtGam5GXW9GMkY4RkdGMkY4LyUwZm9udF9zdHlsZV9uYW1lR1EpMkR+SW5wdXRGJ0ZHRjJGOEZH</Equation><Font size="16"> where </Font><Equation executable="false" style="2D Math" input-equation="" display="LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYqLUkjbWlHRiQ2J1EtQXR0YWNrZWRWYXJzRicvJSVzaXplR1EjMTZGJy8lJ2l0YWxpY0dRJXRydWVGJy8lK2V4ZWN1dGFibGVHUSZmYWxzZUYnLyUsbWF0aHZhcmlhbnRHUSdpdGFsaWNGJy1JKG1mZW5jZWRHRiQ2Ji1GIzYoLUYsNidRInhGJ0YvRjJGNUY4LUkjbW9HRiQ2L1EiLEYnRi9GNS9GOVEnbm9ybWFsRicvJSZmZW5jZUdGNy8lKnNlcGFyYXRvckdGNC8lKXN0cmV0Y2h5R0Y3LyUqc3ltbWV0cmljR0Y3LyUobGFyZ2VvcEdGNy8lLm1vdmFibGVsaW1pdHNHRjcvJSdhY2NlbnRHRjcvJSdsc3BhY2VHUSYwLjBlbUYnLyUncnNwYWNlR1EsMC4zMzMzMzMzZW1GJy1GLDYnUSJ5RidGL0YyRjVGOEYvRjVGR0YvRjVGRy1GRDYvUSI9RidGL0Y1RkdGSS9GTEY3Rk1GT0ZRRlNGVS9GWFEsMC4yNzc3Nzc4ZW1GJy9GZW5GX28tRjw2KC1GIzYsLUklbXN1YkdGJDYmLUYsNihRIkFGJ0YvRjJGNS8lMGZvbnRfc3R5bGVfbmFtZUdRKTJEfklucHV0RidGOC1GLDYoUSIxRidGL0YyRjVGW3BGOC8lL3N1YnNjcmlwdHNoaWZ0R1EiMEYnL0krbXNlbWFudGljc0dGJFEnYXRvbWljRictRkQ2MEZGRi9GNUZbcEZHRklGS0ZNRk9GUUZTRlVGV0ZaLUZENjBRIn5GJ0YvRjVGW3BGR0ZJRl1vRk1GT0ZRRlNGVUZXL0ZlbkZZLUZENjBRIy4uRidGL0Y1RltwRkdGSUZdb0ZNRk9GUUZTRlUvRlhRLDAuMjIyMjIyMmVtRidGXHEtRkQ2MFEiLkYnRi9GNUZbcEZHRklGXW9GTUZPRlFGU0ZVRldGXHFGZ3AtRmZvNiZGaG8tRiw2KFEia0YnRi9GMkY1RltwRjhGYXBGZHBGL0Y1RkdGL0Y1RkcvJSVvcGVuR1EifGZyRicvJSZjbG9zZUdRInxockYnLUZENi9GZHFGL0Y1RkdGSUZdb0ZNRk9GUUZTRlVGV0ZccUYvRjVGRw==">LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYqLUkjbWlHRiQ2J1EtQXR0YWNrZWRWYXJzRicvJSVzaXplR1EjMTZGJy8lJ2l0YWxpY0dRJXRydWVGJy8lK2V4ZWN1dGFibGVHUSZmYWxzZUYnLyUsbWF0aHZhcmlhbnRHUSdpdGFsaWNGJy1JKG1mZW5jZWRHRiQ2Ji1GIzYoLUYsNidRInhGJ0YvRjJGNUY4LUkjbW9HRiQ2L1EiLEYnRi9GNS9GOVEnbm9ybWFsRicvJSZmZW5jZUdGNy8lKnNlcGFyYXRvckdGNC8lKXN0cmV0Y2h5R0Y3LyUqc3ltbWV0cmljR0Y3LyUobGFyZ2VvcEdGNy8lLm1vdmFibGVsaW1pdHNHRjcvJSdhY2NlbnRHRjcvJSdsc3BhY2VHUSYwLjBlbUYnLyUncnNwYWNlR1EsMC4zMzMzMzMzZW1GJy1GLDYnUSJ5RidGL0YyRjVGOEYvRjVGR0YvRjVGRy1GRDYvUSI9RidGL0Y1RkdGSS9GTEY3Rk1GT0ZRRlNGVS9GWFEsMC4yNzc3Nzc4ZW1GJy9GZW5GX28tRjw2KC1GIzYsLUklbXN1YkdGJDYmLUYsNihRIkFGJ0YvRjJGNS8lMGZvbnRfc3R5bGVfbmFtZUdRKTJEfklucHV0RidGOC1GLDYoUSIxRidGL0YyRjVGW3BGOC8lL3N1YnNjcmlwdHNoaWZ0R1EiMEYnL0krbXNlbWFudGljc0dGJFEnYXRvbWljRictRkQ2MEZGRi9GNUZbcEZHRklGS0ZNRk9GUUZTRlVGV0ZaLUZENjBRIn5GJ0YvRjVGW3BGR0ZJRl1vRk1GT0ZRRlNGVUZXL0ZlbkZZLUZENjBRIy4uRidGL0Y1RltwRkdGSUZdb0ZNRk9GUUZTRlUvRlhRLDAuMjIyMjIyMmVtRidGXHEtRkQ2MFEiLkYnRi9GNUZbcEZHRklGXW9GTUZPRlFGU0ZVRldGXHFGZ3AtRmZvNiZGaG8tRiw2KFEia0YnRi9GMkY1RltwRjhGYXBGZHBGL0Y1RkdGL0Y1RkcvJSVvcGVuR1EifGZyRicvJSZjbG9zZUdRInxockYnLUZENi9GZHFGL0Y1RkdGSUZdb0ZNRk9GUUZTRlVGV0ZccUYvRjVGRw==</Equation></Text-field>
</Input>
</Group></Presentation-Block><Presentation-Block>
<Group view="presentation" inline-output="false" labelreference="L1177" drawlabel="true" applyint="true" applyrational="true" applyexponent="false">
<Input><Text-field style="Text" layout="Normal"></Text-field>
</Input>
</Group></Presentation-Block><Presentation-Block><CodeEditor-ExecGroup view="presentation" hide-input="false" inline-output="false" labelreference="L1179" drawlabel="true" applyint="true" applyrational="true" display="code"><EC-CodeEditor id="CodeEditRegion8" expanded="true" visible="true" pixel-width="500" pixel-height="200" code-language="text/maple" autofit="true" wrapping="true" show-border="true" code-line-numbers="true">negativeConstraints := proc(n)
	local x, y, constraints;
	constraints := Array(1..n, 1..n);
	for x from 1 to n do
		for y from 1 to n do
			constraints[x, y] := &amp;implies(Q[x, y], &amp;not(&amp;or(attackedVars(x, y)[])));
		end do;
	end do;
	return &amp;and(entries(constraints, nolist));
end proc:</EC-CodeEditor></CodeEditor-ExecGroup></Presentation-Block><Presentation-Block>
<Group view="presentation" inline-output="false" labelreference="L1263" drawlabel="true" applyint="true" applyrational="true" applyexponent="false">
<Input><Text-field style="Text" layout="Normal"><Equation executable="true" style="2D Math" input-equation="" display="LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYlLUkjbWlHRiQ2I1EhRicvJStleGVjdXRhYmxlR1EmZmFsc2VGJy8lLG1hdGh2YXJpYW50R1Enbm9ybWFsRic=">LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYjLUkjbWlHRiQ2I1EhRic=</Equation></Text-field>
</Input>
</Group></Presentation-Block>
</Section><Presentation-Block>
<Group view="presentation" inline-output="false" labelreference="L1262" drawlabel="true" applyint="true" applyrational="true" applyexponent="false">
<Input><Text-field style="Text" layout="Normal"><Equation executable="true" style="2D Math" input-equation="" display="LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYlLUkjbWlHRiQ2I1EhRicvJStleGVjdXRhYmxlR1EmZmFsc2VGJy8lLG1hdGh2YXJpYW50R1Enbm9ybWFsRic=">LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYjLUkjbWlHRiQ2I1EhRic=</Equation></Text-field>
</Input>
</Group></Presentation-Block>
</Section><Presentation-Block>
<Group view="presentation" inline-output="false" labelreference="L1306" drawlabel="true" applyint="true" applyrational="true" applyexponent="false">
<Input><Text-field style="Text" layout="Normal"><Equation executable="true" style="2D Math" input-equation="" display="LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYlLUkjbWlHRiQ2I1EhRicvJStleGVjdXRhYmxlR1EmZmFsc2VGJy8lLG1hdGh2YXJpYW50R1Enbm9ybWFsRic=">JSFH</Equation></Text-field>
</Input>
</Group></Presentation-Block>
<Section collapsed="true" isCollapsible="true" drawButton="true" MultipleChoiceAnswerIndex="-1" MultipleChoiceRandomizeChoices="false" TrueFalseAnswerIndex="-1" EssayAnswerRows="5" EssayAnswerColumns="60"><Title><Text-field style="Heading 1" size="24" layout="Heading 1"><Font size="24">Finding a solution</Font></Text-field></Title><Presentation-Block>
<Group view="presentation" inline-output="false" labelreference="L1190" drawlabel="true" applyint="true" applyrational="true" applyexponent="false">
<Input><Text-field style="Text" layout="Normal" bullet="dot"><Font size="16">We use the </Font><Hyperlink linktarget="Help:Logic[Satisfy]" hyperlink="true"><Font size="16" style="Hyperlink">Satisfy</Font></Hyperlink><Font size="16"> command from the </Font><Hyperlink linktarget="Help:Logic" hyperlink="true"><Font size="16" style="Hyperlink">Logic</Font></Hyperlink><Font size="16"> package which finds a satisfying assignment of a logical formula if one exists.</Font></Text-field>
</Input>
</Group></Presentation-Block><Presentation-Block>
<Group view="presentation" inline-output="false" labelreference="L1288" drawlabel="true" applyint="true" applyrational="true" applyexponent="false">
<Input><Text-field style="Text" layout="Normal" bullet="dot"><Font size="16">We use the </Font><Hyperlink linktarget="Help:CodeTools[Usage]" hyperlink="true"><Font size="16" style="Hyperlink">Usage</Font></Hyperlink><Font size="16"> command from the </Font><Hyperlink linktarget="Help:CodeTools" hyperlink="true"><Font size="16" style="Hyperlink">CodeTools</Font></Hyperlink><Font size="16"> package to mesaure how quickly the solution is found.
</Font></Text-field>
</Input>
</Group></Presentation-Block><Presentation-Block><CodeEditor-ExecGroup view="presentation" hide-input="false" inline-output="false" labelreference="L1210" drawlabel="true" applyint="true" applyrational="true" display="code"><EC-CodeEditor id="CodeEditRegion10" expanded="true" visible="true" pixel-width="500" pixel-height="200" code-language="text/maple" autofit="true" wrapping="true" show-border="true" code-line-numbers="true">n := 8:

with(Logic):
allConstraints := &amp;and(positiveConstraints(n), negativeConstraints(n)):
satisfyingAssignment := CodeTools:-Usage(Satisfy(allConstraints)):</EC-CodeEditor></CodeEditor-ExecGroup></Presentation-Block>
</Section><Presentation-Block>
<Group view="presentation" inline-output="false" labelreference="L1310" drawlabel="true" applyint="true" applyrational="true" applyexponent="false">
<Input><Text-field style="Text" layout="Normal"><Equation executable="true" style="2D Math" input-equation="" display="LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYlLUkjbWlHRiQ2I1EhRicvJStleGVjdXRhYmxlR1EmZmFsc2VGJy8lLG1hdGh2YXJpYW50R1Enbm9ybWFsRic=">JSFH</Equation></Text-field>
</Input>
</Group></Presentation-Block>
<Section collapsed="true" isCollapsible="true" drawButton="true" MultipleChoiceAnswerIndex="-1" MultipleChoiceRandomizeChoices="false" TrueFalseAnswerIndex="-1" EssayAnswerRows="5" EssayAnswerColumns="60"><Title><Text-field style="Heading 1" size="26" layout="Heading 1"><Font size="24">Visualization of the solution</Font></Text-field></Title><Presentation-Block>
<Group view="presentation" inline-output="false" labelreference="L1299" drawlabel="true" applyint="true" applyrational="true" applyexponent="false">
<Input><Text-field style="Text" size="16" layout="Normal" bullet="dot"><Font size="16">The following functions use commands from the </Font><Hyperlink linktarget="Help:plottools" hyperlink="true"><Font size="16" style="Hyperlink">plottools</Font></Hyperlink><Font size="16"> package to draw a graphical representation of a chessboard and a chess queen on square </Font><Equation executable="false" style="2D Math" input-equation="" display="LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYlLUkobWZlbmNlZEdGJDYmLUYjNictSSNtaUdGJDYnUSJ4RicvJSVzaXplR1EjMTZGJy8lJ2l0YWxpY0dRJXRydWVGJy8lK2V4ZWN1dGFibGVHUSZmYWxzZUYnLyUsbWF0aHZhcmlhbnRHUSdpdGFsaWNGJy1JI21vR0YkNi9RIixGJ0Y0RjovRj5RJ25vcm1hbEYnLyUmZmVuY2VHRjwvJSpzZXBhcmF0b3JHRjkvJSlzdHJldGNoeUdGPC8lKnN5bW1ldHJpY0dGPC8lKGxhcmdlb3BHRjwvJS5tb3ZhYmxlbGltaXRzR0Y8LyUnYWNjZW50R0Y8LyUnbHNwYWNlR1EmMC4wZW1GJy8lJ3JzcGFjZUdRLDAuMzMzMzMzM2VtRictRjE2J1EieUYnRjRGN0Y6Rj1GOkZERjRGOkZERjpGRA==">LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYlLUkobWZlbmNlZEdGJDYmLUYjNictSSNtaUdGJDYnUSJ4RicvJSVzaXplR1EjMTZGJy8lJ2l0YWxpY0dRJXRydWVGJy8lK2V4ZWN1dGFibGVHUSZmYWxzZUYnLyUsbWF0aHZhcmlhbnRHUSdpdGFsaWNGJy1JI21vR0YkNi9RIixGJ0Y0RjovRj5RJ25vcm1hbEYnLyUmZmVuY2VHRjwvJSpzZXBhcmF0b3JHRjkvJSlzdHJldGNoeUdGPC8lKnN5bW1ldHJpY0dGPC8lKGxhcmdlb3BHRjwvJS5tb3ZhYmxlbGltaXRzR0Y8LyUnYWNjZW50R0Y8LyUnbHNwYWNlR1EmMC4wZW1GJy8lJ3JzcGFjZUdRLDAuMzMzMzMzM2VtRictRjE2J1EieUYnRjRGN0Y6Rj1GOkZERjRGOkZERjpGRA==</Equation><Font size="16">.</Font></Text-field>
</Input>
</Group></Presentation-Block><Presentation-Block><CodeEditor-ExecGroup view="presentation" inline-output="false" labelreference="L1296" drawlabel="true" applyint="true" applyrational="true" display="code"><EC-CodeEditor id="CodeEditRegion11" expanded="true" visible="true" pixel-width="500" pixel-height="200" code-language="text/maple" autofit="true" wrapping="true" show-border="true" code-line-numbers="true">with(plottools):

drawQueen := proc(x, y)
	return ellipse([x+.5, y+.35], .24, 0.05, filled = true),
	rectangle([x+.25, y+.35], [x+.75, y+.2]),
	ellipse([x+.5, y+.2], .25, 0.05, filled = true),
	disk([x+.2, y+.7], 0.03),
	disk([x+.35, y+.725], 0.03),
	disk([x+.5, y+.75], 0.03),
	disk([x+.65, y+.725], 0.03),
	disk([x+.8, y+.7], 0.03),
	polygon([[.25+x, .25+y], [.2+x, .7+y], [.325+x, .25+y], [.35+x, .725+y], [.4375+x, .25+y], [x+.5, .75+y], [.5625+x, .25+y], [.65+x, .725+y], [.675+x, .25+y], [.8+x, .7+y], [.75+x, .25+y]])
end proc:

drawChessboard := proc()
	return seq(seq(rectangle([i,j+1], [i+1,j], color=`if`(type(i+j, 'even'), gray, white)), j=1..n), i=1..n);
end proc:</EC-CodeEditor></CodeEditor-ExecGroup></Presentation-Block><Presentation-Block>
<Group view="presentation" inline-output="false" labelreference="L1301" drawlabel="true" applyint="true" applyrational="true" applyexponent="false">
<Input><Text-field style="Text" layout="Normal"></Text-field>
</Input>
</Group></Presentation-Block><Presentation-Block>
<Group view="presentation" inline-output="false" labelreference="L1302" drawlabel="true" applyint="true" applyrational="true" applyexponent="false">
<Input><Text-field style="Text" size="16" layout="Normal" bullet="dot"><Font size="16">The following code draws the chessboard and the queens on the board in the locations that correspond to the squares which are assigned to true in the satisfying solution that was found.</Font></Text-field>
</Input>
</Group></Presentation-Block><Presentation-Block><CodeEditor-ExecGroup view="presentation" hide-input="false" inline-output="false" labelreference="L1304" drawlabel="true" applyint="true" applyrational="true" display="code"><EC-CodeEditor id="CodeEditRegion12" expanded="true" visible="true" pixel-width="500" pixel-height="200" code-language="text/maple" autofit="true" wrapping="true" show-border="true" code-line-numbers="true">queens := Array(1..n):
i := 1:

if satisfyingAssignment &lt;&gt; NULL then
	for eq in satisfyingAssignment do
		if rhs(eq) then
			queens[i] := drawQueen(op(lhs(eq)));
			i := i + 1;
		end if;
	end do:
	plots:-display(entries(queens, nolist), drawChessboard(), scaling=constrained, axes=none);
else
	printf(&quot;No solution when n is %d.\134n&quot;, n);
end if;</EC-CodeEditor>
<Output><Text-field style="Maple Plot" layout="Maple Plot"></Text-field>
</Output></CodeEditor-ExecGroup></Presentation-Block>
</Section><Presentation-Block>
<Group view="presentation" inline-output="false" labelreference="L1293" drawlabel="true" applyint="true" applyrational="true" applyexponent="false">
<Input><Text-field style="Text" layout="Normal"><Equation executable="true" style="2D Math" input-equation="" display="LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYlLUkjbWlHRiQ2I1EhRicvJStleGVjdXRhYmxlR1EmZmFsc2VGJy8lLG1hdGh2YXJpYW50R1Enbm9ybWFsRic=">JSFH</Equation><Equation executable="true" style="2D Math" input-equation="" display="LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYlLUkjbWlHRiQ2I1EhRicvJStleGVjdXRhYmxlR1EmZmFsc2VGJy8lLG1hdGh2YXJpYW50R1Enbm9ybWFsRic=">JSFH</Equation></Text-field>
</Input>
</Group></Presentation-Block>
</Worksheet>