diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000000000000000000000000000000000000..9d9ce1fb0cc375cc65c18aba5d43d039264d9900 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +/minisat/ diff --git a/hw01/cse235-hw01.pdf b/hw01/cse235-hw01.pdf new file mode 100644 index 0000000000000000000000000000000000000000..cd422338db6270aebb5d9c5f58f5675c1321a3b1 Binary files /dev/null and b/hw01/cse235-hw01.pdf differ diff --git a/hw02/cse235-hw02.pdf b/hw02/cse235-hw02.pdf new file mode 100644 index 0000000000000000000000000000000000000000..d3e92ec42ad2a27f5e9fc84ad0efa8013f3f4abc Binary files /dev/null and b/hw02/cse235-hw02.pdf differ diff --git a/hw03/HW03DanielShchur.aux b/hw03/HW03DanielShchur.aux deleted file mode 100755 index 54cd7ee0c20afbb686c63f6be6169798244385f8..0000000000000000000000000000000000000000 --- a/hw03/HW03DanielShchur.aux +++ /dev/null @@ -1 +0,0 @@ -\relax diff --git a/hw03/HW03DanielShchur.log b/hw03/HW03DanielShchur.log deleted file mode 100755 index edf0f0639fc39bdd14f2d9d6caabb2640fb93a43..0000000000000000000000000000000000000000 --- a/hw03/HW03DanielShchur.log +++ /dev/null @@ -1,826 +0,0 @@ -This is pdfTeX, Version 3.14159265-2.6-1.40.18 (MiKTeX 2.9.6500 64-bit) (preloaded format=pdflatex 2018.1.11) 28 JAN 2018 17:57 -entering extended mode -**\input HW03DanielShchur.tex -(HW03DanielShchur.tex (C:\Programming\MiKTeX\tex\latex\base\article.cls -Document Class: article 2014/09/29 v1.4h Standard LaTeX document class -(C:\Programming\MiKTeX\tex\latex\base\size12.clo -File: size12.clo 2014/09/29 v1.4h Standard LaTeX file (size option) -) -\c@part=\count79 -\c@section=\count80 -\c@subsection=\count81 -\c@subsubsection=\count82 -\c@paragraph=\count83 -\c@subparagraph=\count84 -\c@figure=\count85 -\c@table=\count86 -\abovecaptionskip=\skip41 -\belowcaptionskip=\skip42 -\bibindent=\dimen102 -) -(C:\Programming\MiKTeX\tex\latex\tools\bm.sty -Package: bm 2017/01/16 v1.2c Bold Symbol Support (DPC/FMi) -\symboldoperators=\mathgroup4 -\symboldletters=\mathgroup5 -\symboldsymbols=\mathgroup6 -LaTeX Font Info: Redeclaring math alphabet \mathbf on input line 141. -LaTeX Info: Redefining \bm on input line 207. -) -(C:\Programming\MiKTeX\tex\latex\forest\forest.sty -Package: forest 2017/07/14 v2.1.5 Drawing (linguistic) trees - -(C:\Programming\MiKTeX\tex\latex\pgf\frontendlayer\tikz.sty -(C:\Programming\MiKTeX\tex\latex\pgf\basiclayer\pgf.sty -(C:\Programming\MiKTeX\tex\latex\pgf\utilities\pgfrcs.sty -(C:\Programming\MiKTeX\tex\generic\pgf\utilities\pgfutil-common.tex -\pgfutil@everybye=\toks14 -\pgfutil@tempdima=\dimen103 -\pgfutil@tempdimb=\dimen104 - -(C:\Programming\MiKTeX\tex\generic\pgf\utilities\pgfutil-common-lists.tex)) -(C:\Programming\MiKTeX\tex\generic\pgf\utilities\pgfutil-latex.def -\pgfutil@abb=\box26 - -(C:\Programming\MiKTeX\tex\latex\ms\everyshi.sty -Package: everyshi 2001/05/15 v3.00 EveryShipout Package (MS) -)) -(C:\Programming\MiKTeX\tex\generic\pgf\utilities\pgfrcs.code.tex -Package: pgfrcs 2015/08/07 v3.0.1a (rcs-revision 1.31) -)) -Package: pgf 2015/08/07 v3.0.1a (rcs-revision 1.15) - -(C:\Programming\MiKTeX\tex\latex\pgf\basiclayer\pgfcore.sty -(C:\Programming\MiKTeX\tex\latex\graphics\graphicx.sty -Package: graphicx 2017/06/01 v1.1a Enhanced LaTeX Graphics (DPC,SPQR) - -(C:\Programming\MiKTeX\tex\latex\graphics\keyval.sty -Package: keyval 2014/10/28 v1.15 key=value parser (DPC) -\KV@toks@=\toks15 -) -(C:\Programming\MiKTeX\tex\latex\graphics\graphics.sty -Package: graphics 2017/06/25 v1.2c Standard LaTeX Graphics (DPC,SPQR) - -(C:\Programming\MiKTeX\tex\latex\graphics\trig.sty -Package: trig 2016/01/03 v1.10 sin cos tan (DPC) -) -(C:\Programming\MiKTeX\tex\latex\graphics-cfg\graphics.cfg -File: graphics.cfg 2016/06/04 v1.11 sample graphics configuration -) -Package graphics Info: Driver file: pdftex.def on input line 99. - -(C:\Programming\MiKTeX\tex\latex\graphics-def\pdftex.def -File: pdftex.def 2017/06/24 v1.0g Graphics/color driver for pdftex -)) -\Gin@req@height=\dimen105 -\Gin@req@width=\dimen106 -) -(C:\Programming\MiKTeX\tex\latex\pgf\systemlayer\pgfsys.sty -(C:\Programming\MiKTeX\tex\generic\pgf\systemlayer\pgfsys.code.tex -Package: pgfsys 2014/07/09 v3.0.1a (rcs-revision 1.48) - -(C:\Programming\MiKTeX\tex\generic\pgf\utilities\pgfkeys.code.tex -\pgfkeys@pathtoks=\toks16 -\pgfkeys@temptoks=\toks17 - -(C:\Programming\MiKTeX\tex\generic\pgf\utilities\pgfkeysfiltered.code.tex -\pgfkeys@tmptoks=\toks18 -)) -\pgf@x=\dimen107 -\pgf@y=\dimen108 -\pgf@xa=\dimen109 -\pgf@ya=\dimen110 -\pgf@xb=\dimen111 -\pgf@yb=\dimen112 -\pgf@xc=\dimen113 -\pgf@yc=\dimen114 -\w@pgf@writea=\write3 -\r@pgf@reada=\read1 -\c@pgf@counta=\count87 -\c@pgf@countb=\count88 -\c@pgf@countc=\count89 -\c@pgf@countd=\count90 -\t@pgf@toka=\toks19 -\t@pgf@tokb=\toks20 -\t@pgf@tokc=\toks21 - -(C:\Programming\MiKTeX\tex\generic\pgf\systemlayer\pgf.cfg -File: pgf.cfg 2008/05/14 (rcs-revision 1.7) -) -Driver file for pgf: pgfsys-pdftex.def - -(C:\Programming\MiKTeX\tex\generic\pgf\systemlayer\pgfsys-pdftex.def -File: pgfsys-pdftex.def 2014/10/11 (rcs-revision 1.35) - -(C:\Programming\MiKTeX\tex\generic\pgf\systemlayer\pgfsys-common-pdf.def -File: pgfsys-common-pdf.def 2013/10/10 (rcs-revision 1.13) -))) -(C:\Programming\MiKTeX\tex\generic\pgf\systemlayer\pgfsyssoftpath.code.tex -File: pgfsyssoftpath.code.tex 2013/09/09 (rcs-revision 1.9) -\pgfsyssoftpath@smallbuffer@items=\count91 -\pgfsyssoftpath@bigbuffer@items=\count92 -) -(C:\Programming\MiKTeX\tex\generic\pgf\systemlayer\pgfsysprotocol.code.tex -File: pgfsysprotocol.code.tex 2006/10/16 (rcs-revision 1.4) -)) -(C:\Programming\MiKTeX\tex\latex\xcolor\xcolor.sty -Package: xcolor 2016/05/11 v2.12 LaTeX color extensions (UK) - -(C:\Programming\MiKTeX\tex\latex\graphics-cfg\color.cfg -File: color.cfg 2016/01/02 v1.6 sample color configuration -) -Package xcolor Info: Driver file: pdftex.def on input line 225. -Package xcolor Info: Model `cmy' substituted by `cmy0' on input line 1348. -Package xcolor Info: Model `hsb' substituted by `rgb' on input line 1352. -Package xcolor Info: Model `RGB' extended on input line 1364. -Package xcolor Info: Model `HTML' substituted by `rgb' on input line 1366. -Package xcolor Info: Model `Hsb' substituted by `hsb' on input line 1367. -Package xcolor Info: Model `tHsb' substituted by `hsb' on input line 1368. -Package xcolor Info: Model `HSB' substituted by `hsb' on input line 1369. -Package xcolor Info: Model `Gray' substituted by `gray' on input line 1370. -Package xcolor Info: Model `wave' substituted by `hsb' on input line 1371. -) -(C:\Programming\MiKTeX\tex\generic\pgf\basiclayer\pgfcore.code.tex -Package: pgfcore 2010/04/11 v3.0.1a (rcs-revision 1.7) - -(C:\Programming\MiKTeX\tex\generic\pgf\math\pgfmath.code.tex -(C:\Programming\MiKTeX\tex\generic\pgf\math\pgfmathcalc.code.tex -(C:\Programming\MiKTeX\tex\generic\pgf\math\pgfmathutil.code.tex) -(C:\Programming\MiKTeX\tex\generic\pgf\math\pgfmathparser.code.tex -\pgfmath@dimen=\dimen115 -\pgfmath@count=\count93 -\pgfmath@box=\box27 -\pgfmath@toks=\toks22 -\pgfmath@stack@operand=\toks23 -\pgfmath@stack@operation=\toks24 -) -(C:\Programming\MiKTeX\tex\generic\pgf\math\pgfmathfunctions.code.tex -(C:\Programming\MiKTeX\tex\generic\pgf\math\pgfmathfunctions.basic.code.tex) -(C:\Programming\MiKTeX\tex\generic\pgf\math\pgfmathfunctions.trigonometric.code -.tex) -(C:\Programming\MiKTeX\tex\generic\pgf\math\pgfmathfunctions.random.code.tex) -(C:\Programming\MiKTeX\tex\generic\pgf\math\pgfmathfunctions.comparison.code.te -x) (C:\Programming\MiKTeX\tex\generic\pgf\math\pgfmathfunctions.base.code.tex) -(C:\Programming\MiKTeX\tex\generic\pgf\math\pgfmathfunctions.round.code.tex) -(C:\Programming\MiKTeX\tex\generic\pgf\math\pgfmathfunctions.misc.code.tex) -(C:\Programming\MiKTeX\tex\generic\pgf\math\pgfmathfunctions.integerarithmetics -.code.tex))) (C:\Programming\MiKTeX\tex\generic\pgf\math\pgfmathfloat.code.tex -\c@pgfmathroundto@lastzeros=\count94 -)) (C:\Programming\MiKTeX\tex\generic\pgf\basiclayer\pgfcorepoints.code.tex -File: pgfcorepoints.code.tex 2013/10/07 (rcs-revision 1.27) -\pgf@picminx=\dimen116 -\pgf@picmaxx=\dimen117 -\pgf@picminy=\dimen118 -\pgf@picmaxy=\dimen119 -\pgf@pathminx=\dimen120 -\pgf@pathmaxx=\dimen121 -\pgf@pathminy=\dimen122 -\pgf@pathmaxy=\dimen123 -\pgf@xx=\dimen124 -\pgf@xy=\dimen125 -\pgf@yx=\dimen126 -\pgf@yy=\dimen127 -\pgf@zx=\dimen128 -\pgf@zy=\dimen129 -) -(C:\Programming\MiKTeX\tex\generic\pgf\basiclayer\pgfcorepathconstruct.code.tex -File: pgfcorepathconstruct.code.tex 2013/10/07 (rcs-revision 1.29) -\pgf@path@lastx=\dimen130 -\pgf@path@lasty=\dimen131 -) (C:\Programming\MiKTeX\tex\generic\pgf\basiclayer\pgfcorepathusage.code.tex -File: pgfcorepathusage.code.tex 2014/11/02 (rcs-revision 1.24) -\pgf@shorten@end@additional=\dimen132 -\pgf@shorten@start@additional=\dimen133 -) -(C:\Programming\MiKTeX\tex\generic\pgf\basiclayer\pgfcorescopes.code.tex -File: pgfcorescopes.code.tex 2015/05/08 (rcs-revision 1.46) -\pgfpic=\box28 -\pgf@hbox=\box29 -\pgf@layerbox@main=\box30 -\pgf@picture@serial@count=\count95 -) -(C:\Programming\MiKTeX\tex\generic\pgf\basiclayer\pgfcoregraphicstate.code.tex -File: pgfcoregraphicstate.code.tex 2014/11/02 (rcs-revision 1.12) -\pgflinewidth=\dimen134 -) -(C:\Programming\MiKTeX\tex\generic\pgf\basiclayer\pgfcoretransformations.code.t -ex -File: pgfcoretransformations.code.tex 2015/08/07 (rcs-revision 1.20) -\pgf@pt@x=\dimen135 -\pgf@pt@y=\dimen136 -\pgf@pt@temp=\dimen137 -) (C:\Programming\MiKTeX\tex\generic\pgf\basiclayer\pgfcorequick.code.tex -File: pgfcorequick.code.tex 2008/10/09 (rcs-revision 1.3) -) -(C:\Programming\MiKTeX\tex\generic\pgf\basiclayer\pgfcoreobjects.code.tex -File: pgfcoreobjects.code.tex 2006/10/11 (rcs-revision 1.2) -) -(C:\Programming\MiKTeX\tex\generic\pgf\basiclayer\pgfcorepathprocessing.code.te -x -File: pgfcorepathprocessing.code.tex 2013/09/09 (rcs-revision 1.9) -) (C:\Programming\MiKTeX\tex\generic\pgf\basiclayer\pgfcorearrows.code.tex -File: pgfcorearrows.code.tex 2015/05/14 (rcs-revision 1.43) -\pgfarrowsep=\dimen138 -) -(C:\Programming\MiKTeX\tex\generic\pgf\basiclayer\pgfcoreshade.code.tex -File: pgfcoreshade.code.tex 2013/07/15 (rcs-revision 1.15) -\pgf@max=\dimen139 -\pgf@sys@shading@range@num=\count96 -) -(C:\Programming\MiKTeX\tex\generic\pgf\basiclayer\pgfcoreimage.code.tex -File: pgfcoreimage.code.tex 2013/07/15 (rcs-revision 1.18) - -(C:\Programming\MiKTeX\tex\generic\pgf\basiclayer\pgfcoreexternal.code.tex -File: pgfcoreexternal.code.tex 2014/07/09 (rcs-revision 1.21) -\pgfexternal@startupbox=\box31 -)) -(C:\Programming\MiKTeX\tex\generic\pgf\basiclayer\pgfcorelayers.code.tex -File: pgfcorelayers.code.tex 2013/07/18 (rcs-revision 1.7) -) -(C:\Programming\MiKTeX\tex\generic\pgf\basiclayer\pgfcoretransparency.code.tex -File: pgfcoretransparency.code.tex 2013/09/30 (rcs-revision 1.5) -) (C:\Programming\MiKTeX\tex\generic\pgf\basiclayer\pgfcorepatterns.code.tex -File: pgfcorepatterns.code.tex 2013/11/07 (rcs-revision 1.5) -))) -(C:\Programming\MiKTeX\tex\generic\pgf\modules\pgfmoduleshapes.code.tex -File: pgfmoduleshapes.code.tex 2014/03/21 (rcs-revision 1.35) -\pgfnodeparttextbox=\box32 -) -(C:\Programming\MiKTeX\tex\generic\pgf\modules\pgfmoduleplot.code.tex -File: pgfmoduleplot.code.tex 2015/08/03 (rcs-revision 1.13) -) -(C:\Programming\MiKTeX\tex\latex\pgf\compatibility\pgfcomp-version-0-65.sty -Package: pgfcomp-version-0-65 2007/07/03 v3.0.1a (rcs-revision 1.7) -\pgf@nodesepstart=\dimen140 -\pgf@nodesepend=\dimen141 -) -(C:\Programming\MiKTeX\tex\latex\pgf\compatibility\pgfcomp-version-1-18.sty -Package: pgfcomp-version-1-18 2007/07/23 v3.0.1a (rcs-revision 1.1) -)) -(C:\Programming\MiKTeX\tex\latex\pgf\utilities\pgffor.sty -(C:\Programming\MiKTeX\tex\latex\pgf\utilities\pgfkeys.sty -(C:\Programming\MiKTeX\tex\generic\pgf\utilities\pgfkeys.code.tex)) -(C:\Programming\MiKTeX\tex\latex\pgf\math\pgfmath.sty -(C:\Programming\MiKTeX\tex\generic\pgf\math\pgfmath.code.tex)) -(C:\Programming\MiKTeX\tex\generic\pgf\utilities\pgffor.code.tex -Package: pgffor 2013/12/13 v3.0.1a (rcs-revision 1.25) - -(C:\Programming\MiKTeX\tex\generic\pgf\math\pgfmath.code.tex) -\pgffor@iter=\dimen142 -\pgffor@skip=\dimen143 -\pgffor@stack=\toks25 -\pgffor@toks=\toks26 -)) -(C:\Programming\MiKTeX\tex\generic\pgf\frontendlayer\tikz\tikz.code.tex -Package: tikz 2015/08/07 v3.0.1a (rcs-revision 1.151) - -(C:\Programming\MiKTeX\tex\generic\pgf\libraries\pgflibraryplothandlers.code.te -x -File: pgflibraryplothandlers.code.tex 2013/08/31 v3.0.1a (rcs-revision 1.20) -\pgf@plot@mark@count=\count97 -\pgfplotmarksize=\dimen144 -) -\tikz@lastx=\dimen145 -\tikz@lasty=\dimen146 -\tikz@lastxsaved=\dimen147 -\tikz@lastysaved=\dimen148 -\tikzleveldistance=\dimen149 -\tikzsiblingdistance=\dimen150 -\tikz@figbox=\box33 -\tikz@figbox@bg=\box34 -\tikz@tempbox=\box35 -\tikz@tempbox@bg=\box36 -\tikztreelevel=\count98 -\tikznumberofchildren=\count99 -\tikznumberofcurrentchild=\count100 -\tikz@fig@count=\count101 - (C:\Programming\MiKTeX\tex\generic\pgf\modules\pgfmodulematrix.code.tex -File: pgfmodulematrix.code.tex 2013/09/17 (rcs-revision 1.8) -\pgfmatrixcurrentrow=\count102 -\pgfmatrixcurrentcolumn=\count103 -\pgf@matrix@numberofcolumns=\count104 -) -\tikz@expandcount=\count105 - -(C:\Programming\MiKTeX\tex\generic\pgf\frontendlayer\tikz\libraries\tikzlibrary -topaths.code.tex -File: tikzlibrarytopaths.code.tex 2008/06/17 v3.0.1a (rcs-revision 1.2) -))) -(C:\Programming\MiKTeX\tex\generic\pgf\frontendlayer\tikz\libraries\tikzlibrary -shapes.code.tex -File: tikzlibraryshapes.code.tex 2008/01/09 v3.0.1a (rcs-revision 1.1) - -(C:\Programming\MiKTeX\tex\generic\pgf\frontendlayer\tikz\libraries\tikzlibrary -shapes.geometric.code.tex -File: tikzlibraryshapes.geometric.code.tex 2008/01/09 v3.0.1a (rcs-revision 1.1 -) - -(C:\Programming\MiKTeX\tex\generic\pgf\libraries\shapes\pgflibraryshapes.geomet -ric.code.tex -File: pgflibraryshapes.geometric.code.tex 2008/06/26 v3.0.1a (rcs-revision 1.1) - -)) -(C:\Programming\MiKTeX\tex\generic\pgf\frontendlayer\tikz\libraries\tikzlibrary -shapes.misc.code.tex -File: tikzlibraryshapes.misc.code.tex 2008/01/09 v3.0.1a (rcs-revision 1.1) - -(C:\Programming\MiKTeX\tex\generic\pgf\libraries\shapes\pgflibraryshapes.misc.c -ode.tex -File: pgflibraryshapes.misc.code.tex 2013/07/18 v3.0.1a (rcs-revision 1.5) -)) -(C:\Programming\MiKTeX\tex\generic\pgf\frontendlayer\tikz\libraries\tikzlibrary -shapes.symbols.code.tex -File: tikzlibraryshapes.symbols.code.tex 2008/01/09 v3.0.1a (rcs-revision 1.1) - -(C:\Programming\MiKTeX\tex\generic\pgf\libraries\shapes\pgflibraryshapes.symbol -s.code.tex -File: pgflibraryshapes.symbols.code.tex 2013/09/11 v3.0.1a (rcs-revision 1.6) -)) -(C:\Programming\MiKTeX\tex\generic\pgf\frontendlayer\tikz\libraries\tikzlibrary -shapes.arrows.code.tex -File: tikzlibraryshapes.arrows.code.tex 2008/01/09 v3.0.1a (rcs-revision 1.1) - -(C:\Programming\MiKTeX\tex\generic\pgf\libraries\shapes\pgflibraryshapes.arrows -.code.tex -File: pgflibraryshapes.arrows.code.tex 2008/06/26 v3.0.1a (rcs-revision 1.1) -)) -(C:\Programming\MiKTeX\tex\generic\pgf\frontendlayer\tikz\libraries\tikzlibrary -shapes.callouts.code.tex -(C:\Programming\MiKTeX\tex\generic\pgf\libraries\shapes\pgflibraryshapes.callou -ts.code.tex)) -(C:\Programming\MiKTeX\tex\generic\pgf\frontendlayer\tikz\libraries\tikzlibrary -shapes.multipart.code.tex -File: tikzlibraryshapes.multipart.code.tex 2008/01/09 v3.0.1a (rcs-revision 1.1 -) - -(C:\Programming\MiKTeX\tex\generic\pgf\libraries\shapes\pgflibraryshapes.multip -art.code.tex -File: pgflibraryshapes.multipart.code.tex 2010/01/07 v3.0.1a (rcs-revision 1.2) - -\pgfnodepartlowerbox=\box37 -\pgfnodeparttwobox=\box38 -\pgfnodepartthreebox=\box39 -\pgfnodepartfourbox=\box40 -\pgfnodeparttwentybox=\box41 -\pgfnodepartnineteenbox=\box42 -\pgfnodeparteighteenbox=\box43 -\pgfnodepartseventeenbox=\box44 -\pgfnodepartsixteenbox=\box45 -\pgfnodepartfifteenbox=\box46 -\pgfnodepartfourteenbox=\box47 -\pgfnodepartthirteenbox=\box48 -\pgfnodeparttwelvebox=\box49 -\pgfnodepartelevenbox=\box50 -\pgfnodeparttenbox=\box51 -\pgfnodepartninebox=\box52 -\pgfnodeparteightbox=\box53 -\pgfnodepartsevenbox=\box54 -\pgfnodepartsixbox=\box55 -\pgfnodepartfivebox=\box56 -))) -(C:\Programming\MiKTeX\tex\generic\pgf\frontendlayer\tikz\libraries\tikzlibrary -fit.code.tex -File: tikzlibraryfit.code.tex 2013/07/12 v3.0.1a (rcs-revision 1.5) -) -(C:\Programming\MiKTeX\tex\generic\pgf\frontendlayer\tikz\libraries\tikzlibrary -calc.code.tex -File: tikzlibrarycalc.code.tex 2013/07/15 v3.0.1a (rcs-revision 1.9) -) -(C:\Programming\MiKTeX\tex\generic\pgf\libraries\pgflibraryintersections.code.t -ex (C:\Programming\MiKTeX\tex\generic\pgf\libraries\pgflibraryfpu.code.tex) -\pgf@intersect@solutions=\count106 -) -(C:\Programming\MiKTeX\tex\latex\pgfopts\pgfopts.sty -Package: pgfopts 2014/07/10 v2.1a LaTeX package options with pgfkeys -\pgfopts@list@add@a@toks=\toks27 -\pgfopts@list@add@b@toks=\toks28 -) -(C:\Programming\MiKTeX\tex\latex\etoolbox\etoolbox.sty -Package: etoolbox 2017/11/22 v2.5 e-TeX tools for LaTeX (JAW) -\etb@tempcnta=\count107 -) -(C:\Programming\MiKTeX\tex\latex\elocalloc\elocalloc.sty -Package: elocalloc 2016/12/15 v0.03 local allocation for LaTeX 2015+ (DPC) -) -(C:\Programming\MiKTeX\tex\latex\environ\environ.sty -Package: environ 2014/05/04 v0.3 A new way to define environments - -(C:\Programming\MiKTeX\tex\latex\trimspaces\trimspaces.sty -Package: trimspaces 2009/09/17 v1.1 Trim spaces around a token list -) -\@envbody=\toks29 -) -(C:\Programming\MiKTeX\tex\latex\l3packages\xparse\xparse.sty -(C:\Programming\MiKTeX\tex\latex\l3kernel\expl3.sty -Package: expl3 2017/12/16 L3 programming layer (loader) - -(C:\Programming\MiKTeX\tex\latex\l3kernel\expl3-code.tex -Package: expl3 2017/12/16 L3 programming layer (code) -\c_max_int=\count108 -\l_tmpa_int=\count109 -\l_tmpb_int=\count110 -\g_tmpa_int=\count111 -\g_tmpb_int=\count112 -\g__intarray_font_int=\count113 -\g__prg_map_int=\count114 -\c_log_iow=\count115 -\l_iow_line_count_int=\count116 -\l__iow_line_target_int=\count117 -\l__iow_one_indent_int=\count118 -\l__iow_indent_int=\count119 -\c_zero_dim=\dimen151 -\c_max_dim=\dimen152 -\l_tmpa_dim=\dimen153 -\l_tmpb_dim=\dimen154 -\g_tmpa_dim=\dimen155 -\g_tmpb_dim=\dimen156 -\c_zero_skip=\skip43 -\c_max_skip=\skip44 -\l_tmpa_skip=\skip45 -\l_tmpb_skip=\skip46 -\g_tmpa_skip=\skip47 -\g_tmpb_skip=\skip48 -\c_zero_muskip=\muskip10 -\c_max_muskip=\muskip11 -\l_tmpa_muskip=\muskip12 -\l_tmpb_muskip=\muskip13 -\g_tmpa_muskip=\muskip14 -\g_tmpb_muskip=\muskip15 -\l_keys_choice_int=\count120 -\c__fp_leading_shift_int=\count121 -\c__fp_middle_shift_int=\count122 -\c__fp_trailing_shift_int=\count123 -\c__fp_big_leading_shift_int=\count124 -\c__fp_big_middle_shift_int=\count125 -\c__fp_big_trailing_shift_int=\count126 -\c__fp_Bigg_leading_shift_int=\count127 -\c__fp_Bigg_middle_shift_int=\count128 -\c__fp_Bigg_trailing_shift_int=\count129 -\c__fp_rand_size_int=\count130 -\c__fp_rand_four_int=\count131 -\c__fp_rand_eight_int=\count132 -\l__sort_length_int=\count133 -\l__sort_min_int=\count134 -\l__sort_top_int=\count135 -\l__sort_max_int=\count136 -\l__sort_true_max_int=\count137 -\l__sort_block_int=\count138 -\l__sort_begin_int=\count139 -\l__sort_end_int=\count140 -\l__sort_A_int=\count141 -\l__sort_B_int=\count142 -\l__sort_C_int=\count143 -\l__tl_build_start_index_int=\count144 -\l__tl_build_index_int=\count145 -\l__tl_analysis_normal_int=\count146 -\l__tl_analysis_index_int=\count147 -\l__tl_analysis_nesting_int=\count148 -\l__tl_analysis_type_int=\count149 -\l__regex_internal_a_int=\count150 -\l__regex_internal_b_int=\count151 -\l__regex_internal_c_int=\count152 -\l__regex_balance_int=\count153 -\l__regex_group_level_int=\count154 -\l__regex_mode_int=\count155 -\c__regex_cs_in_class_mode_int=\count156 -\c__regex_cs_mode_int=\count157 -\l__regex_catcodes_int=\count158 -\l__regex_default_catcodes_int=\count159 -\c__regex_catcode_D_int=\count160 -\c__regex_catcode_S_int=\count161 -\c__regex_catcode_L_int=\count162 -\c__regex_catcode_O_int=\count163 -\c__regex_catcode_A_int=\count164 -\c__regex_all_catcodes_int=\count165 -\l__regex_show_lines_int=\count166 -\l__regex_min_state_int=\count167 -\l__regex_max_state_int=\count168 -\l__regex_left_state_int=\count169 -\l__regex_right_state_int=\count170 -\l__regex_capturing_group_int=\count171 -\l__regex_min_pos_int=\count172 -\l__regex_max_pos_int=\count173 -\l__regex_curr_pos_int=\count174 -\l__regex_start_pos_int=\count175 -\l__regex_success_pos_int=\count176 -\l__regex_curr_char_int=\count177 -\l__regex_curr_catcode_int=\count178 -\l__regex_last_char_int=\count179 -\l__regex_case_changed_char_int=\count180 -\l__regex_curr_state_int=\count181 -\l__regex_step_int=\count182 -\l__regex_min_active_int=\count183 -\l__regex_max_active_int=\count184 -\l__regex_replacement_csnames_int=\count185 -\l__regex_match_count_int=\count186 -\l__regex_min_submatch_int=\count187 -\l__regex_submatch_int=\count188 -\l__regex_zeroth_submatch_int=\count189 -\g__debug_trace_regex_int=\count190 -\c_empty_box=\box57 -\l_tmpa_box=\box58 -\l_tmpb_box=\box59 -\g_tmpa_box=\box60 -\g_tmpb_box=\box61 -\l__box_top_dim=\dimen157 -\l__box_bottom_dim=\dimen158 -\l__box_left_dim=\dimen159 -\l__box_right_dim=\dimen160 -\l__box_top_new_dim=\dimen161 -\l__box_bottom_new_dim=\dimen162 -\l__box_left_new_dim=\dimen163 -\l__box_right_new_dim=\dimen164 -\l__box_internal_box=\box62 -\l__coffin_internal_box=\box63 -\l__coffin_internal_dim=\dimen165 -\l__coffin_offset_x_dim=\dimen166 -\l__coffin_offset_y_dim=\dimen167 -\l__coffin_x_dim=\dimen168 -\l__coffin_y_dim=\dimen169 -\l__coffin_x_prime_dim=\dimen170 -\l__coffin_y_prime_dim=\dimen171 -\c_empty_coffin=\box64 -\l__coffin_aligned_coffin=\box65 -\l__coffin_aligned_internal_coffin=\box66 -\l_tmpa_coffin=\box67 -\l_tmpb_coffin=\box68 -\l__coffin_display_coffin=\box69 -\l__coffin_display_coord_coffin=\box70 -\l__coffin_display_pole_coffin=\box71 -\l__coffin_display_offset_dim=\dimen172 -\l__coffin_display_x_dim=\dimen173 -\l__coffin_display_y_dim=\dimen174 -\l__coffin_bounding_shift_dim=\dimen175 -\l__coffin_left_corner_dim=\dimen176 -\l__coffin_right_corner_dim=\dimen177 -\l__coffin_bottom_corner_dim=\dimen178 -\l__coffin_top_corner_dim=\dimen179 -\l__coffin_scaled_total_height_dim=\dimen180 -\l__coffin_scaled_width_dim=\dimen181 -) -(C:\Programming\MiKTeX\tex\latex\l3kernel\l3pdfmode.def -File: l3pdfmode.def 2017/03/18 v L3 Experimental driver: PDF mode -\l__driver_color_stack_int=\count191 -\l__driver_tmp_box=\box72 -)) -Package: xparse 2017/12/16 L3 Experimental document command parser -\l__xparse_current_arg_int=\count192 -\g__xparse_grabber_int=\count193 -\l__xparse_m_args_int=\count194 -\l__xparse_mandatory_args_int=\count195 -\l__xparse_v_nesting_int=\count196 -) -(C:\Programming\MiKTeX\tex\latex\inlinedef\inlinedef.sty -Package: inlinedef 2008/07/10 v1.0 Inlined expansions within definitions -\ID@toks=\toks30 -\ID@count=\count197 -) -\ID@usercommands=\toks31 -................................................. -. LaTeX info: "xparse/define-command" -. -. Defining command \useforestlibrary with sig. 's O{} m' on line 166. -................................................. -................................................. -. LaTeX info: "xparse/define-command" -. -. Defining command \ProvidesForestLibrary with sig. 'm O{}' on line 176. -................................................. -\safeloop@depth=\count198 -\safeRKloop@depth=\count199 -\forest@temp@dimen=\dimen182 -\forest@temp@count=\count266 -\forest@n=\count267 -\forest@temp@global@count=\count268 -\forest@temp@toks=\toks32 -\forest@temparray@M=\count269 -\forest@temparray@N=\count270 -\forest@global@temparray@M=\count271 -\forest@global@temparray@N=\count272 -\forest@isnum@count=\count273 -\forest@isdim@nonintpart=\count274 -\forest@isdim@dimen=\dimen183 -\forest@sort@m=\count275 -\forest@sort@k=\count276 -\forest@sort@p=\count277 -\bracket@content=\toks33 -\bracket@afterthought=\toks34 -\forest@node@maxid=\count278 -................................................. -. LaTeX info: "xparse/define-command" -. -. Defining command \forestdebugtypeouttrees with sig. 'o' on line 2303. -................................................. -................................................. -. LaTeX info: "xparse/define-command" -. -. Defining command \forestdebugtypeouttree with sig. 'd() O{\forest@cn }' on -. line 2348. -................................................. -\forest@process@left@M=\count279 -\forest@process@left@N=\count280 -\forest@process@right@M=\count281 -\forest@process@right@N=\count282 -\forest@process@saved@M=\count283 -\forest@process@saved@N=\count284 -\forest@process@result@M=\count285 -\forest@process@result@N=\count286 -\forest@process@n=\count287 -\forest@nodewalk@branch@toks=\toks35 -\forest@nodewalk@shortsteps@resolution=\toks36 -\forest@do@dynamics=\toks37 -\forest@box=\box73 -\forest@xg=\dimen184 -\forest@yg=\dimen185 -\forest@xs=\dimen186 -\forest@ys=\dimen187 -\forest@pi@toks=\toks38 -\forest@segment@toks=\toks39 -\forest@PIi@toks=\toks40 -\forest@PIii@toks=\toks41 -\forest@copy@in=\read2 -\forest@copy@out=\write4 -................................................. -. LaTeX info: "xparse/define-environment" -. -. Defining environment 'forest' with sig. 'D(){}' on line 8510. -................................................. -................................................. -. LaTeX info: "xparse/define-command" -. -. Defining command \Forest with sig. 's D(){} m' on line 8515. -................................................. -\forest@externalize@max@outer@n=\count288 -\forest@externalize@inner@n=\count289 -) -(C:\Programming\MiKTeX\tex\latex\geometry\geometry.sty -Package: geometry 2010/09/12 v5.6 Page Geometry - -(C:\Programming\MiKTeX\tex\generic\oberdiek\ifpdf.sty -Package: ifpdf 2017/03/15 v3.2 Provides the ifpdf switch -) -(C:\Programming\MiKTeX\tex\generic\oberdiek\ifvtex.sty -Package: ifvtex 2016/05/16 v1.6 Detect VTeX and its facilities (HO) -Package ifvtex Info: VTeX not detected. -) -(C:\Programming\MiKTeX\tex\generic\ifxetex\ifxetex.sty -Package: ifxetex 2010/09/12 v0.6 Provides ifxetex conditional -) -\Gm@cnth=\count290 -\Gm@cntv=\count291 -\c@Gm@tempcnt=\count292 -\Gm@bindingoffset=\dimen188 -\Gm@wd@mp=\dimen189 -\Gm@odd@mp=\dimen190 -\Gm@even@mp=\dimen191 -\Gm@layoutwidth=\dimen192 -\Gm@layoutheight=\dimen193 -\Gm@layouthoffset=\dimen194 -\Gm@layoutvoffset=\dimen195 -\Gm@dimlist=\toks42 - -(C:\Programming\MiKTeX\tex\latex\geometry\geometry.cfg)) (HW03DanielShchur.aux) -\openout1 = `HW03DanielShchur.aux'. - -LaTeX Font Info: Checking defaults for OML/cmm/m/it on input line 20. -LaTeX Font Info: ... okay on input line 20. -LaTeX Font Info: Checking defaults for T1/cmr/m/n on input line 20. -LaTeX Font Info: ... okay on input line 20. -LaTeX Font Info: Checking defaults for OT1/cmr/m/n on input line 20. -LaTeX Font Info: ... okay on input line 20. -LaTeX Font Info: Checking defaults for OMS/cmsy/m/n on input line 20. -LaTeX Font Info: ... okay on input line 20. -LaTeX Font Info: Checking defaults for OMX/cmex/m/n on input line 20. -LaTeX Font Info: ... okay on input line 20. -LaTeX Font Info: Checking defaults for U/cmr/m/n on input line 20. -LaTeX Font Info: ... okay on input line 20. -ABD: EveryShipout initializing macros -(C:\Programming\MiKTeX\tex\context\base\supp-pdf.mkii -[Loading MPS to PDF converter (version 2006.09.02).] -\scratchcounter=\count293 -\scratchdimen=\dimen196 -\scratchbox=\box74 -\nofMPsegments=\count294 -\nofMParguments=\count295 -\everyMPshowfont=\toks43 -\MPscratchCnt=\count296 -\MPscratchDim=\dimen197 -\MPnumerator=\count297 -\makeMPintoPDFobject=\count298 -\everyMPtoPDFconversion=\toks44 -) (C:\Programming\MiKTeX\tex\latex\oberdiek\epstopdf-base.sty -Package: epstopdf-base 2016/05/15 v2.6 Base part for package epstopdf - -(C:\Programming\MiKTeX\tex\generic\oberdiek\infwarerr.sty -Package: infwarerr 2016/05/16 v1.4 Providing info/warning/error messages (HO) -) -(C:\Programming\MiKTeX\tex\latex\oberdiek\grfext.sty -Package: grfext 2016/05/16 v1.2 Manage graphics extensions (HO) - -(C:\Programming\MiKTeX\tex\generic\oberdiek\kvdefinekeys.sty -Package: kvdefinekeys 2016/05/16 v1.4 Define keys (HO) - -(C:\Programming\MiKTeX\tex\generic\oberdiek\ltxcmds.sty -Package: ltxcmds 2016/05/16 v1.23 LaTeX kernel commands for general use (HO) -))) -(C:\Programming\MiKTeX\tex\latex\oberdiek\kvoptions.sty -Package: kvoptions 2016/05/16 v3.12 Key value format for package options (HO) - -(C:\Programming\MiKTeX\tex\generic\oberdiek\kvsetkeys.sty -Package: kvsetkeys 2016/05/16 v1.17 Key value parser (HO) - -(C:\Programming\MiKTeX\tex\generic\oberdiek\etexcmds.sty -Package: etexcmds 2016/05/16 v1.6 Avoid name clashes with e-TeX commands (HO) - -(C:\Programming\MiKTeX\tex\generic\oberdiek\ifluatex.sty -Package: ifluatex 2016/05/16 v1.4 Provides the ifluatex switch (HO) -Package ifluatex Info: LuaTeX not detected. -) -Package etexcmds Info: Could not find \expanded. -(etexcmds) That can mean that you are not using pdfTeX 1.50 or -(etexcmds) that some package has redefined \expanded. -(etexcmds) In the latter case, load this package earlier. -))) -(C:\Programming\MiKTeX\tex\generic\oberdiek\pdftexcmds.sty -Package: pdftexcmds 2017/03/19 v0.25 Utility functions of pdfTeX for LuaTeX (HO -) -Package pdftexcmds Info: LuaTeX not detected. -Package pdftexcmds Info: \pdf@primitive is available. -Package pdftexcmds Info: \pdf@ifprimitive is available. -Package pdftexcmds Info: \pdfdraftmode found. -) -Package epstopdf-base Info: Redefining graphics rule for `.eps' on input line 4 -38. -Package grfext Info: Graphics extension search list: -(grfext) [.pdf,.png,.jpg,.mps,.jpeg,.jbig2,.jb2,.PDF,.PNG,.JPG,.JPE -G,.JBIG2,.JB2,.eps] -(grfext) \AppendGraphicsExtensions on input line 456. -) -*geometry* driver: auto-detecting -*geometry* detected driver: pdftex -*geometry* verbose mode - [ preamble ] result: -* driver: pdftex -* paper: letterpaper -* layout: <same size as paper> -* layoutoffset:(h,v)=(0.0pt,0.0pt) -* modes: -* h-part:(L,W,R)=(54.2025pt, 505.89pt, 54.2025pt) -* v-part:(T,H,B)=(54.2025pt, 686.56499pt, 54.2025pt) -* \paperwidth=614.295pt -* \paperheight=794.96999pt -* \textwidth=505.89pt -* \textheight=686.56499pt -* \oddsidemargin=-18.06749pt -* \evensidemargin=-18.06749pt -* \topmargin=-55.06749pt -* \headheight=12.0pt -* \headsep=25.0pt -* \topskip=12.0pt -* \footskip=30.0pt -* \marginparwidth=44.0pt -* \marginparsep=10.0pt -* \columnsep=10.0pt -* \skip\footins=10.8pt plus 4.0pt minus 2.0pt -* \hoffset=0.0pt -* \voffset=0.0pt -* \mag=1000 -* \@twocolumnfalse -* \@twosidefalse -* \@mparswitchfalse -* \@reversemarginfalse -* (1in=72.27pt=25.4mm, 1cm=28.453pt) - -LaTeX Font Info: External font `cmex10' loaded for size -(Font) <14.4> on input line 22. -LaTeX Font Info: External font `cmex10' loaded for size -(Font) <7> on input line 22. -LaTeX Font Info: External font `cmex10' loaded for size -(Font) <12> on input line 24. -LaTeX Font Info: External font `cmex10' loaded for size -(Font) <8> on input line 24. -LaTeX Font Info: External font `cmex10' loaded for size -(Font) <6> on input line 24. -[1 - -{C:/Users/wormh/AppData/Local/MiKTeX/2.9/pdftex/config/pdftex.map}] [2] -[3] [4] [5] (HW03DanielShchur.aux) ) -Here is how much of TeX's memory you used: - 29970 strings out of 493312 - 695865 string characters out of 3141519 - 739375 words of memory out of 3000000 - 33196 multiletter control sequences out of 15000+200000 - 540097 words of font info for 54 fonts, out of 3000000 for 9000 - 1141 hyphenation exceptions out of 8191 - 61i,6n,69p,10423b,275s stack positions out of 5000i,500n,10000p,200000b,50000s -<C:/Programming/MiKTeX/fonts/type1/public/a -msfonts/cm/cmbx12.pfb><C:/Programming/MiKTeX/fonts/type1/public/amsfonts/cm/cmm -i12.pfb><C:/Programming/MiKTeX/fonts/type1/public/amsfonts/cm/cmr12.pfb><C:/Pro -gramming/MiKTeX/fonts/type1/public/amsfonts/cm/cmr17.pfb><C:/Programming/MiKTeX -/fonts/type1/public/amsfonts/cm/cmr8.pfb><C:/Programming/MiKTeX/fonts/type1/pub -lic/amsfonts/cm/cmsy10.pfb><C:/Programming/MiKTeX/fonts/type1/public/amsfonts/c -m/cmti12.pfb> -Output written on HW03DanielShchur.pdf (5 pages, 87039 bytes). -PDF statistics: - 49 PDF objects out of 1000 (max. 8388607) - 0 named destinations out of 1000 (max. 500000) - 13 words of extra memory for PDF output out of 10000 (max. 10000000) - diff --git a/hw03/HW03DanielShchur.pdf b/hw03/HW03DanielShchur.pdf index addbc89726cefcb4cf0e028a3e7746c696877964..2dcfc278dc4a3682de7b4ab80182a9f035607f5e 100755 Binary files a/hw03/HW03DanielShchur.pdf and b/hw03/HW03DanielShchur.pdf differ diff --git a/hw03/HW03DanielShchur.tex b/hw03/HW03DanielShchur.tex index ab34c68368ae0ac7581cbc7279ade3452245079f..0bbe661dc7493e4832f6742d996f252dd5fcfffe 100644 --- a/hw03/HW03DanielShchur.tex +++ b/hw03/HW03DanielShchur.tex @@ -59,22 +59,22 @@ \item[a)]$\exists x (x^3 = -1)$ \begin{enumerate} - \item[]\answer + \item[]\answer True \end{enumerate} \item[b)]$\exists x (x^4 < x^2)$ \begin{enumerate} - \item[]\answer + \item[]\answer True \end{enumerate} \item[c)]$\forall x ((-x)^2 = x^2)$ \begin{enumerate} - \item[]\answer + \item[]\answer True \end{enumerate} \item[d)]$\forall x (2x>x)$ \begin{enumerate} - \item[]\answer + \item[]\answer False, if the number is negative, $2x<x$. Ex: $x=-2, 2(-2) = -4, 1(-2) = -2, -4 < -2$ \end{enumerate} \end{enumerate} @@ -85,27 +85,27 @@ \item[a)]Something is not in the correct place. \begin{enumerate} - \item[]\answer + \item[]\answer Where $x$ is an item and $P(x)$ denotes correct placement: $\exists x (\neg P(x))$ \end{enumerate} \item[b)]All tools are in the correct place and are in excellent condition. \begin{enumerate} - \item[]\answer + \item[]\answer Where $x$ is a tool, $P(x)$ denotes correct placement, and $C(x)$ denotes excellent condition: $\forall x (P(x) \wedge C(x))$ \end{enumerate} \item[c)]Everything is in the correct place and in excellent condition. \begin{enumerate} - \item[]\answer + \item[]\answer Where $x$ is an item, $P(x)$ denotes correct placement, and $C(x)$ denotes excellent condition: $\forall x (P(x) \wedge C(x))$ \end{enumerate} \item[d)]Nothing is in the correct place and is in excellent condition. \begin{enumerate} - \item[]\answer + \item[]\answer Where $x$ is an item, $P(x)$ denotes correct placement, and $C(x)$ denotes excellent condition: $\neg \forall x (P(x) \wedge C(x))$ \end{enumerate} \item[e)]One of your tools is not in the correct place, but it is in excellent condition. \begin{enumerate} - \item[]\answer + \item[]\answer Where $x$ is a tool, $P(x)$ denotes correct placement, and $C(x)$ denotes excellent condition: $\exists x (\neg P(x) \wedge C(x))$ \end{enumerate} \end{enumerate} @@ -116,27 +116,52 @@ \item[a)]All dogs have fleas. \begin{enumerate} - \item[]\answer + \item[]\answer Where $x$ is a dog and $F(x)$ denotes ``has fleas.'' + \begin{enumerate} + \item[1)] $\forall x (F(x))$ + \item[2)] $\neg \forall x (F(x)) \equiv \exists x (\neg F(x))$ + \item[3)] All dogs do not have fleas. + \end{enumerate} \end{enumerate} \item[b)]There is a horse that can add. \begin{enumerate} - \item[]\answer + \item[]\answer Where $x$ is a horse and $A(x)$ denotes ``can add.'' + \begin{enumerate} + \item[1)] $\exists x (A(x))$ + \item[2)] $\neg \exists x (A(x)) \equiv \forall x (\neg A(x))$ + \item[3)] There are no horses that can add. + \end{enumerate} \end{enumerate} \item[c)]Every koala can climb. \begin{enumerate} - \item[]\answer + \item[]\answer Where $x$ is a koala and $C(x)$ denotes ``can climb.'' + \begin{enumerate} + \item[1)] $\forall x (C(x))$ + \item[2)] $\neg \forall x (C(x)) \equiv \exists x (\neg C(x))$ + \item[3)] Not every Koala can climb. + \end{enumerate} \end{enumerate} \item[d)]No monkey can speak French. \begin{enumerate} - \item[]\answer + \item[]\answer Where $x$ is a monkey and $S(x)$ denotes ``can speak French.'' + \begin{enumerate} + \item[1)] $\forall x (\neg S(x))$ + \item[2)] $\neg \forall x (\neg S(x)) \equiv \exists x (S(x))$ + \item[3)] There is a monkey that can speak French. + \end{enumerate} \end{enumerate} \item[e)]There exists a pig that can swim and catch fish. \begin{enumerate} - \item[]\answer + \item[]\answer Where $x$ is a pig, $S(x)$ denotes ``can swim,'' and $C(x)$ denotes ``catch fish.'' + \begin{enumerate} + \item[1)] $\exists x (S(x) \wedge C(x))$ + \item[2)] $\neg \exists x (S(x) \wedge C(x)) \equiv \forall x (\neg S(x) \vee \neg C(x))$ + \item[3)] There are no pigs that can swim or catch fish. + \end{enumerate} \end{enumerate} \end{enumerate} @@ -148,38 +173,52 @@ \item[b)]All Swedish movies are serious. \begin{enumerate} - \item[]\answer + \item[]\answer Where $x$ is a Swedish movie and $S(x)$ denotes ``are serious.'' + \begin{enumerate} + \item[1)]$\exists x (\neg S(x))$ + \item[2)]There is a Swedish movie that is not serious. + \end{enumerate} \end{enumerate} \item[c)]No one can keep a secret. \begin{enumerate} - \item[]\answer + \item[]\answer Where $x$ is a person and $K(x)$ denotes ``can keep a secret.'' + \begin{enumerate} + \item[1)]$\exists x(K(x))$ + \item[2)]There is a person that can keep a secret. + \end{enumerate} \end{enumerate} \item[d)]There is someone in this class who does not have a good attitude. \begin{enumerate} - \item[]\answer + \item[]\answer Where $x$ is a person in this class and $A(x)$ denotes ``has a good attitude.'' + \begin{enumerate} + \item[1)] $\forall x (A(x))$ + \item[2)] Everyone in this class has a good attitude. + \end{enumerate} \end{enumerate} \end{enumerate} +\newpage + \problem (\#36 S1.4 Pg55) Find a counterexample, if possible, to these universally quantified statements, where the domain for all variables consists of all real numbers. \begin{enumerate} \item[a)]$\forall x (x^2 \neq x)$ \begin{enumerate} - \item[]\answer + \item[]\answer False, if $x=1$, then $(1)^2 \equiv (1)$ \end{enumerate} \item[b)]$\forall x (x^2 \neq 2)$ \begin{enumerate} - \item[]\answer + \item[]\answer When $x = \sqrt 2$, then $(\sqrt 2)^2 \equiv 2$ \end{enumerate} \item[c)]$\forall x (|x| > 0)$ \begin{enumerate} - \item[]\answer + \item[]\answer False, if $x=0$, then $|0| \equiv 0$ \end{enumerate} \end{enumerate} @@ -190,12 +229,12 @@ \item[b)]$\forall x(S(x$, malfunctioning$) \vee S(x$, diagnostic)) \begin{enumerate} - \item[]\answer + \item[]\answer All systems are either malfunctioning or are running diagnostics. \end{enumerate} \item[e)]$\forall x \neg S(x$, working) \begin{enumerate} - \item[]\answer + \item[]\answer All systems are not working. \end{enumerate} \end{enumerate} @@ -206,17 +245,17 @@ \item[a)]$C$(Randy Goldberg, CS 252) \begin{enumerate} - \item[]\answer + \item[]\answer Randy Goldberg is enrolled in the class CS 252. \end{enumerate} \item[b)]$\exists x C(x$, Math 695) \begin{enumerate} - \item[]\answer + \item[]\answer There is a student who is enrolled in the class Math 695. \end{enumerate} \item[d)]$\exists x (C(x$, Math 222$) \wedge C(x$, CS 252) \begin{enumerate} - \item[]\answer + \item[]\answer There is a student who is enrolled in Math 222 and CS 252. \end{enumerate} \end{enumerate} @@ -227,27 +266,27 @@ \item[e)]Everyone can be fooled by somebody. \begin{enumerate} - \item[]\answer + \item[]\answer $\exists x \forall y (F(x, y))$ \end{enumerate} \item[g)]Nancy can fool exactly two people. \begin{enumerate} - \item[]\answer + \item[]\answer $\exists !x,!y (F($Nancy$,x) \wedge F($Nancy$,y)$ \end{enumerate} \item[h)]There is exactly one person whom everybody can fool. \begin{enumerate} - \item[]\answer + \item[]\answer $\forall x \exists !y (F(x, y))$ \end{enumerate} \item[i)]No one can fool himself or herself. \begin{enumerate} - \item[]\answer + \item[]\answer $\forall x (\neg F(x, x))$ \end{enumerate} \item[j)]There is someone who can fool exactly one person besides himself or herself. \begin{enumerate} - \item[]\answer + \item[]\answer $\exists !x,!y (F(x, y) \wedge F(x,x))$ \end{enumerate} \end{enumerate} @@ -258,27 +297,27 @@ \item[a)]$\forall x \exists y (x^2 = y)$ \begin{enumerate} - \item[]\answer + \item[]\answer True \end{enumerate} \item[c)]$\exists x \forall y (xy = 0)$ \begin{enumerate} - \item[]\answer + \item[]\answer True \end{enumerate} \item[e)]$\forall x(x \neq 0 \rightarrow \exists y(xy = 1))$ \begin{enumerate} - \item[]\answer + \item[]\answer True \end{enumerate} \item[g)]$\forall x \exists y (x + y = 1)$ \begin{enumerate} - \item[]\answer + \item[]\answer True \end{enumerate} \item[i)]$\forall x \exists y (x + y = 2 \wedge 2x - y = 1)$ \begin{enumerate} - \item[]\answer + \item[]\answer False \end{enumerate} \end{enumerate} @@ -287,19 +326,21 @@ \begin{enumerate} -\item[b)]$\neg \forall x \exists P(x, y)$ +\item[b)]$\neg \forall x \exists y (P(x, y))$ \begin{enumerate} - \item[]\answer + \item[]\answer $\exists x \forall y (\neg P(x, y))$ \end{enumerate} \item[d)]$\neg \exists y (\exists x R(x, y) \vee \forall x S(x, y))$ \begin{enumerate} - \item[]\answer + \item[]\answer $\forall y (\forall x \neg R(x, y) \wedge \exists x \neg S(x, y))$ \end{enumerate} + + \newpage \item[e)]$\neg \exists y (\forall x \exists z T(x, y, z) \vee \exists x \forall z U(x, y, z))$ \begin{enumerate} - \item[]\answer + \item[]\answer $\forall y (\exists x \forall z \neg T(x,y,z) \wedge \forall x \exists z \neg U(x, y, z))$ \end{enumerate} \end{enumerate} @@ -310,17 +351,17 @@ \item[a)]$\forall x \exists y(x = 1/y)$ \begin{enumerate} - \item[]\answer + \item[]\answer False, $1/0$ is undefined and therefore makes $x = 0$ impossible. \end{enumerate} \item[b)]$\forall x \exists y(y^2 - x < 100)$ \begin{enumerate} - \item[]\answer + \item[]\answer False, if $x<-100$ then there is no number $y$ that will get to $<100$ \end{enumerate} \item[c)]$\forall x \forall y(x^2 \neq y^3)$ \begin{enumerate} - \item[]\answer + \item[]\answer False, when $x=1 \wedge y=1, x^2 = y^3$ \end{enumerate} \end{enumerate} @@ -329,4 +370,18 @@ \answerindent +\begin{table}[htb] + \caption{Problem #48} + \centering + \begin{tabular}{l l | l} + \hline + 1. & $\forall x P(x) \vee \forall x Q(x)$ & Original\\ + 2. & $\equiv \forall x P(x) \vee \forall y Q(y)$ & Redefinition using another variable\\ + 3. & $\equiv \forall x,y (P(x) \vee Q(y))$ & Since seperate variables, can combine quantifers (Idempotent)\\ + \hline + \multicolumn{3}{c}{$\forall x P(x) \vee \forall x Q(x) \equiv \forall x \forall y (P(x) \vee Q(y))$}\\ + \hline + \end{tabular} +\end{table} + \end{document} \ No newline at end of file diff --git a/hw03/HW03DanielShchur.tex~ b/hw03/HW03DanielShchur.tex~ deleted file mode 100644 index fc886fa08a50aaee91eeb0fd1830c980399b024c..0000000000000000000000000000000000000000 --- a/hw03/HW03DanielShchur.tex~ +++ /dev/null @@ -1,56 +0,0 @@ -\documentclass[12pt,letterpaper]{article} - -\usepackage{bm} -\usepackage{forest} -\usepackage[letterpaper, margin=.75in]{geometry} - -\newcommand{\problem}{\vspace{.5cm}\textbf{Problem:~~}} -\newcommand{\answer}{\emph{Answer:~~}} -\newcommand{\ansindent}{\indent\hspace{0.5cm}} -\newcommand{\answerindent}{\hangindent=.5cm\hangafter=0\answer} -\newcommand{\ansend}{\vspace{0.25cm}\\} - -\setlength{\parindent}{0pt} -\setlength{\parskip}{0cm} -\setlength{\intextsep}{.25cm} - -\title{CSCE 235H Homework 03} -\author{Daniel Shchur} - -\begin{document} - -\maketitle - -\problem (\#10 S1.4 Pg53) - -\problem (\#14 S1.4 Pg53) - -\problem (\#28 S1.4 Pg54) - -\problem (\#32 S1.4 Pg55) - -\problem (\#34 S1.4 Pg55) - -\ansindent\answer - -\begin{enumerate} - -\item[b] - \begin{enumerate} - \item[]\answer - \end{enumerate} - -\item[c] - \begin{enumerate} - \item[]\answer - \end{enumerate} - -\item[d] - \begin{enumerate} - \item[]\answer - \end{enumerate} - -\end{enumerate} - - -\end{document} \ No newline at end of file diff --git a/hw03/hw03.pdf b/hw03/cse235-hw03.pdf old mode 100755 new mode 100644 similarity index 100% rename from hw03/hw03.pdf rename to hw03/cse235-hw03.pdf diff --git a/hw04/HW04DanielShchur.pdf b/hw04/HW04DanielShchur.pdf new file mode 100644 index 0000000000000000000000000000000000000000..1b924c056c10815cecdf7820ae1a1f2be24f5caf Binary files /dev/null and b/hw04/HW04DanielShchur.pdf differ diff --git a/hw04/HW04DanielShchur.tex b/hw04/HW04DanielShchur.tex new file mode 100644 index 0000000000000000000000000000000000000000..56fc95e9cfab68290f9754b4cb67d121897a05e5 --- /dev/null +++ b/hw04/HW04DanielShchur.tex @@ -0,0 +1,265 @@ +\documentclass[12pt,letterpaper]{article} + +\usepackage[table]{xcolor} +\usepackage{boldline} +\usepackage{bm} +\usepackage{forest} +\usepackage[letterpaper, margin=.75in]{geometry} +\usepackage{adjustbox} + +\newcommand{\problem}{\vspace{.5cm}\textbf{Problem:~~}} +\newcommand{\problemEnum [1]}{\vspace{.5cm}\textbf{Problem {#1}:~~}} +\newcommand{\answer}{\emph{Answer:~~}} +\newcommand{\ansindent}{\indent\hspace{0.5cm}} +\newcommand{\ansend}{\vspace{0.25cm}\\} + +\setlength{\parindent}{0pt} +\setlength{\parskip}{0cm} +\setlength{\intextsep}{.25cm} + +\title{CSCE 235H Homework 04} +\author{Daniel Shchur} + +\begin{document} + +\maketitle + +\problem (\#4 S1.6 Pg78) What rule of inference is used in each of these arguments? + +\begin{enumerate} +\item[a)]Kangaroos live in Australia and are marsupials. Therefore, kangaroos are marsupials. + + \begin{enumerate} + \item[]\answer Simplification Rule + \end{enumerate} + + \item[b)]It is either hotter than 100 degrees today or the pollution is dangerous. It is less than 100 degrees outside today. Therefore, the pollution is dangerous. + + \begin{enumerate} + \item[]\answer Disjunctive Syllogism / Unit Resolution + \end{enumerate} + + \item[c)] Linda is an excellent swimmer. If Linda is an excellent swimmer, then she can work as a lifeguard. Therefore, Linda can work as a lifeguard. + + \begin{enumerate} + \item[]\answer Modus Ponens + \end{enumerate} + +\item[d)]Steve will work at a computer company this summer. Therefore, this summer Steve will work at a computer company or he will be a beach bum. + + \begin{enumerate} + \item[]\answer Addition + \end{enumerate} + +\item[e)]If I work all night on this homework, then I can answer all the exercises. If I answer all the exercises, I will understand the material. Therefore, if I work all night on this homework, then I will understand the material. + + \begin{enumerate} + \item[]\answer Hypothetical Syllogism / Transitivity + \end{enumerate} +\end{enumerate} + +\newpage + +\problem (\#10 S1.6 Pg79) For each of these sets of premises, what relevant conclusion or conclusions can be drawn? Explain the rules of inference used to obtain each conclusion from the premises. + +\begin{enumerate} +\item[a)]``If I play hockey, then I am sore the next day.''\\ + ``I use the whirlpool if I am sore.''\\ + ``I did not use the whirlpool.'' + + \begin{enumerate} + \item[]\answer Modus Ponens gives ``If I play hockey, then I use the whirlpool,'' Modus Tollens gives ``I did not play hockey.'' + \end{enumerate} + +\item[b)]``If I work, it is either sunny or partly sunny.''\\ + ``I worked last Monday or I worked last Friday.''\\ + ``It was not sunny on Tuesday.''\\ + ``It was not partly sunny on Friday.'' + + \begin{enumerate} + \item[]\answer Modus Tollens gives ``I did not work on Tuesday,'' Modus Ponens gives ``(It was sunny or partly sunny on Monday) or it was sunny on Friday.'' + \end{enumerate} + +\item[c)]``All insects have six legs.''\\ +``Dragonflies are insects''\\ +``Spiders do not have six legs.''\\ +``Spiders eat dragonflies.'' + + \begin{enumerate} + \item[]\answer Modus Tollens gives ``Spiders are not insects,'' Transitivity gives ``Spiders eat insects.'' + \end{enumerate} + +\item[d)]``Every student has an Internet account.''\\ +``Homer does not have an Internet account.''\\ +``Maggie has an Internet account.'' + + \begin{enumerate} + \item[]\answer Modus Ponens gives ``Maggie is a student,'' Modus Tollens gives ``Homer is not a student.'' + \end{enumerate} + +\item[e)]``All foods that are healthy to eat do not taste good.''\\ +``Tofu is healthy to eat.''\\ +``You only eat what tastes good.''\\ +``You do not eat tofu.''\\ +``Cheeseburgers are not healthy to eat.'' + + \begin{enumerate} + \item[]\answer Modus Ponens gives ``Tofu does not taste good,'' Modus Tollens gives ``You only eat unhealthy food.'' + \end{enumerate} +\end{enumerate} + +\newpage + +\problemEnum[A] Prove the statement below. You may use equivalence rules or rewrite both the sentences in conjunctive Normal Form but you may not use truth tables.\\ +$(p \wedge q) \rightarrow r \equiv p \rightarrow (q \rightarrow r)$\vspace{0.5cm} + +\answer\vspace{0.2cm} + +\begin{table}[htb] + \centering + \begin{tabular}{l l | l} + \hline + 1. & $p \rightarrow (q \rightarrow r)$ & Premise\\ + 2. & $\neg p \vee (q \rightarrow r)$ & Implication Law\\ + 3. & $\neg p \vee (\neg q \vee r)$ & Implication Law\\ + 4. & $(\neg p \vee \neg q) \vee r$ & Associative Law\\ + 5. & $\neg (p \wedge q) \vee r$ & DeMorgan's Law\\ + 6. & $(p \wedge q) \rightarrow r$ & Implication Law\\ + \hline + \multicolumn{3}{c}{$(p \wedge q) \rightarrow r \equiv p \rightarrow (q \rightarrow r)$}\\ + \hline + \end{tabular} +\end{table} + +\problemEnum[B] + +\begin{enumerate} +\item[1.]Rewrite the following axioms in Conjunctive Normal Form:\\ + $(p \wedge t) \rightarrow (r \vee s), q \rightarrow (u \wedge t), u\rightarrow p,$ and $\neg s$\\ + + \answer + \begin{table}[htb] + \centering + \tabcolsep=.06cm + \begin{tabular}{l l l | l l | l l | l l} + \hline + 1. & $(p \wedge t) \rightarrow (r \vee s)$ & Premise & $q \rightarrow (u \wedge t)$ & Premise & $u\rightarrow p$ & Premise & $\neg s$ & CNF\\ + 2. & $\neg (p \wedge t) \vee (r \vee s)$ & Implication & $\neg q \vee (u \wedge t)$ & Implication & $\neg u \vee p$ & Implication & $\neg s$ & CNF\\ + 3. & $(\neg p \vee \neg t) \vee (r \vee s)$ & DeMorgan's & $(\neg q \vee u) \wedge (\neg q \vee t)$ & Distributive & $\neg u \vee p$ & CNF & $\neg s$ & CNF\\ + 4. & $(\neg p \vee \neg t \vee r \vee s)$ & Associative & $(\neg q \vee u) \wedge (\neg q \vee t)$ & CNF & $\neg u \vee p$ & CNF & $\neg s$ & CNF\\ + \hline + \multicolumn{9}{c}{$(\neg p \vee \neg t \vee r \vee s) \wedge (\neg q \vee u) \wedge (\neg q \vee t) \wedge (\neg u \vee p) \wedge (\neg s)$}\\ + \hline + \end{tabular} + \end{table} + +\item[2.] Apply equivalence and inference rules, particularly disjunctive syllogism (i.e., unit resolution) and the resolution rule, to prove that $q \rightarrow r$. + + \answer + \begin{table}[htb] + \centering + \tabcolsep=0.15cm + \begin{tabular}{l l | l} + \hline + 1. & $(\neg p \vee \neg t \vee r \vee s) \wedge (\neg q \vee u) \wedge (\neg q \vee t) \wedge (\neg u \vee p) \wedge (\neg s)$ & Premise \\ + 2. & $((\neg p \vee \neg t \vee r \vee s) \wedge (\neg s)) \wedge (\neg q \vee u) \wedge (\neg q \vee t) \wedge (\neg u \vee p)$ & Associative \\ + 3. & $(\neg p \vee \neg t \vee r) \wedge (\neg q \vee u) \wedge (\neg q \vee t) \wedge (\neg u \vee p)$ & Resolution \\ + 4. & $(\neg u \vee p) \wedge (\neg p \vee \neg t \vee r) \wedge (\neg q \vee u) \wedge (\neg q \vee t)$ & Associative \\ + 5. & $(\neg u) \wedge (\neg t \vee r) \wedge (\neg q \vee u) \wedge (\neg q \vee t)$ & Resolution \\ + 6. & $(\neg q \vee t) \wedge (\neg t \vee r) \wedge (\neg q \vee u) \wedge (\neg u)$ & Associative \\ + 7. & $(\neg q) \wedge (r) \wedge (\neg q)$ & Resolution \\ + 8. & $(\neg q) \wedge (\neg q) \wedge (r)$ & Associative \\ + 9. & $(\neg q) \wedge (r)$ & Idempotent \\ + 10. & $(q \rightarrow r)$ & Implication \\ + \hline + \end{tabular} + \end{table} + +\end{enumerate} + +\newpage + +\problem (\#14 S1.6 Pg79) For each of these arguments, explain which rules of inference are used for each step. + +\begin{enumerate} +\item[a)]``Linda, a student in this class, owns a red convertible. Everyone who owns a red convertible has gotten at least one speeding ticket. Therefore, someone in this class has gotten a speeding ticket.'' + \begin{enumerate} + \item[]\answer Modus Ponens gives ``Linda, a student, has gotten a speeding ticket,'' Existential Generalization gives ``Someone has gotten a speeding ticket,'' Existential Instantiation gives ``Someone in this class has gotten a speeding ticket.'' + \end{enumerate} + +\item[b)]``Each of five roommates, Melissa, Aaron, Ralph, Veneesha, and Keeshawn, has taken a course in discrete mathematics. Every student who has taken a course in discrete mathematics can take a course in algorithms. Therefore, all five roommates can take a course in algorithms next year.'' + + \begin{enumerate} + \item[]\answer Modus Ponens gives ``Each of the five roommates can take a course in algorithms,'' Universal Generalization gives ``All five roommates can take a course in algorithms.'' Addition gives ``All five roommates can take a course in algorithms next year.'' + \end{enumerate} + +\item[c)]``All movies produced by John Sayles are wonderful. John Sayles produced a movie about coal miners. Therefore, there is a wonderful movie about coal miners.'' + + \begin{enumerate} + \item[]\answer Universal Instantiation gives, ``A movie about coal miners produced by John Sayles is wonderful,'' Modus Ponens gives, ``A movie about coal miners is wonderful,'' Existential Generalization gives ``There is a movie about coal miners that is wonderful.'' + \end{enumerate} + +\item[d)]``There is someone in this class who has been to France. Everyone who goes to France visits the Louvre. Therefore, someone in this class has visited the Louvre.'' + + \begin{enumerate} + \item[]\answer Universal Instantiation gives ``Someone in this class who goes to France visits the Louvre,'' Modus Ponens gives ``There is someone in this class who has visited the Louvre.'' + \end{enumerate} + +\end{enumerate} + +\problem (\#16 S1.6 Pg79) For each of these arguments determine whether the argument is correct or incorrect and explain why. + +\begin{enumerate} +\item[b)]A convertible car is fun to drive. Isaac’s car is not a convertible. Therefore, Isaac’s car is not fun to drive. + + \begin{enumerate} + \item[]\answer This is a fallacy since Isaac's car may still be fun to drive even if it is not a convertible. It affirms a conclusion. + \end{enumerate} + +\item[c)]Quincy likes all action movies. Quincy likes the movie Eight Men Out. Therefore, Eight Men Out is an action movie. + + \begin{enumerate} + \item[]\answer This is a fallacy, Quincy may like other movies as well. It denies the hypothesis. + \end{enumerate} + +\end{enumerate} + +\problem (\#24 S1.6 Pg80) Identify the error or errors in this argument that supposedly shows that if $\forall x (P(x) \vee Q(x))$ is true then $\forall x P(x) \vee \forall x Q(x)$ is true.\vspace{0.5cm} + +\centering +\begin{tabular}{l l l} + 1. & $\forall x (P(x) \vee Q(x))$ & Premise\\ + 2. & $P(c) \vee Q(c)$ & Universal instantiation form (1)\\ + 3. & $P(c)$ & Simplification form (2)\\ + 4. & $\forall x P(x)$ & Universal generalization form (3)\\ + 5. & $Q(c)$ & Simplification form (2)\\ + 6. & $\forall x Q(x)$ & Universal generalization form (5)\\ + 7. & $\forall x (P(x) \vee \forall x Q(x))$ & Conjunction form (4) and (6)\\ +\end{tabular} +\vspace{0.5cm} + +\raggedright + +\ansindent\answer Step 5: cannot assume that P(c) simplifies to Q(c). They are different quantifiers. + +\problem (\#28 S1.6 Pg80) Use rules of inference to show that if $\forall x (P(x) \vee Q(x))$ and\\$\forall x ((\neg P(x) \vee Q(x)) \rightarrow R(x))$ are true, then $\forall x (\neg R(x) \rightarrow P(x))$ is also true where the domains of all quantifiers are the same.\vspace{0.5cm} + +\ansindent\answer +\begin{center} +\begin{tabular}{ l l | l} + \hline + 1. & $\forall x (P(x) \vee Q(x))$ & Assumption\\ + 2. & $\forall x ((\neg P(x) \vee Q(x)) \rightarrow R(x))$ & Assumption\\ + 3. & $P(a) \vee Q(a)$ & Universal Instantiation (1)\\ + 4. & $(\neg P(a) \vee Q(a)) \rightarrow R(a)$ & Universal Instantiation (2)\\ + 5. & $\neg (\neg P(a) \vee Q(a)) \vee R(a)$ & Implication Law (4)\\ + 6. & $(P(a) \wedge \neg Q(a)) \vee R(a)$ & DeMorgan's Law (5)\\ + 7. & $P(a) \wedge P(a) \vee R(a)$ & Resolution (3)(6) \\ + 8. & $R(a) \vee P(a)$ & Idempotent \& Commutative Law (7)\\ + 9. & $\neg R(a) \rightarrow P(a)$ & Implication Law (8)\\ + 10.& $\forall x (\neg R(x) \rightarrow P(x))$ & Universal Generalization (9)\\ + \hline +\end{tabular} +\end{center} + +\end{document} diff --git a/hw04/cse235-hw04.pdf b/hw04/cse235-hw04.pdf new file mode 100644 index 0000000000000000000000000000000000000000..701adedee4f6656e314857f1bfac38a46a5834a2 Binary files /dev/null and b/hw04/cse235-hw04.pdf differ diff --git a/hw05/HW05DanielShchur.pdf b/hw05/HW05DanielShchur.pdf new file mode 100644 index 0000000000000000000000000000000000000000..ae5f5aaef04b6cf174a15f1ef1641660ba0f116c Binary files /dev/null and b/hw05/HW05DanielShchur.pdf differ diff --git a/hw05/HW05DanielShchur.tex b/hw05/HW05DanielShchur.tex new file mode 100644 index 0000000000000000000000000000000000000000..dba6e2ba67985ea51576a8a999d33f18b780a253 --- /dev/null +++ b/hw05/HW05DanielShchur.tex @@ -0,0 +1,310 @@ +\documentclass[12pt,letterpaper]{article} + +\usepackage{bm} +\usepackage[letterpaper, margin=.75in]{geometry} +\usepackage{amssymb} +\usepackage{multicol} + +\newcommand{\problem}{\vspace{.5cm}\textbf{Problem:~}} +\newcommand{\problemEnum[1]}{\vspace{.5cm}\textbf{Problem {#1}:~}} +\newcommand{\answer}{\emph{Answer:~~}} +\newcommand{\ansindent}{\indent\hspace{0.5cm}} +\newcommand{\ansend}{\vspace{0.25cm}\\} + +\setlength{\parindent}{0pt} +\setlength{\parskip}{0cm} +\setlength{\intextsep}{.25cm} + +\title{CSCE 235H Homework 05} +\author{Daniel Shchur} + +\begin{document} + +\maketitle + +\problemEnum[A] Using contraposition, prove that +\[\forall x,y \in \mathbb{R}, x+y \geq 2 \textrm{, then } x \geq 1 \textrm{ or } y \geq 1.\] + +\begin{table}[htb] +\centering +\begin{tabular}{l l | l} + 1. & $x \geq 1$ or $y \geq 1$ & Premise \\ + 2. & $x < 1$ or $y < 1$ & DeMorgan's law (1)\\ + 3. & $x + y < 2$ & Adding the two parts (2)\\ +\end{tabular} +\end{table} + +\problemEnum[B] Write the following sentences in First Order Logic, first, declaring the UoD and the +predicates, their arguments and meaning in English: + +\begin{enumerate} +\item For every mall, there is some Santa who is at the mall. + \begin{enumerate} + \item[] \answer Where all malls and all Santas are part of the UoD\\ + Let $S(x)$ denote ``$x$ is a Santa,'' $M(x)$ denote ``$x$ is a mall,'' and \\$A(x,y)$ denote ``$x$ is at $y$''\\ + Therefore: $\exists x \forall y ((S(x) \wedge M(y)) \rightarrow A(x,y)$ + + \end{enumerate} + +\item Every child who visits anywhere talks with every Santa who is at the place visited. [Don’t make a predicate for ``the place visited;'' it should just be a variable.] + \begin{enumerate} + \item[] \answer Where all children, all Santas, and all places are part of the UoD\\ + Let $S(x)$ denote ``$x$ is a Santa,'' $C(x)$ denote ``$x$ is a child,'' $P(x)$ denote ``$x$ is a place,'' $T(x,y)$ denote ``$x$ talks to $y$,'' and $A(x,y)$ denote ``$x$ is at $y$.''\\ + Therefore: $\exists x \forall y,z ((S(x) \wedge C(y) \wedge P(z)) \rightarrow ((A(y,z) \wedge A(x,z)) \rightarrow T(y,x))$ + \end{enumerate} + +\item Every child who is a city child visits some mall. + \begin{enumerate} + \item[] \answer Where all malls and all children are part of the UoD\\ + Let $K(x)$ denote ``is a child,'' $M(x)$ denote ``is a mall,'' $C(x)$ denote ``is from the city,'' and $A(x,y)$ denote ``$x$ visits $y$.''\\ Therefore: $\exists x \forall y ((K(y) \wedge C(y) \wedge M(x)) \rightarrow A(y,x)$ + \end{enumerate} + + \newpage + +\item Every child who is good or who talks with some Santa gets some toy. + \begin{enumerate} + \item[] \answer Where all children, all Santas, and all toys are part of the UoD\\ + Let $S(x)$ denote ``$x$ is a Santa,'' $C(x)$ denote ``$x$ is a child,'' $T(x)$ denote ``$x$ is a toy,'' $G(x)$ denote ``$x$ is good,'' $P(x,y)$ denote ``$x$ talks to $y$,'' and \\ $Q(x,y)$ denote ``$x$ receives $y$.''\\ + Therefore: $\exists x,z \forall y ((C(y) \wedge S(y) \wedge T(z)) \rightarrow ((P(y,x) \vee G(y)) \rightarrow Q(y,z))$ + \end{enumerate} + +\end{enumerate} + +\problem (\#30 S1.7 Pg91) Show that these three statements are equivalent, where $a$ and $b$ are real numbers: $(i)$ $a$ is less than $b$, $(ii)$ the average of $a$ and $b$ is greater than $a$, and $(iii)$ the average of $a$ and $b$ is less than $b$. + +\begin{enumerate} +\item[] To prove that all 3 statments are equivalent, we must prove that $(i) \leftrightarrow (ii) \wedge (i) \leftrightarrow (iii)$.\\ + + To start, assume $(i)$: Where $a < b$\\ + Start by adding a to both sides: $2a < a + b$\\ + Then use division to get: $a < \frac{a+b}{2}$, which happens to be $(ii)$ and true.\\ + + Then assume $(i)$ again: Where $a < b$\\ + This time, add b to both sides: $a+b < 2b$\\ + Then use division to get: $\frac{a+b}{2} < b$, which happens to be $(iii)$ and true.\\ + + Therefore: $(i) \leftrightarrow (ii) \wedge (i) \leftrightarrow (iii)$ and $ (ii) \leftrightarrow (iii)$ through hypothetical syllogism. +\end{enumerate} + +\problem (\#4 S1.8 Pg108) Use a proof by cases to show that min($a$, min($b$, $c$)) = min(min($a$, $b$), $c$) whenever $a$, $b$, and $c$ are real numbers. + +\begin{enumerate} +\item[] Case 1: Assume $a$ = min($a$, min($b$, $c$)), in that case, $a <$ min($b$, $c$) which implies $a < b \wedge a < c$ therefore, in a general sense showing that in min(min($a$, $b$), $c$), $a < b \wedge a < c$ which is equivalent to the previous statement.\\ + + Case 2: Assume $b$ = min($a$, min($b$, $c$)), that case, $b < c \wedge b < a$ therefore in a general sense showing that in min(min($a$, $b$), $c$), $b < a \wedge b < c$, which is equivalent to the previous statement.\\ + + Case 3: Assume $c$ = min($a$, min($b$, $c$)), that case, $c < b \wedge c < a$ therefore in a general sense showing that in min(min($a$, $b$), $c$), $c <$ min($a$, $b$) which implies $c < a \wedge c < b$, which is equivalent to the previous statement. +\end{enumerate} + +\problem (\#21 S1.8 Pg108) Prove that given a real number $x$ there exist unique numbers $n$ and $\epsilon$ such that $x = n - \epsilon $, $n$ is an integer, and $0 \leq \epsilon < 1$. + +\begin{enumerate} +\item[] Case 1: If $x$ is an integer, then let $x = n$ and $\epsilon = 0$, therefore, $x = n - \epsilon$ holds true.\\ + + Case 2: If $x$ is not an integer, let $n$ be the nearest integer rounded up such that $\epsilon = n - x$, therefore $x = n - \epsilon$ holds true. +\end{enumerate} + +\newpage + +\problem (\#36 S1.8 Pg109) Prove that between every rational number and every irrational number there is an irrational number. + +\begin{enumerate} +\item[] Assume $(a,b) \in \mathbb{Z}$, such that $\frac{a}{b}$ is rational when both $a$ and $b$ are divisible by 2. + + Then let $\frac{\sqrt{2} + a}{b}$ be irrational as $\sqrt{2}$ is irrational. + + And let $\frac{\frac{1}{2}\sqrt{2} + a}{b}$ be irrational as well. + + Where $\frac{a}{b} < \frac{\sqrt{2} + a}{b}$ and $\frac{\frac{1}{2}\sqrt{2} + a}{b} < \frac{\sqrt{2} + a}{b}$ so that $\frac{a}{b} < \frac{\frac{1}{2}\sqrt{2} + a}{b} < \frac{\sqrt{2} + a}{b}$. + + Therefore, there is an irrational number between every rational and irrational number. +\end{enumerate} + +\problem (\#2 S2.1 Pg125) Use set builder notation to give a description of each of these sets. + +\begin{enumerate} +\item[(a)] \{0, 3, 6, 9, 12\} + \begin{enumerate} + \item[] \answer $ S = \{x | x \in \mathbb{Z}, 0 \leq x \leq 12 \wedge (x=3k), k \in \mathbb{Z}\}$ + \end{enumerate} + +\item[(b)] \{-3, -2, -1, 0, 1, 2, 3\} + \begin{enumerate} + \item[] \answer $S = \{x| x \in \mathbb{Z}, -3 \leq x \leq 3\}$ + \end{enumerate} + +\end{enumerate} + +\problem (\#6 S2.1 Pg125) Suppose that $A = \{2, 4, 6\}$, $B = \{2, 6\}$, $C = \{4, 6\}$, and $D = \{4, 6, 8\}$. Determine which of these sets are subsets of which other of these sets. + +\begin{enumerate} +\item[] \answer $B \subset A$, $C \subset (A \wedge D)$ +\end{enumerate} + +\problem (\#10 S2.1 Pg125) Determine whether these statements are true or false. + +\begin{multicols}{2} +\begin{enumerate} +\item[(a)] $\emptyset \in \{\emptyset\}$ + \begin{enumerate} + \item[] \answer True + \end{enumerate} + +\item[(b)] $\emptyset \in \{\emptyset, \{\emptyset\}\}$ + \begin{enumerate} + \item[] \answer True + \end{enumerate} + +\item[(c)] $\{\emptyset\} \in \{\emptyset\}$ + \begin{enumerate} + \item[] \answer False + \end{enumerate} + +\item[(d)] $\{\emptyset\} \in \{\{\emptyset\}\}$ + \begin{enumerate} + \item[] \answer True + \end{enumerate} + +\item[(e)] $\{\emptyset\} \subset \{\emptyset , \{\emptyset\}\}$ + \begin{enumerate} + \item[] \answer True + \end{enumerate} + +\item[(f)]$\{\{\emptyset\}\} \subset \{\emptyset , \{\emptyset\}\}$ + \begin{enumerate} + \item[] \answer False + \end{enumerate} + +\item[(g)] $\{\{\emptyset\}\} \subset \{\{\emptyset\}, \{\emptyset\}\}$ + \begin{enumerate} + \item[] \answer False + \end{enumerate} + +\end{enumerate} +\end{multicols} + +\newpage + +\problem (\#20 S2.1 Pg126) What is the cardinality of each of these sets? + +\begin{multicols}{2} +\begin{enumerate} +\item[(a)] $\emptyset$ + \begin{enumerate} + \item[] \answer 0 + \end{enumerate} + +\item[(b)] $\{\emptyset\}$ + \begin{enumerate} + \item[] \answer 1 + \end{enumerate} + +\item[(c)] $\{\emptyset, \{\emptyset\}\}$ + \begin{enumerate} + \item[] \answer 2 + \end{enumerate} + +\item[(d)] $\{\emptyset, \{\emptyset\}, \{\emptyset , \{\emptyset\}\}\}$ + \begin{enumerate} + \item[] \answer 3 + \end{enumerate} +\end{enumerate} +\end{multicols} + +\problem (\#24 S2.1 Pg126) Determine whether each of these sets is the power set of a set, where $a$ and $b$ are distinct elements. + +\begin{multicols}{2} +\begin{enumerate} +\item[(a)] $\emptyset$ + \begin{enumerate} + \item[] \answer No + \end{enumerate} + +\item[(b)] $\{\emptyset , \{a\}\}$ + \begin{enumerate} + \item[] \answer Yes + \end{enumerate} + +\item[(c)] $\{\emptyset , \{a\}, \{\emptyset , a\}\}$ + \begin{enumerate} + \item[] \answer No + \end{enumerate} + +\item[(d)] $ \{\emptyset , \{a\}, \{b\}, \{a,b\}\}$ + \begin{enumerate} + \item[] \answer Yes + \end{enumerate} +\end{enumerate} +\end{multicols} + +\problem (\#26 S2.1 Pg126) Show that if $A \subseteq C$ and $B \subseteq D$, then $A \times B \subseteq C \times D$ + +\begin{enumerate} +\item[] \answer Take any $(a,b)$ where $a \in A$ and $b \in B$ where $A \times B = \{ab\}$. As $A \subseteq C$, then $a \in C$ and as $B \subseteq D$, then $b \in C$. Therefore, $C \times D = \{ab\} \equiv A \times B$ +\end{enumerate} + +\problem (\#32 S2.1 Pg126) Let $A = \{a,b,c\}$, $B = \{x,y\}$, and $C = \{0,1\}$. + +\begin{enumerate} +\item[(a)] $A \times B \times C$ + \begin{enumerate} + \item[] \answer $\{(a,x,0), (a,x,1), (a,y,0), (a,y,1), (b,x,0), (b,x,1), (b,y,0), (b,y,1), (c,x,0),\\ (c,x,1), (c,y,0), (c,y,1)\}$ + \end{enumerate} + +\item[(c)] $C \times A \times B$ + \begin{enumerate} + \item[] \answer $\{(0,a,x), (0,a,y), (0,b,x), (0,b,y), (0,c,x), (0,c,y), (1,a,x), (1,a,y), (1,b,x),\\ (1,b,y), (1,c,x), (1,c,y)\}$ + \end{enumerate} + +\end{enumerate} + +\problem (\#38 S2.1 Pg126) Show that $A \times B \neq B \times A$, when $A$ and $B$ are nonempty, unless $A = B$. + +\begin{enumerate} +\item[] \answer This is the same rule that applies to matrices. Where $(a,b) \in A$ and $(c,d) \in B$. $A \times B = \{(a,c), (a,d), (b,c), (b,d)\}$ and $B \times A = \{(c,a), (c,b), (d,a), (d,b)\}$ which is not the same. Therefore, $A \times B \neq B \times A$. +\end{enumerate} + +\newpage + +\problem (\#40 S2.1 Pg126) Explain why $(A \times B) \times (C \times D)$ and $A \times (B \times C) \times D$ are not the same. + +\begin{enumerate} +\item[] \answer The two are not the same since order of operations applies where everything in parenthesis is carried out first, followed by the rest. As was proved in the previous problem, the order by which sets are multiplied matters greatly, so taking $B \times C$ first, as is the case in the second problem, changes the rest of the problem, making it not equal to the first problem. +\end{enumerate} + +\problem (\#42 S2.1 Pg126) Translate each of these quantifications into English and determine its truth value. + +\begin{enumerate} +\item[(a)] $\exists x \in \mathbb{R} (x^3 = -1)$ + \begin{enumerate} + \item[] \answer There is an $x$ that is a real number where $x^3 = -1$. That is true since $(-1)^3 = -1$. + \end{enumerate} + +\item[(c)] $\forall x \in \mathbb{Z} (x - 1 \in \mathbb{Z})$ + \begin{enumerate} + \item[] \answer For all $x$ that are integers, $x-1$ results in an integer. This is true as an integer minus and integer will always result in an integer. + \end{enumerate} + +\end{enumerate} + +\problem (\#44 S2.1 Pg126) Find the truth set of each of these predicates where the domain is the set of integers. + +\begin{enumerate} +\item[(a)] $P(x): x^3 \geq 1$ + \begin{enumerate} + \item[] \answer Truth set: $S = \{x | x \in \mathbb{Z}, x \geq 1\}$ + \end{enumerate} + +\item[(b)] $Q(x): x^2 = x$ + \begin{enumerate} + \item[] \answer Truth set: $S = \emptyset$ + \end{enumerate} + +\item[(c)] $R(x): x < x^2$ + \begin{enumerate} + \item[] \answer Truth set: $S = \{x | x \in \mathbb{Z}\}$ + \end{enumerate} + +\end{enumerate} + +\end{document} \ No newline at end of file diff --git a/hw06/HW06DanielShchur.pdf b/hw06/HW06DanielShchur.pdf new file mode 100644 index 0000000000000000000000000000000000000000..d8825e02b7a7a7e1f9c77f508f3cfd60c0733257 Binary files /dev/null and b/hw06/HW06DanielShchur.pdf differ diff --git a/hw06/HW06DanielShchur.tex b/hw06/HW06DanielShchur.tex new file mode 100644 index 0000000000000000000000000000000000000000..d60944a134c4bcd9c13314e458ca9a8e1ff5f563 --- /dev/null +++ b/hw06/HW06DanielShchur.tex @@ -0,0 +1,302 @@ +\documentclass[12pt,letterpaper]{article} + +\usepackage{bm} +\usepackage[letterpaper, margin=.75in]{geometry} +\usepackage{amssymb} +\usepackage{multicol} +\usepackage{graphicx} + +\newcommand{\problem[2]}{\vspace{.25cm}\textbf{Problem {#1}}\footnotesize{#2}\textbf{:~}\normalsize} +\newcommand{\answer}{\emph{Answer:~~}} +\newcommand{\ansindent}{\indent\hspace{0.5cm}} +\newcommand{\ansend}{\vspace{0.25cm}\\} + +\setlength{\parindent}{0pt} +\setlength{\parskip}{0cm} +\setlength{\intextsep}{.25cm} + +\title{CSCE 235H Homework 06} +\author{Daniel Shchur} + +\begin{document} + +\maketitle + +\problem[\#4]{ (S2.2 Pg136)} Let A = \{$a$, $b$, $c$, $d$, $e$\} and $B$ = \{$a$, $b$, $c$, $d$, $e$, $f$, $g$, $h$\}. Find + +\begin{multicols}{2} +\begin{enumerate} +\item[(a)] $A \cup B$ + \begin{enumerate} + \item[] \answer \{$a$, $b$, $c$, $d$, $e$, $f$, $g$, $h$\} + \end{enumerate} + +\item[(b)] $A \cap B$ + \begin{enumerate} + \item[] \answer \{$a$, $b$, $c$, $d$, $e$\} + \end{enumerate} + +\item[(c)] $A \-- B$ + \begin{enumerate} + \item[] \answer $\emptyset$ + \end{enumerate} + +\item[(d)] $B \-- A$ + \begin{enumerate} + \item[] \answer \{$f$, $g$, $h$\} + \end{enumerate} +\end{enumerate} +\end{multicols} + + +\problem[\#14]{ (S2.2 Pg136)} Find the sets $A$ and $B$ if $A \-- B$ = \{1, 5, 7, 8\}, $B \-- A$ = \{2, 10\}, and $A \cap B$ = \{3, 6, 9\}. + +\begin{enumerate} +\item[] If $A \-- B$ = \{1, 5, 7, 8\}, then \{1, 5, 7, 8\} $\in A$ and $\notin B$\ansend + Also, if $B \-- A$ = \{2, 10\}, then \{2, 10\} $\in B \wedge$ and $\notin A$\ansend + Finally, if $A \cap B$ = \{3, 6, 9\}, then \{3, 6, 9\} $\in A$ and $\in B$\ansend + Therefore:\\ + \ansindent $A$ = \{1, 3, 5, 6, 7, 8, 9\}\\ + \ansindent $B$ = \{2, 3, 6, 9, 10\} +\end{enumerate} + +\problem[\#16]{ (S2.2 Pg136)} Let $A$ and $B$ be sets. Show that + +\begin{enumerate} +\item[(a)] $(A \cap B) \subseteq A$ + \begin{enumerate} + \item[] Suppose $x \in A \cap B$, then by definition of intersection, $x \in A \wedge x \in B$.\\ + By definition of a subset, $x \in A$.\\ + Therefore $(A \cap B) \subseteq A$. + \end{enumerate} + +\item[(c)] $A \-- B \subseteq A$ + \begin{enumerate} + \item[] Suppose $x \in A \-- B$, then by definition of difference, $x \in A \wedge x \notin B$.\\ + By definition of a subset, $x \in A$.\\ + Therefore: $A \-- B \subseteq A$. + \end{enumerate} +\newpage +\item[(e)] $A \cup (B \-- A) = A \cup B$ + \begin{enumerate} + \item[] Suppose $x \in B \-- A$, then by definition of difference, $x \in B \wedge x \notin A$.\\ + By definition of union, $x \in A \vee x \in B$.\\ + As $x \in B$, $x \in A \vee x \in B$ is true.\\ + Therefore $A \cup (B \-- A) = A \cup B$. + \end{enumerate} +\end{enumerate} + +\problem[\#22]{ (S2.2 Pg136)} Prove the second associative law from Table 1 by showing that if $A$, $B$, and $C$ are sets, then $A \cap (B \cap C) = (A \cap B) \cap C$. + +\begin{enumerate} + \item[] Suppose $x \in B \cap C$, then by definition of intersection, $x \in B \wedge x \in C$.\\ + By definition of intersection, $x \in A \wedge x \in B \cap C$.\\ + Since $x \in A, B, C$, any intersection of the sets, by definition of intersection, will be possible.\\ + Therefore $A \cap (B \cap C) = (A \cap B) \cap C$. + \end{enumerate} + +\problem[\#28]{ (S2.2 Pg136)} Draw the Venn diagrams for each of these combinations of the sets $A$, $B$, $C$, and $D$. +\begin{multicols}{2} +\begin{enumerate} +\item[(a)] $(A \cap B) \cup (C \cap D)$ + \begin{enumerate} + \item[]\includegraphics[scale=0.16]{p28A.png} + \end{enumerate} + +\begin{minipage}{\textwidth} +\item[(b)] $\overline{A} \cup \overline{B} \cup \overline{C} \cup \overline{D}$ + \begin{enumerate} + \item[]\includegraphics[scale=0.16]{p28B.png} + \end{enumerate} +\end{minipage} + +\item[(c)] $A \-- (B \cap C \cap D)$ + \begin{enumerate} + \item[]\includegraphics[scale=0.16]{p28C.png} + \end{enumerate} + +\end{enumerate} +\end{multicols} + +\newpage + +\problem[A]{}\vspace{0.25cm} + +Following the steps below: +\begin{enumerate} +\item State the propositions and their meaning in English. +\item Write each statement in propositional logic and number each statement. +\item Then, use the rules of inference to derive the conclusion from the premises clearly documenting each step. +\end{enumerate} +Determine whether or not the following argument is valid: +\begin{enumerate} +\item She is a Math Major or a Computer Science Major. +\item If she does not know discrete math, she is not a Math Major. +\item If she knows discrete math, she is smart. +\item She is not a Computer Science Major. +\item Therefore, she is smart. +\end{enumerate} + +\answer + +\begin{center} + \begin{tabular}{l l | l} + & She is a math major. & $m$\\ + & She is a Comp Sci major. & $c$\\ + & She knows discrete math. & $d$\\ + & She is smart. & $s$\\ + \hline + 1. & She is a Math Major or a Computer Science Major. & $m \vee c$ \\ + 2. & If she does not know discrete math, she is not a Math Major. & $\neg d \rightarrow \neg m$ \\ + 3. & If she knows discrete math, she is smart. & $d \rightarrow s$\\ + 4. & She is not a Computer Science Major. & $\neg c$\\ + \hline + 5. & Therefore, she is smart. & $s$\\ + \end{tabular} +\end{center} + +\vspace{0.25cm} + +\begin{center} + \begin{tabular}{l l | l} + 1. & $m \vee c$ & Premise \\ + 2. & $\neg d \rightarrow \neg m$ & Premise \\ + 3. & $d \rightarrow s$ & Premise\\ + 4. & $\neg c$ & Premise\\ + \hline + 5. & $m$ & Unit Resolution (1)(4)\\ + 6. & $m \rightarrow d$ & Law of Contrapositive (2)\\ + 7. & $d$ & Modus Ponens (6)(5)\\ + 8. & $s$ & Modus Ponens (7)(3)\\ + \hline + \multicolumn{3}{c}{QED} + \end{tabular} +\end{center} + +\newpage + +\problem[B]{} Suppose you wish to prove a theorem of the form ``if $p$ then $q$.'' +\begin{enumerate} +\item If you give a direct proof, what do you assume and what do you prove? + \begin{enumerate} + \item[] You prove directly the original premise to its conclusion, if $p \rightarrow q$ is the premise, prove that it is true. + \end{enumerate} +\item If you give a proof by contraposition, what do you assume and what do you prove? + \begin{enumerate} + \item[] You prove the contrapositive of the premise where if $p \rightarrow q$ is the premise, you assume $\neg q \rightarrow \neg p$. + \end{enumerate} +\item If you give a proof by contradiction, what do you assume and what do you prove? + \begin{enumerate} + \item[] You assume the opposite of the premise, where, if $p \rightarrow q$ is the premise, you assume $\neg p \rightarrow q$, and prove that such a premise would not be possible, proving the original true. + \end{enumerate} +\end{enumerate} + +\problem[C]{} Give a proof by contradiction of the following: +\begin{center} + ``If $n$ is an odd integer, then $n^2$ is odd.'' +\end{center} + +\begin{enumerate} +\item Assume $n$ is an even integer, but $n^2$ is odd. +\item $n = 2k | k \in \mathbb{Z}$ +\item $(2k)^2 = n^2 \equiv 4k^2 = n^2$ +\item Let $m = 2k^2$ so that $2m = n^2$ +\item By definition, n is even; therefore, the conclusion is false. +\end{enumerate} + +\problem[D]{} Prove that the following is true for all positive integers $n$: +\begin{center} + $n$ is even if and only if $3n^2 + 8$ is even. +\end{center} + +\begin{center} +\begin{tabular}{l l | l} + \hline + 1. & $n$ is even & Premise\\ + 2. & $\leftrightarrow n = 2k | k \in \mathbb{Z}$ & Definition of even integers\\ + 3. & $\leftrightarrow n + 1 = 2k + 1$ & Algebra\\ + 4. & $\leftrightarrow (n + 1)(n - 1) = (2k + 1)(2k - 1)$ & Algebra\\ + 5. & $\leftrightarrow n^2 - 1 = 4k^2 - 1$ & Algebra\\ + 6. & $\leftrightarrow 3n^2 - 3 = 12k^2 - 3$ & Algebra\\ + 7. & $\leftrightarrow 3n^2 + 8 = 12k^2 + 8$ & Algebra\\ + 8. & $\leftrightarrow 3n^2 + 8 = 2(6k^2 + 4)$ & Factoring\\ + \hline + \multicolumn{3}{c}{As the right side is a positive even integer and has stayed throughout,}\\ + \multicolumn{3}{c}{the conclusion must be true.}\\ +\end{tabular} +\end{center} + +\newpage + +\problem[E]{} Give a proof by contraposition of the following: +\begin{center} + If $3n + 5$ is even, then $n$ is odd. +\end{center} + +\begin{enumerate} +\item Assume: If $n$ is even, then $3n + 5$ is odd. +\item Even: $n = 2k | k \in \mathbb{Z}$, Odd: $m = 2k + 1 | k \in \mathbb{Z}$ +\item $3(2k) + 5 \equiv 6k + 5 \equiv 4(2k + 1) + 1 \equiv 4m + 1$ +\item Conclusion is odd; therefore, by law of contrapositive, the statement is true. +\end{enumerate} + +\problem[F]{} Prove that the following three statements about positive integers $n$ are equivalent: +\begin{enumerate} +\item $n$ is even + \begin{enumerate} + \item[] + \begin{tabular}{l l | l} + 1. & $n = 2k | k \in \mathbb{Z}$ & Definition of even integer\\ + \end{tabular} + \end{enumerate} +\item $n^3 + 1$ is odd + \begin{enumerate} + \item[] + \begin{tabular}{l l | l} + \hline + 1. & $n = 2k | k \in \mathbb{Z}$ & Definition of even integer\\ + 2. & $\leftrightarrow n^3 = 8k^3$ & Multiplication\\ + 3. & $\leftrightarrow n^3 + 1 = 8k^3 + 1$ & Algebra\\ + 4. & $\leftrightarrow n^3 + 1 = 8k^3 + 1$ & Even integer + 1 is odd by definition\\ + \hline + \multicolumn{3}{c}{Therefore: If $n^3 + 1$ is odd, then $n$ is even.}\\ + \end{tabular} + \end{enumerate} +\item $n^2 - 1$ is odd + \begin{enumerate} + \item[] + \begin{tabular}{l l | l} + \hline + 1. & $n = 2k | k \in \mathbb{Z}$ & Definition of even integer\\ + 2. & $\leftrightarrow n^2 = 4k^2$ & Multiplication\\ + 3. & $\leftrightarrow n^2 - 1 = 4k^2 - 1$ & Algebra\\ + 4. & $\leftrightarrow n^2 + 1 = 4k^2 - 1$ & Even integer $-$ 1 is odd by definition\\ + \hline + \multicolumn{3}{c}{Therefore: If $n^2 - 1$ is odd, then $n$ is even.}\\ + \end{tabular} + \end{enumerate} +\end{enumerate} + +\begin{center} + As all 3 statements conclude to $n$ is even, all must be equivalent. +\end{center} + +\problem[G]{} Using a proof by cases, prove that: +\begin{center} + The equation $2x^2 + y^2 = 14$ has no positive integer solutions. +\end{center} + +\begin{multicols}{2} +\begin{enumerate} +\item $x = 1$, $y = 1$: $2(1)^2 + (1)^2 = 3 \neq 14$ +\item $x = 1$, $y = 2$: $2(1)^2 + (2)^2 = 6 \neq 14$ +\item $x = 1$, $y = 3$: $2(1)^2 + (3)^2 = 11 \neq 14$ +\item $x = 2$, $y = 1$: $2(2)^2 + (1)^2 = 9 \neq 14$ +\item $x = 2$, $y = 2$: $2(2)^2 + (2)^2 = 12 \neq 14$ +\item $x = 2$, $y = 3$: $2(2)^2 + (3)^2 = 17 \neq 14$ +\end{enumerate} + +Since positive integers include all numbers above 0, the smallest both $x$ and $y$ can be is 1. The largest $x$ can be is 2 as any larger, and the sum would be greater than 14. With $y$, it can't be larger than 3. After going through all the cases, no combination of $x$ and $y$ where they are both positive integers resulted in 14. Therefore: The equation $2x^2 + y^2 = 14$ has no positive integer solutions. +\end{multicols} + +\end{document} \ No newline at end of file diff --git a/hw06/hw06.pdf b/hw06/hw06.pdf new file mode 100644 index 0000000000000000000000000000000000000000..8106caaec146edfda47af3a5f03a10065fb756a6 Binary files /dev/null and b/hw06/hw06.pdf differ diff --git a/hw06/p28A.png b/hw06/p28A.png new file mode 100644 index 0000000000000000000000000000000000000000..b8fa2758a759e540d7d7152fb92e3f0d1c74d5a5 Binary files /dev/null and b/hw06/p28A.png differ diff --git a/hw06/p28B.png b/hw06/p28B.png new file mode 100644 index 0000000000000000000000000000000000000000..03d8503f6d0ff31a1ee69569de23a247ae292445 Binary files /dev/null and b/hw06/p28B.png differ diff --git a/hw06/p28C.png b/hw06/p28C.png new file mode 100644 index 0000000000000000000000000000000000000000..bb2e17c1651616fb63857e33e5aadb2686859bd5 Binary files /dev/null and b/hw06/p28C.png differ diff --git a/hw07/HW07DanielShchur.pdf b/hw07/HW07DanielShchur.pdf new file mode 100644 index 0000000000000000000000000000000000000000..7a051747490518f8ff247d0182c78962274cfeee Binary files /dev/null and b/hw07/HW07DanielShchur.pdf differ diff --git a/hw07/HW07DanielShchur.tex b/hw07/HW07DanielShchur.tex new file mode 100644 index 0000000000000000000000000000000000000000..358931259ff071773206aa9376ffe852cbddd50e --- /dev/null +++ b/hw07/HW07DanielShchur.tex @@ -0,0 +1,211 @@ +\documentclass[12pt,letterpaper]{article} + +\usepackage{bm} +\usepackage[letterpaper, margin=.75in]{geometry} +\usepackage{amssymb} +\usepackage{multicol} + +\newcommand{\problem[2]}{\vspace{.25cm}\textbf{Problem {#1}}\footnotesize{#2}\textbf{:~}\normalsize} +\newcommand{\answer}{\emph{Answer:~~}} +\newcommand{\ansindent}{\indent\hspace{0.5cm}} +\newcommand{\ansend}{\vspace{0.25cm}\\} + +\setlength{\parindent}{0pt} +\setlength{\parskip}{0cm} +\setlength{\intextsep}{.25cm} + +\title{CSCE 235H Homework 07} +\author{Daniel Shchur} + +\begin{document} + +\maketitle + +\problem[\#2]{ (S2.3 Pg152)} Determine whether $f$ is a function from $\mathbb{Z}$ to $\mathbb{R}$ if: +\begin{enumerate} +\item[a)] $f(n) = \pm n$ + \begin{enumerate} + \item[] \answer No + \end{enumerate} + +\item[b)] $f(n) = \sqrt{n^2 + 1}$ + \begin{enumerate} + \item[] \answer Yes + \end{enumerate} + +\item[c)] $f(n) = \frac{1}{(n^2 \-- 4)}$ + \begin{enumerate} + \item[] \answer No + \end{enumerate} + +\end{enumerate} + +\problem[\#20]{ (S2.3 Pg153)} Give an example of a function from $\mathbb{N}$ to $\mathbb{N}$ that is +\begin{enumerate} +\item[a)] one-to-one but not onto. + \begin{enumerate} + \item[] \answer $f(x) = x + 1$ where $x \geq 0$ + \end{enumerate} + +\item[b)] onto but not one-to-one. + \begin{enumerate} + \item[] \answer $f(x) = \lfloor \frac{x}{2} \rfloor$ where $x \geq 0$ + \end{enumerate} + +\item[c)] both onto and one-to-one (but different from the identity function). + \begin{enumerate} + \item[] \answer Where $ x \geq 0$, let $f(x) = x + 1$ where $x$ is even or 0 and let $f(x) = x - 1$ where $x$ is odd. + \end{enumerate} + +\item[d)] neither one-to-one nor onto. + \begin{enumerate} + \item[] \answer $f(x) = \lfloor \frac{x}{2} + 1 \rfloor$ where $x \geq 0$ + \end{enumerate} + +\end{enumerate} + +\newpage + +\problem[\#22]{ (S2.3 Pg153)} Determine whether each of these functions is a bijection from $\mathbb{R}$ to $\mathbb{R}$. + +\begin{enumerate} +\item[a)] $f(x) = -3x + 4$ + \begin{enumerate} + \item[] \answer Yes + \end{enumerate} + +\item[c)] $f(x) = \frac{(x + 1)}{(x + 2)}$ + \begin{enumerate} + \item[] \answer No + \end{enumerate} + +\end{enumerate} + +\problem[\#34]{ (S2.3 Pg154)} If $f$ and $f \circ g$ are one-to-one, does it follow that $g$ is one-to-one? Justify your answer. +\begin{enumerate} +\item[] \answer Yes, let's assume that $g$ is not one-to-one and thus, we need to show that $f$ is not one-to-one as well:\\ + 1. We take the negation of the definition of one-to-one functions: $\exists a,b (a \neq b \wedge g(a) = g(b))$\\ + 2. Therefore, $f(g(a)) = f(g(b))$ and thus, $f \circ g$ is not one-to-one.\\ + 3. This is contradictory, and thus, shows that $g$ must be one-to-one. +\end{enumerate} + +\problem[\#40]{ (S2.3 Pg154)} Let $f$ be a function from the set $A$ to the set $B$. Let $S$ and $T$ be subsets of $A$. Show that: +\begin{enumerate} +\item[a)] $f (S \cup T) = f (S) \cup f (T)$. + \begin{enumerate} + \item[] \answer We need to show that $f(S \cup T) \subseteq f(S) \cup f(T)$ and $f(S) \cup f(T) \subseteq f(S \cup T)$.\\\\ + 1. Suppose $b \in f(S \cup T)$. Then $\exists a (f(a) = b\ |\ a \in S \cup T)$\\ + 2. As $a \in S \cup T$, then $a \in S \vee T \vee (S \wedge T)$\\ + 3. Therefore $b \in f(S) \vee f(T) \vee (f(S) \wedge f(T)$, so $b \in f(S) \cup f(T)$\\\\ + 4. Suppose that $b \in f(S) \cup f(T)$. Then $b \in f(S) \vee f(T) \vee (f(S) \wedge f(T))$\\ + 5. Therefore, $\exists a, (f(a) = b\ |\ a \in S \vee T \vee (S \wedge T))$.\\ + 6. As $a \in S \cup T$, then $f(a) = b \in f(S \cup T)$.\\\\ + 7. Since $f(S \cup T) \subseteq f(S) \cup f(T)$ and $f(S) \cup f(T) \subseteq f(S \cup T)$, $f(S \cup T) = f(S) \cup f(T)$. + \end{enumerate} + +\item[b)] $f (S \cap T) \subseteq f (S) \cap f (T)$. + \begin{enumerate} + \item[] \answer 1. Suppose $b \in f(S \cap T)$. Then $\exists a (f(a) = b\ |\ a \in (S \cap T))$\\ + 2. Since $a \in S \cap T$, then $a \in S \wedge T$\\ + 3. Therefore $b \in f(S) \cap f(T) \rightarrow f(S \cap T) \subseteq f(S) \cap f(T)$ + \end{enumerate} + +\end{enumerate} + \newpage +\problem[A]{ (\#10 S2.3)} let $f:\{a,b,c,d\} \rightarrow \{a,b,c,d\}$, for each of function $f$ defined below: + +\begin{enumerate} +\item $f(a) = b$, $f(b) = a$, $f(c) = c$, $f(d) = d$. +\item $f(a) = b$, $f(b) = b$, $f(c) = d$, $f(d) = c$. +\item $f(a) = d$, $f(b) = a$, $f(c) = c$, $f(d) = d$. +\end{enumerate} + +Determine whether each $f$ is + +\begin{enumerate} +\item[a.] one-to-one (injective) + \begin{enumerate} + \item[1.] Yes + \item[2.] No + \item[3.] No + \end{enumerate} + +\item[b.] onto (surjective) + \begin{enumerate} + \item[1.] Yes + \item[2.] No + \item[3.] No + \end{enumerate} + +\item[c.] one-to-one correspondence (bijective) + \begin{enumerate} + \item[1.] Yes + \item[2.] No + \item[3.] No + \end{enumerate} + +\end{enumerate} + +\problem[B]{ (\#12 S2.3)} Consider the following functions $f : \mathbb{Z} \rightarrow \mathbb{Z}$ + +\begin{itemize} +\item $f(n) = n \-- 1$ + \begin{enumerate} + \item[] It is injective, surjective, bijective, and $f^{-1}(n) = m + 1$ + \end{enumerate} + +\item $f(n) = n^2 + 1$ + \begin{enumerate} + \item[] It is not injective nor surjective, and therefore, neither bijective or invertible. + \end{enumerate} + +\item $f(n) = n^3$ + \begin{enumerate} + \item[] It is injective, but not surjective, and therefore, neither bijective or invertible. + \end{enumerate} + +\item $f(n) = \lceil\frac{n}{2}\rceil$ + \begin{enumerate} + \item[] It is not injective, but it is surjective, and therefore, neither bijective or invertible. + \end{enumerate} + +\end{itemize} + +For \emph{each} of the above functions, answer each of the following questions: + +\newpage + +\begin{enumerate} +\item Determine whether each $f$ is one-to-one (injective). +\item Determine whether each $f$ is onto (surjective). +\item Determine whether each $f$ is one-to-one correspondence (bijective). +\item Determine whether each $f$ is invertible. If so, give $f^{-1}$. +\end{enumerate} + +\problem[C]{} For functions $f(x) = x^2 + x$ and $g(x) = x \-- 2$ from $\mathbb{R}$ to $\mathbb{R}$, find: +\begin{enumerate} +\item $f \circ g$ + \begin{enumerate} + \item[] \answer $f(g(x)) = (x-2)^2 + x - 2 \equiv x^2 - 3x + 2$ + \end{enumerate} + +\item $g \circ f$ + \begin{enumerate} + \item[] \answer $g(f(x)) = x^2 + x - 2$ + \end{enumerate} + +\item $f \circ f$ + \begin{enumerate} + \item[] \answer $f(f(x)) = (x^2 + x)^2 + x \equiv x^4 + 2x^3 + x^2 + x$ + \end{enumerate} + +\item $g \circ g$ + \begin{enumerate} + \item[] \answer $g(g(x)) = x - 4$ + \end{enumerate} + +\end{enumerate} + +\textbf{Note:} we have \emph{range}$(f)$ = \emph{range}$(g)$ = \emph{domain}$(f)$ = \emph{domain}$(g)$. +\ +\end{document} \ No newline at end of file diff --git a/hw07/hw07.pdf b/hw07/hw07.pdf new file mode 100644 index 0000000000000000000000000000000000000000..844674d0495e033ce038d61c6e785836cc54b28d Binary files /dev/null and b/hw07/hw07.pdf differ diff --git a/hw08/hw08.pdf b/hw08/hw08.pdf new file mode 100644 index 0000000000000000000000000000000000000000..4bdc5a22ccbe68a1329ceaa6b1ec78757314feed Binary files /dev/null and b/hw08/hw08.pdf differ diff --git a/hwSat01/HWSAT01DanielShchur.aux b/hwSat01/HWSAT01DanielShchur.aux deleted file mode 100755 index 54cd7ee0c20afbb686c63f6be6169798244385f8..0000000000000000000000000000000000000000 --- a/hwSat01/HWSAT01DanielShchur.aux +++ /dev/null @@ -1 +0,0 @@ -\relax diff --git a/hwSat01/HWSAT01DanielShchur.log b/hwSat01/HWSAT01DanielShchur.log deleted file mode 100755 index d81caa84180068036df0477ecbad4bedb79797f6..0000000000000000000000000000000000000000 --- a/hwSat01/HWSAT01DanielShchur.log +++ /dev/null @@ -1,826 +0,0 @@ -This is pdfTeX, Version 3.14159265-2.6-1.40.18 (MiKTeX 2.9.6500 64-bit) (preloaded format=pdflatex 2018.1.11) 28 JAN 2018 14:31 -entering extended mode -**\input HWSAT01DanielShchur.tex -(HWSAT01DanielShchur.tex (C:\Programming\MiKTeX\tex\latex\base\article.cls -Document Class: article 2014/09/29 v1.4h Standard LaTeX document class -(C:\Programming\MiKTeX\tex\latex\base\size12.clo -File: size12.clo 2014/09/29 v1.4h Standard LaTeX file (size option) -) -\c@part=\count79 -\c@section=\count80 -\c@subsection=\count81 -\c@subsubsection=\count82 -\c@paragraph=\count83 -\c@subparagraph=\count84 -\c@figure=\count85 -\c@table=\count86 -\abovecaptionskip=\skip41 -\belowcaptionskip=\skip42 -\bibindent=\dimen102 -) -(C:\Programming\MiKTeX\tex\latex\tools\bm.sty -Package: bm 2017/01/16 v1.2c Bold Symbol Support (DPC/FMi) -\symboldoperators=\mathgroup4 -\symboldletters=\mathgroup5 -\symboldsymbols=\mathgroup6 -LaTeX Font Info: Redeclaring math alphabet \mathbf on input line 141. -LaTeX Info: Redefining \bm on input line 207. -) -(C:\Programming\MiKTeX\tex\latex\forest\forest.sty -Package: forest 2017/07/14 v2.1.5 Drawing (linguistic) trees - -(C:\Programming\MiKTeX\tex\latex\pgf\frontendlayer\tikz.sty -(C:\Programming\MiKTeX\tex\latex\pgf\basiclayer\pgf.sty -(C:\Programming\MiKTeX\tex\latex\pgf\utilities\pgfrcs.sty -(C:\Programming\MiKTeX\tex\generic\pgf\utilities\pgfutil-common.tex -\pgfutil@everybye=\toks14 -\pgfutil@tempdima=\dimen103 -\pgfutil@tempdimb=\dimen104 - -(C:\Programming\MiKTeX\tex\generic\pgf\utilities\pgfutil-common-lists.tex)) -(C:\Programming\MiKTeX\tex\generic\pgf\utilities\pgfutil-latex.def -\pgfutil@abb=\box26 - -(C:\Programming\MiKTeX\tex\latex\ms\everyshi.sty -Package: everyshi 2001/05/15 v3.00 EveryShipout Package (MS) -)) -(C:\Programming\MiKTeX\tex\generic\pgf\utilities\pgfrcs.code.tex -Package: pgfrcs 2015/08/07 v3.0.1a (rcs-revision 1.31) -)) -Package: pgf 2015/08/07 v3.0.1a (rcs-revision 1.15) - -(C:\Programming\MiKTeX\tex\latex\pgf\basiclayer\pgfcore.sty -(C:\Programming\MiKTeX\tex\latex\graphics\graphicx.sty -Package: graphicx 2017/06/01 v1.1a Enhanced LaTeX Graphics (DPC,SPQR) - -(C:\Programming\MiKTeX\tex\latex\graphics\keyval.sty -Package: keyval 2014/10/28 v1.15 key=value parser (DPC) -\KV@toks@=\toks15 -) -(C:\Programming\MiKTeX\tex\latex\graphics\graphics.sty -Package: graphics 2017/06/25 v1.2c Standard LaTeX Graphics (DPC,SPQR) - -(C:\Programming\MiKTeX\tex\latex\graphics\trig.sty -Package: trig 2016/01/03 v1.10 sin cos tan (DPC) -) -(C:\Programming\MiKTeX\tex\latex\graphics-cfg\graphics.cfg -File: graphics.cfg 2016/06/04 v1.11 sample graphics configuration -) -Package graphics Info: Driver file: pdftex.def on input line 99. - -(C:\Programming\MiKTeX\tex\latex\graphics-def\pdftex.def -File: pdftex.def 2017/06/24 v1.0g Graphics/color driver for pdftex -)) -\Gin@req@height=\dimen105 -\Gin@req@width=\dimen106 -) -(C:\Programming\MiKTeX\tex\latex\pgf\systemlayer\pgfsys.sty -(C:\Programming\MiKTeX\tex\generic\pgf\systemlayer\pgfsys.code.tex -Package: pgfsys 2014/07/09 v3.0.1a (rcs-revision 1.48) - -(C:\Programming\MiKTeX\tex\generic\pgf\utilities\pgfkeys.code.tex -\pgfkeys@pathtoks=\toks16 -\pgfkeys@temptoks=\toks17 - -(C:\Programming\MiKTeX\tex\generic\pgf\utilities\pgfkeysfiltered.code.tex -\pgfkeys@tmptoks=\toks18 -)) -\pgf@x=\dimen107 -\pgf@y=\dimen108 -\pgf@xa=\dimen109 -\pgf@ya=\dimen110 -\pgf@xb=\dimen111 -\pgf@yb=\dimen112 -\pgf@xc=\dimen113 -\pgf@yc=\dimen114 -\w@pgf@writea=\write3 -\r@pgf@reada=\read1 -\c@pgf@counta=\count87 -\c@pgf@countb=\count88 -\c@pgf@countc=\count89 -\c@pgf@countd=\count90 -\t@pgf@toka=\toks19 -\t@pgf@tokb=\toks20 -\t@pgf@tokc=\toks21 - -(C:\Programming\MiKTeX\tex\generic\pgf\systemlayer\pgf.cfg -File: pgf.cfg 2008/05/14 (rcs-revision 1.7) -) -Driver file for pgf: pgfsys-pdftex.def - -(C:\Programming\MiKTeX\tex\generic\pgf\systemlayer\pgfsys-pdftex.def -File: pgfsys-pdftex.def 2014/10/11 (rcs-revision 1.35) - -(C:\Programming\MiKTeX\tex\generic\pgf\systemlayer\pgfsys-common-pdf.def -File: pgfsys-common-pdf.def 2013/10/10 (rcs-revision 1.13) -))) -(C:\Programming\MiKTeX\tex\generic\pgf\systemlayer\pgfsyssoftpath.code.tex -File: pgfsyssoftpath.code.tex 2013/09/09 (rcs-revision 1.9) -\pgfsyssoftpath@smallbuffer@items=\count91 -\pgfsyssoftpath@bigbuffer@items=\count92 -) -(C:\Programming\MiKTeX\tex\generic\pgf\systemlayer\pgfsysprotocol.code.tex -File: pgfsysprotocol.code.tex 2006/10/16 (rcs-revision 1.4) -)) -(C:\Programming\MiKTeX\tex\latex\xcolor\xcolor.sty -Package: xcolor 2016/05/11 v2.12 LaTeX color extensions (UK) - -(C:\Programming\MiKTeX\tex\latex\graphics-cfg\color.cfg -File: color.cfg 2016/01/02 v1.6 sample color configuration -) -Package xcolor Info: Driver file: pdftex.def on input line 225. -Package xcolor Info: Model `cmy' substituted by `cmy0' on input line 1348. -Package xcolor Info: Model `hsb' substituted by `rgb' on input line 1352. -Package xcolor Info: Model `RGB' extended on input line 1364. -Package xcolor Info: Model `HTML' substituted by `rgb' on input line 1366. -Package xcolor Info: Model `Hsb' substituted by `hsb' on input line 1367. -Package xcolor Info: Model `tHsb' substituted by `hsb' on input line 1368. -Package xcolor Info: Model `HSB' substituted by `hsb' on input line 1369. -Package xcolor Info: Model `Gray' substituted by `gray' on input line 1370. -Package xcolor Info: Model `wave' substituted by `hsb' on input line 1371. -) -(C:\Programming\MiKTeX\tex\generic\pgf\basiclayer\pgfcore.code.tex -Package: pgfcore 2010/04/11 v3.0.1a (rcs-revision 1.7) - -(C:\Programming\MiKTeX\tex\generic\pgf\math\pgfmath.code.tex -(C:\Programming\MiKTeX\tex\generic\pgf\math\pgfmathcalc.code.tex -(C:\Programming\MiKTeX\tex\generic\pgf\math\pgfmathutil.code.tex) -(C:\Programming\MiKTeX\tex\generic\pgf\math\pgfmathparser.code.tex -\pgfmath@dimen=\dimen115 -\pgfmath@count=\count93 -\pgfmath@box=\box27 -\pgfmath@toks=\toks22 -\pgfmath@stack@operand=\toks23 -\pgfmath@stack@operation=\toks24 -) -(C:\Programming\MiKTeX\tex\generic\pgf\math\pgfmathfunctions.code.tex -(C:\Programming\MiKTeX\tex\generic\pgf\math\pgfmathfunctions.basic.code.tex) -(C:\Programming\MiKTeX\tex\generic\pgf\math\pgfmathfunctions.trigonometric.code -.tex) -(C:\Programming\MiKTeX\tex\generic\pgf\math\pgfmathfunctions.random.code.tex) -(C:\Programming\MiKTeX\tex\generic\pgf\math\pgfmathfunctions.comparison.code.te -x) (C:\Programming\MiKTeX\tex\generic\pgf\math\pgfmathfunctions.base.code.tex) -(C:\Programming\MiKTeX\tex\generic\pgf\math\pgfmathfunctions.round.code.tex) -(C:\Programming\MiKTeX\tex\generic\pgf\math\pgfmathfunctions.misc.code.tex) -(C:\Programming\MiKTeX\tex\generic\pgf\math\pgfmathfunctions.integerarithmetics -.code.tex))) (C:\Programming\MiKTeX\tex\generic\pgf\math\pgfmathfloat.code.tex -\c@pgfmathroundto@lastzeros=\count94 -)) (C:\Programming\MiKTeX\tex\generic\pgf\basiclayer\pgfcorepoints.code.tex -File: pgfcorepoints.code.tex 2013/10/07 (rcs-revision 1.27) -\pgf@picminx=\dimen116 -\pgf@picmaxx=\dimen117 -\pgf@picminy=\dimen118 -\pgf@picmaxy=\dimen119 -\pgf@pathminx=\dimen120 -\pgf@pathmaxx=\dimen121 -\pgf@pathminy=\dimen122 -\pgf@pathmaxy=\dimen123 -\pgf@xx=\dimen124 -\pgf@xy=\dimen125 -\pgf@yx=\dimen126 -\pgf@yy=\dimen127 -\pgf@zx=\dimen128 -\pgf@zy=\dimen129 -) -(C:\Programming\MiKTeX\tex\generic\pgf\basiclayer\pgfcorepathconstruct.code.tex -File: pgfcorepathconstruct.code.tex 2013/10/07 (rcs-revision 1.29) -\pgf@path@lastx=\dimen130 -\pgf@path@lasty=\dimen131 -) (C:\Programming\MiKTeX\tex\generic\pgf\basiclayer\pgfcorepathusage.code.tex -File: pgfcorepathusage.code.tex 2014/11/02 (rcs-revision 1.24) -\pgf@shorten@end@additional=\dimen132 -\pgf@shorten@start@additional=\dimen133 -) -(C:\Programming\MiKTeX\tex\generic\pgf\basiclayer\pgfcorescopes.code.tex -File: pgfcorescopes.code.tex 2015/05/08 (rcs-revision 1.46) -\pgfpic=\box28 -\pgf@hbox=\box29 -\pgf@layerbox@main=\box30 -\pgf@picture@serial@count=\count95 -) -(C:\Programming\MiKTeX\tex\generic\pgf\basiclayer\pgfcoregraphicstate.code.tex -File: pgfcoregraphicstate.code.tex 2014/11/02 (rcs-revision 1.12) -\pgflinewidth=\dimen134 -) -(C:\Programming\MiKTeX\tex\generic\pgf\basiclayer\pgfcoretransformations.code.t -ex -File: pgfcoretransformations.code.tex 2015/08/07 (rcs-revision 1.20) -\pgf@pt@x=\dimen135 -\pgf@pt@y=\dimen136 -\pgf@pt@temp=\dimen137 -) (C:\Programming\MiKTeX\tex\generic\pgf\basiclayer\pgfcorequick.code.tex -File: pgfcorequick.code.tex 2008/10/09 (rcs-revision 1.3) -) -(C:\Programming\MiKTeX\tex\generic\pgf\basiclayer\pgfcoreobjects.code.tex -File: pgfcoreobjects.code.tex 2006/10/11 (rcs-revision 1.2) -) -(C:\Programming\MiKTeX\tex\generic\pgf\basiclayer\pgfcorepathprocessing.code.te -x -File: pgfcorepathprocessing.code.tex 2013/09/09 (rcs-revision 1.9) -) (C:\Programming\MiKTeX\tex\generic\pgf\basiclayer\pgfcorearrows.code.tex -File: pgfcorearrows.code.tex 2015/05/14 (rcs-revision 1.43) -\pgfarrowsep=\dimen138 -) -(C:\Programming\MiKTeX\tex\generic\pgf\basiclayer\pgfcoreshade.code.tex -File: pgfcoreshade.code.tex 2013/07/15 (rcs-revision 1.15) -\pgf@max=\dimen139 -\pgf@sys@shading@range@num=\count96 -) -(C:\Programming\MiKTeX\tex\generic\pgf\basiclayer\pgfcoreimage.code.tex -File: pgfcoreimage.code.tex 2013/07/15 (rcs-revision 1.18) - -(C:\Programming\MiKTeX\tex\generic\pgf\basiclayer\pgfcoreexternal.code.tex -File: pgfcoreexternal.code.tex 2014/07/09 (rcs-revision 1.21) -\pgfexternal@startupbox=\box31 -)) -(C:\Programming\MiKTeX\tex\generic\pgf\basiclayer\pgfcorelayers.code.tex -File: pgfcorelayers.code.tex 2013/07/18 (rcs-revision 1.7) -) -(C:\Programming\MiKTeX\tex\generic\pgf\basiclayer\pgfcoretransparency.code.tex -File: pgfcoretransparency.code.tex 2013/09/30 (rcs-revision 1.5) -) (C:\Programming\MiKTeX\tex\generic\pgf\basiclayer\pgfcorepatterns.code.tex -File: pgfcorepatterns.code.tex 2013/11/07 (rcs-revision 1.5) -))) -(C:\Programming\MiKTeX\tex\generic\pgf\modules\pgfmoduleshapes.code.tex -File: pgfmoduleshapes.code.tex 2014/03/21 (rcs-revision 1.35) -\pgfnodeparttextbox=\box32 -) -(C:\Programming\MiKTeX\tex\generic\pgf\modules\pgfmoduleplot.code.tex -File: pgfmoduleplot.code.tex 2015/08/03 (rcs-revision 1.13) -) -(C:\Programming\MiKTeX\tex\latex\pgf\compatibility\pgfcomp-version-0-65.sty -Package: pgfcomp-version-0-65 2007/07/03 v3.0.1a (rcs-revision 1.7) -\pgf@nodesepstart=\dimen140 -\pgf@nodesepend=\dimen141 -) -(C:\Programming\MiKTeX\tex\latex\pgf\compatibility\pgfcomp-version-1-18.sty -Package: pgfcomp-version-1-18 2007/07/23 v3.0.1a (rcs-revision 1.1) -)) -(C:\Programming\MiKTeX\tex\latex\pgf\utilities\pgffor.sty -(C:\Programming\MiKTeX\tex\latex\pgf\utilities\pgfkeys.sty -(C:\Programming\MiKTeX\tex\generic\pgf\utilities\pgfkeys.code.tex)) -(C:\Programming\MiKTeX\tex\latex\pgf\math\pgfmath.sty -(C:\Programming\MiKTeX\tex\generic\pgf\math\pgfmath.code.tex)) -(C:\Programming\MiKTeX\tex\generic\pgf\utilities\pgffor.code.tex -Package: pgffor 2013/12/13 v3.0.1a (rcs-revision 1.25) - -(C:\Programming\MiKTeX\tex\generic\pgf\math\pgfmath.code.tex) -\pgffor@iter=\dimen142 -\pgffor@skip=\dimen143 -\pgffor@stack=\toks25 -\pgffor@toks=\toks26 -)) -(C:\Programming\MiKTeX\tex\generic\pgf\frontendlayer\tikz\tikz.code.tex -Package: tikz 2015/08/07 v3.0.1a (rcs-revision 1.151) - -(C:\Programming\MiKTeX\tex\generic\pgf\libraries\pgflibraryplothandlers.code.te -x -File: pgflibraryplothandlers.code.tex 2013/08/31 v3.0.1a (rcs-revision 1.20) -\pgf@plot@mark@count=\count97 -\pgfplotmarksize=\dimen144 -) -\tikz@lastx=\dimen145 -\tikz@lasty=\dimen146 -\tikz@lastxsaved=\dimen147 -\tikz@lastysaved=\dimen148 -\tikzleveldistance=\dimen149 -\tikzsiblingdistance=\dimen150 -\tikz@figbox=\box33 -\tikz@figbox@bg=\box34 -\tikz@tempbox=\box35 -\tikz@tempbox@bg=\box36 -\tikztreelevel=\count98 -\tikznumberofchildren=\count99 -\tikznumberofcurrentchild=\count100 -\tikz@fig@count=\count101 - (C:\Programming\MiKTeX\tex\generic\pgf\modules\pgfmodulematrix.code.tex -File: pgfmodulematrix.code.tex 2013/09/17 (rcs-revision 1.8) -\pgfmatrixcurrentrow=\count102 -\pgfmatrixcurrentcolumn=\count103 -\pgf@matrix@numberofcolumns=\count104 -) -\tikz@expandcount=\count105 - -(C:\Programming\MiKTeX\tex\generic\pgf\frontendlayer\tikz\libraries\tikzlibrary -topaths.code.tex -File: tikzlibrarytopaths.code.tex 2008/06/17 v3.0.1a (rcs-revision 1.2) -))) -(C:\Programming\MiKTeX\tex\generic\pgf\frontendlayer\tikz\libraries\tikzlibrary -shapes.code.tex -File: tikzlibraryshapes.code.tex 2008/01/09 v3.0.1a (rcs-revision 1.1) - -(C:\Programming\MiKTeX\tex\generic\pgf\frontendlayer\tikz\libraries\tikzlibrary -shapes.geometric.code.tex -File: tikzlibraryshapes.geometric.code.tex 2008/01/09 v3.0.1a (rcs-revision 1.1 -) - -(C:\Programming\MiKTeX\tex\generic\pgf\libraries\shapes\pgflibraryshapes.geomet -ric.code.tex -File: pgflibraryshapes.geometric.code.tex 2008/06/26 v3.0.1a (rcs-revision 1.1) - -)) -(C:\Programming\MiKTeX\tex\generic\pgf\frontendlayer\tikz\libraries\tikzlibrary -shapes.misc.code.tex -File: tikzlibraryshapes.misc.code.tex 2008/01/09 v3.0.1a (rcs-revision 1.1) - -(C:\Programming\MiKTeX\tex\generic\pgf\libraries\shapes\pgflibraryshapes.misc.c -ode.tex -File: pgflibraryshapes.misc.code.tex 2013/07/18 v3.0.1a (rcs-revision 1.5) -)) -(C:\Programming\MiKTeX\tex\generic\pgf\frontendlayer\tikz\libraries\tikzlibrary -shapes.symbols.code.tex -File: tikzlibraryshapes.symbols.code.tex 2008/01/09 v3.0.1a (rcs-revision 1.1) - -(C:\Programming\MiKTeX\tex\generic\pgf\libraries\shapes\pgflibraryshapes.symbol -s.code.tex -File: pgflibraryshapes.symbols.code.tex 2013/09/11 v3.0.1a (rcs-revision 1.6) -)) -(C:\Programming\MiKTeX\tex\generic\pgf\frontendlayer\tikz\libraries\tikzlibrary -shapes.arrows.code.tex -File: tikzlibraryshapes.arrows.code.tex 2008/01/09 v3.0.1a (rcs-revision 1.1) - -(C:\Programming\MiKTeX\tex\generic\pgf\libraries\shapes\pgflibraryshapes.arrows -.code.tex -File: pgflibraryshapes.arrows.code.tex 2008/06/26 v3.0.1a (rcs-revision 1.1) -)) -(C:\Programming\MiKTeX\tex\generic\pgf\frontendlayer\tikz\libraries\tikzlibrary -shapes.callouts.code.tex -(C:\Programming\MiKTeX\tex\generic\pgf\libraries\shapes\pgflibraryshapes.callou -ts.code.tex)) -(C:\Programming\MiKTeX\tex\generic\pgf\frontendlayer\tikz\libraries\tikzlibrary -shapes.multipart.code.tex -File: tikzlibraryshapes.multipart.code.tex 2008/01/09 v3.0.1a (rcs-revision 1.1 -) - -(C:\Programming\MiKTeX\tex\generic\pgf\libraries\shapes\pgflibraryshapes.multip -art.code.tex -File: pgflibraryshapes.multipart.code.tex 2010/01/07 v3.0.1a (rcs-revision 1.2) - -\pgfnodepartlowerbox=\box37 -\pgfnodeparttwobox=\box38 -\pgfnodepartthreebox=\box39 -\pgfnodepartfourbox=\box40 -\pgfnodeparttwentybox=\box41 -\pgfnodepartnineteenbox=\box42 -\pgfnodeparteighteenbox=\box43 -\pgfnodepartseventeenbox=\box44 -\pgfnodepartsixteenbox=\box45 -\pgfnodepartfifteenbox=\box46 -\pgfnodepartfourteenbox=\box47 -\pgfnodepartthirteenbox=\box48 -\pgfnodeparttwelvebox=\box49 -\pgfnodepartelevenbox=\box50 -\pgfnodeparttenbox=\box51 -\pgfnodepartninebox=\box52 -\pgfnodeparteightbox=\box53 -\pgfnodepartsevenbox=\box54 -\pgfnodepartsixbox=\box55 -\pgfnodepartfivebox=\box56 -))) -(C:\Programming\MiKTeX\tex\generic\pgf\frontendlayer\tikz\libraries\tikzlibrary -fit.code.tex -File: tikzlibraryfit.code.tex 2013/07/12 v3.0.1a (rcs-revision 1.5) -) -(C:\Programming\MiKTeX\tex\generic\pgf\frontendlayer\tikz\libraries\tikzlibrary -calc.code.tex -File: tikzlibrarycalc.code.tex 2013/07/15 v3.0.1a (rcs-revision 1.9) -) -(C:\Programming\MiKTeX\tex\generic\pgf\libraries\pgflibraryintersections.code.t -ex (C:\Programming\MiKTeX\tex\generic\pgf\libraries\pgflibraryfpu.code.tex) -\pgf@intersect@solutions=\count106 -) -(C:\Programming\MiKTeX\tex\latex\pgfopts\pgfopts.sty -Package: pgfopts 2014/07/10 v2.1a LaTeX package options with pgfkeys -\pgfopts@list@add@a@toks=\toks27 -\pgfopts@list@add@b@toks=\toks28 -) -(C:\Programming\MiKTeX\tex\latex\etoolbox\etoolbox.sty -Package: etoolbox 2017/11/22 v2.5 e-TeX tools for LaTeX (JAW) -\etb@tempcnta=\count107 -) -(C:\Programming\MiKTeX\tex\latex\elocalloc\elocalloc.sty -Package: elocalloc 2016/12/15 v0.03 local allocation for LaTeX 2015+ (DPC) -) -(C:\Programming\MiKTeX\tex\latex\environ\environ.sty -Package: environ 2014/05/04 v0.3 A new way to define environments - -(C:\Programming\MiKTeX\tex\latex\trimspaces\trimspaces.sty -Package: trimspaces 2009/09/17 v1.1 Trim spaces around a token list -) -\@envbody=\toks29 -) -(C:\Programming\MiKTeX\tex\latex\l3packages\xparse\xparse.sty -(C:\Programming\MiKTeX\tex\latex\l3kernel\expl3.sty -Package: expl3 2017/12/16 L3 programming layer (loader) - -(C:\Programming\MiKTeX\tex\latex\l3kernel\expl3-code.tex -Package: expl3 2017/12/16 L3 programming layer (code) -\c_max_int=\count108 -\l_tmpa_int=\count109 -\l_tmpb_int=\count110 -\g_tmpa_int=\count111 -\g_tmpb_int=\count112 -\g__intarray_font_int=\count113 -\g__prg_map_int=\count114 -\c_log_iow=\count115 -\l_iow_line_count_int=\count116 -\l__iow_line_target_int=\count117 -\l__iow_one_indent_int=\count118 -\l__iow_indent_int=\count119 -\c_zero_dim=\dimen151 -\c_max_dim=\dimen152 -\l_tmpa_dim=\dimen153 -\l_tmpb_dim=\dimen154 -\g_tmpa_dim=\dimen155 -\g_tmpb_dim=\dimen156 -\c_zero_skip=\skip43 -\c_max_skip=\skip44 -\l_tmpa_skip=\skip45 -\l_tmpb_skip=\skip46 -\g_tmpa_skip=\skip47 -\g_tmpb_skip=\skip48 -\c_zero_muskip=\muskip10 -\c_max_muskip=\muskip11 -\l_tmpa_muskip=\muskip12 -\l_tmpb_muskip=\muskip13 -\g_tmpa_muskip=\muskip14 -\g_tmpb_muskip=\muskip15 -\l_keys_choice_int=\count120 -\c__fp_leading_shift_int=\count121 -\c__fp_middle_shift_int=\count122 -\c__fp_trailing_shift_int=\count123 -\c__fp_big_leading_shift_int=\count124 -\c__fp_big_middle_shift_int=\count125 -\c__fp_big_trailing_shift_int=\count126 -\c__fp_Bigg_leading_shift_int=\count127 -\c__fp_Bigg_middle_shift_int=\count128 -\c__fp_Bigg_trailing_shift_int=\count129 -\c__fp_rand_size_int=\count130 -\c__fp_rand_four_int=\count131 -\c__fp_rand_eight_int=\count132 -\l__sort_length_int=\count133 -\l__sort_min_int=\count134 -\l__sort_top_int=\count135 -\l__sort_max_int=\count136 -\l__sort_true_max_int=\count137 -\l__sort_block_int=\count138 -\l__sort_begin_int=\count139 -\l__sort_end_int=\count140 -\l__sort_A_int=\count141 -\l__sort_B_int=\count142 -\l__sort_C_int=\count143 -\l__tl_build_start_index_int=\count144 -\l__tl_build_index_int=\count145 -\l__tl_analysis_normal_int=\count146 -\l__tl_analysis_index_int=\count147 -\l__tl_analysis_nesting_int=\count148 -\l__tl_analysis_type_int=\count149 -\l__regex_internal_a_int=\count150 -\l__regex_internal_b_int=\count151 -\l__regex_internal_c_int=\count152 -\l__regex_balance_int=\count153 -\l__regex_group_level_int=\count154 -\l__regex_mode_int=\count155 -\c__regex_cs_in_class_mode_int=\count156 -\c__regex_cs_mode_int=\count157 -\l__regex_catcodes_int=\count158 -\l__regex_default_catcodes_int=\count159 -\c__regex_catcode_D_int=\count160 -\c__regex_catcode_S_int=\count161 -\c__regex_catcode_L_int=\count162 -\c__regex_catcode_O_int=\count163 -\c__regex_catcode_A_int=\count164 -\c__regex_all_catcodes_int=\count165 -\l__regex_show_lines_int=\count166 -\l__regex_min_state_int=\count167 -\l__regex_max_state_int=\count168 -\l__regex_left_state_int=\count169 -\l__regex_right_state_int=\count170 -\l__regex_capturing_group_int=\count171 -\l__regex_min_pos_int=\count172 -\l__regex_max_pos_int=\count173 -\l__regex_curr_pos_int=\count174 -\l__regex_start_pos_int=\count175 -\l__regex_success_pos_int=\count176 -\l__regex_curr_char_int=\count177 -\l__regex_curr_catcode_int=\count178 -\l__regex_last_char_int=\count179 -\l__regex_case_changed_char_int=\count180 -\l__regex_curr_state_int=\count181 -\l__regex_step_int=\count182 -\l__regex_min_active_int=\count183 -\l__regex_max_active_int=\count184 -\l__regex_replacement_csnames_int=\count185 -\l__regex_match_count_int=\count186 -\l__regex_min_submatch_int=\count187 -\l__regex_submatch_int=\count188 -\l__regex_zeroth_submatch_int=\count189 -\g__debug_trace_regex_int=\count190 -\c_empty_box=\box57 -\l_tmpa_box=\box58 -\l_tmpb_box=\box59 -\g_tmpa_box=\box60 -\g_tmpb_box=\box61 -\l__box_top_dim=\dimen157 -\l__box_bottom_dim=\dimen158 -\l__box_left_dim=\dimen159 -\l__box_right_dim=\dimen160 -\l__box_top_new_dim=\dimen161 -\l__box_bottom_new_dim=\dimen162 -\l__box_left_new_dim=\dimen163 -\l__box_right_new_dim=\dimen164 -\l__box_internal_box=\box62 -\l__coffin_internal_box=\box63 -\l__coffin_internal_dim=\dimen165 -\l__coffin_offset_x_dim=\dimen166 -\l__coffin_offset_y_dim=\dimen167 -\l__coffin_x_dim=\dimen168 -\l__coffin_y_dim=\dimen169 -\l__coffin_x_prime_dim=\dimen170 -\l__coffin_y_prime_dim=\dimen171 -\c_empty_coffin=\box64 -\l__coffin_aligned_coffin=\box65 -\l__coffin_aligned_internal_coffin=\box66 -\l_tmpa_coffin=\box67 -\l_tmpb_coffin=\box68 -\l__coffin_display_coffin=\box69 -\l__coffin_display_coord_coffin=\box70 -\l__coffin_display_pole_coffin=\box71 -\l__coffin_display_offset_dim=\dimen172 -\l__coffin_display_x_dim=\dimen173 -\l__coffin_display_y_dim=\dimen174 -\l__coffin_bounding_shift_dim=\dimen175 -\l__coffin_left_corner_dim=\dimen176 -\l__coffin_right_corner_dim=\dimen177 -\l__coffin_bottom_corner_dim=\dimen178 -\l__coffin_top_corner_dim=\dimen179 -\l__coffin_scaled_total_height_dim=\dimen180 -\l__coffin_scaled_width_dim=\dimen181 -) -(C:\Programming\MiKTeX\tex\latex\l3kernel\l3pdfmode.def -File: l3pdfmode.def 2017/03/18 v L3 Experimental driver: PDF mode -\l__driver_color_stack_int=\count191 -\l__driver_tmp_box=\box72 -)) -Package: xparse 2017/12/16 L3 Experimental document command parser -\l__xparse_current_arg_int=\count192 -\g__xparse_grabber_int=\count193 -\l__xparse_m_args_int=\count194 -\l__xparse_mandatory_args_int=\count195 -\l__xparse_v_nesting_int=\count196 -) -(C:\Programming\MiKTeX\tex\latex\inlinedef\inlinedef.sty -Package: inlinedef 2008/07/10 v1.0 Inlined expansions within definitions -\ID@toks=\toks30 -\ID@count=\count197 -) -\ID@usercommands=\toks31 -................................................. -. LaTeX info: "xparse/define-command" -. -. Defining command \useforestlibrary with sig. 's O{} m' on line 166. -................................................. -................................................. -. LaTeX info: "xparse/define-command" -. -. Defining command \ProvidesForestLibrary with sig. 'm O{}' on line 176. -................................................. -\safeloop@depth=\count198 -\safeRKloop@depth=\count199 -\forest@temp@dimen=\dimen182 -\forest@temp@count=\count266 -\forest@n=\count267 -\forest@temp@global@count=\count268 -\forest@temp@toks=\toks32 -\forest@temparray@M=\count269 -\forest@temparray@N=\count270 -\forest@global@temparray@M=\count271 -\forest@global@temparray@N=\count272 -\forest@isnum@count=\count273 -\forest@isdim@nonintpart=\count274 -\forest@isdim@dimen=\dimen183 -\forest@sort@m=\count275 -\forest@sort@k=\count276 -\forest@sort@p=\count277 -\bracket@content=\toks33 -\bracket@afterthought=\toks34 -\forest@node@maxid=\count278 -................................................. -. LaTeX info: "xparse/define-command" -. -. Defining command \forestdebugtypeouttrees with sig. 'o' on line 2303. -................................................. -................................................. -. LaTeX info: "xparse/define-command" -. -. Defining command \forestdebugtypeouttree with sig. 'd() O{\forest@cn }' on -. line 2348. -................................................. -\forest@process@left@M=\count279 -\forest@process@left@N=\count280 -\forest@process@right@M=\count281 -\forest@process@right@N=\count282 -\forest@process@saved@M=\count283 -\forest@process@saved@N=\count284 -\forest@process@result@M=\count285 -\forest@process@result@N=\count286 -\forest@process@n=\count287 -\forest@nodewalk@branch@toks=\toks35 -\forest@nodewalk@shortsteps@resolution=\toks36 -\forest@do@dynamics=\toks37 -\forest@box=\box73 -\forest@xg=\dimen184 -\forest@yg=\dimen185 -\forest@xs=\dimen186 -\forest@ys=\dimen187 -\forest@pi@toks=\toks38 -\forest@segment@toks=\toks39 -\forest@PIi@toks=\toks40 -\forest@PIii@toks=\toks41 -\forest@copy@in=\read2 -\forest@copy@out=\write4 -................................................. -. LaTeX info: "xparse/define-environment" -. -. Defining environment 'forest' with sig. 'D(){}' on line 8510. -................................................. -................................................. -. LaTeX info: "xparse/define-command" -. -. Defining command \Forest with sig. 's D(){} m' on line 8515. -................................................. -\forest@externalize@max@outer@n=\count288 -\forest@externalize@inner@n=\count289 -) -(C:\Programming\MiKTeX\tex\latex\geometry\geometry.sty -Package: geometry 2010/09/12 v5.6 Page Geometry - -(C:\Programming\MiKTeX\tex\generic\oberdiek\ifpdf.sty -Package: ifpdf 2017/03/15 v3.2 Provides the ifpdf switch -) -(C:\Programming\MiKTeX\tex\generic\oberdiek\ifvtex.sty -Package: ifvtex 2016/05/16 v1.6 Detect VTeX and its facilities (HO) -Package ifvtex Info: VTeX not detected. -) -(C:\Programming\MiKTeX\tex\generic\ifxetex\ifxetex.sty -Package: ifxetex 2010/09/12 v0.6 Provides ifxetex conditional -) -\Gm@cnth=\count290 -\Gm@cntv=\count291 -\c@Gm@tempcnt=\count292 -\Gm@bindingoffset=\dimen188 -\Gm@wd@mp=\dimen189 -\Gm@odd@mp=\dimen190 -\Gm@even@mp=\dimen191 -\Gm@layoutwidth=\dimen192 -\Gm@layoutheight=\dimen193 -\Gm@layouthoffset=\dimen194 -\Gm@layoutvoffset=\dimen195 -\Gm@dimlist=\toks42 - -(C:\Programming\MiKTeX\tex\latex\geometry\geometry.cfg)) -(HWSAT01DanielShchur.aux) -\openout1 = `HWSAT01DanielShchur.aux'. - -LaTeX Font Info: Checking defaults for OML/cmm/m/it on input line 20. -LaTeX Font Info: ... okay on input line 20. -LaTeX Font Info: Checking defaults for T1/cmr/m/n on input line 20. -LaTeX Font Info: ... okay on input line 20. -LaTeX Font Info: Checking defaults for OT1/cmr/m/n on input line 20. -LaTeX Font Info: ... okay on input line 20. -LaTeX Font Info: Checking defaults for OMS/cmsy/m/n on input line 20. -LaTeX Font Info: ... okay on input line 20. -LaTeX Font Info: Checking defaults for OMX/cmex/m/n on input line 20. -LaTeX Font Info: ... okay on input line 20. -LaTeX Font Info: Checking defaults for U/cmr/m/n on input line 20. -LaTeX Font Info: ... okay on input line 20. - ABD: EveryShipout initializing macros -(C:\Programming\MiKTeX\tex\context\base\supp-pdf.mkii -[Loading MPS to PDF converter (version 2006.09.02).] -\scratchcounter=\count293 -\scratchdimen=\dimen196 -\scratchbox=\box74 -\nofMPsegments=\count294 -\nofMParguments=\count295 -\everyMPshowfont=\toks43 -\MPscratchCnt=\count296 -\MPscratchDim=\dimen197 -\MPnumerator=\count297 -\makeMPintoPDFobject=\count298 -\everyMPtoPDFconversion=\toks44 -) (C:\Programming\MiKTeX\tex\latex\oberdiek\epstopdf-base.sty -Package: epstopdf-base 2016/05/15 v2.6 Base part for package epstopdf - -(C:\Programming\MiKTeX\tex\generic\oberdiek\infwarerr.sty -Package: infwarerr 2016/05/16 v1.4 Providing info/warning/error messages (HO) -) -(C:\Programming\MiKTeX\tex\latex\oberdiek\grfext.sty -Package: grfext 2016/05/16 v1.2 Manage graphics extensions (HO) - -(C:\Programming\MiKTeX\tex\generic\oberdiek\kvdefinekeys.sty -Package: kvdefinekeys 2016/05/16 v1.4 Define keys (HO) - -(C:\Programming\MiKTeX\tex\generic\oberdiek\ltxcmds.sty -Package: ltxcmds 2016/05/16 v1.23 LaTeX kernel commands for general use (HO) -))) -(C:\Programming\MiKTeX\tex\latex\oberdiek\kvoptions.sty -Package: kvoptions 2016/05/16 v3.12 Key value format for package options (HO) - -(C:\Programming\MiKTeX\tex\generic\oberdiek\kvsetkeys.sty -Package: kvsetkeys 2016/05/16 v1.17 Key value parser (HO) - -(C:\Programming\MiKTeX\tex\generic\oberdiek\etexcmds.sty -Package: etexcmds 2016/05/16 v1.6 Avoid name clashes with e-TeX commands (HO) - -(C:\Programming\MiKTeX\tex\generic\oberdiek\ifluatex.sty -Package: ifluatex 2016/05/16 v1.4 Provides the ifluatex switch (HO) -Package ifluatex Info: LuaTeX not detected. -) -Package etexcmds Info: Could not find \expanded. -(etexcmds) That can mean that you are not using pdfTeX 1.50 or -(etexcmds) that some package has redefined \expanded. -(etexcmds) In the latter case, load this package earlier. -))) -(C:\Programming\MiKTeX\tex\generic\oberdiek\pdftexcmds.sty -Package: pdftexcmds 2017/03/19 v0.25 Utility functions of pdfTeX for LuaTeX (HO -) -Package pdftexcmds Info: LuaTeX not detected. -Package pdftexcmds Info: \pdf@primitive is available. -Package pdftexcmds Info: \pdf@ifprimitive is available. -Package pdftexcmds Info: \pdfdraftmode found. -) -Package epstopdf-base Info: Redefining graphics rule for `.eps' on input line 4 -38. -Package grfext Info: Graphics extension search list: -(grfext) [.pdf,.png,.jpg,.mps,.jpeg,.jbig2,.jb2,.PDF,.PNG,.JPG,.JPE -G,.JBIG2,.JB2,.eps] -(grfext) \AppendGraphicsExtensions on input line 456. -) -*geometry* driver: auto-detecting -*geometry* detected driver: pdftex -*geometry* verbose mode - [ preamble ] result: -* driver: pdftex -* paper: letterpaper -* layout: <same size as paper> -* layoutoffset:(h,v)=(0.0pt,0.0pt) -* modes: -* h-part:(L,W,R)=(54.2025pt, 505.89pt, 54.2025pt) -* v-part:(T,H,B)=(54.2025pt, 686.56499pt, 54.2025pt) -* \paperwidth=614.295pt -* \paperheight=794.96999pt -* \textwidth=505.89pt -* \textheight=686.56499pt -* \oddsidemargin=-18.06749pt -* \evensidemargin=-18.06749pt -* \topmargin=-55.06749pt -* \headheight=12.0pt -* \headsep=25.0pt -* \topskip=12.0pt -* \footskip=30.0pt -* \marginparwidth=44.0pt -* \marginparsep=10.0pt -* \columnsep=10.0pt -* \skip\footins=10.8pt plus 4.0pt minus 2.0pt -* \hoffset=0.0pt -* \voffset=0.0pt -* \mag=1000 -* \@twocolumnfalse -* \@twosidefalse -* \@mparswitchfalse -* \@reversemarginfalse -* (1in=72.27pt=25.4mm, 1cm=28.453pt) - -LaTeX Font Info: External font `cmex10' loaded for size -(Font) <14.4> on input line 22. -LaTeX Font Info: External font `cmex10' loaded for size -(Font) <7> on input line 22. -LaTeX Font Info: External font `cmex10' loaded for size -(Font) <12> on input line 27. -LaTeX Font Info: External font `cmex10' loaded for size -(Font) <8> on input line 27. -LaTeX Font Info: External font `cmex10' loaded for size -(Font) <6> on input line 27. -[1 - -{C:/Users/wormh/AppData/Local/MiKTeX/2.9/pdftex/config/pdftex.map}] [2] -(HWSAT01DanielShchur.aux) ) -Here is how much of TeX's memory you used: - 31662 strings out of 493312 - 724819 string characters out of 3141519 - 756575 words of memory out of 3000000 - 34888 multiletter control sequences out of 15000+200000 - 540097 words of font info for 54 fonts, out of 3000000 for 9000 - 1141 hyphenation exceptions out of 8191 - 143i,8n,167p,10426b,1722s stack positions out of 5000i,500n,10000p,200000b,50000s -<C:/Programming/MiKTeX/fonts/type1/public/amsfonts/c -m/cmbx12.pfb><C:/Programming/MiKTeX/fonts/type1/public/amsfonts/cm/cmmi12.pfb>< -C:/Programming/MiKTeX/fonts/type1/public/amsfonts/cm/cmr12.pfb><C:/Programming/ -MiKTeX/fonts/type1/public/amsfonts/cm/cmr17.pfb><C:/Programming/MiKTeX/fonts/ty -pe1/public/amsfonts/cm/cmsy10.pfb><C:/Programming/MiKTeX/fonts/type1/public/ams -fonts/cm/cmti12.pfb> -Output written on HWSAT01DanielShchur.pdf (2 pages, 71500 bytes). -PDF statistics: - 36 PDF objects out of 1000 (max. 8388607) - 0 named destinations out of 1000 (max. 500000) - 13 words of extra memory for PDF output out of 10000 (max. 10000000) - diff --git a/hwSat01/HWSAT01DanielShchur.tex~ b/hwSat01/HWSAT01DanielShchur.tex~ deleted file mode 100644 index aa64b3d059b6e7c57d3b24858721cd0d2e0183f6..0000000000000000000000000000000000000000 --- a/hwSat01/HWSAT01DanielShchur.tex~ +++ /dev/null @@ -1,22 +0,0 @@ -\documentclass[12pt,letterpaper]{article} - -\usepackage[table]{xcolor} -\usepackage{boldline} -\usepackage{bm} -\usepackage{forest} -\usepackage[letterpaper, margin=.75in]{geometry} -\usepackage{adjustbox} - -\newcommand{\problem}{\vspace{.5cm}\textbf{Problem:~~}} -\newcommand{\answer}{\emph{Answer:~~}} -\newcommand{\ansindent}{\indent\hspace{0.5cm}} -\newcommand{\ansend}{\vspace{0.25cm}\\} -\newcommand{\rot}[1]{\multicolumn{1}{c}{\adjustbox{angle=90}{#1}}} -\newcommand{\rotend}[1]{\multicolumn{1}{c V{3}}{\adjustbox{angle=90}{#1}}} - -\setlength{\parindent}{0pt} -\setlength{\parskip}{0cm} -\setlength{\intextsep}{.25cm} - -\title{CSCE 235H SAT Homework 01} -\author{Daniel Shchur} diff --git a/hwSat01/SAThw01.pdf b/hwSat01/SAThw01.pdf new file mode 100644 index 0000000000000000000000000000000000000000..9695f8a6b412d685b42924a1f74556df5a1faeac Binary files /dev/null and b/hwSat01/SAThw01.pdf differ diff --git a/hwSat02/HWSAT02DanielShchur.pdf b/hwSat02/HWSAT02DanielShchur.pdf new file mode 100644 index 0000000000000000000000000000000000000000..51deb2125c53184b6f0eb77891afdbaa419f5b23 Binary files /dev/null and b/hwSat02/HWSAT02DanielShchur.pdf differ diff --git a/hwSat02/HWSAT02DanielShchur.tex b/hwSat02/HWSAT02DanielShchur.tex new file mode 100644 index 0000000000000000000000000000000000000000..3d33ab3698940641274bcd5eee300e5c9239b3c2 --- /dev/null +++ b/hwSat02/HWSAT02DanielShchur.tex @@ -0,0 +1,120 @@ +\documentclass[12pt,letterpaper]{article} + +\usepackage[table]{xcolor} +\usepackage{boldline} +\usepackage{bm} +\usepackage{forest} +\usepackage[letterpaper, margin=.75in]{geometry} +\usepackage{adjustbox} +\usepackage{graphicx} + +\newcommand{\problem}{\vspace{.5cm}\textbf{Problem:~~}} +\newcommand{\answer}{\emph{Answer:~~}} +\newcommand{\ansindent}{\indent\hspace{0.5cm}} +\newcommand{\ansend}{\vspace{0.25cm}\\} +\newcommand{\rot}[1]{\multicolumn{1}{c}{\adjustbox{angle=90}{#1}}} +\newcommand{\rotend}[1]{\multicolumn{1}{c V{3}}{\adjustbox{angle=90}{#1}}} + +\setlength{\parindent}{0pt} +\setlength{\parskip}{0cm} +\setlength{\intextsep}{.25cm} + +\title{CSCE 235H SAT Homework 02} +\author{Daniel Shchur} + +\begin{document} + +\maketitle + +\problem Write a CNF formula to model the following scenario: + +\begin{enumerate} +\item[1.] There are four choices of desserts: ice cream, fruit bowl, cake, pie. +\item[2.] Exactly one dessert must be selected (i.e., one and only one). +\end{enumerate} + +Proceed following the four steps below: + +\begin{enumerate} +\item[1.] First state the propositions and what they represent. +\item[2.] State the sentence. +\item[3.] Explain the meaning of the clauses. +\item[4.] Is the sentence satisfiable? Explain why or why not. +\end{enumerate} + +\answer + +\begin{enumerate} +\item[1.] Proposition D(x) represents ``x is a selected desert'' where: + \begin{tabular}{l} + 1: Ice cream\\ + 2: Fruit bowl\\ + 3: Cake\\ + 4: Pie\\ + \end{tabular} + +\item[2.] + \begin{enumerate} + \item[(a)]$\bigvee\limits_{x=1}^{4} P(x)$ + \item[(b)]$\bigwedge\limits_{x=1}^{3} \bigwedge\limits_{y=x+1}^{4} (\neg P(x) \vee \neg P(y))$ + \end{enumerate} + +\item[3.] + \begin{enumerate} + \item[(a)]Requires that a desert is selected. + \item[(b)]Requires that at most, one desert is selected. + \end{enumerate} + +\item[4.] This sentence is satisfiable in 4 different ways, where all but one of the variables is false. This makes sense since only one desert must be selected.\\ + Ex: Ice cream = F, Fruit bowl = F, Cake = F, Pie = T + +\end{enumerate} + +\newpage + +\problem Problem B: Write a CNF formula to model the following scenario: + +\begin{enumerate} +\item[1.] The four states (NE, IA, KS, MO) on the map shown in Figure 1 must be colored using three colors: red, green, and blue. + + \begin{figure}[htb] + \centering + \includegraphics[scale=0.15]{states} + \caption{Four states (NE, IA, KS, MO)} + \end{figure} + +\item[2.] Each state must be colored with exactly one color. +\item[3.] Adjacent states (i.e., states sharing a border line) cannot have the same color. +\end{enumerate} + +Proceed following the four steps of Problem A.\ansend + +\answer + +\begin{enumerate} +\item[1.] Proposition $S(x,c)$ represents ``A state $x$ has a color $c$'' where: + \begin{tabular}{c | c} + NE = 1 & R = 1\\ + IA = 2 & G = 2\\ + KS = 3 & B = 3\\ + MO = 4 & \\ + \end{tabular} + +\item[2.] + \begin{enumerate} + \item[(a)] $\bigwedge\limits_{x=1}^{4} \bigvee\limits_{c=1}^{3} S(x,c)$ + \item[(b)] $\bigwedge\limits_{x=1}^{2} \bigwedge\limits_{c=1}^{2} \bigwedge\limits_{d=c+1}^{3} (\neg S(x,c) \vee \neg S(x, d))$ + \item[(c)] $\bigvee\limits_{c=1}^{3} (S(2,c) \wedge S(3, c))$ + \end{enumerate} + +\item[3.] + \begin{enumerate} + \item[(a)] Requires that every state have a color. + \item[(b)] Requires that every state have at most one color. + \item[(c)] Requires that states 2 and 3 have the same color as they do not share a border. + \end{enumerate} +\item[4.] Yes, the problem is satisfiable as long as KS and IA are the same colors. All borders overlap except for those borders. This presents with 3 different solutions solved in the same manner. Where IA and KS are the same color and the other two states are the other two colors.\\ Ex: NE=R, IA=B, KS=B, MO=G +\end{enumerate} + + +\end{document} \ No newline at end of file diff --git a/hwSat02/SAThw02.pdf b/hwSat02/SAThw02.pdf new file mode 100644 index 0000000000000000000000000000000000000000..23e4804f6e268ac3e922c6ab31ca5a83f4937404 Binary files /dev/null and b/hwSat02/SAThw02.pdf differ diff --git a/hwSat02/states.png b/hwSat02/states.png new file mode 100644 index 0000000000000000000000000000000000000000..b44e8212d0b06bbd0cb57064d0717fb740f90874 Binary files /dev/null and b/hwSat02/states.png differ diff --git a/hwSat03/HWSAT03DanielShchur.pdf b/hwSat03/HWSAT03DanielShchur.pdf new file mode 100644 index 0000000000000000000000000000000000000000..f8cf4fc073f73b4cb9c5abfd1f49b386c3d06a96 Binary files /dev/null and b/hwSat03/HWSAT03DanielShchur.pdf differ diff --git a/hwSat03/HWSAT03DanielShchur.tex b/hwSat03/HWSAT03DanielShchur.tex new file mode 100644 index 0000000000000000000000000000000000000000..60f5a03124a750673fb7ab2cd8db2d065816bcc5 --- /dev/null +++ b/hwSat03/HWSAT03DanielShchur.tex @@ -0,0 +1,128 @@ +\documentclass[12pt,letterpaper]{article} + +\usepackage[letterpaper, margin=.75in]{geometry} + +\newcommand{\problem[1]}{\vspace{.5cm}\textbf{Problem {#1}:~~}} +\newcommand{\answer}{\emph{Answer:~~}} + +\setlength{\parindent}{0pt} +\setlength{\parskip}{0cm} +\setlength{\intextsep}{.25cm} + +\title{CSCE 235H SAT Homework 03} +\author{Daniel Shchur} + +\begin{document} + +\maketitle + +\problem[A] + +\begin{itemize} +\item Select a \emph{satisfiable} benchmark instance from the SATLIB website. +\item Run the instance through MiniSAT. +\item Submit the generated output as well as the contents of the results file. +\end{itemize} + +\footnotesize +\begin{verbatim} +*** Console *** +** File: uf125-0100.cnf ** + +WARNING: for repeatability, setting FPU to use double precision +============================[ Problem Statistics ]============================= +| | +| Number of variables: 125 | +| Number of clauses: 538 | +| Parse time: 0.00 s | +| | +============================[ Search Statistics ]============================== +| Conflicts | ORIGINAL | LEARNT | Progress | +| | Vars Clauses Literals | Limit Clauses Lit/Cl | | +=============================================================================== +| 100 | 125 538 1614 | 197 100 10 | 0.006 % | +| 250 | 125 538 1614 | 216 149 8 | 0.007 % | +=============================================================================== +restarts : 4 +conflicts : 470 (49025 /sec) +decisions : 617 (0.00 % random) (64358 /sec) +propagations : 13417 (1399499 /sec) +conflict literals : 3957 (18.68 % deleted) +Memory used : 20.00 MB +CPU time : 0.009587 s + +SATISFIABLE + +*** Ouput.txt *** + +SAT +-1 2 3 -4 -5 -6 -7 -8 9 -10 -11 -12 -13 14 -15 16 17 -18 19 20 -21 -22 23 -24 25 +-26 27 28 -29 -30 31 -32 33 -34 -35 -36 37 -38 39 40 41 -42 -43 -44 -45 46 47 48 +49 -50 -51 -52 -53 -54 -55 56 57 58 59 60 61 -62 63 -64 65 66 67 68 -69 70 71 72 +-73 -74 75 -76 77 -78 -79 80 -81 82 -83 84 85 -86 87 -88 -89 90 -91 -92 -93 94 +-95 -96 -97 -98 -99 -100 -101 102 103 -104 -105 106 -107 -108 -109 110 -111 -112 +-113 -114 115 116 -117 -118 119 120 -121 122 123 -124 -125 0 +\end{verbatim} +\normalsize +\newpage + +\problem[B] + +\begin{itemize} +\item Select an \emph{unsatisfiable} benchmark instance from the SATLIB website. +\item Run the instance through MiniSAT. +\item Submit the generated output as well as the contents of the results file. +\end{itemize} + +\footnotesize +\begin{verbatim} +*** Console *** +** File: uuf150-0100.cnf ** + +WARNING: for repeatability, setting FPU to use double precision +============================[ Problem Statistics ]============================= +| | +| Number of variables: 150 | +| Number of clauses: 645 | +| Parse time: 0.00 s | +| | +============================[ Search Statistics ]============================== +| Conflicts | ORIGINAL | LEARNT | Progress | +| | Vars Clauses Literals | Limit Clauses Lit/Cl | | +=============================================================================== +| 100 | 150 645 1935 | 236 100 10 | 0.004 % | +| 250 | 150 645 1935 | 260 250 9 | 0.004 % | +| 475 | 150 645 1935 | 286 205 9 | 0.004 % | +| 812 | 150 645 1935 | 314 246 8 | 0.004 % | +| 1318 | 150 645 1935 | 346 271 8 | 0.004 % | +| 2077 | 150 645 1935 | 380 319 7 | 0.004 % | +| 3216 | 150 645 1935 | 418 287 6 | 0.004 % | +| 4924 | 150 645 1935 | 460 273 6 | 0.004 % | +=============================================================================== +restarts : 30 +conflicts : 6099 (108221 /sec) +decisions : 7266 (0.00 % random) (128928 /sec) +propagations : 193502 (3433504 /sec) +conflict literals : 50578 (24.72 % deleted) +Memory used : 20.00 MB +CPU time : 0.056357 s + +UNSATISFIABLE + +*** Output.txt *** + +UNSAT +\end{verbatim} +\vspace{-0.3cm} +\normalsize + +\problem[C] + +\begin{itemize} +\item Select a benchmark from the SATLIB website. +\item Read its description page. +\item Briefly describe, in your own words, what the benchmark is modeling. +\end{itemize} + +\answer SAT-encoded "Morphed" Graph Coloring Problem: The benchmak models a problem from graph theory where a graph/map is made of verticies and edges and all connected vertices always have different colors. The goal for the SAT model is to decide whether for a particular number of colors, a coloring of the given graph exists. +\end{document} \ No newline at end of file diff --git a/hwSat03/SAThw03.pdf b/hwSat03/SAThw03.pdf new file mode 100644 index 0000000000000000000000000000000000000000..068120d19661224e12404d2819813636a27932ef Binary files /dev/null and b/hwSat03/SAThw03.pdf differ diff --git a/hwSat03/problemA/consoleProbA.txt b/hwSat03/problemA/consoleProbA.txt new file mode 100644 index 0000000000000000000000000000000000000000..2f0716765838baeba9eb7f3dd4bba480c4928b09 --- /dev/null +++ b/hwSat03/problemA/consoleProbA.txt @@ -0,0 +1,23 @@ +WARNING: for repeatability, setting FPU to use double precision +============================[ Problem Statistics ]============================= +| | +| Number of variables: 125 | +| Number of clauses: 538 | +| Parse time: 0.00 s | +| | +============================[ Search Statistics ]============================== +| Conflicts | ORIGINAL | LEARNT | Progress | +| | Vars Clauses Literals | Limit Clauses Lit/Cl | | +=============================================================================== +| 100 | 125 538 1614 | 197 100 10 | 0.006 % | +| 250 | 125 538 1614 | 216 149 8 | 0.007 % | +=============================================================================== +restarts : 4 +conflicts : 470 (49025 /sec) +decisions : 617 (0.00 % random) (64358 /sec) +propagations : 13417 (1399499 /sec) +conflict literals : 3957 (18.68 % deleted) +Memory used : 20.00 MB +CPU time : 0.009587 s + +SATISFIABLE diff --git a/hwSat03/problemA/outputProbA.txt b/hwSat03/problemA/outputProbA.txt new file mode 100644 index 0000000000000000000000000000000000000000..914e80825009bec4d3e6f3e488d04d5bcc19165f --- /dev/null +++ b/hwSat03/problemA/outputProbA.txt @@ -0,0 +1,2 @@ +SAT +-1 2 3 -4 -5 -6 -7 -8 9 -10 -11 -12 -13 14 -15 16 17 -18 19 20 -21 -22 23 -24 25 -26 27 28 -29 -30 31 -32 33 -34 -35 -36 37 -38 39 40 41 -42 -43 -44 -45 46 47 48 49 -50 -51 -52 -53 -54 -55 56 57 58 59 60 61 -62 63 -64 65 66 67 68 -69 70 71 72 -73 -74 75 -76 77 -78 -79 80 -81 82 -83 84 85 -86 87 -88 -89 90 -91 -92 -93 94 -95 -96 -97 -98 -99 -100 -101 102 103 -104 -105 106 -107 -108 -109 110 -111 -112 -113 -114 115 116 -117 -118 119 120 -121 122 123 -124 -125 0 diff --git a/hwSat03/problemA/uf125-0100.cnf b/hwSat03/problemA/uf125-0100.cnf new file mode 100644 index 0000000000000000000000000000000000000000..7d027bbe858c76f0c37b6e2eef60fa7b7cd1e3be --- /dev/null +++ b/hwSat03/problemA/uf125-0100.cnf @@ -0,0 +1,546 @@ +c This Formular is generated by mcnf +c +c horn? no +c forced? no +c mixed sat? no +c clause length = 3 +c +p cnf 125 538 + 61 4 2 0 +-86 116 90 0 +98 75 62 0 +-49 94 62 0 +-99 -90 -59 0 +18 30 -107 0 +-23 -6 112 0 +-20 -59 120 0 +-11 -18 115 0 +97 87 -106 0 +-8 -62 105 0 +-110 -104 -30 0 +17 -110 50 0 +33 76 37 0 +39 120 110 0 +-95 32 90 0 +98 -6 -24 0 +119 118 98 0 +-62 36 112 0 +-122 -96 4 0 +-10 84 -60 0 +19 6 -86 0 +30 1 56 0 +39 -105 95 0 +35 75 -124 0 +-66 65 -73 0 +80 -57 -110 0 +104 3 119 0 +93 -43 -17 0 +-90 103 -44 0 +77 -82 -39 0 +-3 -36 -8 0 +-106 -54 -107 0 +11 -55 -29 0 +121 83 -74 0 +14 122 46 0 +3 23 -37 0 +-115 -117 42 0 +-83 100 59 0 +82 123 9 0 +120 -50 -51 0 +-41 -105 -94 0 +-65 -104 96 0 +110 33 35 0 +-94 100 -34 0 +-32 125 -121 0 +-28 80 -77 0 +-100 -96 -45 0 +5 -61 28 0 +-76 73 21 0 +56 82 -26 0 +-24 66 19 0 +-40 -36 -22 0 +-79 110 34 0 +28 -100 86 0 +-74 -14 92 0 +39 -89 70 0 +108 103 41 0 +102 -16 6 0 +-24 -25 -4 0 +-120 -22 102 0 +91 -34 -4 0 +-42 -74 -44 0 +-104 -55 -122 0 +14 -89 -18 0 +-105 66 -111 0 +122 118 -15 0 +-67 70 55 0 +-91 -5 62 0 +-81 2 90 0 +63 -123 102 0 +30 -74 121 0 +-26 15 -93 0 +88 92 -124 0 +-26 -9 114 0 +27 -43 -4 0 +7 121 -30 0 +-26 65 -118 0 +-113 106 85 0 +-98 31 22 0 +-93 49 46 0 +-52 59 7 0 +59 -87 110 0 +44 67 -110 0 +16 -26 20 0 +-40 79 90 0 +-96 102 75 0 +22 116 97 0 +-10 -86 118 0 +109 105 71 0 +45 56 11 0 +-25 -111 -37 0 +-109 -110 85 0 +-6 -1 86 0 +-44 -104 29 0 +46 26 -101 0 +117 60 -102 0 +-123 -17 49 0 +83 -103 40 0 +-92 19 -13 0 +40 -53 20 0 +-7 101 114 0 +-47 -2 39 0 +10 -40 -113 0 +-83 49 -107 0 +-89 -84 42 0 +38 -106 2 0 +-48 -10 -7 0 +-96 115 -4 0 +47 -121 11 0 +18 55 -13 0 +-86 -76 93 0 +-93 -25 66 0 +-64 82 -35 0 +29 -87 68 0 +-94 -8 -88 0 +93 -28 75 0 +115 82 76 0 +101 120 17 0 +82 91 18 0 +58 -98 -15 0 +-20 -47 -109 0 +-22 97 -56 0 +33 2 106 0 +-106 -93 9 0 +5 -50 -110 0 +-101 90 -110 0 +-58 81 -62 0 +-99 85 -90 0 +122 -114 68 0 +18 116 110 0 +66 -110 -19 0 +-16 -1 -34 0 +40 87 45 0 +104 38 41 0 +-106 60 17 0 +20 2 -12 0 +116 67 -81 0 +109 -59 -30 0 +-80 -42 108 0 +22 69 84 0 +-66 -54 -21 0 +-32 -83 14 0 +-56 91 85 0 +-74 70 13 0 +91 101 120 0 +70 64 -35 0 +52 -113 119 0 +94 60 116 0 +-84 -1 -88 0 +8 35 -96 0 +16 108 -44 0 +32 -55 62 0 +51 -62 90 0 +60 74 -19 0 +-17 53 123 0 +92 -70 19 0 +84 27 77 0 +50 102 -107 0 +32 -78 -46 0 +13 -116 -18 0 +-46 -70 17 0 +-87 -38 -58 0 +-66 64 122 0 +36 82 -78 0 +-1 64 99 0 +47 28 84 0 +-39 77 83 0 +-78 -107 104 0 +102 -100 96 0 +-18 -110 -82 0 +-11 9 119 0 +-13 48 110 0 +-10 96 -8 0 +-3 -21 47 0 +-116 -92 -16 0 +39 93 -112 0 +66 75 44 0 +-76 55 -32 0 +-29 46 97 0 +-107 -9 -12 0 +-100 119 -62 0 +-82 91 -73 0 +-62 91 -47 0 +45 78 9 0 +-61 10 -36 0 +-42 -106 110 0 +102 -24 50 0 +85 83 88 0 +-97 -83 -60 0 +-48 120 -123 0 +37 107 -99 0 +116 -72 -86 0 +82 -55 36 0 +95 -78 -124 0 +-116 -113 -105 0 +-103 20 87 0 +61 -25 83 0 +100 -22 -107 0 +50 -35 -42 0 +34 55 -95 0 +-118 -21 97 0 +89 33 -31 0 +-99 28 117 0 +-44 87 92 0 +66 44 84 0 +-112 48 -22 0 +-89 91 -25 0 +-90 -110 106 0 +-14 -108 -105 0 +-10 8 -34 0 +-94 -29 13 0 +108 -75 -105 0 +-86 -34 102 0 +-85 -4 -25 0 +-54 -118 99 0 +-52 55 44 0 +79 27 105 0 +50 120 -83 0 +-67 -20 77 0 +57 -13 54 0 +-46 -27 -69 0 +-119 -45 15 0 +-23 27 -44 0 +53 -118 -124 0 +-65 15 -95 0 +-7 90 96 0 +-63 48 -106 0 +125 43 110 0 +22 -76 -29 0 +-104 20 2 0 +-17 -20 -11 0 +49 -32 112 0 +-113 108 -51 0 +8 -48 -24 0 +23 -47 124 0 +-70 -11 32 0 +20 -48 32 0 +-14 65 123 0 +12 -45 72 0 +14 103 62 0 +24 71 -67 0 +-56 45 -112 0 +-103 65 4 0 +-124 15 85 0 +86 -64 17 0 +78 101 -88 0 +-84 87 -34 0 +10 27 24 0 +53 -1 -41 0 +-51 32 -30 0 +85 6 -82 0 +-37 108 -74 0 +29 -62 24 0 +-78 2 -26 0 +-85 65 4 0 +96 92 -62 0 +-40 -52 -69 0 +111 -25 58 0 +34 30 9 0 +32 -108 -88 0 +92 -68 -62 0 +115 34 -3 0 +-54 8 -22 0 +119 -50 3 0 +-26 16 -8 0 +82 17 46 0 +-94 -34 -75 0 +-94 21 -104 0 +-89 1 44 0 +-116 28 -44 0 +102 -97 111 0 +63 84 64 0 +-109 23 50 0 +-81 -103 58 0 +-27 59 -88 0 +39 34 -74 0 +-54 119 -22 0 +-22 -115 -99 0 +4 31 90 0 +-121 57 92 0 +61 -41 -57 0 +-73 -119 -106 0 +46 -7 101 0 +7 -83 97 0 +-13 44 -96 0 +31 85 50 0 +113 18 82 0 +-10 105 21 0 +45 -113 124 0 +76 18 -98 0 +-77 23 16 0 +104 -64 -70 0 +-62 76 -53 0 +-110 84 72 0 +-111 96 65 0 +-49 -94 -24 0 +116 -63 -9 0 +8 59 -26 0 +-20 -1 22 0 +13 94 -78 0 +99 -124 103 0 +-28 21 57 0 +96 -77 -32 0 +51 -92 117 0 +-30 -43 -47 0 +61 -68 74 0 +86 -8 -52 0 +23 -66 -20 0 +25 24 79 0 +49 71 95 0 +113 -107 119 0 +112 -95 77 0 +-27 -6 41 0 +-105 2 106 0 +44 113 -79 0 +58 28 100 0 +78 41 -31 0 +-50 71 -101 0 +-117 6 -81 0 +105 44 110 0 +51 115 -52 0 +-86 119 -21 0 +86 72 9 0 +-16 -28 40 0 +-94 104 84 0 +102 -88 5 0 +9 -73 40 0 +-92 -24 9 0 +10 -101 -72 0 +90 -41 -51 0 +-64 -95 50 0 +115 6 109 0 +-92 -1 70 0 +-19 112 -5 0 +-38 1 -116 0 +-50 113 -79 0 +-10 -47 -82 0 +-39 42 -117 0 +12 36 -79 0 +-92 39 115 0 +66 50 -27 0 +96 33 -5 0 +43 64 122 0 +-2 -57 48 0 +70 -39 -88 0 +-98 -62 14 0 +-83 -52 -69 0 +42 22 -32 0 +-51 57 -10 0 +-23 82 -121 0 +-74 -114 53 0 +-124 71 60 0 +-36 -75 -60 0 +20 39 47 0 +-111 35 16 0 +97 95 20 0 +-33 -55 -79 0 +-5 -32 61 0 +-54 118 -86 0 +33 -7 8 0 +-79 -84 123 0 +106 -14 -109 0 +-45 110 -11 0 +-28 -102 -101 0 +-87 110 -4 0 +-123 -111 74 0 +49 -65 70 0 +12 43 -35 0 +-5 51 61 0 +-103 -1 121 0 +98 -93 -14 0 +102 12 37 0 +96 -56 -78 0 +89 82 -26 0 +35 40 67 0 +-59 119 -5 0 +-44 16 104 0 +-115 31 79 0 +-42 124 111 0 +-9 -58 -88 0 +-112 -21 102 0 +83 -12 -31 0 +85 82 122 0 +68 65 32 0 +-102 -16 -112 0 +47 -77 95 0 +-39 -26 75 0 +35 -48 123 0 +-65 -28 -86 0 +25 -58 -108 0 +85 -42 -25 0 +-117 104 -118 0 +-107 -82 -2 0 +-125 52 -115 0 +53 48 -3 0 +109 -18 -40 0 +-100 63 83 0 +47 -111 -86 0 +-10 90 125 0 +-69 103 70 0 +-69 121 -20 0 +88 -104 29 0 +50 117 -18 0 +-83 48 -73 0 +105 116 -100 0 +-52 -6 -108 0 +-37 -77 90 0 +-99 47 -26 0 +99 -15 112 0 +43 78 -24 0 +-4 -53 -90 0 +97 -36 30 0 +-96 -75 74 0 +60 -39 -21 0 +-80 2 -70 0 +62 23 -124 0 +105 34 9 0 +12 84 -109 0 +-67 63 9 0 +67 25 71 0 +106 -65 16 0 +-112 -53 46 0 +31 -105 14 0 +3 53 -101 0 +-13 106 -22 0 +101 -5 116 0 +-123 -5 -50 0 +24 -78 118 0 +41 116 7 0 +65 11 -27 0 +-124 39 96 0 +119 49 53 0 +22 -65 103 0 +46 -18 31 0 +-57 9 -71 0 +49 31 -19 0 +-67 14 118 0 +-19 -78 -99 0 +-37 -12 93 0 +-4 -120 -45 0 +-54 1 108 0 +17 -86 -18 0 +43 -98 -26 0 +92 -6 -5 0 +96 76 63 0 +-92 78 17 0 +-78 42 -122 0 +-43 -93 49 0 +-61 75 -23 0 +-9 -104 -46 0 +-87 86 23 0 +14 -112 89 0 +86 -124 -106 0 +26 -4 39 0 +18 77 27 0 +8 -109 106 0 +77 -100 -2 0 +54 -69 82 0 +123 103 -28 0 +-85 -43 -47 0 +-6 112 54 0 +1 93 -114 0 +86 -61 -42 0 +-67 92 -97 0 +-64 -88 39 0 +-55 -79 5 0 +-123 -65 -114 0 +84 -28 56 0 +-120 -12 -117 0 +87 44 83 0 +19 -85 109 0 +45 65 112 0 +-29 10 81 0 +-109 -5 37 0 +95 57 -60 0 +-83 -76 -49 0 +-115 19 -55 0 +-30 80 -115 0 +11 -22 -4 0 +-64 90 -31 0 +88 100 39 0 +2 31 -32 0 +37 -36 26 0 +-32 -96 30 0 +18 -56 -34 0 +-104 -48 34 0 +117 -119 77 0 +-84 36 72 0 +10 88 -118 0 +-42 -60 -15 0 +-70 54 -10 0 +-24 -35 -91 0 +-11 40 125 0 +-103 -34 19 0 +-53 113 -120 0 +30 -7 123 0 +-11 -9 76 0 +-67 -119 -73 0 +123 53 -5 0 +-77 75 -64 0 +16 -47 -7 0 +55 -96 -124 0 +-38 -13 102 0 +-81 -76 105 0 +-36 -43 -77 0 +-99 4 -15 0 +-95 -72 70 0 +75 -115 -29 0 +-103 55 58 0 +83 50 67 0 +3 -122 -60 0 +117 70 -24 0 +-78 113 -91 0 +89 -16 120 0 +-45 -55 -59 0 +-41 -91 79 0 +-52 101 124 0 +51 -115 23 0 +-81 -59 76 0 +85 -124 -102 0 +101 -25 31 0 +-107 51 114 0 +16 -52 -15 0 +98 -23 -44 0 +-96 -57 -122 0 +12 -51 6 0 +-57 85 -46 0 +-80 108 -86 0 +90 72 -115 0 +109 102 -110 0 +-68 -102 -96 0 +-41 -40 -32 0 +-32 59 -71 0 +64 16 -67 0 +42 -13 88 0 +-116 -11 -115 0 +-62 -37 -110 0 diff --git a/hwSat03/problemB/consoleProbB.txt b/hwSat03/problemB/consoleProbB.txt new file mode 100644 index 0000000000000000000000000000000000000000..4d8a1ee564705a5bf39c419c58e96d4122c3df60 --- /dev/null +++ b/hwSat03/problemB/consoleProbB.txt @@ -0,0 +1,29 @@ +WARNING: for repeatability, setting FPU to use double precision +============================[ Problem Statistics ]============================= +| | +| Number of variables: 150 | +| Number of clauses: 645 | +| Parse time: 0.00 s | +| | +============================[ Search Statistics ]============================== +| Conflicts | ORIGINAL | LEARNT | Progress | +| | Vars Clauses Literals | Limit Clauses Lit/Cl | | +=============================================================================== +| 100 | 150 645 1935 | 236 100 10 | 0.004 % | +| 250 | 150 645 1935 | 260 250 9 | 0.004 % | +| 475 | 150 645 1935 | 286 205 9 | 0.004 % | +| 812 | 150 645 1935 | 314 246 8 | 0.004 % | +| 1318 | 150 645 1935 | 346 271 8 | 0.004 % | +| 2077 | 150 645 1935 | 380 319 7 | 0.004 % | +| 3216 | 150 645 1935 | 418 287 6 | 0.004 % | +| 4924 | 150 645 1935 | 460 273 6 | 0.004 % | +=============================================================================== +restarts : 30 +conflicts : 6099 (108221 /sec) +decisions : 7266 (0.00 % random) (128928 /sec) +propagations : 193502 (3433504 /sec) +conflict literals : 50578 (24.72 % deleted) +Memory used : 20.00 MB +CPU time : 0.056357 s + +UNSATISFIABLE diff --git a/hwSat03/problemB/outputProbB.txt b/hwSat03/problemB/outputProbB.txt new file mode 100644 index 0000000000000000000000000000000000000000..abb3248efb654890006fa920d31b28cdb5585d38 --- /dev/null +++ b/hwSat03/problemB/outputProbB.txt @@ -0,0 +1 @@ +UNSAT diff --git a/hwSat03/problemB/uuf150-0100.cnf b/hwSat03/problemB/uuf150-0100.cnf new file mode 100644 index 0000000000000000000000000000000000000000..14df42ac86aa604459c7b5ff734d54f360d7fcb5 --- /dev/null +++ b/hwSat03/problemB/uuf150-0100.cnf @@ -0,0 +1,653 @@ +c This Formular is generated by mcnf +c +c horn? no +c forced? no +c mixed sat? no +c clause length = 3 +c +p cnf 150 645 + 56 -118 24 0 +-43 -90 13 0 +65 -147 -139 0 +-39 147 -124 0 +-148 127 -114 0 +-55 -113 70 0 +-124 -8 -147 0 +44 50 -123 0 +28 101 -95 0 +-149 69 -74 0 +-64 -63 93 0 +40 -114 64 0 +-13 144 99 0 +83 54 111 0 +125 53 -101 0 +-29 79 21 0 +-27 -102 -126 0 +-140 -150 -70 0 +99 -67 148 0 +92 -68 -105 0 +1 -144 -49 0 +34 -141 61 0 +84 71 48 0 +98 107 -96 0 +-108 109 103 0 +1 67 -121 0 +55 -21 142 0 +-148 22 -88 0 +98 136 -67 0 +-42 -109 -66 0 +67 -109 -56 0 +-118 -36 108 0 +-150 -96 -81 0 +-55 -44 -97 0 +-78 -129 57 0 +133 -39 -124 0 +-125 45 -140 0 +142 -3 -34 0 +-33 -145 -23 0 +-77 43 88 0 +-149 19 99 0 +76 -32 70 0 +3 107 76 0 +15 62 -10 0 +-146 -118 18 0 +-143 99 -73 0 +117 146 -12 0 +109 -63 -82 0 +50 -112 23 0 +34 -145 -31 0 +105 71 -80 0 +6 129 145 0 +143 123 117 0 +36 -57 26 0 +121 149 -19 0 +132 4 17 0 +61 36 7 0 +-110 -46 144 0 +140 5 58 0 +40 33 23 0 +5 15 -76 0 +49 135 141 0 +76 149 89 0 +-71 -64 -63 0 +3 119 7 0 +97 31 -54 0 +-127 100 114 0 +-10 -80 -2 0 +6 71 140 0 +42 -51 38 0 +-88 22 -96 0 +-119 -19 -96 0 +-86 -145 30 0 +13 97 -99 0 +-72 -56 -49 0 +-24 41 145 0 +115 -150 56 0 +10 -18 -36 0 +68 -117 -74 0 +14 -42 -144 0 +36 -23 138 0 +-69 106 -18 0 +15 24 117 0 +-27 -130 38 0 +39 9 49 0 +-129 -107 72 0 +134 56 18 0 +102 -44 -57 0 +140 121 -99 0 +-36 -110 103 0 +134 -121 -131 0 +-118 70 23 0 +19 -24 96 0 +-44 -83 -11 0 +86 -146 42 0 +61 -64 -4 0 +9 -86 -32 0 +90 104 29 0 +59 -129 80 0 +136 85 -53 0 +-84 79 89 0 +133 -37 -14 0 +143 -71 126 0 +-66 96 -124 0 +-101 -120 -38 0 +57 -64 -62 0 +14 -92 -125 0 +-125 -139 -12 0 +-145 62 -74 0 +-103 -128 79 0 +113 8 -127 0 +-112 -53 28 0 +28 55 11 0 +-17 -150 -68 0 +-50 70 72 0 +42 22 30 0 +-103 -7 120 0 +4 121 -105 0 +-21 -26 -109 0 +-33 -17 146 0 +126 36 -78 0 +73 -6 129 0 +93 140 42 0 +-7 -24 76 0 +41 -144 59 0 +92 -74 -89 0 +-142 1 -147 0 +-41 136 -122 0 +133 39 -148 0 +102 -44 103 0 +64 23 124 0 +-143 33 -53 0 +-122 -43 -81 0 +68 108 2 0 +-25 -118 -48 0 +28 41 1 0 +-54 36 -74 0 +-52 -146 -119 0 +-96 7 52 0 +-102 98 37 0 +-127 -103 -55 0 +-19 -8 133 0 +-18 -16 -3 0 +-80 95 99 0 +-49 -143 118 0 +99 -119 -145 0 +-101 114 107 0 +-90 74 -87 0 +-34 -138 30 0 +-3 -18 65 0 +13 51 -26 0 +106 -6 -85 0 +133 -29 -64 0 +-4 -110 -34 0 +-138 96 -19 0 +-121 99 101 0 +-83 -9 -6 0 +128 -126 60 0 +-50 -100 142 0 +38 74 15 0 +-132 -2 11 0 +3 62 -23 0 +4 -34 95 0 +-96 130 -141 0 +7 100 149 0 +-84 137 32 0 +-108 -71 -131 0 +-83 -11 -45 0 +91 -70 76 0 +35 -82 1 0 +-139 -75 62 0 +42 -63 -142 0 +121 73 128 0 +101 10 -138 0 +28 -72 -50 0 +-58 116 62 0 +41 -90 -116 0 +-150 -82 -30 0 +45 48 -107 0 +1 -101 65 0 +-38 36 7 0 +-3 -46 -146 0 +-75 76 -39 0 +52 -98 -33 0 +2 131 56 0 +108 70 115 0 +-21 120 -16 0 +63 122 -10 0 +68 -123 -28 0 +-77 -84 40 0 +101 34 143 0 +-86 72 -36 0 +-72 -123 -54 0 +-77 -56 51 0 +-89 57 86 0 +51 150 -84 0 +-110 -150 -57 0 +-77 -22 -89 0 +-58 -30 -132 0 +110 73 18 0 +96 -101 -67 0 +14 -103 -131 0 +-37 25 103 0 +52 62 85 0 +146 129 142 0 +-81 -120 -142 0 +-128 -12 88 0 +-40 -120 60 0 +-48 146 -126 0 +51 25 -124 0 +-84 -118 76 0 +93 128 149 0 +-91 -29 94 0 +-130 -119 -134 0 +13 23 -102 0 +139 -28 67 0 +-125 -85 9 0 +-7 77 97 0 +-108 -139 38 0 +69 112 -59 0 +120 5 -146 0 +-67 43 73 0 +-144 -22 -134 0 +10 80 -130 0 +-84 -90 42 0 +-110 -79 -62 0 +93 -31 23 0 +73 100 59 0 +48 -49 -109 0 +-108 29 69 0 +-56 -130 107 0 +-97 28 101 0 +7 115 6 0 +94 -68 93 0 +-32 53 -67 0 +-128 106 -66 0 +-4 -21 27 0 +11 146 34 0 +61 4 122 0 +-42 88 120 0 +-45 -15 127 0 +-111 101 70 0 +-57 -65 -54 0 +-144 -141 117 0 +34 -36 -112 0 +-24 -39 -14 0 +-49 -109 -62 0 +-27 -3 -31 0 +44 87 -102 0 +-34 -86 -130 0 +144 -112 12 0 +117 -10 119 0 +144 -5 68 0 +-135 -129 -97 0 +31 23 85 0 +134 -11 145 0 +134 -105 124 0 +6 87 -107 0 +-15 -1 64 0 +-132 13 147 0 +-126 41 -3 0 +-126 42 -52 0 +-138 -60 -70 0 +-61 105 -92 0 +36 37 -93 0 +52 -4 14 0 +2 99 114 0 +-37 -36 77 0 +-48 41 121 0 +70 -51 -62 0 +-136 135 93 0 +71 -40 15 0 +-50 -129 -99 0 +-143 -133 -120 0 +139 42 -35 0 +-141 40 -102 0 +150 -109 -30 0 +78 42 100 0 +105 -12 -18 0 +-58 114 -31 0 +60 -5 125 0 +2 -89 -122 0 +-3 31 6 0 +137 -10 36 0 +143 -141 -124 0 +108 -143 -83 0 +7 -20 68 0 +-40 3 38 0 +-128 69 -97 0 +-125 -143 81 0 +107 68 -61 0 +135 -79 -11 0 +-83 -5 136 0 +-32 -124 -112 0 +85 -81 105 0 +-83 35 98 0 +-136 -58 99 0 +-129 42 69 0 +-7 43 -38 0 +81 -106 74 0 +66 54 -38 0 +-34 32 -18 0 +-47 -6 18 0 +29 -127 -72 0 +-60 26 48 0 +136 -127 -72 0 +134 24 149 0 +-128 53 33 0 +-25 -46 129 0 +-39 22 99 0 +105 141 -137 0 +-144 -148 2 0 +19 -126 -60 0 +53 -146 -122 0 +104 131 -106 0 +62 22 -102 0 +26 41 -113 0 +-34 -51 87 0 +-20 3 -53 0 +75 137 125 0 +-140 -100 -63 0 +57 24 150 0 +130 85 83 0 +123 47 37 0 +-19 -112 -56 0 +-34 131 44 0 +57 -129 -66 0 +89 128 -51 0 +-55 17 124 0 +10 60 -122 0 +10 87 93 0 +95 -90 -144 0 +128 -85 119 0 +-106 -11 28 0 +90 111 129 0 +-24 -36 -117 0 +-131 33 -89 0 +-115 22 -19 0 +-94 -5 -135 0 +41 -24 47 0 +49 109 107 0 +-14 55 -78 0 +37 143 55 0 +-19 -47 -15 0 +31 -5 147 0 +-97 -48 26 0 +-125 28 -148 0 +113 -49 112 0 +48 -142 50 0 +13 -35 -9 0 +-8 -22 102 0 +93 -22 -20 0 +-132 -126 -100 0 +-46 90 3 0 +-120 -84 68 0 +56 -1 64 0 +29 -62 80 0 +-37 63 -132 0 +-90 107 -20 0 +126 35 25 0 +-85 68 -19 0 +-57 104 -50 0 +-143 39 -43 0 +54 115 -61 0 +14 -32 10 0 +56 10 90 0 +-63 65 -119 0 +-93 42 9 0 +90 -69 148 0 +-126 6 87 0 +-7 99 22 0 +-111 85 -94 0 +49 -140 35 0 +-92 65 -119 0 +-144 41 116 0 +-92 -31 -107 0 +-143 87 -64 0 +-79 -64 100 0 +-14 63 139 0 +93 -146 -94 0 +68 -18 -150 0 +4 123 -62 0 +-28 -137 -141 0 +51 -113 25 0 +93 -39 -23 0 +5 15 -116 0 +130 -42 -69 0 +-119 -136 113 0 +-71 13 -26 0 +-122 145 -9 0 +92 36 120 0 +4 19 49 0 +48 -29 -142 0 +-73 58 116 0 +-68 -123 13 0 +-31 -58 -79 0 +8 118 138 0 +62 -88 76 0 +-7 -20 -120 0 +140 -36 95 0 +-45 -143 -119 0 +-92 150 -52 0 +127 117 -28 0 +-115 -26 -145 0 +-56 -139 -148 0 +60 35 -101 0 +111 101 -92 0 +-103 6 -112 0 +-105 -23 8 0 +62 12 -144 0 +-18 -71 19 0 +61 60 128 0 +-149 25 13 0 +-92 109 94 0 +-104 121 62 0 +-81 48 -143 0 +-125 -77 2 0 +-109 78 -97 0 +-42 -129 -60 0 +-34 -31 -89 0 +18 58 17 0 +-102 -131 110 0 +-27 41 116 0 +-74 53 132 0 +102 72 89 0 +10 34 -124 0 +58 -146 110 0 +56 -125 -82 0 +25 22 146 0 +64 -108 -105 0 +69 7 5 0 +-20 -90 -45 0 +-21 12 118 0 +45 58 -87 0 +75 -127 50 0 +150 -47 -55 0 +-54 -108 -27 0 +91 108 146 0 +123 -104 -86 0 +3 -69 -125 0 +100 -98 -150 0 +-91 -5 -46 0 +-101 -42 -90 0 +124 -73 -103 0 +57 135 -16 0 +-134 -136 60 0 +-71 80 -16 0 +99 -147 -10 0 +-37 -66 32 0 +-85 31 148 0 +-63 45 19 0 +-134 99 -87 0 +-118 14 130 0 +-87 -89 -137 0 +-132 -12 142 0 +14 -24 -98 0 +-41 -131 -74 0 +-111 98 4 0 +-12 143 -149 0 +-112 81 102 0 +-105 66 -102 0 +27 43 -1 0 +115 120 143 0 +66 56 -41 0 +-24 -147 -40 0 +-129 42 147 0 +6 55 -101 0 +-146 -24 -93 0 +35 144 -42 0 +34 82 73 0 +5 -35 -51 0 +60 -120 134 0 +-134 -121 -66 0 +-63 143 137 0 +-32 101 125 0 +114 30 66 0 +-94 -91 -150 0 +119 85 96 0 +27 73 -46 0 +56 58 -64 0 +-62 -126 -118 0 +7 84 89 0 +-131 128 -124 0 +129 38 -58 0 +137 -106 142 0 +-139 48 -130 0 +104 32 53 0 +81 -17 39 0 +-39 -71 -87 0 +31 -82 -92 0 +26 -120 126 0 +125 29 32 0 +-89 1 86 0 +-27 94 99 0 +100 -71 -124 0 +-119 76 -95 0 +-99 -30 127 0 +64 100 131 0 +68 -99 -107 0 +132 59 -124 0 +-142 -120 4 0 +31 42 -34 0 +53 -80 -83 0 +-43 37 36 0 +-149 49 -83 0 +51 -63 -54 0 +-60 30 39 0 +76 -90 -134 0 +-96 16 140 0 +-6 -13 106 0 +-22 -36 -90 0 +-73 -150 117 0 +-15 19 93 0 +-101 -123 -81 0 +148 -109 -103 0 +69 130 144 0 +70 -124 27 0 +31 -70 -39 0 +-30 66 -79 0 +-91 120 29 0 +56 -42 -78 0 +-115 31 58 0 +32 -73 -103 0 +-59 -9 4 0 +-63 82 135 0 +99 124 89 0 +110 -138 -80 0 +51 -10 45 0 +-91 -137 33 0 +-110 -36 105 0 +-141 -76 147 0 +128 -61 -7 0 +30 -128 145 0 +-99 72 60 0 +-4 126 70 0 +-132 -59 121 0 +148 115 132 0 +-139 -53 36 0 +-56 76 -88 0 +149 60 -79 0 +-114 -150 56 0 +-6 -125 8 0 +-47 -117 83 0 +99 -5 134 0 +139 119 -100 0 +-65 -1 -118 0 +13 -91 70 0 +-50 125 -14 0 +41 5 -117 0 +64 -30 -56 0 +-132 -12 94 0 +-44 144 119 0 +10 63 -21 0 +-135 -84 -82 0 +-39 21 -2 0 +-37 -16 -111 0 +-8 -7 -85 0 +22 128 10 0 +-119 -136 50 0 +125 -115 -25 0 +-106 -14 84 0 +92 -134 109 0 +-89 -81 -66 0 +-99 67 105 0 +21 129 12 0 +-18 -2 24 0 +-126 -29 -134 0 +141 35 -17 0 +-25 -114 14 0 +26 133 146 0 +-47 -45 70 0 +122 -9 -54 0 +-47 139 -6 0 +-127 -117 -118 0 +131 -61 130 0 +-64 -133 66 0 +-52 100 56 0 +-95 53 149 0 +54 -132 118 0 +-6 -67 107 0 +8 -147 27 0 +120 -31 -105 0 +35 80 13 0 +34 -84 -148 0 +47 -111 -1 0 +47 103 81 0 +78 145 90 0 +144 -54 5 0 +23 -120 118 0 +-105 18 -33 0 +-39 -68 -81 0 +-28 -69 -101 0 +42 -95 -24 0 +81 -123 79 0 +121 99 -67 0 +131 92 -5 0 +-17 87 64 0 +-88 -95 110 0 +-71 34 150 0 +-89 125 116 0 +-74 119 58 0 +-1 115 -117 0 +56 -113 92 0 +-87 -24 36 0 +-135 82 37 0 +4 -97 33 0 +-114 82 26 0 +63 -106 -7 0 +7 -59 -134 0 +-104 -130 -58 0 +-54 -84 -28 0 +147 108 -40 0 +66 -102 45 0 +32 113 75 0 +141 -107 -48 0 +129 -1 61 0 +114 -84 13 0 +-92 -22 -3 0 +-3 -126 72 0 +146 132 -32 0 +-21 9 129 0 +-137 -128 -149 0 +51 72 126 0 +-12 -61 45 0 +8 134 17 0 +-18 -48 55 0 +62 -116 46 0 +14 98 140 0 +79 67 -104 0 +19 38 5 0 +76 -112 106 0 +133 57 -69 0 +57 -35 42 0 +105 30 114 0 +46 -59 -57 0 +101 -42 83 0 +-80 -97 -149 0 +-45 134 91 0 +115 145 -102 0 +64 70 -47 0 +73 -123 -53 0 +-132 76 131 0 +-15 -10 -57 0 +-150 59 -83 0 +-98 128 16 0 diff --git a/hwSat03/uuf150-645.tar.gz b/hwSat03/uuf150-645.tar.gz new file mode 100644 index 0000000000000000000000000000000000000000..141f5a85d3e5b5e3c1d648a903e59fdbd5f91323 Binary files /dev/null and b/hwSat03/uuf150-645.tar.gz differ diff --git a/hwSat04/.classpath b/hwSat04/.classpath new file mode 100644 index 0000000000000000000000000000000000000000..fb5011632c0ab8d6649a148c6fb5845a1b34c747 --- /dev/null +++ b/hwSat04/.classpath @@ -0,0 +1,6 @@ +<?xml version="1.0" encoding="UTF-8"?> +<classpath> + <classpathentry kind="src" path="src"/> + <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/> + <classpathentry kind="output" path="bin"/> +</classpath> diff --git a/hwSat04/.gitignore b/hwSat04/.gitignore new file mode 100644 index 0000000000000000000000000000000000000000..ae3c1726048cd06b9a143e0376ed46dd9b9a8d53 --- /dev/null +++ b/hwSat04/.gitignore @@ -0,0 +1 @@ +/bin/ diff --git a/hwSat04/.project b/hwSat04/.project new file mode 100644 index 0000000000000000000000000000000000000000..cdd791261408266d9b8615eab77b66dee863956d --- /dev/null +++ b/hwSat04/.project @@ -0,0 +1,17 @@ +<?xml version="1.0" encoding="UTF-8"?> +<projectDescription> + <name>hwSat04</name> + <comment></comment> + <projects> + </projects> + <buildSpec> + <buildCommand> + <name>org.eclipse.jdt.core.javabuilder</name> + <arguments> + </arguments> + </buildCommand> + </buildSpec> + <natures> + <nature>org.eclipse.jdt.core.javanature</nature> + </natures> +</projectDescription> diff --git a/hwSat04/SAThw04.pdf b/hwSat04/SAThw04.pdf new file mode 100644 index 0000000000000000000000000000000000000000..370402201119f620cc4655ceb8489f3a0bd21ac1 Binary files /dev/null and b/hwSat04/SAThw04.pdf differ diff --git a/hwSat04/problemA/dessert.cnf b/hwSat04/problemA/dessert.cnf new file mode 100644 index 0000000000000000000000000000000000000000..f674d769f832c64a02b76b01250392e10b5f6179 --- /dev/null +++ b/hwSat04/problemA/dessert.cnf @@ -0,0 +1,20 @@ +c Daniel Shchur +c +c Dessert CNF Problem +c +c Only one desert must be chosen +c +c Variables: +c 1: icecream +c 2: fruitbowl +c 3: cake +c 4: pie +c +p cnf 4 7 +1 2 3 4 0 +-1 -2 0 +-1 -3 0 +-1 -4 0 +-2 -3 0 +-2 -4 0 +-3 -4 0 \ No newline at end of file diff --git a/hwSat04/problemA/results.txt b/hwSat04/problemA/results.txt new file mode 100644 index 0000000000000000000000000000000000000000..66326886c5ea8cb88411f4ffebbb1b98c0b0d64d --- /dev/null +++ b/hwSat04/problemA/results.txt @@ -0,0 +1,2 @@ +SAT +-1 2 -3 -4 0 diff --git a/hwSat04/src/GenerateSudoku.java b/hwSat04/src/GenerateSudoku.java new file mode 100644 index 0000000000000000000000000000000000000000..1fce3e65145511214759d0da43ab027a8e101dc2 --- /dev/null +++ b/hwSat04/src/GenerateSudoku.java @@ -0,0 +1,29 @@ +/* + * Daniel Shchur + * CSCE235H + * + * Sudoku CNF DIMACS Generator + * + * Description: Generates the Sudoku CNF problem in DIMACS format to be able to be used in a minisat solver + * + * NOTE: Current Version only sets up the CNF file, it does NOT run on minisat. + */ + +public class GenerateSudoku { + + public static void main(String[] args) { + + //Iterates over 3 loops so that it goes through every grid in the sudoku board giving a number 1-9 + for(int i=1; i < 10; i++) { + for(int n=1; n < 10; n++) { + for(int j=1; j < 10; j++) { + //Prints the combination as inj + System.out.print(" " + i + n + j); + } + //Prints the terminating character + System.out.println(" 0"); + } + + } + } +} \ No newline at end of file diff --git a/hwSat05/.classpath b/hwSat05/.classpath new file mode 100644 index 0000000000000000000000000000000000000000..0cbf9cda0437f562541924448019c8381753a991 --- /dev/null +++ b/hwSat05/.classpath @@ -0,0 +1,6 @@ +<?xml version="1.0" encoding="UTF-8"?> +<classpath> + <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/> + <classpathentry kind="src" path="src"/> + <classpathentry kind="output" path="bin"/> +</classpath> diff --git a/hwSat05/.gitignore b/hwSat05/.gitignore new file mode 100644 index 0000000000000000000000000000000000000000..38cd1300081480f1e8082498bd553874b364ecad --- /dev/null +++ b/hwSat05/.gitignore @@ -0,0 +1,2 @@ +/GenerateSudoku.class +/bin/ diff --git a/hwSat05/.project b/hwSat05/.project new file mode 100644 index 0000000000000000000000000000000000000000..85e4d749ddf243bb5f930b8adf21c098f74d214b --- /dev/null +++ b/hwSat05/.project @@ -0,0 +1,17 @@ +<?xml version="1.0" encoding="UTF-8"?> +<projectDescription> + <name>hwSat05</name> + <comment></comment> + <projects> + </projects> + <buildSpec> + <buildCommand> + <name>org.eclipse.jdt.core.javabuilder</name> + <arguments> + </arguments> + </buildCommand> + </buildSpec> + <natures> + <nature>org.eclipse.jdt.core.javanature</nature> + </natures> +</projectDescription> diff --git a/hwSat05/SAThw05.pdf b/hwSat05/SAThw05.pdf new file mode 100644 index 0000000000000000000000000000000000000000..a2166b8652f2bc418770647b8a06db9288be6d53 Binary files /dev/null and b/hwSat05/SAThw05.pdf differ diff --git a/hwSat05/emptySudoku.cnf b/hwSat05/emptySudoku.cnf new file mode 100644 index 0000000000000000000000000000000000000000..2dd61d3e72f2428019b5765f651e23e1842a3906 --- /dev/null +++ b/hwSat05/emptySudoku.cnf @@ -0,0 +1,3170 @@ +c Daniel Shchur +c +c Sudoku CNF Problem +c +c Provides an empty Sudoku board to be solved +c +p cnf 729 3159 +c (1) Every row contains every number: +111 121 131 141 151 161 171 181 191 0 +112 122 132 142 152 162 172 182 192 0 +113 123 133 143 153 163 173 183 193 0 +114 124 134 144 154 164 174 184 194 0 +115 125 135 145 155 165 175 185 195 0 +116 126 136 146 156 166 176 186 196 0 +117 127 137 147 157 167 177 187 197 0 +118 128 138 148 158 168 178 188 198 0 +119 129 139 149 159 169 179 189 199 0 +211 221 231 241 251 261 271 281 291 0 +212 222 232 242 252 262 272 282 292 0 +213 223 233 243 253 263 273 283 293 0 +214 224 234 244 254 264 274 284 294 0 +215 225 235 245 255 265 275 285 295 0 +216 226 236 246 256 266 276 286 296 0 +217 227 237 247 257 267 277 287 297 0 +218 228 238 248 258 268 278 288 298 0 +219 229 239 249 259 269 279 289 299 0 +311 321 331 341 351 361 371 381 391 0 +312 322 332 342 352 362 372 382 392 0 +313 323 333 343 353 363 373 383 393 0 +314 324 334 344 354 364 374 384 394 0 +315 325 335 345 355 365 375 385 395 0 +316 326 336 346 356 366 376 386 396 0 +317 327 337 347 357 367 377 387 397 0 +318 328 338 348 358 368 378 388 398 0 +319 329 339 349 359 369 379 389 399 0 +411 421 431 441 451 461 471 481 491 0 +412 422 432 442 452 462 472 482 492 0 +413 423 433 443 453 463 473 483 493 0 +414 424 434 444 454 464 474 484 494 0 +415 425 435 445 455 465 475 485 495 0 +416 426 436 446 456 466 476 486 496 0 +417 427 437 447 457 467 477 487 497 0 +418 428 438 448 458 468 478 488 498 0 +419 429 439 449 459 469 479 489 499 0 +511 521 531 541 551 561 571 581 591 0 +512 522 532 542 552 562 572 582 592 0 +513 523 533 543 553 563 573 583 593 0 +514 524 534 544 554 564 574 584 594 0 +515 525 535 545 555 565 575 585 595 0 +516 526 536 546 556 566 576 586 596 0 +517 527 537 547 557 567 577 587 597 0 +518 528 538 548 558 568 578 588 598 0 +519 529 539 549 559 569 579 589 599 0 +611 621 631 641 651 661 671 681 691 0 +612 622 632 642 652 662 672 682 692 0 +613 623 633 643 653 663 673 683 693 0 +614 624 634 644 654 664 674 684 694 0 +615 625 635 645 655 665 675 685 695 0 +616 626 636 646 656 666 676 686 696 0 +617 627 637 647 657 667 677 687 697 0 +618 628 638 648 658 668 678 688 698 0 +619 629 639 649 659 669 679 689 699 0 +711 721 731 741 751 761 771 781 791 0 +712 722 732 742 752 762 772 782 792 0 +713 723 733 743 753 763 773 783 793 0 +714 724 734 744 754 764 774 784 794 0 +715 725 735 745 755 765 775 785 795 0 +716 726 736 746 756 766 776 786 796 0 +717 727 737 747 757 767 777 787 797 0 +718 728 738 748 758 768 778 788 798 0 +719 729 739 749 759 769 779 789 799 0 +811 821 831 841 851 861 871 881 891 0 +812 822 832 842 852 862 872 882 892 0 +813 823 833 843 853 863 873 883 893 0 +814 824 834 844 854 864 874 884 894 0 +815 825 835 845 855 865 875 885 895 0 +816 826 836 846 856 866 876 886 896 0 +817 827 837 847 857 867 877 887 897 0 +818 828 838 848 858 868 878 888 898 0 +819 829 839 849 859 869 879 889 899 0 +911 921 931 941 951 961 971 981 991 0 +912 922 932 942 952 962 972 982 992 0 +913 923 933 943 953 963 973 983 993 0 +914 924 934 944 954 964 974 984 994 0 +915 925 935 945 955 965 975 985 995 0 +916 926 936 946 956 966 976 986 996 0 +917 927 937 947 957 967 977 987 997 0 +918 928 938 948 958 968 978 988 998 0 +919 929 939 949 959 969 979 989 999 0 +c (2) Every column contains every number: +111 211 311 411 511 611 711 811 911 0 +112 212 312 412 512 612 712 812 912 0 +113 213 313 413 513 613 713 813 913 0 +114 214 314 414 514 614 714 814 914 0 +115 215 315 415 515 615 715 815 915 0 +116 216 316 416 516 616 716 816 916 0 +117 217 317 417 517 617 717 817 917 0 +118 218 318 418 518 618 718 818 918 0 +119 219 319 419 519 619 719 819 919 0 +121 221 321 421 521 621 721 821 921 0 +122 222 322 422 522 622 722 822 922 0 +123 223 323 423 523 623 723 823 923 0 +124 224 324 424 524 624 724 824 924 0 +125 225 325 425 525 625 725 825 925 0 +126 226 326 426 526 626 726 826 926 0 +127 227 327 427 527 627 727 827 927 0 +128 228 328 428 528 628 728 828 928 0 +129 229 329 429 529 629 729 829 929 0 +131 231 331 431 531 631 731 831 931 0 +132 232 332 432 532 632 732 832 932 0 +133 233 333 433 533 633 733 833 933 0 +134 234 334 434 534 634 734 834 934 0 +135 235 335 435 535 635 735 835 935 0 +136 236 336 436 536 636 736 836 936 0 +137 237 337 437 537 637 737 837 937 0 +138 238 338 438 538 638 738 838 938 0 +139 239 339 439 539 639 739 839 939 0 +141 241 341 441 541 641 741 841 941 0 +142 242 342 442 542 642 742 842 942 0 +143 243 343 443 543 643 743 843 943 0 +144 244 344 444 544 644 744 844 944 0 +145 245 345 445 545 645 745 845 945 0 +146 246 346 446 546 646 746 846 946 0 +147 247 347 447 547 647 747 847 947 0 +148 248 348 448 548 648 748 848 948 0 +149 249 349 449 549 649 749 849 949 0 +151 251 351 451 551 651 751 851 951 0 +152 252 352 452 552 652 752 852 952 0 +153 253 353 453 553 653 753 853 953 0 +154 254 354 454 554 654 754 854 954 0 +155 255 355 455 555 655 755 855 955 0 +156 256 356 456 556 656 756 856 956 0 +157 257 357 457 557 657 757 857 957 0 +158 258 358 458 558 658 758 858 958 0 +159 259 359 459 559 659 759 859 959 0 +161 261 361 461 561 661 761 861 961 0 +162 262 362 462 562 662 762 862 962 0 +163 263 363 463 563 663 763 863 963 0 +164 264 364 464 564 664 764 864 964 0 +165 265 365 465 565 665 765 865 965 0 +166 266 366 466 566 666 766 866 966 0 +167 267 367 467 567 667 767 867 967 0 +168 268 368 468 568 668 768 868 968 0 +169 269 369 469 569 669 769 869 969 0 +171 271 371 471 571 671 771 871 971 0 +172 272 372 472 572 672 772 872 972 0 +173 273 373 473 573 673 773 873 973 0 +174 274 374 474 574 674 774 874 974 0 +175 275 375 475 575 675 775 875 975 0 +176 276 376 476 576 676 776 876 976 0 +177 277 377 477 577 677 777 877 977 0 +178 278 378 478 578 678 778 878 978 0 +179 279 379 479 579 679 779 879 979 0 +181 281 381 481 581 681 781 881 981 0 +182 282 382 482 582 682 782 882 982 0 +183 283 383 483 583 683 783 883 983 0 +184 284 384 484 584 684 784 884 984 0 +185 285 385 485 585 685 785 885 985 0 +186 286 386 486 586 686 786 886 986 0 +187 287 387 487 587 687 787 887 987 0 +188 288 388 488 588 688 788 888 988 0 +189 289 389 489 589 689 789 889 989 0 +191 291 391 491 591 691 791 891 991 0 +192 292 392 492 592 692 792 892 992 0 +193 293 393 493 593 693 793 893 993 0 +194 294 394 494 594 694 794 894 994 0 +195 295 395 495 595 695 795 895 995 0 +196 296 396 496 596 696 796 896 996 0 +197 297 397 497 597 697 797 897 997 0 +198 298 398 498 598 698 798 898 998 0 +199 299 399 499 599 699 799 899 999 0 +c (3) Each 3x3 block contains every number: +111 121 131 211 221 231 311 321 331 0 +112 122 132 212 222 232 312 322 332 0 +113 123 133 213 223 233 313 323 333 0 +114 124 134 214 224 234 314 324 334 0 +115 125 135 215 225 235 315 325 335 0 +116 126 136 216 226 236 316 326 336 0 +117 127 137 217 227 237 317 327 337 0 +118 128 138 218 228 238 318 328 338 0 +119 129 139 219 229 239 319 329 339 0 +141 151 161 241 251 261 341 351 361 0 +142 152 162 242 252 262 342 352 362 0 +143 153 163 243 253 263 343 353 363 0 +144 154 164 244 254 264 344 354 364 0 +145 155 165 245 255 265 345 355 365 0 +146 156 166 246 256 266 346 356 366 0 +147 157 167 247 257 267 347 357 367 0 +148 158 168 248 258 268 348 358 368 0 +149 159 169 249 259 269 349 359 369 0 +171 181 191 271 281 291 371 381 391 0 +172 182 192 272 282 292 372 382 392 0 +173 183 193 273 283 293 373 383 393 0 +174 184 194 274 284 294 374 384 394 0 +175 185 195 275 285 295 375 385 395 0 +176 186 196 276 286 296 376 386 396 0 +177 187 197 277 287 297 377 387 397 0 +178 188 198 278 288 298 378 388 398 0 +179 189 199 279 289 299 379 389 399 0 +411 421 431 511 521 531 611 621 631 0 +412 422 432 512 522 532 612 622 632 0 +413 423 433 513 523 533 613 623 633 0 +414 424 434 514 524 534 614 624 634 0 +415 425 435 515 525 535 615 625 635 0 +416 426 436 516 526 536 616 626 636 0 +417 427 437 517 527 537 617 627 637 0 +418 428 438 518 528 538 618 628 638 0 +419 429 439 519 529 539 619 629 639 0 +441 451 461 541 551 561 641 651 661 0 +442 452 462 542 552 562 642 652 662 0 +443 453 463 543 553 563 643 653 663 0 +444 454 464 544 554 564 644 654 664 0 +445 455 465 545 555 565 645 655 665 0 +446 456 466 546 556 566 646 656 666 0 +447 457 467 547 557 567 647 657 667 0 +448 458 468 548 558 568 648 658 668 0 +449 459 469 549 559 569 649 659 669 0 +471 481 491 571 581 591 671 681 691 0 +472 482 492 572 582 592 672 682 692 0 +473 483 493 573 583 593 673 683 693 0 +474 484 494 574 584 594 674 684 694 0 +475 485 495 575 585 595 675 685 695 0 +476 486 496 576 586 596 676 686 696 0 +477 487 497 577 587 597 677 687 697 0 +478 488 498 578 588 598 678 688 698 0 +479 489 499 579 589 599 679 689 699 0 +711 721 731 811 821 831 911 921 931 0 +712 722 732 812 822 832 912 922 932 0 +713 723 733 813 823 833 913 923 933 0 +714 724 734 814 824 834 914 924 934 0 +715 725 735 815 825 835 915 925 935 0 +716 726 736 816 826 836 916 926 936 0 +717 727 737 817 827 837 917 927 937 0 +718 728 738 818 828 838 918 928 938 0 +719 729 739 819 829 839 919 929 939 0 +741 751 761 841 851 861 941 951 961 0 +742 752 762 842 852 862 942 952 962 0 +743 753 763 843 853 863 943 953 963 0 +744 754 764 844 854 864 944 954 964 0 +745 755 765 845 855 865 945 955 965 0 +746 756 766 846 856 866 946 956 966 0 +747 757 767 847 857 867 947 957 967 0 +748 758 768 848 858 868 948 958 968 0 +749 759 769 849 859 869 949 959 969 0 +771 781 791 871 881 891 971 981 991 0 +772 782 792 872 882 892 972 982 992 0 +773 783 793 873 883 893 973 983 993 0 +774 784 794 874 884 894 974 984 994 0 +775 785 795 875 885 895 975 985 995 0 +776 786 796 876 886 896 976 986 996 0 +777 787 797 877 887 897 977 987 997 0 +778 788 798 878 888 898 978 988 998 0 +779 789 799 879 889 899 979 989 999 0 +c (4) No cell contains more than one number: +-111 -112 0 +-111 -113 0 +-111 -114 0 +-111 -115 0 +-111 -116 0 +-111 -117 0 +-111 -118 0 +-111 -119 0 +-112 -113 0 +-112 -114 0 +-112 -115 0 +-112 -116 0 +-112 -117 0 +-112 -118 0 +-112 -119 0 +-113 -114 0 +-113 -115 0 +-113 -116 0 +-113 -117 0 +-113 -118 0 +-113 -119 0 +-114 -115 0 +-114 -116 0 +-114 -117 0 +-114 -118 0 +-114 -119 0 +-115 -116 0 +-115 -117 0 +-115 -118 0 +-115 -119 0 +-116 -117 0 +-116 -118 0 +-116 -119 0 +-117 -118 0 +-117 -119 0 +-118 -119 0 +-121 -122 0 +-121 -123 0 +-121 -124 0 +-121 -125 0 +-121 -126 0 +-121 -127 0 +-121 -128 0 +-121 -129 0 +-122 -123 0 +-122 -124 0 +-122 -125 0 +-122 -126 0 +-122 -127 0 +-122 -128 0 +-122 -129 0 +-123 -124 0 +-123 -125 0 +-123 -126 0 +-123 -127 0 +-123 -128 0 +-123 -129 0 +-124 -125 0 +-124 -126 0 +-124 -127 0 +-124 -128 0 +-124 -129 0 +-125 -126 0 +-125 -127 0 +-125 -128 0 +-125 -129 0 +-126 -127 0 +-126 -128 0 +-126 -129 0 +-127 -128 0 +-127 -129 0 +-128 -129 0 +-131 -132 0 +-131 -133 0 +-131 -134 0 +-131 -135 0 +-131 -136 0 +-131 -137 0 +-131 -138 0 +-131 -139 0 +-132 -133 0 +-132 -134 0 +-132 -135 0 +-132 -136 0 +-132 -137 0 +-132 -138 0 +-132 -139 0 +-133 -134 0 +-133 -135 0 +-133 -136 0 +-133 -137 0 +-133 -138 0 +-133 -139 0 +-134 -135 0 +-134 -136 0 +-134 -137 0 +-134 -138 0 +-134 -139 0 +-135 -136 0 +-135 -137 0 +-135 -138 0 +-135 -139 0 +-136 -137 0 +-136 -138 0 +-136 -139 0 +-137 -138 0 +-137 -139 0 +-138 -139 0 +-141 -142 0 +-141 -143 0 +-141 -144 0 +-141 -145 0 +-141 -146 0 +-141 -147 0 +-141 -148 0 +-141 -149 0 +-142 -143 0 +-142 -144 0 +-142 -145 0 +-142 -146 0 +-142 -147 0 +-142 -148 0 +-142 -149 0 +-143 -144 0 +-143 -145 0 +-143 -146 0 +-143 -147 0 +-143 -148 0 +-143 -149 0 +-144 -145 0 +-144 -146 0 +-144 -147 0 +-144 -148 0 +-144 -149 0 +-145 -146 0 +-145 -147 0 +-145 -148 0 +-145 -149 0 +-146 -147 0 +-146 -148 0 +-146 -149 0 +-147 -148 0 +-147 -149 0 +-148 -149 0 +-151 -152 0 +-151 -153 0 +-151 -154 0 +-151 -155 0 +-151 -156 0 +-151 -157 0 +-151 -158 0 +-151 -159 0 +-152 -153 0 +-152 -154 0 +-152 -155 0 +-152 -156 0 +-152 -157 0 +-152 -158 0 +-152 -159 0 +-153 -154 0 +-153 -155 0 +-153 -156 0 +-153 -157 0 +-153 -158 0 +-153 -159 0 +-154 -155 0 +-154 -156 0 +-154 -157 0 +-154 -158 0 +-154 -159 0 +-155 -156 0 +-155 -157 0 +-155 -158 0 +-155 -159 0 +-156 -157 0 +-156 -158 0 +-156 -159 0 +-157 -158 0 +-157 -159 0 +-158 -159 0 +-161 -162 0 +-161 -163 0 +-161 -164 0 +-161 -165 0 +-161 -166 0 +-161 -167 0 +-161 -168 0 +-161 -169 0 +-162 -163 0 +-162 -164 0 +-162 -165 0 +-162 -166 0 +-162 -167 0 +-162 -168 0 +-162 -169 0 +-163 -164 0 +-163 -165 0 +-163 -166 0 +-163 -167 0 +-163 -168 0 +-163 -169 0 +-164 -165 0 +-164 -166 0 +-164 -167 0 +-164 -168 0 +-164 -169 0 +-165 -166 0 +-165 -167 0 +-165 -168 0 +-165 -169 0 +-166 -167 0 +-166 -168 0 +-166 -169 0 +-167 -168 0 +-167 -169 0 +-168 -169 0 +-171 -172 0 +-171 -173 0 +-171 -174 0 +-171 -175 0 +-171 -176 0 +-171 -177 0 +-171 -178 0 +-171 -179 0 +-172 -173 0 +-172 -174 0 +-172 -175 0 +-172 -176 0 +-172 -177 0 +-172 -178 0 +-172 -179 0 +-173 -174 0 +-173 -175 0 +-173 -176 0 +-173 -177 0 +-173 -178 0 +-173 -179 0 +-174 -175 0 +-174 -176 0 +-174 -177 0 +-174 -178 0 +-174 -179 0 +-175 -176 0 +-175 -177 0 +-175 -178 0 +-175 -179 0 +-176 -177 0 +-176 -178 0 +-176 -179 0 +-177 -178 0 +-177 -179 0 +-178 -179 0 +-181 -182 0 +-181 -183 0 +-181 -184 0 +-181 -185 0 +-181 -186 0 +-181 -187 0 +-181 -188 0 +-181 -189 0 +-182 -183 0 +-182 -184 0 +-182 -185 0 +-182 -186 0 +-182 -187 0 +-182 -188 0 +-182 -189 0 +-183 -184 0 +-183 -185 0 +-183 -186 0 +-183 -187 0 +-183 -188 0 +-183 -189 0 +-184 -185 0 +-184 -186 0 +-184 -187 0 +-184 -188 0 +-184 -189 0 +-185 -186 0 +-185 -187 0 +-185 -188 0 +-185 -189 0 +-186 -187 0 +-186 -188 0 +-186 -189 0 +-187 -188 0 +-187 -189 0 +-188 -189 0 +-191 -192 0 +-191 -193 0 +-191 -194 0 +-191 -195 0 +-191 -196 0 +-191 -197 0 +-191 -198 0 +-191 -199 0 +-192 -193 0 +-192 -194 0 +-192 -195 0 +-192 -196 0 +-192 -197 0 +-192 -198 0 +-192 -199 0 +-193 -194 0 +-193 -195 0 +-193 -196 0 +-193 -197 0 +-193 -198 0 +-193 -199 0 +-194 -195 0 +-194 -196 0 +-194 -197 0 +-194 -198 0 +-194 -199 0 +-195 -196 0 +-195 -197 0 +-195 -198 0 +-195 -199 0 +-196 -197 0 +-196 -198 0 +-196 -199 0 +-197 -198 0 +-197 -199 0 +-198 -199 0 +-211 -212 0 +-211 -213 0 +-211 -214 0 +-211 -215 0 +-211 -216 0 +-211 -217 0 +-211 -218 0 +-211 -219 0 +-212 -213 0 +-212 -214 0 +-212 -215 0 +-212 -216 0 +-212 -217 0 +-212 -218 0 +-212 -219 0 +-213 -214 0 +-213 -215 0 +-213 -216 0 +-213 -217 0 +-213 -218 0 +-213 -219 0 +-214 -215 0 +-214 -216 0 +-214 -217 0 +-214 -218 0 +-214 -219 0 +-215 -216 0 +-215 -217 0 +-215 -218 0 +-215 -219 0 +-216 -217 0 +-216 -218 0 +-216 -219 0 +-217 -218 0 +-217 -219 0 +-218 -219 0 +-221 -222 0 +-221 -223 0 +-221 -224 0 +-221 -225 0 +-221 -226 0 +-221 -227 0 +-221 -228 0 +-221 -229 0 +-222 -223 0 +-222 -224 0 +-222 -225 0 +-222 -226 0 +-222 -227 0 +-222 -228 0 +-222 -229 0 +-223 -224 0 +-223 -225 0 +-223 -226 0 +-223 -227 0 +-223 -228 0 +-223 -229 0 +-224 -225 0 +-224 -226 0 +-224 -227 0 +-224 -228 0 +-224 -229 0 +-225 -226 0 +-225 -227 0 +-225 -228 0 +-225 -229 0 +-226 -227 0 +-226 -228 0 +-226 -229 0 +-227 -228 0 +-227 -229 0 +-228 -229 0 +-231 -232 0 +-231 -233 0 +-231 -234 0 +-231 -235 0 +-231 -236 0 +-231 -237 0 +-231 -238 0 +-231 -239 0 +-232 -233 0 +-232 -234 0 +-232 -235 0 +-232 -236 0 +-232 -237 0 +-232 -238 0 +-232 -239 0 +-233 -234 0 +-233 -235 0 +-233 -236 0 +-233 -237 0 +-233 -238 0 +-233 -239 0 +-234 -235 0 +-234 -236 0 +-234 -237 0 +-234 -238 0 +-234 -239 0 +-235 -236 0 +-235 -237 0 +-235 -238 0 +-235 -239 0 +-236 -237 0 +-236 -238 0 +-236 -239 0 +-237 -238 0 +-237 -239 0 +-238 -239 0 +-241 -242 0 +-241 -243 0 +-241 -244 0 +-241 -245 0 +-241 -246 0 +-241 -247 0 +-241 -248 0 +-241 -249 0 +-242 -243 0 +-242 -244 0 +-242 -245 0 +-242 -246 0 +-242 -247 0 +-242 -248 0 +-242 -249 0 +-243 -244 0 +-243 -245 0 +-243 -246 0 +-243 -247 0 +-243 -248 0 +-243 -249 0 +-244 -245 0 +-244 -246 0 +-244 -247 0 +-244 -248 0 +-244 -249 0 +-245 -246 0 +-245 -247 0 +-245 -248 0 +-245 -249 0 +-246 -247 0 +-246 -248 0 +-246 -249 0 +-247 -248 0 +-247 -249 0 +-248 -249 0 +-251 -252 0 +-251 -253 0 +-251 -254 0 +-251 -255 0 +-251 -256 0 +-251 -257 0 +-251 -258 0 +-251 -259 0 +-252 -253 0 +-252 -254 0 +-252 -255 0 +-252 -256 0 +-252 -257 0 +-252 -258 0 +-252 -259 0 +-253 -254 0 +-253 -255 0 +-253 -256 0 +-253 -257 0 +-253 -258 0 +-253 -259 0 +-254 -255 0 +-254 -256 0 +-254 -257 0 +-254 -258 0 +-254 -259 0 +-255 -256 0 +-255 -257 0 +-255 -258 0 +-255 -259 0 +-256 -257 0 +-256 -258 0 +-256 -259 0 +-257 -258 0 +-257 -259 0 +-258 -259 0 +-261 -262 0 +-261 -263 0 +-261 -264 0 +-261 -265 0 +-261 -266 0 +-261 -267 0 +-261 -268 0 +-261 -269 0 +-262 -263 0 +-262 -264 0 +-262 -265 0 +-262 -266 0 +-262 -267 0 +-262 -268 0 +-262 -269 0 +-263 -264 0 +-263 -265 0 +-263 -266 0 +-263 -267 0 +-263 -268 0 +-263 -269 0 +-264 -265 0 +-264 -266 0 +-264 -267 0 +-264 -268 0 +-264 -269 0 +-265 -266 0 +-265 -267 0 +-265 -268 0 +-265 -269 0 +-266 -267 0 +-266 -268 0 +-266 -269 0 +-267 -268 0 +-267 -269 0 +-268 -269 0 +-271 -272 0 +-271 -273 0 +-271 -274 0 +-271 -275 0 +-271 -276 0 +-271 -277 0 +-271 -278 0 +-271 -279 0 +-272 -273 0 +-272 -274 0 +-272 -275 0 +-272 -276 0 +-272 -277 0 +-272 -278 0 +-272 -279 0 +-273 -274 0 +-273 -275 0 +-273 -276 0 +-273 -277 0 +-273 -278 0 +-273 -279 0 +-274 -275 0 +-274 -276 0 +-274 -277 0 +-274 -278 0 +-274 -279 0 +-275 -276 0 +-275 -277 0 +-275 -278 0 +-275 -279 0 +-276 -277 0 +-276 -278 0 +-276 -279 0 +-277 -278 0 +-277 -279 0 +-278 -279 0 +-281 -282 0 +-281 -283 0 +-281 -284 0 +-281 -285 0 +-281 -286 0 +-281 -287 0 +-281 -288 0 +-281 -289 0 +-282 -283 0 +-282 -284 0 +-282 -285 0 +-282 -286 0 +-282 -287 0 +-282 -288 0 +-282 -289 0 +-283 -284 0 +-283 -285 0 +-283 -286 0 +-283 -287 0 +-283 -288 0 +-283 -289 0 +-284 -285 0 +-284 -286 0 +-284 -287 0 +-284 -288 0 +-284 -289 0 +-285 -286 0 +-285 -287 0 +-285 -288 0 +-285 -289 0 +-286 -287 0 +-286 -288 0 +-286 -289 0 +-287 -288 0 +-287 -289 0 +-288 -289 0 +-291 -292 0 +-291 -293 0 +-291 -294 0 +-291 -295 0 +-291 -296 0 +-291 -297 0 +-291 -298 0 +-291 -299 0 +-292 -293 0 +-292 -294 0 +-292 -295 0 +-292 -296 0 +-292 -297 0 +-292 -298 0 +-292 -299 0 +-293 -294 0 +-293 -295 0 +-293 -296 0 +-293 -297 0 +-293 -298 0 +-293 -299 0 +-294 -295 0 +-294 -296 0 +-294 -297 0 +-294 -298 0 +-294 -299 0 +-295 -296 0 +-295 -297 0 +-295 -298 0 +-295 -299 0 +-296 -297 0 +-296 -298 0 +-296 -299 0 +-297 -298 0 +-297 -299 0 +-298 -299 0 +-311 -312 0 +-311 -313 0 +-311 -314 0 +-311 -315 0 +-311 -316 0 +-311 -317 0 +-311 -318 0 +-311 -319 0 +-312 -313 0 +-312 -314 0 +-312 -315 0 +-312 -316 0 +-312 -317 0 +-312 -318 0 +-312 -319 0 +-313 -314 0 +-313 -315 0 +-313 -316 0 +-313 -317 0 +-313 -318 0 +-313 -319 0 +-314 -315 0 +-314 -316 0 +-314 -317 0 +-314 -318 0 +-314 -319 0 +-315 -316 0 +-315 -317 0 +-315 -318 0 +-315 -319 0 +-316 -317 0 +-316 -318 0 +-316 -319 0 +-317 -318 0 +-317 -319 0 +-318 -319 0 +-321 -322 0 +-321 -323 0 +-321 -324 0 +-321 -325 0 +-321 -326 0 +-321 -327 0 +-321 -328 0 +-321 -329 0 +-322 -323 0 +-322 -324 0 +-322 -325 0 +-322 -326 0 +-322 -327 0 +-322 -328 0 +-322 -329 0 +-323 -324 0 +-323 -325 0 +-323 -326 0 +-323 -327 0 +-323 -328 0 +-323 -329 0 +-324 -325 0 +-324 -326 0 +-324 -327 0 +-324 -328 0 +-324 -329 0 +-325 -326 0 +-325 -327 0 +-325 -328 0 +-325 -329 0 +-326 -327 0 +-326 -328 0 +-326 -329 0 +-327 -328 0 +-327 -329 0 +-328 -329 0 +-331 -332 0 +-331 -333 0 +-331 -334 0 +-331 -335 0 +-331 -336 0 +-331 -337 0 +-331 -338 0 +-331 -339 0 +-332 -333 0 +-332 -334 0 +-332 -335 0 +-332 -336 0 +-332 -337 0 +-332 -338 0 +-332 -339 0 +-333 -334 0 +-333 -335 0 +-333 -336 0 +-333 -337 0 +-333 -338 0 +-333 -339 0 +-334 -335 0 +-334 -336 0 +-334 -337 0 +-334 -338 0 +-334 -339 0 +-335 -336 0 +-335 -337 0 +-335 -338 0 +-335 -339 0 +-336 -337 0 +-336 -338 0 +-336 -339 0 +-337 -338 0 +-337 -339 0 +-338 -339 0 +-341 -342 0 +-341 -343 0 +-341 -344 0 +-341 -345 0 +-341 -346 0 +-341 -347 0 +-341 -348 0 +-341 -349 0 +-342 -343 0 +-342 -344 0 +-342 -345 0 +-342 -346 0 +-342 -347 0 +-342 -348 0 +-342 -349 0 +-343 -344 0 +-343 -345 0 +-343 -346 0 +-343 -347 0 +-343 -348 0 +-343 -349 0 +-344 -345 0 +-344 -346 0 +-344 -347 0 +-344 -348 0 +-344 -349 0 +-345 -346 0 +-345 -347 0 +-345 -348 0 +-345 -349 0 +-346 -347 0 +-346 -348 0 +-346 -349 0 +-347 -348 0 +-347 -349 0 +-348 -349 0 +-351 -352 0 +-351 -353 0 +-351 -354 0 +-351 -355 0 +-351 -356 0 +-351 -357 0 +-351 -358 0 +-351 -359 0 +-352 -353 0 +-352 -354 0 +-352 -355 0 +-352 -356 0 +-352 -357 0 +-352 -358 0 +-352 -359 0 +-353 -354 0 +-353 -355 0 +-353 -356 0 +-353 -357 0 +-353 -358 0 +-353 -359 0 +-354 -355 0 +-354 -356 0 +-354 -357 0 +-354 -358 0 +-354 -359 0 +-355 -356 0 +-355 -357 0 +-355 -358 0 +-355 -359 0 +-356 -357 0 +-356 -358 0 +-356 -359 0 +-357 -358 0 +-357 -359 0 +-358 -359 0 +-361 -362 0 +-361 -363 0 +-361 -364 0 +-361 -365 0 +-361 -366 0 +-361 -367 0 +-361 -368 0 +-361 -369 0 +-362 -363 0 +-362 -364 0 +-362 -365 0 +-362 -366 0 +-362 -367 0 +-362 -368 0 +-362 -369 0 +-363 -364 0 +-363 -365 0 +-363 -366 0 +-363 -367 0 +-363 -368 0 +-363 -369 0 +-364 -365 0 +-364 -366 0 +-364 -367 0 +-364 -368 0 +-364 -369 0 +-365 -366 0 +-365 -367 0 +-365 -368 0 +-365 -369 0 +-366 -367 0 +-366 -368 0 +-366 -369 0 +-367 -368 0 +-367 -369 0 +-368 -369 0 +-371 -372 0 +-371 -373 0 +-371 -374 0 +-371 -375 0 +-371 -376 0 +-371 -377 0 +-371 -378 0 +-371 -379 0 +-372 -373 0 +-372 -374 0 +-372 -375 0 +-372 -376 0 +-372 -377 0 +-372 -378 0 +-372 -379 0 +-373 -374 0 +-373 -375 0 +-373 -376 0 +-373 -377 0 +-373 -378 0 +-373 -379 0 +-374 -375 0 +-374 -376 0 +-374 -377 0 +-374 -378 0 +-374 -379 0 +-375 -376 0 +-375 -377 0 +-375 -378 0 +-375 -379 0 +-376 -377 0 +-376 -378 0 +-376 -379 0 +-377 -378 0 +-377 -379 0 +-378 -379 0 +-381 -382 0 +-381 -383 0 +-381 -384 0 +-381 -385 0 +-381 -386 0 +-381 -387 0 +-381 -388 0 +-381 -389 0 +-382 -383 0 +-382 -384 0 +-382 -385 0 +-382 -386 0 +-382 -387 0 +-382 -388 0 +-382 -389 0 +-383 -384 0 +-383 -385 0 +-383 -386 0 +-383 -387 0 +-383 -388 0 +-383 -389 0 +-384 -385 0 +-384 -386 0 +-384 -387 0 +-384 -388 0 +-384 -389 0 +-385 -386 0 +-385 -387 0 +-385 -388 0 +-385 -389 0 +-386 -387 0 +-386 -388 0 +-386 -389 0 +-387 -388 0 +-387 -389 0 +-388 -389 0 +-391 -392 0 +-391 -393 0 +-391 -394 0 +-391 -395 0 +-391 -396 0 +-391 -397 0 +-391 -398 0 +-391 -399 0 +-392 -393 0 +-392 -394 0 +-392 -395 0 +-392 -396 0 +-392 -397 0 +-392 -398 0 +-392 -399 0 +-393 -394 0 +-393 -395 0 +-393 -396 0 +-393 -397 0 +-393 -398 0 +-393 -399 0 +-394 -395 0 +-394 -396 0 +-394 -397 0 +-394 -398 0 +-394 -399 0 +-395 -396 0 +-395 -397 0 +-395 -398 0 +-395 -399 0 +-396 -397 0 +-396 -398 0 +-396 -399 0 +-397 -398 0 +-397 -399 0 +-398 -399 0 +-411 -412 0 +-411 -413 0 +-411 -414 0 +-411 -415 0 +-411 -416 0 +-411 -417 0 +-411 -418 0 +-411 -419 0 +-412 -413 0 +-412 -414 0 +-412 -415 0 +-412 -416 0 +-412 -417 0 +-412 -418 0 +-412 -419 0 +-413 -414 0 +-413 -415 0 +-413 -416 0 +-413 -417 0 +-413 -418 0 +-413 -419 0 +-414 -415 0 +-414 -416 0 +-414 -417 0 +-414 -418 0 +-414 -419 0 +-415 -416 0 +-415 -417 0 +-415 -418 0 +-415 -419 0 +-416 -417 0 +-416 -418 0 +-416 -419 0 +-417 -418 0 +-417 -419 0 +-418 -419 0 +-421 -422 0 +-421 -423 0 +-421 -424 0 +-421 -425 0 +-421 -426 0 +-421 -427 0 +-421 -428 0 +-421 -429 0 +-422 -423 0 +-422 -424 0 +-422 -425 0 +-422 -426 0 +-422 -427 0 +-422 -428 0 +-422 -429 0 +-423 -424 0 +-423 -425 0 +-423 -426 0 +-423 -427 0 +-423 -428 0 +-423 -429 0 +-424 -425 0 +-424 -426 0 +-424 -427 0 +-424 -428 0 +-424 -429 0 +-425 -426 0 +-425 -427 0 +-425 -428 0 +-425 -429 0 +-426 -427 0 +-426 -428 0 +-426 -429 0 +-427 -428 0 +-427 -429 0 +-428 -429 0 +-431 -432 0 +-431 -433 0 +-431 -434 0 +-431 -435 0 +-431 -436 0 +-431 -437 0 +-431 -438 0 +-431 -439 0 +-432 -433 0 +-432 -434 0 +-432 -435 0 +-432 -436 0 +-432 -437 0 +-432 -438 0 +-432 -439 0 +-433 -434 0 +-433 -435 0 +-433 -436 0 +-433 -437 0 +-433 -438 0 +-433 -439 0 +-434 -435 0 +-434 -436 0 +-434 -437 0 +-434 -438 0 +-434 -439 0 +-435 -436 0 +-435 -437 0 +-435 -438 0 +-435 -439 0 +-436 -437 0 +-436 -438 0 +-436 -439 0 +-437 -438 0 +-437 -439 0 +-438 -439 0 +-441 -442 0 +-441 -443 0 +-441 -444 0 +-441 -445 0 +-441 -446 0 +-441 -447 0 +-441 -448 0 +-441 -449 0 +-442 -443 0 +-442 -444 0 +-442 -445 0 +-442 -446 0 +-442 -447 0 +-442 -448 0 +-442 -449 0 +-443 -444 0 +-443 -445 0 +-443 -446 0 +-443 -447 0 +-443 -448 0 +-443 -449 0 +-444 -445 0 +-444 -446 0 +-444 -447 0 +-444 -448 0 +-444 -449 0 +-445 -446 0 +-445 -447 0 +-445 -448 0 +-445 -449 0 +-446 -447 0 +-446 -448 0 +-446 -449 0 +-447 -448 0 +-447 -449 0 +-448 -449 0 +-451 -452 0 +-451 -453 0 +-451 -454 0 +-451 -455 0 +-451 -456 0 +-451 -457 0 +-451 -458 0 +-451 -459 0 +-452 -453 0 +-452 -454 0 +-452 -455 0 +-452 -456 0 +-452 -457 0 +-452 -458 0 +-452 -459 0 +-453 -454 0 +-453 -455 0 +-453 -456 0 +-453 -457 0 +-453 -458 0 +-453 -459 0 +-454 -455 0 +-454 -456 0 +-454 -457 0 +-454 -458 0 +-454 -459 0 +-455 -456 0 +-455 -457 0 +-455 -458 0 +-455 -459 0 +-456 -457 0 +-456 -458 0 +-456 -459 0 +-457 -458 0 +-457 -459 0 +-458 -459 0 +-461 -462 0 +-461 -463 0 +-461 -464 0 +-461 -465 0 +-461 -466 0 +-461 -467 0 +-461 -468 0 +-461 -469 0 +-462 -463 0 +-462 -464 0 +-462 -465 0 +-462 -466 0 +-462 -467 0 +-462 -468 0 +-462 -469 0 +-463 -464 0 +-463 -465 0 +-463 -466 0 +-463 -467 0 +-463 -468 0 +-463 -469 0 +-464 -465 0 +-464 -466 0 +-464 -467 0 +-464 -468 0 +-464 -469 0 +-465 -466 0 +-465 -467 0 +-465 -468 0 +-465 -469 0 +-466 -467 0 +-466 -468 0 +-466 -469 0 +-467 -468 0 +-467 -469 0 +-468 -469 0 +-471 -472 0 +-471 -473 0 +-471 -474 0 +-471 -475 0 +-471 -476 0 +-471 -477 0 +-471 -478 0 +-471 -479 0 +-472 -473 0 +-472 -474 0 +-472 -475 0 +-472 -476 0 +-472 -477 0 +-472 -478 0 +-472 -479 0 +-473 -474 0 +-473 -475 0 +-473 -476 0 +-473 -477 0 +-473 -478 0 +-473 -479 0 +-474 -475 0 +-474 -476 0 +-474 -477 0 +-474 -478 0 +-474 -479 0 +-475 -476 0 +-475 -477 0 +-475 -478 0 +-475 -479 0 +-476 -477 0 +-476 -478 0 +-476 -479 0 +-477 -478 0 +-477 -479 0 +-478 -479 0 +-481 -482 0 +-481 -483 0 +-481 -484 0 +-481 -485 0 +-481 -486 0 +-481 -487 0 +-481 -488 0 +-481 -489 0 +-482 -483 0 +-482 -484 0 +-482 -485 0 +-482 -486 0 +-482 -487 0 +-482 -488 0 +-482 -489 0 +-483 -484 0 +-483 -485 0 +-483 -486 0 +-483 -487 0 +-483 -488 0 +-483 -489 0 +-484 -485 0 +-484 -486 0 +-484 -487 0 +-484 -488 0 +-484 -489 0 +-485 -486 0 +-485 -487 0 +-485 -488 0 +-485 -489 0 +-486 -487 0 +-486 -488 0 +-486 -489 0 +-487 -488 0 +-487 -489 0 +-488 -489 0 +-491 -492 0 +-491 -493 0 +-491 -494 0 +-491 -495 0 +-491 -496 0 +-491 -497 0 +-491 -498 0 +-491 -499 0 +-492 -493 0 +-492 -494 0 +-492 -495 0 +-492 -496 0 +-492 -497 0 +-492 -498 0 +-492 -499 0 +-493 -494 0 +-493 -495 0 +-493 -496 0 +-493 -497 0 +-493 -498 0 +-493 -499 0 +-494 -495 0 +-494 -496 0 +-494 -497 0 +-494 -498 0 +-494 -499 0 +-495 -496 0 +-495 -497 0 +-495 -498 0 +-495 -499 0 +-496 -497 0 +-496 -498 0 +-496 -499 0 +-497 -498 0 +-497 -499 0 +-498 -499 0 +-511 -512 0 +-511 -513 0 +-511 -514 0 +-511 -515 0 +-511 -516 0 +-511 -517 0 +-511 -518 0 +-511 -519 0 +-512 -513 0 +-512 -514 0 +-512 -515 0 +-512 -516 0 +-512 -517 0 +-512 -518 0 +-512 -519 0 +-513 -514 0 +-513 -515 0 +-513 -516 0 +-513 -517 0 +-513 -518 0 +-513 -519 0 +-514 -515 0 +-514 -516 0 +-514 -517 0 +-514 -518 0 +-514 -519 0 +-515 -516 0 +-515 -517 0 +-515 -518 0 +-515 -519 0 +-516 -517 0 +-516 -518 0 +-516 -519 0 +-517 -518 0 +-517 -519 0 +-518 -519 0 +-521 -522 0 +-521 -523 0 +-521 -524 0 +-521 -525 0 +-521 -526 0 +-521 -527 0 +-521 -528 0 +-521 -529 0 +-522 -523 0 +-522 -524 0 +-522 -525 0 +-522 -526 0 +-522 -527 0 +-522 -528 0 +-522 -529 0 +-523 -524 0 +-523 -525 0 +-523 -526 0 +-523 -527 0 +-523 -528 0 +-523 -529 0 +-524 -525 0 +-524 -526 0 +-524 -527 0 +-524 -528 0 +-524 -529 0 +-525 -526 0 +-525 -527 0 +-525 -528 0 +-525 -529 0 +-526 -527 0 +-526 -528 0 +-526 -529 0 +-527 -528 0 +-527 -529 0 +-528 -529 0 +-531 -532 0 +-531 -533 0 +-531 -534 0 +-531 -535 0 +-531 -536 0 +-531 -537 0 +-531 -538 0 +-531 -539 0 +-532 -533 0 +-532 -534 0 +-532 -535 0 +-532 -536 0 +-532 -537 0 +-532 -538 0 +-532 -539 0 +-533 -534 0 +-533 -535 0 +-533 -536 0 +-533 -537 0 +-533 -538 0 +-533 -539 0 +-534 -535 0 +-534 -536 0 +-534 -537 0 +-534 -538 0 +-534 -539 0 +-535 -536 0 +-535 -537 0 +-535 -538 0 +-535 -539 0 +-536 -537 0 +-536 -538 0 +-536 -539 0 +-537 -538 0 +-537 -539 0 +-538 -539 0 +-541 -542 0 +-541 -543 0 +-541 -544 0 +-541 -545 0 +-541 -546 0 +-541 -547 0 +-541 -548 0 +-541 -549 0 +-542 -543 0 +-542 -544 0 +-542 -545 0 +-542 -546 0 +-542 -547 0 +-542 -548 0 +-542 -549 0 +-543 -544 0 +-543 -545 0 +-543 -546 0 +-543 -547 0 +-543 -548 0 +-543 -549 0 +-544 -545 0 +-544 -546 0 +-544 -547 0 +-544 -548 0 +-544 -549 0 +-545 -546 0 +-545 -547 0 +-545 -548 0 +-545 -549 0 +-546 -547 0 +-546 -548 0 +-546 -549 0 +-547 -548 0 +-547 -549 0 +-548 -549 0 +-551 -552 0 +-551 -553 0 +-551 -554 0 +-551 -555 0 +-551 -556 0 +-551 -557 0 +-551 -558 0 +-551 -559 0 +-552 -553 0 +-552 -554 0 +-552 -555 0 +-552 -556 0 +-552 -557 0 +-552 -558 0 +-552 -559 0 +-553 -554 0 +-553 -555 0 +-553 -556 0 +-553 -557 0 +-553 -558 0 +-553 -559 0 +-554 -555 0 +-554 -556 0 +-554 -557 0 +-554 -558 0 +-554 -559 0 +-555 -556 0 +-555 -557 0 +-555 -558 0 +-555 -559 0 +-556 -557 0 +-556 -558 0 +-556 -559 0 +-557 -558 0 +-557 -559 0 +-558 -559 0 +-561 -562 0 +-561 -563 0 +-561 -564 0 +-561 -565 0 +-561 -566 0 +-561 -567 0 +-561 -568 0 +-561 -569 0 +-562 -563 0 +-562 -564 0 +-562 -565 0 +-562 -566 0 +-562 -567 0 +-562 -568 0 +-562 -569 0 +-563 -564 0 +-563 -565 0 +-563 -566 0 +-563 -567 0 +-563 -568 0 +-563 -569 0 +-564 -565 0 +-564 -566 0 +-564 -567 0 +-564 -568 0 +-564 -569 0 +-565 -566 0 +-565 -567 0 +-565 -568 0 +-565 -569 0 +-566 -567 0 +-566 -568 0 +-566 -569 0 +-567 -568 0 +-567 -569 0 +-568 -569 0 +-571 -572 0 +-571 -573 0 +-571 -574 0 +-571 -575 0 +-571 -576 0 +-571 -577 0 +-571 -578 0 +-571 -579 0 +-572 -573 0 +-572 -574 0 +-572 -575 0 +-572 -576 0 +-572 -577 0 +-572 -578 0 +-572 -579 0 +-573 -574 0 +-573 -575 0 +-573 -576 0 +-573 -577 0 +-573 -578 0 +-573 -579 0 +-574 -575 0 +-574 -576 0 +-574 -577 0 +-574 -578 0 +-574 -579 0 +-575 -576 0 +-575 -577 0 +-575 -578 0 +-575 -579 0 +-576 -577 0 +-576 -578 0 +-576 -579 0 +-577 -578 0 +-577 -579 0 +-578 -579 0 +-581 -582 0 +-581 -583 0 +-581 -584 0 +-581 -585 0 +-581 -586 0 +-581 -587 0 +-581 -588 0 +-581 -589 0 +-582 -583 0 +-582 -584 0 +-582 -585 0 +-582 -586 0 +-582 -587 0 +-582 -588 0 +-582 -589 0 +-583 -584 0 +-583 -585 0 +-583 -586 0 +-583 -587 0 +-583 -588 0 +-583 -589 0 +-584 -585 0 +-584 -586 0 +-584 -587 0 +-584 -588 0 +-584 -589 0 +-585 -586 0 +-585 -587 0 +-585 -588 0 +-585 -589 0 +-586 -587 0 +-586 -588 0 +-586 -589 0 +-587 -588 0 +-587 -589 0 +-588 -589 0 +-591 -592 0 +-591 -593 0 +-591 -594 0 +-591 -595 0 +-591 -596 0 +-591 -597 0 +-591 -598 0 +-591 -599 0 +-592 -593 0 +-592 -594 0 +-592 -595 0 +-592 -596 0 +-592 -597 0 +-592 -598 0 +-592 -599 0 +-593 -594 0 +-593 -595 0 +-593 -596 0 +-593 -597 0 +-593 -598 0 +-593 -599 0 +-594 -595 0 +-594 -596 0 +-594 -597 0 +-594 -598 0 +-594 -599 0 +-595 -596 0 +-595 -597 0 +-595 -598 0 +-595 -599 0 +-596 -597 0 +-596 -598 0 +-596 -599 0 +-597 -598 0 +-597 -599 0 +-598 -599 0 +-611 -612 0 +-611 -613 0 +-611 -614 0 +-611 -615 0 +-611 -616 0 +-611 -617 0 +-611 -618 0 +-611 -619 0 +-612 -613 0 +-612 -614 0 +-612 -615 0 +-612 -616 0 +-612 -617 0 +-612 -618 0 +-612 -619 0 +-613 -614 0 +-613 -615 0 +-613 -616 0 +-613 -617 0 +-613 -618 0 +-613 -619 0 +-614 -615 0 +-614 -616 0 +-614 -617 0 +-614 -618 0 +-614 -619 0 +-615 -616 0 +-615 -617 0 +-615 -618 0 +-615 -619 0 +-616 -617 0 +-616 -618 0 +-616 -619 0 +-617 -618 0 +-617 -619 0 +-618 -619 0 +-621 -622 0 +-621 -623 0 +-621 -624 0 +-621 -625 0 +-621 -626 0 +-621 -627 0 +-621 -628 0 +-621 -629 0 +-622 -623 0 +-622 -624 0 +-622 -625 0 +-622 -626 0 +-622 -627 0 +-622 -628 0 +-622 -629 0 +-623 -624 0 +-623 -625 0 +-623 -626 0 +-623 -627 0 +-623 -628 0 +-623 -629 0 +-624 -625 0 +-624 -626 0 +-624 -627 0 +-624 -628 0 +-624 -629 0 +-625 -626 0 +-625 -627 0 +-625 -628 0 +-625 -629 0 +-626 -627 0 +-626 -628 0 +-626 -629 0 +-627 -628 0 +-627 -629 0 +-628 -629 0 +-631 -632 0 +-631 -633 0 +-631 -634 0 +-631 -635 0 +-631 -636 0 +-631 -637 0 +-631 -638 0 +-631 -639 0 +-632 -633 0 +-632 -634 0 +-632 -635 0 +-632 -636 0 +-632 -637 0 +-632 -638 0 +-632 -639 0 +-633 -634 0 +-633 -635 0 +-633 -636 0 +-633 -637 0 +-633 -638 0 +-633 -639 0 +-634 -635 0 +-634 -636 0 +-634 -637 0 +-634 -638 0 +-634 -639 0 +-635 -636 0 +-635 -637 0 +-635 -638 0 +-635 -639 0 +-636 -637 0 +-636 -638 0 +-636 -639 0 +-637 -638 0 +-637 -639 0 +-638 -639 0 +-641 -642 0 +-641 -643 0 +-641 -644 0 +-641 -645 0 +-641 -646 0 +-641 -647 0 +-641 -648 0 +-641 -649 0 +-642 -643 0 +-642 -644 0 +-642 -645 0 +-642 -646 0 +-642 -647 0 +-642 -648 0 +-642 -649 0 +-643 -644 0 +-643 -645 0 +-643 -646 0 +-643 -647 0 +-643 -648 0 +-643 -649 0 +-644 -645 0 +-644 -646 0 +-644 -647 0 +-644 -648 0 +-644 -649 0 +-645 -646 0 +-645 -647 0 +-645 -648 0 +-645 -649 0 +-646 -647 0 +-646 -648 0 +-646 -649 0 +-647 -648 0 +-647 -649 0 +-648 -649 0 +-651 -652 0 +-651 -653 0 +-651 -654 0 +-651 -655 0 +-651 -656 0 +-651 -657 0 +-651 -658 0 +-651 -659 0 +-652 -653 0 +-652 -654 0 +-652 -655 0 +-652 -656 0 +-652 -657 0 +-652 -658 0 +-652 -659 0 +-653 -654 0 +-653 -655 0 +-653 -656 0 +-653 -657 0 +-653 -658 0 +-653 -659 0 +-654 -655 0 +-654 -656 0 +-654 -657 0 +-654 -658 0 +-654 -659 0 +-655 -656 0 +-655 -657 0 +-655 -658 0 +-655 -659 0 +-656 -657 0 +-656 -658 0 +-656 -659 0 +-657 -658 0 +-657 -659 0 +-658 -659 0 +-661 -662 0 +-661 -663 0 +-661 -664 0 +-661 -665 0 +-661 -666 0 +-661 -667 0 +-661 -668 0 +-661 -669 0 +-662 -663 0 +-662 -664 0 +-662 -665 0 +-662 -666 0 +-662 -667 0 +-662 -668 0 +-662 -669 0 +-663 -664 0 +-663 -665 0 +-663 -666 0 +-663 -667 0 +-663 -668 0 +-663 -669 0 +-664 -665 0 +-664 -666 0 +-664 -667 0 +-664 -668 0 +-664 -669 0 +-665 -666 0 +-665 -667 0 +-665 -668 0 +-665 -669 0 +-666 -667 0 +-666 -668 0 +-666 -669 0 +-667 -668 0 +-667 -669 0 +-668 -669 0 +-671 -672 0 +-671 -673 0 +-671 -674 0 +-671 -675 0 +-671 -676 0 +-671 -677 0 +-671 -678 0 +-671 -679 0 +-672 -673 0 +-672 -674 0 +-672 -675 0 +-672 -676 0 +-672 -677 0 +-672 -678 0 +-672 -679 0 +-673 -674 0 +-673 -675 0 +-673 -676 0 +-673 -677 0 +-673 -678 0 +-673 -679 0 +-674 -675 0 +-674 -676 0 +-674 -677 0 +-674 -678 0 +-674 -679 0 +-675 -676 0 +-675 -677 0 +-675 -678 0 +-675 -679 0 +-676 -677 0 +-676 -678 0 +-676 -679 0 +-677 -678 0 +-677 -679 0 +-678 -679 0 +-681 -682 0 +-681 -683 0 +-681 -684 0 +-681 -685 0 +-681 -686 0 +-681 -687 0 +-681 -688 0 +-681 -689 0 +-682 -683 0 +-682 -684 0 +-682 -685 0 +-682 -686 0 +-682 -687 0 +-682 -688 0 +-682 -689 0 +-683 -684 0 +-683 -685 0 +-683 -686 0 +-683 -687 0 +-683 -688 0 +-683 -689 0 +-684 -685 0 +-684 -686 0 +-684 -687 0 +-684 -688 0 +-684 -689 0 +-685 -686 0 +-685 -687 0 +-685 -688 0 +-685 -689 0 +-686 -687 0 +-686 -688 0 +-686 -689 0 +-687 -688 0 +-687 -689 0 +-688 -689 0 +-691 -692 0 +-691 -693 0 +-691 -694 0 +-691 -695 0 +-691 -696 0 +-691 -697 0 +-691 -698 0 +-691 -699 0 +-692 -693 0 +-692 -694 0 +-692 -695 0 +-692 -696 0 +-692 -697 0 +-692 -698 0 +-692 -699 0 +-693 -694 0 +-693 -695 0 +-693 -696 0 +-693 -697 0 +-693 -698 0 +-693 -699 0 +-694 -695 0 +-694 -696 0 +-694 -697 0 +-694 -698 0 +-694 -699 0 +-695 -696 0 +-695 -697 0 +-695 -698 0 +-695 -699 0 +-696 -697 0 +-696 -698 0 +-696 -699 0 +-697 -698 0 +-697 -699 0 +-698 -699 0 +-711 -712 0 +-711 -713 0 +-711 -714 0 +-711 -715 0 +-711 -716 0 +-711 -717 0 +-711 -718 0 +-711 -719 0 +-712 -713 0 +-712 -714 0 +-712 -715 0 +-712 -716 0 +-712 -717 0 +-712 -718 0 +-712 -719 0 +-713 -714 0 +-713 -715 0 +-713 -716 0 +-713 -717 0 +-713 -718 0 +-713 -719 0 +-714 -715 0 +-714 -716 0 +-714 -717 0 +-714 -718 0 +-714 -719 0 +-715 -716 0 +-715 -717 0 +-715 -718 0 +-715 -719 0 +-716 -717 0 +-716 -718 0 +-716 -719 0 +-717 -718 0 +-717 -719 0 +-718 -719 0 +-721 -722 0 +-721 -723 0 +-721 -724 0 +-721 -725 0 +-721 -726 0 +-721 -727 0 +-721 -728 0 +-721 -729 0 +-722 -723 0 +-722 -724 0 +-722 -725 0 +-722 -726 0 +-722 -727 0 +-722 -728 0 +-722 -729 0 +-723 -724 0 +-723 -725 0 +-723 -726 0 +-723 -727 0 +-723 -728 0 +-723 -729 0 +-724 -725 0 +-724 -726 0 +-724 -727 0 +-724 -728 0 +-724 -729 0 +-725 -726 0 +-725 -727 0 +-725 -728 0 +-725 -729 0 +-726 -727 0 +-726 -728 0 +-726 -729 0 +-727 -728 0 +-727 -729 0 +-728 -729 0 +-731 -732 0 +-731 -733 0 +-731 -734 0 +-731 -735 0 +-731 -736 0 +-731 -737 0 +-731 -738 0 +-731 -739 0 +-732 -733 0 +-732 -734 0 +-732 -735 0 +-732 -736 0 +-732 -737 0 +-732 -738 0 +-732 -739 0 +-733 -734 0 +-733 -735 0 +-733 -736 0 +-733 -737 0 +-733 -738 0 +-733 -739 0 +-734 -735 0 +-734 -736 0 +-734 -737 0 +-734 -738 0 +-734 -739 0 +-735 -736 0 +-735 -737 0 +-735 -738 0 +-735 -739 0 +-736 -737 0 +-736 -738 0 +-736 -739 0 +-737 -738 0 +-737 -739 0 +-738 -739 0 +-741 -742 0 +-741 -743 0 +-741 -744 0 +-741 -745 0 +-741 -746 0 +-741 -747 0 +-741 -748 0 +-741 -749 0 +-742 -743 0 +-742 -744 0 +-742 -745 0 +-742 -746 0 +-742 -747 0 +-742 -748 0 +-742 -749 0 +-743 -744 0 +-743 -745 0 +-743 -746 0 +-743 -747 0 +-743 -748 0 +-743 -749 0 +-744 -745 0 +-744 -746 0 +-744 -747 0 +-744 -748 0 +-744 -749 0 +-745 -746 0 +-745 -747 0 +-745 -748 0 +-745 -749 0 +-746 -747 0 +-746 -748 0 +-746 -749 0 +-747 -748 0 +-747 -749 0 +-748 -749 0 +-751 -752 0 +-751 -753 0 +-751 -754 0 +-751 -755 0 +-751 -756 0 +-751 -757 0 +-751 -758 0 +-751 -759 0 +-752 -753 0 +-752 -754 0 +-752 -755 0 +-752 -756 0 +-752 -757 0 +-752 -758 0 +-752 -759 0 +-753 -754 0 +-753 -755 0 +-753 -756 0 +-753 -757 0 +-753 -758 0 +-753 -759 0 +-754 -755 0 +-754 -756 0 +-754 -757 0 +-754 -758 0 +-754 -759 0 +-755 -756 0 +-755 -757 0 +-755 -758 0 +-755 -759 0 +-756 -757 0 +-756 -758 0 +-756 -759 0 +-757 -758 0 +-757 -759 0 +-758 -759 0 +-761 -762 0 +-761 -763 0 +-761 -764 0 +-761 -765 0 +-761 -766 0 +-761 -767 0 +-761 -768 0 +-761 -769 0 +-762 -763 0 +-762 -764 0 +-762 -765 0 +-762 -766 0 +-762 -767 0 +-762 -768 0 +-762 -769 0 +-763 -764 0 +-763 -765 0 +-763 -766 0 +-763 -767 0 +-763 -768 0 +-763 -769 0 +-764 -765 0 +-764 -766 0 +-764 -767 0 +-764 -768 0 +-764 -769 0 +-765 -766 0 +-765 -767 0 +-765 -768 0 +-765 -769 0 +-766 -767 0 +-766 -768 0 +-766 -769 0 +-767 -768 0 +-767 -769 0 +-768 -769 0 +-771 -772 0 +-771 -773 0 +-771 -774 0 +-771 -775 0 +-771 -776 0 +-771 -777 0 +-771 -778 0 +-771 -779 0 +-772 -773 0 +-772 -774 0 +-772 -775 0 +-772 -776 0 +-772 -777 0 +-772 -778 0 +-772 -779 0 +-773 -774 0 +-773 -775 0 +-773 -776 0 +-773 -777 0 +-773 -778 0 +-773 -779 0 +-774 -775 0 +-774 -776 0 +-774 -777 0 +-774 -778 0 +-774 -779 0 +-775 -776 0 +-775 -777 0 +-775 -778 0 +-775 -779 0 +-776 -777 0 +-776 -778 0 +-776 -779 0 +-777 -778 0 +-777 -779 0 +-778 -779 0 +-781 -782 0 +-781 -783 0 +-781 -784 0 +-781 -785 0 +-781 -786 0 +-781 -787 0 +-781 -788 0 +-781 -789 0 +-782 -783 0 +-782 -784 0 +-782 -785 0 +-782 -786 0 +-782 -787 0 +-782 -788 0 +-782 -789 0 +-783 -784 0 +-783 -785 0 +-783 -786 0 +-783 -787 0 +-783 -788 0 +-783 -789 0 +-784 -785 0 +-784 -786 0 +-784 -787 0 +-784 -788 0 +-784 -789 0 +-785 -786 0 +-785 -787 0 +-785 -788 0 +-785 -789 0 +-786 -787 0 +-786 -788 0 +-786 -789 0 +-787 -788 0 +-787 -789 0 +-788 -789 0 +-791 -792 0 +-791 -793 0 +-791 -794 0 +-791 -795 0 +-791 -796 0 +-791 -797 0 +-791 -798 0 +-791 -799 0 +-792 -793 0 +-792 -794 0 +-792 -795 0 +-792 -796 0 +-792 -797 0 +-792 -798 0 +-792 -799 0 +-793 -794 0 +-793 -795 0 +-793 -796 0 +-793 -797 0 +-793 -798 0 +-793 -799 0 +-794 -795 0 +-794 -796 0 +-794 -797 0 +-794 -798 0 +-794 -799 0 +-795 -796 0 +-795 -797 0 +-795 -798 0 +-795 -799 0 +-796 -797 0 +-796 -798 0 +-796 -799 0 +-797 -798 0 +-797 -799 0 +-798 -799 0 +-811 -812 0 +-811 -813 0 +-811 -814 0 +-811 -815 0 +-811 -816 0 +-811 -817 0 +-811 -818 0 +-811 -819 0 +-812 -813 0 +-812 -814 0 +-812 -815 0 +-812 -816 0 +-812 -817 0 +-812 -818 0 +-812 -819 0 +-813 -814 0 +-813 -815 0 +-813 -816 0 +-813 -817 0 +-813 -818 0 +-813 -819 0 +-814 -815 0 +-814 -816 0 +-814 -817 0 +-814 -818 0 +-814 -819 0 +-815 -816 0 +-815 -817 0 +-815 -818 0 +-815 -819 0 +-816 -817 0 +-816 -818 0 +-816 -819 0 +-817 -818 0 +-817 -819 0 +-818 -819 0 +-821 -822 0 +-821 -823 0 +-821 -824 0 +-821 -825 0 +-821 -826 0 +-821 -827 0 +-821 -828 0 +-821 -829 0 +-822 -823 0 +-822 -824 0 +-822 -825 0 +-822 -826 0 +-822 -827 0 +-822 -828 0 +-822 -829 0 +-823 -824 0 +-823 -825 0 +-823 -826 0 +-823 -827 0 +-823 -828 0 +-823 -829 0 +-824 -825 0 +-824 -826 0 +-824 -827 0 +-824 -828 0 +-824 -829 0 +-825 -826 0 +-825 -827 0 +-825 -828 0 +-825 -829 0 +-826 -827 0 +-826 -828 0 +-826 -829 0 +-827 -828 0 +-827 -829 0 +-828 -829 0 +-831 -832 0 +-831 -833 0 +-831 -834 0 +-831 -835 0 +-831 -836 0 +-831 -837 0 +-831 -838 0 +-831 -839 0 +-832 -833 0 +-832 -834 0 +-832 -835 0 +-832 -836 0 +-832 -837 0 +-832 -838 0 +-832 -839 0 +-833 -834 0 +-833 -835 0 +-833 -836 0 +-833 -837 0 +-833 -838 0 +-833 -839 0 +-834 -835 0 +-834 -836 0 +-834 -837 0 +-834 -838 0 +-834 -839 0 +-835 -836 0 +-835 -837 0 +-835 -838 0 +-835 -839 0 +-836 -837 0 +-836 -838 0 +-836 -839 0 +-837 -838 0 +-837 -839 0 +-838 -839 0 +-841 -842 0 +-841 -843 0 +-841 -844 0 +-841 -845 0 +-841 -846 0 +-841 -847 0 +-841 -848 0 +-841 -849 0 +-842 -843 0 +-842 -844 0 +-842 -845 0 +-842 -846 0 +-842 -847 0 +-842 -848 0 +-842 -849 0 +-843 -844 0 +-843 -845 0 +-843 -846 0 +-843 -847 0 +-843 -848 0 +-843 -849 0 +-844 -845 0 +-844 -846 0 +-844 -847 0 +-844 -848 0 +-844 -849 0 +-845 -846 0 +-845 -847 0 +-845 -848 0 +-845 -849 0 +-846 -847 0 +-846 -848 0 +-846 -849 0 +-847 -848 0 +-847 -849 0 +-848 -849 0 +-851 -852 0 +-851 -853 0 +-851 -854 0 +-851 -855 0 +-851 -856 0 +-851 -857 0 +-851 -858 0 +-851 -859 0 +-852 -853 0 +-852 -854 0 +-852 -855 0 +-852 -856 0 +-852 -857 0 +-852 -858 0 +-852 -859 0 +-853 -854 0 +-853 -855 0 +-853 -856 0 +-853 -857 0 +-853 -858 0 +-853 -859 0 +-854 -855 0 +-854 -856 0 +-854 -857 0 +-854 -858 0 +-854 -859 0 +-855 -856 0 +-855 -857 0 +-855 -858 0 +-855 -859 0 +-856 -857 0 +-856 -858 0 +-856 -859 0 +-857 -858 0 +-857 -859 0 +-858 -859 0 +-861 -862 0 +-861 -863 0 +-861 -864 0 +-861 -865 0 +-861 -866 0 +-861 -867 0 +-861 -868 0 +-861 -869 0 +-862 -863 0 +-862 -864 0 +-862 -865 0 +-862 -866 0 +-862 -867 0 +-862 -868 0 +-862 -869 0 +-863 -864 0 +-863 -865 0 +-863 -866 0 +-863 -867 0 +-863 -868 0 +-863 -869 0 +-864 -865 0 +-864 -866 0 +-864 -867 0 +-864 -868 0 +-864 -869 0 +-865 -866 0 +-865 -867 0 +-865 -868 0 +-865 -869 0 +-866 -867 0 +-866 -868 0 +-866 -869 0 +-867 -868 0 +-867 -869 0 +-868 -869 0 +-871 -872 0 +-871 -873 0 +-871 -874 0 +-871 -875 0 +-871 -876 0 +-871 -877 0 +-871 -878 0 +-871 -879 0 +-872 -873 0 +-872 -874 0 +-872 -875 0 +-872 -876 0 +-872 -877 0 +-872 -878 0 +-872 -879 0 +-873 -874 0 +-873 -875 0 +-873 -876 0 +-873 -877 0 +-873 -878 0 +-873 -879 0 +-874 -875 0 +-874 -876 0 +-874 -877 0 +-874 -878 0 +-874 -879 0 +-875 -876 0 +-875 -877 0 +-875 -878 0 +-875 -879 0 +-876 -877 0 +-876 -878 0 +-876 -879 0 +-877 -878 0 +-877 -879 0 +-878 -879 0 +-881 -882 0 +-881 -883 0 +-881 -884 0 +-881 -885 0 +-881 -886 0 +-881 -887 0 +-881 -888 0 +-881 -889 0 +-882 -883 0 +-882 -884 0 +-882 -885 0 +-882 -886 0 +-882 -887 0 +-882 -888 0 +-882 -889 0 +-883 -884 0 +-883 -885 0 +-883 -886 0 +-883 -887 0 +-883 -888 0 +-883 -889 0 +-884 -885 0 +-884 -886 0 +-884 -887 0 +-884 -888 0 +-884 -889 0 +-885 -886 0 +-885 -887 0 +-885 -888 0 +-885 -889 0 +-886 -887 0 +-886 -888 0 +-886 -889 0 +-887 -888 0 +-887 -889 0 +-888 -889 0 +-891 -892 0 +-891 -893 0 +-891 -894 0 +-891 -895 0 +-891 -896 0 +-891 -897 0 +-891 -898 0 +-891 -899 0 +-892 -893 0 +-892 -894 0 +-892 -895 0 +-892 -896 0 +-892 -897 0 +-892 -898 0 +-892 -899 0 +-893 -894 0 +-893 -895 0 +-893 -896 0 +-893 -897 0 +-893 -898 0 +-893 -899 0 +-894 -895 0 +-894 -896 0 +-894 -897 0 +-894 -898 0 +-894 -899 0 +-895 -896 0 +-895 -897 0 +-895 -898 0 +-895 -899 0 +-896 -897 0 +-896 -898 0 +-896 -899 0 +-897 -898 0 +-897 -899 0 +-898 -899 0 +-911 -912 0 +-911 -913 0 +-911 -914 0 +-911 -915 0 +-911 -916 0 +-911 -917 0 +-911 -918 0 +-911 -919 0 +-912 -913 0 +-912 -914 0 +-912 -915 0 +-912 -916 0 +-912 -917 0 +-912 -918 0 +-912 -919 0 +-913 -914 0 +-913 -915 0 +-913 -916 0 +-913 -917 0 +-913 -918 0 +-913 -919 0 +-914 -915 0 +-914 -916 0 +-914 -917 0 +-914 -918 0 +-914 -919 0 +-915 -916 0 +-915 -917 0 +-915 -918 0 +-915 -919 0 +-916 -917 0 +-916 -918 0 +-916 -919 0 +-917 -918 0 +-917 -919 0 +-918 -919 0 +-921 -922 0 +-921 -923 0 +-921 -924 0 +-921 -925 0 +-921 -926 0 +-921 -927 0 +-921 -928 0 +-921 -929 0 +-922 -923 0 +-922 -924 0 +-922 -925 0 +-922 -926 0 +-922 -927 0 +-922 -928 0 +-922 -929 0 +-923 -924 0 +-923 -925 0 +-923 -926 0 +-923 -927 0 +-923 -928 0 +-923 -929 0 +-924 -925 0 +-924 -926 0 +-924 -927 0 +-924 -928 0 +-924 -929 0 +-925 -926 0 +-925 -927 0 +-925 -928 0 +-925 -929 0 +-926 -927 0 +-926 -928 0 +-926 -929 0 +-927 -928 0 +-927 -929 0 +-928 -929 0 +-931 -932 0 +-931 -933 0 +-931 -934 0 +-931 -935 0 +-931 -936 0 +-931 -937 0 +-931 -938 0 +-931 -939 0 +-932 -933 0 +-932 -934 0 +-932 -935 0 +-932 -936 0 +-932 -937 0 +-932 -938 0 +-932 -939 0 +-933 -934 0 +-933 -935 0 +-933 -936 0 +-933 -937 0 +-933 -938 0 +-933 -939 0 +-934 -935 0 +-934 -936 0 +-934 -937 0 +-934 -938 0 +-934 -939 0 +-935 -936 0 +-935 -937 0 +-935 -938 0 +-935 -939 0 +-936 -937 0 +-936 -938 0 +-936 -939 0 +-937 -938 0 +-937 -939 0 +-938 -939 0 +-941 -942 0 +-941 -943 0 +-941 -944 0 +-941 -945 0 +-941 -946 0 +-941 -947 0 +-941 -948 0 +-941 -949 0 +-942 -943 0 +-942 -944 0 +-942 -945 0 +-942 -946 0 +-942 -947 0 +-942 -948 0 +-942 -949 0 +-943 -944 0 +-943 -945 0 +-943 -946 0 +-943 -947 0 +-943 -948 0 +-943 -949 0 +-944 -945 0 +-944 -946 0 +-944 -947 0 +-944 -948 0 +-944 -949 0 +-945 -946 0 +-945 -947 0 +-945 -948 0 +-945 -949 0 +-946 -947 0 +-946 -948 0 +-946 -949 0 +-947 -948 0 +-947 -949 0 +-948 -949 0 +-951 -952 0 +-951 -953 0 +-951 -954 0 +-951 -955 0 +-951 -956 0 +-951 -957 0 +-951 -958 0 +-951 -959 0 +-952 -953 0 +-952 -954 0 +-952 -955 0 +-952 -956 0 +-952 -957 0 +-952 -958 0 +-952 -959 0 +-953 -954 0 +-953 -955 0 +-953 -956 0 +-953 -957 0 +-953 -958 0 +-953 -959 0 +-954 -955 0 +-954 -956 0 +-954 -957 0 +-954 -958 0 +-954 -959 0 +-955 -956 0 +-955 -957 0 +-955 -958 0 +-955 -959 0 +-956 -957 0 +-956 -958 0 +-956 -959 0 +-957 -958 0 +-957 -959 0 +-958 -959 0 +-961 -962 0 +-961 -963 0 +-961 -964 0 +-961 -965 0 +-961 -966 0 +-961 -967 0 +-961 -968 0 +-961 -969 0 +-962 -963 0 +-962 -964 0 +-962 -965 0 +-962 -966 0 +-962 -967 0 +-962 -968 0 +-962 -969 0 +-963 -964 0 +-963 -965 0 +-963 -966 0 +-963 -967 0 +-963 -968 0 +-963 -969 0 +-964 -965 0 +-964 -966 0 +-964 -967 0 +-964 -968 0 +-964 -969 0 +-965 -966 0 +-965 -967 0 +-965 -968 0 +-965 -969 0 +-966 -967 0 +-966 -968 0 +-966 -969 0 +-967 -968 0 +-967 -969 0 +-968 -969 0 +-971 -972 0 +-971 -973 0 +-971 -974 0 +-971 -975 0 +-971 -976 0 +-971 -977 0 +-971 -978 0 +-971 -979 0 +-972 -973 0 +-972 -974 0 +-972 -975 0 +-972 -976 0 +-972 -977 0 +-972 -978 0 +-972 -979 0 +-973 -974 0 +-973 -975 0 +-973 -976 0 +-973 -977 0 +-973 -978 0 +-973 -979 0 +-974 -975 0 +-974 -976 0 +-974 -977 0 +-974 -978 0 +-974 -979 0 +-975 -976 0 +-975 -977 0 +-975 -978 0 +-975 -979 0 +-976 -977 0 +-976 -978 0 +-976 -979 0 +-977 -978 0 +-977 -979 0 +-978 -979 0 +-981 -982 0 +-981 -983 0 +-981 -984 0 +-981 -985 0 +-981 -986 0 +-981 -987 0 +-981 -988 0 +-981 -989 0 +-982 -983 0 +-982 -984 0 +-982 -985 0 +-982 -986 0 +-982 -987 0 +-982 -988 0 +-982 -989 0 +-983 -984 0 +-983 -985 0 +-983 -986 0 +-983 -987 0 +-983 -988 0 +-983 -989 0 +-984 -985 0 +-984 -986 0 +-984 -987 0 +-984 -988 0 +-984 -989 0 +-985 -986 0 +-985 -987 0 +-985 -988 0 +-985 -989 0 +-986 -987 0 +-986 -988 0 +-986 -989 0 +-987 -988 0 +-987 -989 0 +-988 -989 0 +-991 -992 0 +-991 -993 0 +-991 -994 0 +-991 -995 0 +-991 -996 0 +-991 -997 0 +-991 -998 0 +-991 -999 0 +-992 -993 0 +-992 -994 0 +-992 -995 0 +-992 -996 0 +-992 -997 0 +-992 -998 0 +-992 -999 0 +-993 -994 0 +-993 -995 0 +-993 -996 0 +-993 -997 0 +-993 -998 0 +-993 -999 0 +-994 -995 0 +-994 -996 0 +-994 -997 0 +-994 -998 0 +-994 -999 0 +-995 -996 0 +-995 -997 0 +-995 -998 0 +-995 -999 0 +-996 -997 0 +-996 -998 0 +-996 -999 0 +-997 -998 0 +-997 -999 0 +-998 -999 0 \ No newline at end of file diff --git a/hwSat05/emptySudokuResults.txt b/hwSat05/emptySudokuResults.txt new file mode 100644 index 0000000000000000000000000000000000000000..0d78b0ec72441fdd73ba7dddc1d123f1220f6956 --- /dev/null +++ b/hwSat05/emptySudokuResults.txt @@ -0,0 +1,2 @@ +SAT +-1 -2 -3 -4 -5 -6 -7 -8 -9 -10 -11 -12 -13 -14 -15 -16 -17 -18 -19 -20 -21 -22 -23 -24 -25 -26 -27 -28 -29 -30 -31 -32 -33 -34 -35 -36 -37 -38 -39 -40 -41 -42 -43 -44 -45 -46 -47 -48 -49 -50 -51 -52 -53 -54 -55 -56 -57 -58 -59 -60 -61 -62 -63 -64 -65 -66 -67 -68 -69 -70 -71 -72 -73 -74 -75 -76 -77 -78 -79 -80 -81 -82 -83 -84 -85 -86 -87 -88 -89 -90 -91 -92 -93 -94 -95 -96 -97 -98 -99 -100 -101 -102 -103 -104 -105 -106 -107 -108 -109 -110 -111 -112 -113 -114 -115 -116 -117 -118 119 -120 -121 -122 -123 -124 -125 -126 -127 128 -129 -130 -131 -132 -133 134 -135 -136 -137 -138 -139 -140 -141 -142 143 -144 -145 -146 -147 -148 -149 -150 -151 -152 -153 -154 -155 -156 157 -158 -159 -160 161 -162 -163 -164 -165 -166 -167 -168 -169 -170 -171 -172 -173 -174 -175 176 -177 -178 -179 -180 -181 182 -183 -184 -185 -186 -187 -188 -189 -190 -191 -192 -193 -194 195 -196 -197 -198 -199 -200 -201 -202 -203 -204 -205 -206 -207 -208 -209 -210 -211 212 -213 -214 -215 -216 -217 -218 -219 -220 -221 -222 -223 -224 -225 -226 227 -228 -229 -230 -231 -232 -233 -234 -235 236 -237 -238 -239 -240 -241 -242 -243 -244 245 -246 -247 -248 -249 -250 -251 -252 -253 -254 -255 -256 -257 -258 259 -260 -261 -262 -263 -264 -265 -266 -267 268 -269 -270 271 -272 -273 -274 -275 -276 -277 -278 -279 -280 -281 -282 -283 284 -285 -286 -287 -288 -289 -290 -291 -292 293 -294 -295 -296 -297 -298 -299 -300 -301 -302 -303 -304 -305 -306 -307 -308 -309 -310 -311 -312 313 -314 -315 -316 -317 -318 -319 -320 -321 -322 -323 -324 325 -326 -327 -328 -329 -330 331 -332 -333 -334 -335 -336 -337 -338 -339 -340 -341 -342 -343 -344 -345 346 -347 -348 -349 -350 -351 352 -353 -354 -355 -356 -357 -358 -359 -360 -361 -362 -363 364 -365 -366 -367 -368 -369 -370 -371 -372 -373 -374 -375 -376 -377 378 -379 -380 -381 -382 -383 -384 -385 -386 -387 -388 389 -390 -391 -392 -393 -394 -395 -396 397 -398 -399 -400 -401 -402 -403 -404 -405 -406 -407 -408 -409 -410 411 -412 -413 -414 -415 -416 -417 -418 -419 -420 -421 -422 -423 424 -425 -426 -427 -428 -429 -430 -431 -432 -433 -434 -435 -436 -437 -438 439 -440 -441 -442 -443 -444 -445 -446 447 -448 -449 -450 -451 -452 -453 -454 -455 -456 -457 458 -459 -460 -461 -462 463 -464 -465 -466 -467 -468 -469 -470 -471 472 -473 -474 -475 -476 -477 -478 -479 -480 -481 -482 -483 -484 485 -486 -487 -488 -489 -490 -491 -492 -493 -494 -495 496 -497 -498 -499 -500 -501 -502 -503 -504 -505 -506 -507 -508 -509 -510 -511 -512 -513 -514 -515 -516 -517 518 -519 -520 -521 -522 523 -524 -525 -526 -527 -528 -529 -530 -531 -532 -533 -534 535 -536 -537 -538 -539 -540 -541 542 -543 -544 -545 -546 -547 -548 -549 -550 -551 -552 -553 554 -555 -556 -557 -558 -559 -560 -561 -562 -563 -564 -565 566 -567 -568 -569 -570 -571 -572 -573 -574 -575 -576 577 -578 -579 -580 581 -582 -583 -584 -585 -586 -587 -588 -589 -590 -591 -592 -593 -594 -595 -596 -597 -598 599 -600 -601 -602 -603 -604 -605 -606 -607 -608 -609 -610 -611 -612 -613 -614 -615 616 -617 -618 -619 -620 -621 622 -623 -624 -625 -626 -627 -628 -629 -630 -631 -632 -633 -634 -635 -636 637 -638 -639 -640 641 -642 -643 -644 -645 -646 -647 -648 -649 -650 -651 -652 -653 -654 655 -656 -657 -658 -659 -660 -661 -662 -663 -664 -665 -666 -667 -668 669 -670 -671 -672 673 -674 -675 -676 -677 -678 -679 -680 -681 -682 -683 -684 -685 -686 -687 688 -689 -690 -691 -692 -693 694 -695 -696 -697 -698 -699 -700 -701 -702 -703 -704 -705 -706 -707 -708 -709 -710 -711 -712 -713 714 -715 -716 -717 -718 -719 -720 -721 -722 -723 -724 -725 -726 -727 -728 729 -730 -731 732 -733 -734 -735 -736 -737 -738 -739 -740 -741 -742 -743 -744 -745 -746 -747 748 -749 -750 -751 -752 -753 -754 -755 756 -757 -758 -759 -760 -761 -762 -763 -764 -765 -766 767 -768 -769 -770 -771 -772 -773 -774 775 -776 -777 -778 -779 -780 -781 -782 783 -784 -785 -786 -787 -788 -789 -790 791 -792 -793 -794 -795 -796 -797 -798 -799 -800 -801 -802 -803 -804 -805 -806 -807 -808 -809 -810 -811 -812 -813 -814 -815 -816 817 -818 -819 -820 821 -822 -823 -824 -825 -826 -827 -828 -829 -830 -831 -832 -833 -834 -835 -836 -837 838 -839 -840 -841 -842 -843 844 -845 -846 -847 -848 -849 -850 -851 -852 853 -854 -855 -856 -857 -858 -859 -860 -861 -862 -863 -864 865 -866 -867 -868 -869 -870 -871 -872 -873 -874 -875 -876 -877 -878 879 -880 -881 -882 -883 -884 -885 886 -887 -888 -889 -890 -891 892 -893 -894 -895 -896 -897 -898 -899 -900 -901 -902 -903 -904 -905 -906 -907 -908 -909 -910 -911 -912 -913 -914 915 -916 -917 -918 -919 -920 -921 -922 -923 -924 -925 926 -927 -928 -929 -930 -931 -932 933 -934 -935 -936 -937 -938 -939 -940 -941 -942 -943 -944 -945 -946 -947 -948 949 -950 951 -952 -953 -954 -955 -956 -957 -958 -959 -960 -961 962 -963 -964 -965 -966 -967 -968 -969 -970 -971 -972 -973 974 -975 -976 -977 -978 -979 -980 -981 -982 -983 -984 -985 -986 987 -988 -989 -990 -991 -992 -993 -994 -995 -996 -997 998 -999 0 diff --git a/hwSat05/src/GenerateSudoku.java b/hwSat05/src/GenerateSudoku.java new file mode 100644 index 0000000000000000000000000000000000000000..e3a090c93b76e9c8ccb75cd1f20aab9d1b13fa40 --- /dev/null +++ b/hwSat05/src/GenerateSudoku.java @@ -0,0 +1,86 @@ +/* + * Daniel Shchur + * CSCE235H + * + * Sudoku CNF DIMACS Generator + * + * Description: Generates the Sudoku CNF problem in DIMACS format to be able to be used in a minisat solver + * + * NOTE: Current Version generates the problem for an empty sudoku board + */ + +public class GenerateSudoku { + + public static void main(String[] args) { + + //Print statement to generate the comment section. + System.out.print( + "c Daniel Shchur\n" + + "c\n" + + "c Sudoku CNF Problem\n" + + "c\n" + + "c Provides an empty Sudoku board to be solved\n" + + "c\n"); + + //Prints header + System.out.println("p cnf 729 3159"); + + //Iterates over 3 loops so that it goes through every row in the sudoku board giving a number 1-9 + System.out.println("c (1) Every row contains every number:"); + for(int i=1; i < 10; i++) { + for(int n=1; n < 10; n++) { + for(int j=1; j < 10; j++) { + //Prints the combination as a single variable + System.out.printf("%d%d%d ", i, j, n); + } + //Prints the terminating character + System.out.println("0"); + } + } + + //Iterates over 3 loops so that it goes through every column in the sudoku board giving a number 1-9 + System.out.println("c (2) Every column contains every number:"); + for(int j=1; j < 10; j++) { + for(int n=1; n < 10; n++) { + for(int i=1; i < 10; i++) { + //Prints the combination as a single variable + System.out.printf("%d%d%d ", i, j, n); + } + //Prints the terminating character + System.out.println("0"); + } + } + + //Iterates over 5 loops so that it goes through every 3x3 grid in the sudoku board giving a number 1-9 + System.out.println("c (3) Each 3x3 block contains every number:"); + for(int r=0; r < 3; r++) { + for(int s=0; s < 3; s++) { + for(int n=1; n < 10; n++) { + for(int i=1; i < 4; i++) { + for(int j=1; j < 4; j++) { + //Prints the combination as a single variable + System.out.printf("%d%d%d ", (3*r + i), (3*s + j), n); + } + } + //Prints the terminating character + System.out.println("0"); + } + } + } + + //Iterates over 4 loops so that it goes through every cell in the sudoku board making sure no cell has more than 1 number + System.out.println("c (4) No cell contains more than one number:"); + for(int i=1; i < 10; i++) { + for(int j=1; j < 10; j++) { + for(int n=1; n < 9; n++) { + for(int m=n+1; m < 10; m++) { + //Prints the combination as a single variable with terminating character + System.out.printf("%d%d%d %d%d%d %d\n", -i, j, n, -i, j, m, 0); + } + } + } + } + + //End of code + } +} \ No newline at end of file diff --git a/hwSat06/.classpath b/hwSat06/.classpath new file mode 100644 index 0000000000000000000000000000000000000000..0cbf9cda0437f562541924448019c8381753a991 --- /dev/null +++ b/hwSat06/.classpath @@ -0,0 +1,6 @@ +<?xml version="1.0" encoding="UTF-8"?> +<classpath> + <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/> + <classpathentry kind="src" path="src"/> + <classpathentry kind="output" path="bin"/> +</classpath> diff --git a/hwSat06/.gitignore b/hwSat06/.gitignore new file mode 100644 index 0000000000000000000000000000000000000000..38cd1300081480f1e8082498bd553874b364ecad --- /dev/null +++ b/hwSat06/.gitignore @@ -0,0 +1,2 @@ +/GenerateSudoku.class +/bin/ diff --git a/hwSat06/.project b/hwSat06/.project new file mode 100644 index 0000000000000000000000000000000000000000..750740fd58803c59ee4b6c0bfcb1d1872add5f60 --- /dev/null +++ b/hwSat06/.project @@ -0,0 +1,17 @@ +<?xml version="1.0" encoding="UTF-8"?> +<projectDescription> + <name>hwSat06</name> + <comment></comment> + <projects> + </projects> + <buildSpec> + <buildCommand> + <name>org.eclipse.jdt.core.javabuilder</name> + <arguments> + </arguments> + </buildCommand> + </buildSpec> + <natures> + <nature>org.eclipse.jdt.core.javanature</nature> + </natures> +</projectDescription> diff --git a/hwSat06/SAThw06.pdf b/hwSat06/SAThw06.pdf new file mode 100644 index 0000000000000000000000000000000000000000..e6fde77a4c64956b0d6a51f15c94452bbcea367d Binary files /dev/null and b/hwSat06/SAThw06.pdf differ diff --git a/hwSat06/aiEscargot.cnf b/hwSat06/aiEscargot.cnf new file mode 100644 index 0000000000000000000000000000000000000000..63ebc442e4fd9f139f820bda4a04bc5f6dd757ec --- /dev/null +++ b/hwSat06/aiEscargot.cnf @@ -0,0 +1,3195 @@ +c Daniel Shchur +c +c Sudoku CNF Problem +c +c Provides a Sudoku board to be solved +c +p cnf 729 3183 +c (1) Every row contains every number: +111 121 131 141 151 161 171 181 191 0 +112 122 132 142 152 162 172 182 192 0 +113 123 133 143 153 163 173 183 193 0 +114 124 134 144 154 164 174 184 194 0 +115 125 135 145 155 165 175 185 195 0 +116 126 136 146 156 166 176 186 196 0 +117 127 137 147 157 167 177 187 197 0 +118 128 138 148 158 168 178 188 198 0 +119 129 139 149 159 169 179 189 199 0 +211 221 231 241 251 261 271 281 291 0 +212 222 232 242 252 262 272 282 292 0 +213 223 233 243 253 263 273 283 293 0 +214 224 234 244 254 264 274 284 294 0 +215 225 235 245 255 265 275 285 295 0 +216 226 236 246 256 266 276 286 296 0 +217 227 237 247 257 267 277 287 297 0 +218 228 238 248 258 268 278 288 298 0 +219 229 239 249 259 269 279 289 299 0 +311 321 331 341 351 361 371 381 391 0 +312 322 332 342 352 362 372 382 392 0 +313 323 333 343 353 363 373 383 393 0 +314 324 334 344 354 364 374 384 394 0 +315 325 335 345 355 365 375 385 395 0 +316 326 336 346 356 366 376 386 396 0 +317 327 337 347 357 367 377 387 397 0 +318 328 338 348 358 368 378 388 398 0 +319 329 339 349 359 369 379 389 399 0 +411 421 431 441 451 461 471 481 491 0 +412 422 432 442 452 462 472 482 492 0 +413 423 433 443 453 463 473 483 493 0 +414 424 434 444 454 464 474 484 494 0 +415 425 435 445 455 465 475 485 495 0 +416 426 436 446 456 466 476 486 496 0 +417 427 437 447 457 467 477 487 497 0 +418 428 438 448 458 468 478 488 498 0 +419 429 439 449 459 469 479 489 499 0 +511 521 531 541 551 561 571 581 591 0 +512 522 532 542 552 562 572 582 592 0 +513 523 533 543 553 563 573 583 593 0 +514 524 534 544 554 564 574 584 594 0 +515 525 535 545 555 565 575 585 595 0 +516 526 536 546 556 566 576 586 596 0 +517 527 537 547 557 567 577 587 597 0 +518 528 538 548 558 568 578 588 598 0 +519 529 539 549 559 569 579 589 599 0 +611 621 631 641 651 661 671 681 691 0 +612 622 632 642 652 662 672 682 692 0 +613 623 633 643 653 663 673 683 693 0 +614 624 634 644 654 664 674 684 694 0 +615 625 635 645 655 665 675 685 695 0 +616 626 636 646 656 666 676 686 696 0 +617 627 637 647 657 667 677 687 697 0 +618 628 638 648 658 668 678 688 698 0 +619 629 639 649 659 669 679 689 699 0 +711 721 731 741 751 761 771 781 791 0 +712 722 732 742 752 762 772 782 792 0 +713 723 733 743 753 763 773 783 793 0 +714 724 734 744 754 764 774 784 794 0 +715 725 735 745 755 765 775 785 795 0 +716 726 736 746 756 766 776 786 796 0 +717 727 737 747 757 767 777 787 797 0 +718 728 738 748 758 768 778 788 798 0 +719 729 739 749 759 769 779 789 799 0 +811 821 831 841 851 861 871 881 891 0 +812 822 832 842 852 862 872 882 892 0 +813 823 833 843 853 863 873 883 893 0 +814 824 834 844 854 864 874 884 894 0 +815 825 835 845 855 865 875 885 895 0 +816 826 836 846 856 866 876 886 896 0 +817 827 837 847 857 867 877 887 897 0 +818 828 838 848 858 868 878 888 898 0 +819 829 839 849 859 869 879 889 899 0 +911 921 931 941 951 961 971 981 991 0 +912 922 932 942 952 962 972 982 992 0 +913 923 933 943 953 963 973 983 993 0 +914 924 934 944 954 964 974 984 994 0 +915 925 935 945 955 965 975 985 995 0 +916 926 936 946 956 966 976 986 996 0 +917 927 937 947 957 967 977 987 997 0 +918 928 938 948 958 968 978 988 998 0 +919 929 939 949 959 969 979 989 999 0 +c (2) Every column contains every number: +111 211 311 411 511 611 711 811 911 0 +112 212 312 412 512 612 712 812 912 0 +113 213 313 413 513 613 713 813 913 0 +114 214 314 414 514 614 714 814 914 0 +115 215 315 415 515 615 715 815 915 0 +116 216 316 416 516 616 716 816 916 0 +117 217 317 417 517 617 717 817 917 0 +118 218 318 418 518 618 718 818 918 0 +119 219 319 419 519 619 719 819 919 0 +121 221 321 421 521 621 721 821 921 0 +122 222 322 422 522 622 722 822 922 0 +123 223 323 423 523 623 723 823 923 0 +124 224 324 424 524 624 724 824 924 0 +125 225 325 425 525 625 725 825 925 0 +126 226 326 426 526 626 726 826 926 0 +127 227 327 427 527 627 727 827 927 0 +128 228 328 428 528 628 728 828 928 0 +129 229 329 429 529 629 729 829 929 0 +131 231 331 431 531 631 731 831 931 0 +132 232 332 432 532 632 732 832 932 0 +133 233 333 433 533 633 733 833 933 0 +134 234 334 434 534 634 734 834 934 0 +135 235 335 435 535 635 735 835 935 0 +136 236 336 436 536 636 736 836 936 0 +137 237 337 437 537 637 737 837 937 0 +138 238 338 438 538 638 738 838 938 0 +139 239 339 439 539 639 739 839 939 0 +141 241 341 441 541 641 741 841 941 0 +142 242 342 442 542 642 742 842 942 0 +143 243 343 443 543 643 743 843 943 0 +144 244 344 444 544 644 744 844 944 0 +145 245 345 445 545 645 745 845 945 0 +146 246 346 446 546 646 746 846 946 0 +147 247 347 447 547 647 747 847 947 0 +148 248 348 448 548 648 748 848 948 0 +149 249 349 449 549 649 749 849 949 0 +151 251 351 451 551 651 751 851 951 0 +152 252 352 452 552 652 752 852 952 0 +153 253 353 453 553 653 753 853 953 0 +154 254 354 454 554 654 754 854 954 0 +155 255 355 455 555 655 755 855 955 0 +156 256 356 456 556 656 756 856 956 0 +157 257 357 457 557 657 757 857 957 0 +158 258 358 458 558 658 758 858 958 0 +159 259 359 459 559 659 759 859 959 0 +161 261 361 461 561 661 761 861 961 0 +162 262 362 462 562 662 762 862 962 0 +163 263 363 463 563 663 763 863 963 0 +164 264 364 464 564 664 764 864 964 0 +165 265 365 465 565 665 765 865 965 0 +166 266 366 466 566 666 766 866 966 0 +167 267 367 467 567 667 767 867 967 0 +168 268 368 468 568 668 768 868 968 0 +169 269 369 469 569 669 769 869 969 0 +171 271 371 471 571 671 771 871 971 0 +172 272 372 472 572 672 772 872 972 0 +173 273 373 473 573 673 773 873 973 0 +174 274 374 474 574 674 774 874 974 0 +175 275 375 475 575 675 775 875 975 0 +176 276 376 476 576 676 776 876 976 0 +177 277 377 477 577 677 777 877 977 0 +178 278 378 478 578 678 778 878 978 0 +179 279 379 479 579 679 779 879 979 0 +181 281 381 481 581 681 781 881 981 0 +182 282 382 482 582 682 782 882 982 0 +183 283 383 483 583 683 783 883 983 0 +184 284 384 484 584 684 784 884 984 0 +185 285 385 485 585 685 785 885 985 0 +186 286 386 486 586 686 786 886 986 0 +187 287 387 487 587 687 787 887 987 0 +188 288 388 488 588 688 788 888 988 0 +189 289 389 489 589 689 789 889 989 0 +191 291 391 491 591 691 791 891 991 0 +192 292 392 492 592 692 792 892 992 0 +193 293 393 493 593 693 793 893 993 0 +194 294 394 494 594 694 794 894 994 0 +195 295 395 495 595 695 795 895 995 0 +196 296 396 496 596 696 796 896 996 0 +197 297 397 497 597 697 797 897 997 0 +198 298 398 498 598 698 798 898 998 0 +199 299 399 499 599 699 799 899 999 0 +c (3) Each 3x3 block contains every number: +111 121 131 211 221 231 311 321 331 0 +112 122 132 212 222 232 312 322 332 0 +113 123 133 213 223 233 313 323 333 0 +114 124 134 214 224 234 314 324 334 0 +115 125 135 215 225 235 315 325 335 0 +116 126 136 216 226 236 316 326 336 0 +117 127 137 217 227 237 317 327 337 0 +118 128 138 218 228 238 318 328 338 0 +119 129 139 219 229 239 319 329 339 0 +141 151 161 241 251 261 341 351 361 0 +142 152 162 242 252 262 342 352 362 0 +143 153 163 243 253 263 343 353 363 0 +144 154 164 244 254 264 344 354 364 0 +145 155 165 245 255 265 345 355 365 0 +146 156 166 246 256 266 346 356 366 0 +147 157 167 247 257 267 347 357 367 0 +148 158 168 248 258 268 348 358 368 0 +149 159 169 249 259 269 349 359 369 0 +171 181 191 271 281 291 371 381 391 0 +172 182 192 272 282 292 372 382 392 0 +173 183 193 273 283 293 373 383 393 0 +174 184 194 274 284 294 374 384 394 0 +175 185 195 275 285 295 375 385 395 0 +176 186 196 276 286 296 376 386 396 0 +177 187 197 277 287 297 377 387 397 0 +178 188 198 278 288 298 378 388 398 0 +179 189 199 279 289 299 379 389 399 0 +411 421 431 511 521 531 611 621 631 0 +412 422 432 512 522 532 612 622 632 0 +413 423 433 513 523 533 613 623 633 0 +414 424 434 514 524 534 614 624 634 0 +415 425 435 515 525 535 615 625 635 0 +416 426 436 516 526 536 616 626 636 0 +417 427 437 517 527 537 617 627 637 0 +418 428 438 518 528 538 618 628 638 0 +419 429 439 519 529 539 619 629 639 0 +441 451 461 541 551 561 641 651 661 0 +442 452 462 542 552 562 642 652 662 0 +443 453 463 543 553 563 643 653 663 0 +444 454 464 544 554 564 644 654 664 0 +445 455 465 545 555 565 645 655 665 0 +446 456 466 546 556 566 646 656 666 0 +447 457 467 547 557 567 647 657 667 0 +448 458 468 548 558 568 648 658 668 0 +449 459 469 549 559 569 649 659 669 0 +471 481 491 571 581 591 671 681 691 0 +472 482 492 572 582 592 672 682 692 0 +473 483 493 573 583 593 673 683 693 0 +474 484 494 574 584 594 674 684 694 0 +475 485 495 575 585 595 675 685 695 0 +476 486 496 576 586 596 676 686 696 0 +477 487 497 577 587 597 677 687 697 0 +478 488 498 578 588 598 678 688 698 0 +479 489 499 579 589 599 679 689 699 0 +711 721 731 811 821 831 911 921 931 0 +712 722 732 812 822 832 912 922 932 0 +713 723 733 813 823 833 913 923 933 0 +714 724 734 814 824 834 914 924 934 0 +715 725 735 815 825 835 915 925 935 0 +716 726 736 816 826 836 916 926 936 0 +717 727 737 817 827 837 917 927 937 0 +718 728 738 818 828 838 918 928 938 0 +719 729 739 819 829 839 919 929 939 0 +741 751 761 841 851 861 941 951 961 0 +742 752 762 842 852 862 942 952 962 0 +743 753 763 843 853 863 943 953 963 0 +744 754 764 844 854 864 944 954 964 0 +745 755 765 845 855 865 945 955 965 0 +746 756 766 846 856 866 946 956 966 0 +747 757 767 847 857 867 947 957 967 0 +748 758 768 848 858 868 948 958 968 0 +749 759 769 849 859 869 949 959 969 0 +771 781 791 871 881 891 971 981 991 0 +772 782 792 872 882 892 972 982 992 0 +773 783 793 873 883 893 973 983 993 0 +774 784 794 874 884 894 974 984 994 0 +775 785 795 875 885 895 975 985 995 0 +776 786 796 876 886 896 976 986 996 0 +777 787 797 877 887 897 977 987 997 0 +778 788 798 878 888 898 978 988 998 0 +779 789 799 879 889 899 979 989 999 0 +c (4) No cell contains more than one number: +-111 -112 0 +-111 -113 0 +-111 -114 0 +-111 -115 0 +-111 -116 0 +-111 -117 0 +-111 -118 0 +-111 -119 0 +-112 -113 0 +-112 -114 0 +-112 -115 0 +-112 -116 0 +-112 -117 0 +-112 -118 0 +-112 -119 0 +-113 -114 0 +-113 -115 0 +-113 -116 0 +-113 -117 0 +-113 -118 0 +-113 -119 0 +-114 -115 0 +-114 -116 0 +-114 -117 0 +-114 -118 0 +-114 -119 0 +-115 -116 0 +-115 -117 0 +-115 -118 0 +-115 -119 0 +-116 -117 0 +-116 -118 0 +-116 -119 0 +-117 -118 0 +-117 -119 0 +-118 -119 0 +-121 -122 0 +-121 -123 0 +-121 -124 0 +-121 -125 0 +-121 -126 0 +-121 -127 0 +-121 -128 0 +-121 -129 0 +-122 -123 0 +-122 -124 0 +-122 -125 0 +-122 -126 0 +-122 -127 0 +-122 -128 0 +-122 -129 0 +-123 -124 0 +-123 -125 0 +-123 -126 0 +-123 -127 0 +-123 -128 0 +-123 -129 0 +-124 -125 0 +-124 -126 0 +-124 -127 0 +-124 -128 0 +-124 -129 0 +-125 -126 0 +-125 -127 0 +-125 -128 0 +-125 -129 0 +-126 -127 0 +-126 -128 0 +-126 -129 0 +-127 -128 0 +-127 -129 0 +-128 -129 0 +-131 -132 0 +-131 -133 0 +-131 -134 0 +-131 -135 0 +-131 -136 0 +-131 -137 0 +-131 -138 0 +-131 -139 0 +-132 -133 0 +-132 -134 0 +-132 -135 0 +-132 -136 0 +-132 -137 0 +-132 -138 0 +-132 -139 0 +-133 -134 0 +-133 -135 0 +-133 -136 0 +-133 -137 0 +-133 -138 0 +-133 -139 0 +-134 -135 0 +-134 -136 0 +-134 -137 0 +-134 -138 0 +-134 -139 0 +-135 -136 0 +-135 -137 0 +-135 -138 0 +-135 -139 0 +-136 -137 0 +-136 -138 0 +-136 -139 0 +-137 -138 0 +-137 -139 0 +-138 -139 0 +-141 -142 0 +-141 -143 0 +-141 -144 0 +-141 -145 0 +-141 -146 0 +-141 -147 0 +-141 -148 0 +-141 -149 0 +-142 -143 0 +-142 -144 0 +-142 -145 0 +-142 -146 0 +-142 -147 0 +-142 -148 0 +-142 -149 0 +-143 -144 0 +-143 -145 0 +-143 -146 0 +-143 -147 0 +-143 -148 0 +-143 -149 0 +-144 -145 0 +-144 -146 0 +-144 -147 0 +-144 -148 0 +-144 -149 0 +-145 -146 0 +-145 -147 0 +-145 -148 0 +-145 -149 0 +-146 -147 0 +-146 -148 0 +-146 -149 0 +-147 -148 0 +-147 -149 0 +-148 -149 0 +-151 -152 0 +-151 -153 0 +-151 -154 0 +-151 -155 0 +-151 -156 0 +-151 -157 0 +-151 -158 0 +-151 -159 0 +-152 -153 0 +-152 -154 0 +-152 -155 0 +-152 -156 0 +-152 -157 0 +-152 -158 0 +-152 -159 0 +-153 -154 0 +-153 -155 0 +-153 -156 0 +-153 -157 0 +-153 -158 0 +-153 -159 0 +-154 -155 0 +-154 -156 0 +-154 -157 0 +-154 -158 0 +-154 -159 0 +-155 -156 0 +-155 -157 0 +-155 -158 0 +-155 -159 0 +-156 -157 0 +-156 -158 0 +-156 -159 0 +-157 -158 0 +-157 -159 0 +-158 -159 0 +-161 -162 0 +-161 -163 0 +-161 -164 0 +-161 -165 0 +-161 -166 0 +-161 -167 0 +-161 -168 0 +-161 -169 0 +-162 -163 0 +-162 -164 0 +-162 -165 0 +-162 -166 0 +-162 -167 0 +-162 -168 0 +-162 -169 0 +-163 -164 0 +-163 -165 0 +-163 -166 0 +-163 -167 0 +-163 -168 0 +-163 -169 0 +-164 -165 0 +-164 -166 0 +-164 -167 0 +-164 -168 0 +-164 -169 0 +-165 -166 0 +-165 -167 0 +-165 -168 0 +-165 -169 0 +-166 -167 0 +-166 -168 0 +-166 -169 0 +-167 -168 0 +-167 -169 0 +-168 -169 0 +-171 -172 0 +-171 -173 0 +-171 -174 0 +-171 -175 0 +-171 -176 0 +-171 -177 0 +-171 -178 0 +-171 -179 0 +-172 -173 0 +-172 -174 0 +-172 -175 0 +-172 -176 0 +-172 -177 0 +-172 -178 0 +-172 -179 0 +-173 -174 0 +-173 -175 0 +-173 -176 0 +-173 -177 0 +-173 -178 0 +-173 -179 0 +-174 -175 0 +-174 -176 0 +-174 -177 0 +-174 -178 0 +-174 -179 0 +-175 -176 0 +-175 -177 0 +-175 -178 0 +-175 -179 0 +-176 -177 0 +-176 -178 0 +-176 -179 0 +-177 -178 0 +-177 -179 0 +-178 -179 0 +-181 -182 0 +-181 -183 0 +-181 -184 0 +-181 -185 0 +-181 -186 0 +-181 -187 0 +-181 -188 0 +-181 -189 0 +-182 -183 0 +-182 -184 0 +-182 -185 0 +-182 -186 0 +-182 -187 0 +-182 -188 0 +-182 -189 0 +-183 -184 0 +-183 -185 0 +-183 -186 0 +-183 -187 0 +-183 -188 0 +-183 -189 0 +-184 -185 0 +-184 -186 0 +-184 -187 0 +-184 -188 0 +-184 -189 0 +-185 -186 0 +-185 -187 0 +-185 -188 0 +-185 -189 0 +-186 -187 0 +-186 -188 0 +-186 -189 0 +-187 -188 0 +-187 -189 0 +-188 -189 0 +-191 -192 0 +-191 -193 0 +-191 -194 0 +-191 -195 0 +-191 -196 0 +-191 -197 0 +-191 -198 0 +-191 -199 0 +-192 -193 0 +-192 -194 0 +-192 -195 0 +-192 -196 0 +-192 -197 0 +-192 -198 0 +-192 -199 0 +-193 -194 0 +-193 -195 0 +-193 -196 0 +-193 -197 0 +-193 -198 0 +-193 -199 0 +-194 -195 0 +-194 -196 0 +-194 -197 0 +-194 -198 0 +-194 -199 0 +-195 -196 0 +-195 -197 0 +-195 -198 0 +-195 -199 0 +-196 -197 0 +-196 -198 0 +-196 -199 0 +-197 -198 0 +-197 -199 0 +-198 -199 0 +-211 -212 0 +-211 -213 0 +-211 -214 0 +-211 -215 0 +-211 -216 0 +-211 -217 0 +-211 -218 0 +-211 -219 0 +-212 -213 0 +-212 -214 0 +-212 -215 0 +-212 -216 0 +-212 -217 0 +-212 -218 0 +-212 -219 0 +-213 -214 0 +-213 -215 0 +-213 -216 0 +-213 -217 0 +-213 -218 0 +-213 -219 0 +-214 -215 0 +-214 -216 0 +-214 -217 0 +-214 -218 0 +-214 -219 0 +-215 -216 0 +-215 -217 0 +-215 -218 0 +-215 -219 0 +-216 -217 0 +-216 -218 0 +-216 -219 0 +-217 -218 0 +-217 -219 0 +-218 -219 0 +-221 -222 0 +-221 -223 0 +-221 -224 0 +-221 -225 0 +-221 -226 0 +-221 -227 0 +-221 -228 0 +-221 -229 0 +-222 -223 0 +-222 -224 0 +-222 -225 0 +-222 -226 0 +-222 -227 0 +-222 -228 0 +-222 -229 0 +-223 -224 0 +-223 -225 0 +-223 -226 0 +-223 -227 0 +-223 -228 0 +-223 -229 0 +-224 -225 0 +-224 -226 0 +-224 -227 0 +-224 -228 0 +-224 -229 0 +-225 -226 0 +-225 -227 0 +-225 -228 0 +-225 -229 0 +-226 -227 0 +-226 -228 0 +-226 -229 0 +-227 -228 0 +-227 -229 0 +-228 -229 0 +-231 -232 0 +-231 -233 0 +-231 -234 0 +-231 -235 0 +-231 -236 0 +-231 -237 0 +-231 -238 0 +-231 -239 0 +-232 -233 0 +-232 -234 0 +-232 -235 0 +-232 -236 0 +-232 -237 0 +-232 -238 0 +-232 -239 0 +-233 -234 0 +-233 -235 0 +-233 -236 0 +-233 -237 0 +-233 -238 0 +-233 -239 0 +-234 -235 0 +-234 -236 0 +-234 -237 0 +-234 -238 0 +-234 -239 0 +-235 -236 0 +-235 -237 0 +-235 -238 0 +-235 -239 0 +-236 -237 0 +-236 -238 0 +-236 -239 0 +-237 -238 0 +-237 -239 0 +-238 -239 0 +-241 -242 0 +-241 -243 0 +-241 -244 0 +-241 -245 0 +-241 -246 0 +-241 -247 0 +-241 -248 0 +-241 -249 0 +-242 -243 0 +-242 -244 0 +-242 -245 0 +-242 -246 0 +-242 -247 0 +-242 -248 0 +-242 -249 0 +-243 -244 0 +-243 -245 0 +-243 -246 0 +-243 -247 0 +-243 -248 0 +-243 -249 0 +-244 -245 0 +-244 -246 0 +-244 -247 0 +-244 -248 0 +-244 -249 0 +-245 -246 0 +-245 -247 0 +-245 -248 0 +-245 -249 0 +-246 -247 0 +-246 -248 0 +-246 -249 0 +-247 -248 0 +-247 -249 0 +-248 -249 0 +-251 -252 0 +-251 -253 0 +-251 -254 0 +-251 -255 0 +-251 -256 0 +-251 -257 0 +-251 -258 0 +-251 -259 0 +-252 -253 0 +-252 -254 0 +-252 -255 0 +-252 -256 0 +-252 -257 0 +-252 -258 0 +-252 -259 0 +-253 -254 0 +-253 -255 0 +-253 -256 0 +-253 -257 0 +-253 -258 0 +-253 -259 0 +-254 -255 0 +-254 -256 0 +-254 -257 0 +-254 -258 0 +-254 -259 0 +-255 -256 0 +-255 -257 0 +-255 -258 0 +-255 -259 0 +-256 -257 0 +-256 -258 0 +-256 -259 0 +-257 -258 0 +-257 -259 0 +-258 -259 0 +-261 -262 0 +-261 -263 0 +-261 -264 0 +-261 -265 0 +-261 -266 0 +-261 -267 0 +-261 -268 0 +-261 -269 0 +-262 -263 0 +-262 -264 0 +-262 -265 0 +-262 -266 0 +-262 -267 0 +-262 -268 0 +-262 -269 0 +-263 -264 0 +-263 -265 0 +-263 -266 0 +-263 -267 0 +-263 -268 0 +-263 -269 0 +-264 -265 0 +-264 -266 0 +-264 -267 0 +-264 -268 0 +-264 -269 0 +-265 -266 0 +-265 -267 0 +-265 -268 0 +-265 -269 0 +-266 -267 0 +-266 -268 0 +-266 -269 0 +-267 -268 0 +-267 -269 0 +-268 -269 0 +-271 -272 0 +-271 -273 0 +-271 -274 0 +-271 -275 0 +-271 -276 0 +-271 -277 0 +-271 -278 0 +-271 -279 0 +-272 -273 0 +-272 -274 0 +-272 -275 0 +-272 -276 0 +-272 -277 0 +-272 -278 0 +-272 -279 0 +-273 -274 0 +-273 -275 0 +-273 -276 0 +-273 -277 0 +-273 -278 0 +-273 -279 0 +-274 -275 0 +-274 -276 0 +-274 -277 0 +-274 -278 0 +-274 -279 0 +-275 -276 0 +-275 -277 0 +-275 -278 0 +-275 -279 0 +-276 -277 0 +-276 -278 0 +-276 -279 0 +-277 -278 0 +-277 -279 0 +-278 -279 0 +-281 -282 0 +-281 -283 0 +-281 -284 0 +-281 -285 0 +-281 -286 0 +-281 -287 0 +-281 -288 0 +-281 -289 0 +-282 -283 0 +-282 -284 0 +-282 -285 0 +-282 -286 0 +-282 -287 0 +-282 -288 0 +-282 -289 0 +-283 -284 0 +-283 -285 0 +-283 -286 0 +-283 -287 0 +-283 -288 0 +-283 -289 0 +-284 -285 0 +-284 -286 0 +-284 -287 0 +-284 -288 0 +-284 -289 0 +-285 -286 0 +-285 -287 0 +-285 -288 0 +-285 -289 0 +-286 -287 0 +-286 -288 0 +-286 -289 0 +-287 -288 0 +-287 -289 0 +-288 -289 0 +-291 -292 0 +-291 -293 0 +-291 -294 0 +-291 -295 0 +-291 -296 0 +-291 -297 0 +-291 -298 0 +-291 -299 0 +-292 -293 0 +-292 -294 0 +-292 -295 0 +-292 -296 0 +-292 -297 0 +-292 -298 0 +-292 -299 0 +-293 -294 0 +-293 -295 0 +-293 -296 0 +-293 -297 0 +-293 -298 0 +-293 -299 0 +-294 -295 0 +-294 -296 0 +-294 -297 0 +-294 -298 0 +-294 -299 0 +-295 -296 0 +-295 -297 0 +-295 -298 0 +-295 -299 0 +-296 -297 0 +-296 -298 0 +-296 -299 0 +-297 -298 0 +-297 -299 0 +-298 -299 0 +-311 -312 0 +-311 -313 0 +-311 -314 0 +-311 -315 0 +-311 -316 0 +-311 -317 0 +-311 -318 0 +-311 -319 0 +-312 -313 0 +-312 -314 0 +-312 -315 0 +-312 -316 0 +-312 -317 0 +-312 -318 0 +-312 -319 0 +-313 -314 0 +-313 -315 0 +-313 -316 0 +-313 -317 0 +-313 -318 0 +-313 -319 0 +-314 -315 0 +-314 -316 0 +-314 -317 0 +-314 -318 0 +-314 -319 0 +-315 -316 0 +-315 -317 0 +-315 -318 0 +-315 -319 0 +-316 -317 0 +-316 -318 0 +-316 -319 0 +-317 -318 0 +-317 -319 0 +-318 -319 0 +-321 -322 0 +-321 -323 0 +-321 -324 0 +-321 -325 0 +-321 -326 0 +-321 -327 0 +-321 -328 0 +-321 -329 0 +-322 -323 0 +-322 -324 0 +-322 -325 0 +-322 -326 0 +-322 -327 0 +-322 -328 0 +-322 -329 0 +-323 -324 0 +-323 -325 0 +-323 -326 0 +-323 -327 0 +-323 -328 0 +-323 -329 0 +-324 -325 0 +-324 -326 0 +-324 -327 0 +-324 -328 0 +-324 -329 0 +-325 -326 0 +-325 -327 0 +-325 -328 0 +-325 -329 0 +-326 -327 0 +-326 -328 0 +-326 -329 0 +-327 -328 0 +-327 -329 0 +-328 -329 0 +-331 -332 0 +-331 -333 0 +-331 -334 0 +-331 -335 0 +-331 -336 0 +-331 -337 0 +-331 -338 0 +-331 -339 0 +-332 -333 0 +-332 -334 0 +-332 -335 0 +-332 -336 0 +-332 -337 0 +-332 -338 0 +-332 -339 0 +-333 -334 0 +-333 -335 0 +-333 -336 0 +-333 -337 0 +-333 -338 0 +-333 -339 0 +-334 -335 0 +-334 -336 0 +-334 -337 0 +-334 -338 0 +-334 -339 0 +-335 -336 0 +-335 -337 0 +-335 -338 0 +-335 -339 0 +-336 -337 0 +-336 -338 0 +-336 -339 0 +-337 -338 0 +-337 -339 0 +-338 -339 0 +-341 -342 0 +-341 -343 0 +-341 -344 0 +-341 -345 0 +-341 -346 0 +-341 -347 0 +-341 -348 0 +-341 -349 0 +-342 -343 0 +-342 -344 0 +-342 -345 0 +-342 -346 0 +-342 -347 0 +-342 -348 0 +-342 -349 0 +-343 -344 0 +-343 -345 0 +-343 -346 0 +-343 -347 0 +-343 -348 0 +-343 -349 0 +-344 -345 0 +-344 -346 0 +-344 -347 0 +-344 -348 0 +-344 -349 0 +-345 -346 0 +-345 -347 0 +-345 -348 0 +-345 -349 0 +-346 -347 0 +-346 -348 0 +-346 -349 0 +-347 -348 0 +-347 -349 0 +-348 -349 0 +-351 -352 0 +-351 -353 0 +-351 -354 0 +-351 -355 0 +-351 -356 0 +-351 -357 0 +-351 -358 0 +-351 -359 0 +-352 -353 0 +-352 -354 0 +-352 -355 0 +-352 -356 0 +-352 -357 0 +-352 -358 0 +-352 -359 0 +-353 -354 0 +-353 -355 0 +-353 -356 0 +-353 -357 0 +-353 -358 0 +-353 -359 0 +-354 -355 0 +-354 -356 0 +-354 -357 0 +-354 -358 0 +-354 -359 0 +-355 -356 0 +-355 -357 0 +-355 -358 0 +-355 -359 0 +-356 -357 0 +-356 -358 0 +-356 -359 0 +-357 -358 0 +-357 -359 0 +-358 -359 0 +-361 -362 0 +-361 -363 0 +-361 -364 0 +-361 -365 0 +-361 -366 0 +-361 -367 0 +-361 -368 0 +-361 -369 0 +-362 -363 0 +-362 -364 0 +-362 -365 0 +-362 -366 0 +-362 -367 0 +-362 -368 0 +-362 -369 0 +-363 -364 0 +-363 -365 0 +-363 -366 0 +-363 -367 0 +-363 -368 0 +-363 -369 0 +-364 -365 0 +-364 -366 0 +-364 -367 0 +-364 -368 0 +-364 -369 0 +-365 -366 0 +-365 -367 0 +-365 -368 0 +-365 -369 0 +-366 -367 0 +-366 -368 0 +-366 -369 0 +-367 -368 0 +-367 -369 0 +-368 -369 0 +-371 -372 0 +-371 -373 0 +-371 -374 0 +-371 -375 0 +-371 -376 0 +-371 -377 0 +-371 -378 0 +-371 -379 0 +-372 -373 0 +-372 -374 0 +-372 -375 0 +-372 -376 0 +-372 -377 0 +-372 -378 0 +-372 -379 0 +-373 -374 0 +-373 -375 0 +-373 -376 0 +-373 -377 0 +-373 -378 0 +-373 -379 0 +-374 -375 0 +-374 -376 0 +-374 -377 0 +-374 -378 0 +-374 -379 0 +-375 -376 0 +-375 -377 0 +-375 -378 0 +-375 -379 0 +-376 -377 0 +-376 -378 0 +-376 -379 0 +-377 -378 0 +-377 -379 0 +-378 -379 0 +-381 -382 0 +-381 -383 0 +-381 -384 0 +-381 -385 0 +-381 -386 0 +-381 -387 0 +-381 -388 0 +-381 -389 0 +-382 -383 0 +-382 -384 0 +-382 -385 0 +-382 -386 0 +-382 -387 0 +-382 -388 0 +-382 -389 0 +-383 -384 0 +-383 -385 0 +-383 -386 0 +-383 -387 0 +-383 -388 0 +-383 -389 0 +-384 -385 0 +-384 -386 0 +-384 -387 0 +-384 -388 0 +-384 -389 0 +-385 -386 0 +-385 -387 0 +-385 -388 0 +-385 -389 0 +-386 -387 0 +-386 -388 0 +-386 -389 0 +-387 -388 0 +-387 -389 0 +-388 -389 0 +-391 -392 0 +-391 -393 0 +-391 -394 0 +-391 -395 0 +-391 -396 0 +-391 -397 0 +-391 -398 0 +-391 -399 0 +-392 -393 0 +-392 -394 0 +-392 -395 0 +-392 -396 0 +-392 -397 0 +-392 -398 0 +-392 -399 0 +-393 -394 0 +-393 -395 0 +-393 -396 0 +-393 -397 0 +-393 -398 0 +-393 -399 0 +-394 -395 0 +-394 -396 0 +-394 -397 0 +-394 -398 0 +-394 -399 0 +-395 -396 0 +-395 -397 0 +-395 -398 0 +-395 -399 0 +-396 -397 0 +-396 -398 0 +-396 -399 0 +-397 -398 0 +-397 -399 0 +-398 -399 0 +-411 -412 0 +-411 -413 0 +-411 -414 0 +-411 -415 0 +-411 -416 0 +-411 -417 0 +-411 -418 0 +-411 -419 0 +-412 -413 0 +-412 -414 0 +-412 -415 0 +-412 -416 0 +-412 -417 0 +-412 -418 0 +-412 -419 0 +-413 -414 0 +-413 -415 0 +-413 -416 0 +-413 -417 0 +-413 -418 0 +-413 -419 0 +-414 -415 0 +-414 -416 0 +-414 -417 0 +-414 -418 0 +-414 -419 0 +-415 -416 0 +-415 -417 0 +-415 -418 0 +-415 -419 0 +-416 -417 0 +-416 -418 0 +-416 -419 0 +-417 -418 0 +-417 -419 0 +-418 -419 0 +-421 -422 0 +-421 -423 0 +-421 -424 0 +-421 -425 0 +-421 -426 0 +-421 -427 0 +-421 -428 0 +-421 -429 0 +-422 -423 0 +-422 -424 0 +-422 -425 0 +-422 -426 0 +-422 -427 0 +-422 -428 0 +-422 -429 0 +-423 -424 0 +-423 -425 0 +-423 -426 0 +-423 -427 0 +-423 -428 0 +-423 -429 0 +-424 -425 0 +-424 -426 0 +-424 -427 0 +-424 -428 0 +-424 -429 0 +-425 -426 0 +-425 -427 0 +-425 -428 0 +-425 -429 0 +-426 -427 0 +-426 -428 0 +-426 -429 0 +-427 -428 0 +-427 -429 0 +-428 -429 0 +-431 -432 0 +-431 -433 0 +-431 -434 0 +-431 -435 0 +-431 -436 0 +-431 -437 0 +-431 -438 0 +-431 -439 0 +-432 -433 0 +-432 -434 0 +-432 -435 0 +-432 -436 0 +-432 -437 0 +-432 -438 0 +-432 -439 0 +-433 -434 0 +-433 -435 0 +-433 -436 0 +-433 -437 0 +-433 -438 0 +-433 -439 0 +-434 -435 0 +-434 -436 0 +-434 -437 0 +-434 -438 0 +-434 -439 0 +-435 -436 0 +-435 -437 0 +-435 -438 0 +-435 -439 0 +-436 -437 0 +-436 -438 0 +-436 -439 0 +-437 -438 0 +-437 -439 0 +-438 -439 0 +-441 -442 0 +-441 -443 0 +-441 -444 0 +-441 -445 0 +-441 -446 0 +-441 -447 0 +-441 -448 0 +-441 -449 0 +-442 -443 0 +-442 -444 0 +-442 -445 0 +-442 -446 0 +-442 -447 0 +-442 -448 0 +-442 -449 0 +-443 -444 0 +-443 -445 0 +-443 -446 0 +-443 -447 0 +-443 -448 0 +-443 -449 0 +-444 -445 0 +-444 -446 0 +-444 -447 0 +-444 -448 0 +-444 -449 0 +-445 -446 0 +-445 -447 0 +-445 -448 0 +-445 -449 0 +-446 -447 0 +-446 -448 0 +-446 -449 0 +-447 -448 0 +-447 -449 0 +-448 -449 0 +-451 -452 0 +-451 -453 0 +-451 -454 0 +-451 -455 0 +-451 -456 0 +-451 -457 0 +-451 -458 0 +-451 -459 0 +-452 -453 0 +-452 -454 0 +-452 -455 0 +-452 -456 0 +-452 -457 0 +-452 -458 0 +-452 -459 0 +-453 -454 0 +-453 -455 0 +-453 -456 0 +-453 -457 0 +-453 -458 0 +-453 -459 0 +-454 -455 0 +-454 -456 0 +-454 -457 0 +-454 -458 0 +-454 -459 0 +-455 -456 0 +-455 -457 0 +-455 -458 0 +-455 -459 0 +-456 -457 0 +-456 -458 0 +-456 -459 0 +-457 -458 0 +-457 -459 0 +-458 -459 0 +-461 -462 0 +-461 -463 0 +-461 -464 0 +-461 -465 0 +-461 -466 0 +-461 -467 0 +-461 -468 0 +-461 -469 0 +-462 -463 0 +-462 -464 0 +-462 -465 0 +-462 -466 0 +-462 -467 0 +-462 -468 0 +-462 -469 0 +-463 -464 0 +-463 -465 0 +-463 -466 0 +-463 -467 0 +-463 -468 0 +-463 -469 0 +-464 -465 0 +-464 -466 0 +-464 -467 0 +-464 -468 0 +-464 -469 0 +-465 -466 0 +-465 -467 0 +-465 -468 0 +-465 -469 0 +-466 -467 0 +-466 -468 0 +-466 -469 0 +-467 -468 0 +-467 -469 0 +-468 -469 0 +-471 -472 0 +-471 -473 0 +-471 -474 0 +-471 -475 0 +-471 -476 0 +-471 -477 0 +-471 -478 0 +-471 -479 0 +-472 -473 0 +-472 -474 0 +-472 -475 0 +-472 -476 0 +-472 -477 0 +-472 -478 0 +-472 -479 0 +-473 -474 0 +-473 -475 0 +-473 -476 0 +-473 -477 0 +-473 -478 0 +-473 -479 0 +-474 -475 0 +-474 -476 0 +-474 -477 0 +-474 -478 0 +-474 -479 0 +-475 -476 0 +-475 -477 0 +-475 -478 0 +-475 -479 0 +-476 -477 0 +-476 -478 0 +-476 -479 0 +-477 -478 0 +-477 -479 0 +-478 -479 0 +-481 -482 0 +-481 -483 0 +-481 -484 0 +-481 -485 0 +-481 -486 0 +-481 -487 0 +-481 -488 0 +-481 -489 0 +-482 -483 0 +-482 -484 0 +-482 -485 0 +-482 -486 0 +-482 -487 0 +-482 -488 0 +-482 -489 0 +-483 -484 0 +-483 -485 0 +-483 -486 0 +-483 -487 0 +-483 -488 0 +-483 -489 0 +-484 -485 0 +-484 -486 0 +-484 -487 0 +-484 -488 0 +-484 -489 0 +-485 -486 0 +-485 -487 0 +-485 -488 0 +-485 -489 0 +-486 -487 0 +-486 -488 0 +-486 -489 0 +-487 -488 0 +-487 -489 0 +-488 -489 0 +-491 -492 0 +-491 -493 0 +-491 -494 0 +-491 -495 0 +-491 -496 0 +-491 -497 0 +-491 -498 0 +-491 -499 0 +-492 -493 0 +-492 -494 0 +-492 -495 0 +-492 -496 0 +-492 -497 0 +-492 -498 0 +-492 -499 0 +-493 -494 0 +-493 -495 0 +-493 -496 0 +-493 -497 0 +-493 -498 0 +-493 -499 0 +-494 -495 0 +-494 -496 0 +-494 -497 0 +-494 -498 0 +-494 -499 0 +-495 -496 0 +-495 -497 0 +-495 -498 0 +-495 -499 0 +-496 -497 0 +-496 -498 0 +-496 -499 0 +-497 -498 0 +-497 -499 0 +-498 -499 0 +-511 -512 0 +-511 -513 0 +-511 -514 0 +-511 -515 0 +-511 -516 0 +-511 -517 0 +-511 -518 0 +-511 -519 0 +-512 -513 0 +-512 -514 0 +-512 -515 0 +-512 -516 0 +-512 -517 0 +-512 -518 0 +-512 -519 0 +-513 -514 0 +-513 -515 0 +-513 -516 0 +-513 -517 0 +-513 -518 0 +-513 -519 0 +-514 -515 0 +-514 -516 0 +-514 -517 0 +-514 -518 0 +-514 -519 0 +-515 -516 0 +-515 -517 0 +-515 -518 0 +-515 -519 0 +-516 -517 0 +-516 -518 0 +-516 -519 0 +-517 -518 0 +-517 -519 0 +-518 -519 0 +-521 -522 0 +-521 -523 0 +-521 -524 0 +-521 -525 0 +-521 -526 0 +-521 -527 0 +-521 -528 0 +-521 -529 0 +-522 -523 0 +-522 -524 0 +-522 -525 0 +-522 -526 0 +-522 -527 0 +-522 -528 0 +-522 -529 0 +-523 -524 0 +-523 -525 0 +-523 -526 0 +-523 -527 0 +-523 -528 0 +-523 -529 0 +-524 -525 0 +-524 -526 0 +-524 -527 0 +-524 -528 0 +-524 -529 0 +-525 -526 0 +-525 -527 0 +-525 -528 0 +-525 -529 0 +-526 -527 0 +-526 -528 0 +-526 -529 0 +-527 -528 0 +-527 -529 0 +-528 -529 0 +-531 -532 0 +-531 -533 0 +-531 -534 0 +-531 -535 0 +-531 -536 0 +-531 -537 0 +-531 -538 0 +-531 -539 0 +-532 -533 0 +-532 -534 0 +-532 -535 0 +-532 -536 0 +-532 -537 0 +-532 -538 0 +-532 -539 0 +-533 -534 0 +-533 -535 0 +-533 -536 0 +-533 -537 0 +-533 -538 0 +-533 -539 0 +-534 -535 0 +-534 -536 0 +-534 -537 0 +-534 -538 0 +-534 -539 0 +-535 -536 0 +-535 -537 0 +-535 -538 0 +-535 -539 0 +-536 -537 0 +-536 -538 0 +-536 -539 0 +-537 -538 0 +-537 -539 0 +-538 -539 0 +-541 -542 0 +-541 -543 0 +-541 -544 0 +-541 -545 0 +-541 -546 0 +-541 -547 0 +-541 -548 0 +-541 -549 0 +-542 -543 0 +-542 -544 0 +-542 -545 0 +-542 -546 0 +-542 -547 0 +-542 -548 0 +-542 -549 0 +-543 -544 0 +-543 -545 0 +-543 -546 0 +-543 -547 0 +-543 -548 0 +-543 -549 0 +-544 -545 0 +-544 -546 0 +-544 -547 0 +-544 -548 0 +-544 -549 0 +-545 -546 0 +-545 -547 0 +-545 -548 0 +-545 -549 0 +-546 -547 0 +-546 -548 0 +-546 -549 0 +-547 -548 0 +-547 -549 0 +-548 -549 0 +-551 -552 0 +-551 -553 0 +-551 -554 0 +-551 -555 0 +-551 -556 0 +-551 -557 0 +-551 -558 0 +-551 -559 0 +-552 -553 0 +-552 -554 0 +-552 -555 0 +-552 -556 0 +-552 -557 0 +-552 -558 0 +-552 -559 0 +-553 -554 0 +-553 -555 0 +-553 -556 0 +-553 -557 0 +-553 -558 0 +-553 -559 0 +-554 -555 0 +-554 -556 0 +-554 -557 0 +-554 -558 0 +-554 -559 0 +-555 -556 0 +-555 -557 0 +-555 -558 0 +-555 -559 0 +-556 -557 0 +-556 -558 0 +-556 -559 0 +-557 -558 0 +-557 -559 0 +-558 -559 0 +-561 -562 0 +-561 -563 0 +-561 -564 0 +-561 -565 0 +-561 -566 0 +-561 -567 0 +-561 -568 0 +-561 -569 0 +-562 -563 0 +-562 -564 0 +-562 -565 0 +-562 -566 0 +-562 -567 0 +-562 -568 0 +-562 -569 0 +-563 -564 0 +-563 -565 0 +-563 -566 0 +-563 -567 0 +-563 -568 0 +-563 -569 0 +-564 -565 0 +-564 -566 0 +-564 -567 0 +-564 -568 0 +-564 -569 0 +-565 -566 0 +-565 -567 0 +-565 -568 0 +-565 -569 0 +-566 -567 0 +-566 -568 0 +-566 -569 0 +-567 -568 0 +-567 -569 0 +-568 -569 0 +-571 -572 0 +-571 -573 0 +-571 -574 0 +-571 -575 0 +-571 -576 0 +-571 -577 0 +-571 -578 0 +-571 -579 0 +-572 -573 0 +-572 -574 0 +-572 -575 0 +-572 -576 0 +-572 -577 0 +-572 -578 0 +-572 -579 0 +-573 -574 0 +-573 -575 0 +-573 -576 0 +-573 -577 0 +-573 -578 0 +-573 -579 0 +-574 -575 0 +-574 -576 0 +-574 -577 0 +-574 -578 0 +-574 -579 0 +-575 -576 0 +-575 -577 0 +-575 -578 0 +-575 -579 0 +-576 -577 0 +-576 -578 0 +-576 -579 0 +-577 -578 0 +-577 -579 0 +-578 -579 0 +-581 -582 0 +-581 -583 0 +-581 -584 0 +-581 -585 0 +-581 -586 0 +-581 -587 0 +-581 -588 0 +-581 -589 0 +-582 -583 0 +-582 -584 0 +-582 -585 0 +-582 -586 0 +-582 -587 0 +-582 -588 0 +-582 -589 0 +-583 -584 0 +-583 -585 0 +-583 -586 0 +-583 -587 0 +-583 -588 0 +-583 -589 0 +-584 -585 0 +-584 -586 0 +-584 -587 0 +-584 -588 0 +-584 -589 0 +-585 -586 0 +-585 -587 0 +-585 -588 0 +-585 -589 0 +-586 -587 0 +-586 -588 0 +-586 -589 0 +-587 -588 0 +-587 -589 0 +-588 -589 0 +-591 -592 0 +-591 -593 0 +-591 -594 0 +-591 -595 0 +-591 -596 0 +-591 -597 0 +-591 -598 0 +-591 -599 0 +-592 -593 0 +-592 -594 0 +-592 -595 0 +-592 -596 0 +-592 -597 0 +-592 -598 0 +-592 -599 0 +-593 -594 0 +-593 -595 0 +-593 -596 0 +-593 -597 0 +-593 -598 0 +-593 -599 0 +-594 -595 0 +-594 -596 0 +-594 -597 0 +-594 -598 0 +-594 -599 0 +-595 -596 0 +-595 -597 0 +-595 -598 0 +-595 -599 0 +-596 -597 0 +-596 -598 0 +-596 -599 0 +-597 -598 0 +-597 -599 0 +-598 -599 0 +-611 -612 0 +-611 -613 0 +-611 -614 0 +-611 -615 0 +-611 -616 0 +-611 -617 0 +-611 -618 0 +-611 -619 0 +-612 -613 0 +-612 -614 0 +-612 -615 0 +-612 -616 0 +-612 -617 0 +-612 -618 0 +-612 -619 0 +-613 -614 0 +-613 -615 0 +-613 -616 0 +-613 -617 0 +-613 -618 0 +-613 -619 0 +-614 -615 0 +-614 -616 0 +-614 -617 0 +-614 -618 0 +-614 -619 0 +-615 -616 0 +-615 -617 0 +-615 -618 0 +-615 -619 0 +-616 -617 0 +-616 -618 0 +-616 -619 0 +-617 -618 0 +-617 -619 0 +-618 -619 0 +-621 -622 0 +-621 -623 0 +-621 -624 0 +-621 -625 0 +-621 -626 0 +-621 -627 0 +-621 -628 0 +-621 -629 0 +-622 -623 0 +-622 -624 0 +-622 -625 0 +-622 -626 0 +-622 -627 0 +-622 -628 0 +-622 -629 0 +-623 -624 0 +-623 -625 0 +-623 -626 0 +-623 -627 0 +-623 -628 0 +-623 -629 0 +-624 -625 0 +-624 -626 0 +-624 -627 0 +-624 -628 0 +-624 -629 0 +-625 -626 0 +-625 -627 0 +-625 -628 0 +-625 -629 0 +-626 -627 0 +-626 -628 0 +-626 -629 0 +-627 -628 0 +-627 -629 0 +-628 -629 0 +-631 -632 0 +-631 -633 0 +-631 -634 0 +-631 -635 0 +-631 -636 0 +-631 -637 0 +-631 -638 0 +-631 -639 0 +-632 -633 0 +-632 -634 0 +-632 -635 0 +-632 -636 0 +-632 -637 0 +-632 -638 0 +-632 -639 0 +-633 -634 0 +-633 -635 0 +-633 -636 0 +-633 -637 0 +-633 -638 0 +-633 -639 0 +-634 -635 0 +-634 -636 0 +-634 -637 0 +-634 -638 0 +-634 -639 0 +-635 -636 0 +-635 -637 0 +-635 -638 0 +-635 -639 0 +-636 -637 0 +-636 -638 0 +-636 -639 0 +-637 -638 0 +-637 -639 0 +-638 -639 0 +-641 -642 0 +-641 -643 0 +-641 -644 0 +-641 -645 0 +-641 -646 0 +-641 -647 0 +-641 -648 0 +-641 -649 0 +-642 -643 0 +-642 -644 0 +-642 -645 0 +-642 -646 0 +-642 -647 0 +-642 -648 0 +-642 -649 0 +-643 -644 0 +-643 -645 0 +-643 -646 0 +-643 -647 0 +-643 -648 0 +-643 -649 0 +-644 -645 0 +-644 -646 0 +-644 -647 0 +-644 -648 0 +-644 -649 0 +-645 -646 0 +-645 -647 0 +-645 -648 0 +-645 -649 0 +-646 -647 0 +-646 -648 0 +-646 -649 0 +-647 -648 0 +-647 -649 0 +-648 -649 0 +-651 -652 0 +-651 -653 0 +-651 -654 0 +-651 -655 0 +-651 -656 0 +-651 -657 0 +-651 -658 0 +-651 -659 0 +-652 -653 0 +-652 -654 0 +-652 -655 0 +-652 -656 0 +-652 -657 0 +-652 -658 0 +-652 -659 0 +-653 -654 0 +-653 -655 0 +-653 -656 0 +-653 -657 0 +-653 -658 0 +-653 -659 0 +-654 -655 0 +-654 -656 0 +-654 -657 0 +-654 -658 0 +-654 -659 0 +-655 -656 0 +-655 -657 0 +-655 -658 0 +-655 -659 0 +-656 -657 0 +-656 -658 0 +-656 -659 0 +-657 -658 0 +-657 -659 0 +-658 -659 0 +-661 -662 0 +-661 -663 0 +-661 -664 0 +-661 -665 0 +-661 -666 0 +-661 -667 0 +-661 -668 0 +-661 -669 0 +-662 -663 0 +-662 -664 0 +-662 -665 0 +-662 -666 0 +-662 -667 0 +-662 -668 0 +-662 -669 0 +-663 -664 0 +-663 -665 0 +-663 -666 0 +-663 -667 0 +-663 -668 0 +-663 -669 0 +-664 -665 0 +-664 -666 0 +-664 -667 0 +-664 -668 0 +-664 -669 0 +-665 -666 0 +-665 -667 0 +-665 -668 0 +-665 -669 0 +-666 -667 0 +-666 -668 0 +-666 -669 0 +-667 -668 0 +-667 -669 0 +-668 -669 0 +-671 -672 0 +-671 -673 0 +-671 -674 0 +-671 -675 0 +-671 -676 0 +-671 -677 0 +-671 -678 0 +-671 -679 0 +-672 -673 0 +-672 -674 0 +-672 -675 0 +-672 -676 0 +-672 -677 0 +-672 -678 0 +-672 -679 0 +-673 -674 0 +-673 -675 0 +-673 -676 0 +-673 -677 0 +-673 -678 0 +-673 -679 0 +-674 -675 0 +-674 -676 0 +-674 -677 0 +-674 -678 0 +-674 -679 0 +-675 -676 0 +-675 -677 0 +-675 -678 0 +-675 -679 0 +-676 -677 0 +-676 -678 0 +-676 -679 0 +-677 -678 0 +-677 -679 0 +-678 -679 0 +-681 -682 0 +-681 -683 0 +-681 -684 0 +-681 -685 0 +-681 -686 0 +-681 -687 0 +-681 -688 0 +-681 -689 0 +-682 -683 0 +-682 -684 0 +-682 -685 0 +-682 -686 0 +-682 -687 0 +-682 -688 0 +-682 -689 0 +-683 -684 0 +-683 -685 0 +-683 -686 0 +-683 -687 0 +-683 -688 0 +-683 -689 0 +-684 -685 0 +-684 -686 0 +-684 -687 0 +-684 -688 0 +-684 -689 0 +-685 -686 0 +-685 -687 0 +-685 -688 0 +-685 -689 0 +-686 -687 0 +-686 -688 0 +-686 -689 0 +-687 -688 0 +-687 -689 0 +-688 -689 0 +-691 -692 0 +-691 -693 0 +-691 -694 0 +-691 -695 0 +-691 -696 0 +-691 -697 0 +-691 -698 0 +-691 -699 0 +-692 -693 0 +-692 -694 0 +-692 -695 0 +-692 -696 0 +-692 -697 0 +-692 -698 0 +-692 -699 0 +-693 -694 0 +-693 -695 0 +-693 -696 0 +-693 -697 0 +-693 -698 0 +-693 -699 0 +-694 -695 0 +-694 -696 0 +-694 -697 0 +-694 -698 0 +-694 -699 0 +-695 -696 0 +-695 -697 0 +-695 -698 0 +-695 -699 0 +-696 -697 0 +-696 -698 0 +-696 -699 0 +-697 -698 0 +-697 -699 0 +-698 -699 0 +-711 -712 0 +-711 -713 0 +-711 -714 0 +-711 -715 0 +-711 -716 0 +-711 -717 0 +-711 -718 0 +-711 -719 0 +-712 -713 0 +-712 -714 0 +-712 -715 0 +-712 -716 0 +-712 -717 0 +-712 -718 0 +-712 -719 0 +-713 -714 0 +-713 -715 0 +-713 -716 0 +-713 -717 0 +-713 -718 0 +-713 -719 0 +-714 -715 0 +-714 -716 0 +-714 -717 0 +-714 -718 0 +-714 -719 0 +-715 -716 0 +-715 -717 0 +-715 -718 0 +-715 -719 0 +-716 -717 0 +-716 -718 0 +-716 -719 0 +-717 -718 0 +-717 -719 0 +-718 -719 0 +-721 -722 0 +-721 -723 0 +-721 -724 0 +-721 -725 0 +-721 -726 0 +-721 -727 0 +-721 -728 0 +-721 -729 0 +-722 -723 0 +-722 -724 0 +-722 -725 0 +-722 -726 0 +-722 -727 0 +-722 -728 0 +-722 -729 0 +-723 -724 0 +-723 -725 0 +-723 -726 0 +-723 -727 0 +-723 -728 0 +-723 -729 0 +-724 -725 0 +-724 -726 0 +-724 -727 0 +-724 -728 0 +-724 -729 0 +-725 -726 0 +-725 -727 0 +-725 -728 0 +-725 -729 0 +-726 -727 0 +-726 -728 0 +-726 -729 0 +-727 -728 0 +-727 -729 0 +-728 -729 0 +-731 -732 0 +-731 -733 0 +-731 -734 0 +-731 -735 0 +-731 -736 0 +-731 -737 0 +-731 -738 0 +-731 -739 0 +-732 -733 0 +-732 -734 0 +-732 -735 0 +-732 -736 0 +-732 -737 0 +-732 -738 0 +-732 -739 0 +-733 -734 0 +-733 -735 0 +-733 -736 0 +-733 -737 0 +-733 -738 0 +-733 -739 0 +-734 -735 0 +-734 -736 0 +-734 -737 0 +-734 -738 0 +-734 -739 0 +-735 -736 0 +-735 -737 0 +-735 -738 0 +-735 -739 0 +-736 -737 0 +-736 -738 0 +-736 -739 0 +-737 -738 0 +-737 -739 0 +-738 -739 0 +-741 -742 0 +-741 -743 0 +-741 -744 0 +-741 -745 0 +-741 -746 0 +-741 -747 0 +-741 -748 0 +-741 -749 0 +-742 -743 0 +-742 -744 0 +-742 -745 0 +-742 -746 0 +-742 -747 0 +-742 -748 0 +-742 -749 0 +-743 -744 0 +-743 -745 0 +-743 -746 0 +-743 -747 0 +-743 -748 0 +-743 -749 0 +-744 -745 0 +-744 -746 0 +-744 -747 0 +-744 -748 0 +-744 -749 0 +-745 -746 0 +-745 -747 0 +-745 -748 0 +-745 -749 0 +-746 -747 0 +-746 -748 0 +-746 -749 0 +-747 -748 0 +-747 -749 0 +-748 -749 0 +-751 -752 0 +-751 -753 0 +-751 -754 0 +-751 -755 0 +-751 -756 0 +-751 -757 0 +-751 -758 0 +-751 -759 0 +-752 -753 0 +-752 -754 0 +-752 -755 0 +-752 -756 0 +-752 -757 0 +-752 -758 0 +-752 -759 0 +-753 -754 0 +-753 -755 0 +-753 -756 0 +-753 -757 0 +-753 -758 0 +-753 -759 0 +-754 -755 0 +-754 -756 0 +-754 -757 0 +-754 -758 0 +-754 -759 0 +-755 -756 0 +-755 -757 0 +-755 -758 0 +-755 -759 0 +-756 -757 0 +-756 -758 0 +-756 -759 0 +-757 -758 0 +-757 -759 0 +-758 -759 0 +-761 -762 0 +-761 -763 0 +-761 -764 0 +-761 -765 0 +-761 -766 0 +-761 -767 0 +-761 -768 0 +-761 -769 0 +-762 -763 0 +-762 -764 0 +-762 -765 0 +-762 -766 0 +-762 -767 0 +-762 -768 0 +-762 -769 0 +-763 -764 0 +-763 -765 0 +-763 -766 0 +-763 -767 0 +-763 -768 0 +-763 -769 0 +-764 -765 0 +-764 -766 0 +-764 -767 0 +-764 -768 0 +-764 -769 0 +-765 -766 0 +-765 -767 0 +-765 -768 0 +-765 -769 0 +-766 -767 0 +-766 -768 0 +-766 -769 0 +-767 -768 0 +-767 -769 0 +-768 -769 0 +-771 -772 0 +-771 -773 0 +-771 -774 0 +-771 -775 0 +-771 -776 0 +-771 -777 0 +-771 -778 0 +-771 -779 0 +-772 -773 0 +-772 -774 0 +-772 -775 0 +-772 -776 0 +-772 -777 0 +-772 -778 0 +-772 -779 0 +-773 -774 0 +-773 -775 0 +-773 -776 0 +-773 -777 0 +-773 -778 0 +-773 -779 0 +-774 -775 0 +-774 -776 0 +-774 -777 0 +-774 -778 0 +-774 -779 0 +-775 -776 0 +-775 -777 0 +-775 -778 0 +-775 -779 0 +-776 -777 0 +-776 -778 0 +-776 -779 0 +-777 -778 0 +-777 -779 0 +-778 -779 0 +-781 -782 0 +-781 -783 0 +-781 -784 0 +-781 -785 0 +-781 -786 0 +-781 -787 0 +-781 -788 0 +-781 -789 0 +-782 -783 0 +-782 -784 0 +-782 -785 0 +-782 -786 0 +-782 -787 0 +-782 -788 0 +-782 -789 0 +-783 -784 0 +-783 -785 0 +-783 -786 0 +-783 -787 0 +-783 -788 0 +-783 -789 0 +-784 -785 0 +-784 -786 0 +-784 -787 0 +-784 -788 0 +-784 -789 0 +-785 -786 0 +-785 -787 0 +-785 -788 0 +-785 -789 0 +-786 -787 0 +-786 -788 0 +-786 -789 0 +-787 -788 0 +-787 -789 0 +-788 -789 0 +-791 -792 0 +-791 -793 0 +-791 -794 0 +-791 -795 0 +-791 -796 0 +-791 -797 0 +-791 -798 0 +-791 -799 0 +-792 -793 0 +-792 -794 0 +-792 -795 0 +-792 -796 0 +-792 -797 0 +-792 -798 0 +-792 -799 0 +-793 -794 0 +-793 -795 0 +-793 -796 0 +-793 -797 0 +-793 -798 0 +-793 -799 0 +-794 -795 0 +-794 -796 0 +-794 -797 0 +-794 -798 0 +-794 -799 0 +-795 -796 0 +-795 -797 0 +-795 -798 0 +-795 -799 0 +-796 -797 0 +-796 -798 0 +-796 -799 0 +-797 -798 0 +-797 -799 0 +-798 -799 0 +-811 -812 0 +-811 -813 0 +-811 -814 0 +-811 -815 0 +-811 -816 0 +-811 -817 0 +-811 -818 0 +-811 -819 0 +-812 -813 0 +-812 -814 0 +-812 -815 0 +-812 -816 0 +-812 -817 0 +-812 -818 0 +-812 -819 0 +-813 -814 0 +-813 -815 0 +-813 -816 0 +-813 -817 0 +-813 -818 0 +-813 -819 0 +-814 -815 0 +-814 -816 0 +-814 -817 0 +-814 -818 0 +-814 -819 0 +-815 -816 0 +-815 -817 0 +-815 -818 0 +-815 -819 0 +-816 -817 0 +-816 -818 0 +-816 -819 0 +-817 -818 0 +-817 -819 0 +-818 -819 0 +-821 -822 0 +-821 -823 0 +-821 -824 0 +-821 -825 0 +-821 -826 0 +-821 -827 0 +-821 -828 0 +-821 -829 0 +-822 -823 0 +-822 -824 0 +-822 -825 0 +-822 -826 0 +-822 -827 0 +-822 -828 0 +-822 -829 0 +-823 -824 0 +-823 -825 0 +-823 -826 0 +-823 -827 0 +-823 -828 0 +-823 -829 0 +-824 -825 0 +-824 -826 0 +-824 -827 0 +-824 -828 0 +-824 -829 0 +-825 -826 0 +-825 -827 0 +-825 -828 0 +-825 -829 0 +-826 -827 0 +-826 -828 0 +-826 -829 0 +-827 -828 0 +-827 -829 0 +-828 -829 0 +-831 -832 0 +-831 -833 0 +-831 -834 0 +-831 -835 0 +-831 -836 0 +-831 -837 0 +-831 -838 0 +-831 -839 0 +-832 -833 0 +-832 -834 0 +-832 -835 0 +-832 -836 0 +-832 -837 0 +-832 -838 0 +-832 -839 0 +-833 -834 0 +-833 -835 0 +-833 -836 0 +-833 -837 0 +-833 -838 0 +-833 -839 0 +-834 -835 0 +-834 -836 0 +-834 -837 0 +-834 -838 0 +-834 -839 0 +-835 -836 0 +-835 -837 0 +-835 -838 0 +-835 -839 0 +-836 -837 0 +-836 -838 0 +-836 -839 0 +-837 -838 0 +-837 -839 0 +-838 -839 0 +-841 -842 0 +-841 -843 0 +-841 -844 0 +-841 -845 0 +-841 -846 0 +-841 -847 0 +-841 -848 0 +-841 -849 0 +-842 -843 0 +-842 -844 0 +-842 -845 0 +-842 -846 0 +-842 -847 0 +-842 -848 0 +-842 -849 0 +-843 -844 0 +-843 -845 0 +-843 -846 0 +-843 -847 0 +-843 -848 0 +-843 -849 0 +-844 -845 0 +-844 -846 0 +-844 -847 0 +-844 -848 0 +-844 -849 0 +-845 -846 0 +-845 -847 0 +-845 -848 0 +-845 -849 0 +-846 -847 0 +-846 -848 0 +-846 -849 0 +-847 -848 0 +-847 -849 0 +-848 -849 0 +-851 -852 0 +-851 -853 0 +-851 -854 0 +-851 -855 0 +-851 -856 0 +-851 -857 0 +-851 -858 0 +-851 -859 0 +-852 -853 0 +-852 -854 0 +-852 -855 0 +-852 -856 0 +-852 -857 0 +-852 -858 0 +-852 -859 0 +-853 -854 0 +-853 -855 0 +-853 -856 0 +-853 -857 0 +-853 -858 0 +-853 -859 0 +-854 -855 0 +-854 -856 0 +-854 -857 0 +-854 -858 0 +-854 -859 0 +-855 -856 0 +-855 -857 0 +-855 -858 0 +-855 -859 0 +-856 -857 0 +-856 -858 0 +-856 -859 0 +-857 -858 0 +-857 -859 0 +-858 -859 0 +-861 -862 0 +-861 -863 0 +-861 -864 0 +-861 -865 0 +-861 -866 0 +-861 -867 0 +-861 -868 0 +-861 -869 0 +-862 -863 0 +-862 -864 0 +-862 -865 0 +-862 -866 0 +-862 -867 0 +-862 -868 0 +-862 -869 0 +-863 -864 0 +-863 -865 0 +-863 -866 0 +-863 -867 0 +-863 -868 0 +-863 -869 0 +-864 -865 0 +-864 -866 0 +-864 -867 0 +-864 -868 0 +-864 -869 0 +-865 -866 0 +-865 -867 0 +-865 -868 0 +-865 -869 0 +-866 -867 0 +-866 -868 0 +-866 -869 0 +-867 -868 0 +-867 -869 0 +-868 -869 0 +-871 -872 0 +-871 -873 0 +-871 -874 0 +-871 -875 0 +-871 -876 0 +-871 -877 0 +-871 -878 0 +-871 -879 0 +-872 -873 0 +-872 -874 0 +-872 -875 0 +-872 -876 0 +-872 -877 0 +-872 -878 0 +-872 -879 0 +-873 -874 0 +-873 -875 0 +-873 -876 0 +-873 -877 0 +-873 -878 0 +-873 -879 0 +-874 -875 0 +-874 -876 0 +-874 -877 0 +-874 -878 0 +-874 -879 0 +-875 -876 0 +-875 -877 0 +-875 -878 0 +-875 -879 0 +-876 -877 0 +-876 -878 0 +-876 -879 0 +-877 -878 0 +-877 -879 0 +-878 -879 0 +-881 -882 0 +-881 -883 0 +-881 -884 0 +-881 -885 0 +-881 -886 0 +-881 -887 0 +-881 -888 0 +-881 -889 0 +-882 -883 0 +-882 -884 0 +-882 -885 0 +-882 -886 0 +-882 -887 0 +-882 -888 0 +-882 -889 0 +-883 -884 0 +-883 -885 0 +-883 -886 0 +-883 -887 0 +-883 -888 0 +-883 -889 0 +-884 -885 0 +-884 -886 0 +-884 -887 0 +-884 -888 0 +-884 -889 0 +-885 -886 0 +-885 -887 0 +-885 -888 0 +-885 -889 0 +-886 -887 0 +-886 -888 0 +-886 -889 0 +-887 -888 0 +-887 -889 0 +-888 -889 0 +-891 -892 0 +-891 -893 0 +-891 -894 0 +-891 -895 0 +-891 -896 0 +-891 -897 0 +-891 -898 0 +-891 -899 0 +-892 -893 0 +-892 -894 0 +-892 -895 0 +-892 -896 0 +-892 -897 0 +-892 -898 0 +-892 -899 0 +-893 -894 0 +-893 -895 0 +-893 -896 0 +-893 -897 0 +-893 -898 0 +-893 -899 0 +-894 -895 0 +-894 -896 0 +-894 -897 0 +-894 -898 0 +-894 -899 0 +-895 -896 0 +-895 -897 0 +-895 -898 0 +-895 -899 0 +-896 -897 0 +-896 -898 0 +-896 -899 0 +-897 -898 0 +-897 -899 0 +-898 -899 0 +-911 -912 0 +-911 -913 0 +-911 -914 0 +-911 -915 0 +-911 -916 0 +-911 -917 0 +-911 -918 0 +-911 -919 0 +-912 -913 0 +-912 -914 0 +-912 -915 0 +-912 -916 0 +-912 -917 0 +-912 -918 0 +-912 -919 0 +-913 -914 0 +-913 -915 0 +-913 -916 0 +-913 -917 0 +-913 -918 0 +-913 -919 0 +-914 -915 0 +-914 -916 0 +-914 -917 0 +-914 -918 0 +-914 -919 0 +-915 -916 0 +-915 -917 0 +-915 -918 0 +-915 -919 0 +-916 -917 0 +-916 -918 0 +-916 -919 0 +-917 -918 0 +-917 -919 0 +-918 -919 0 +-921 -922 0 +-921 -923 0 +-921 -924 0 +-921 -925 0 +-921 -926 0 +-921 -927 0 +-921 -928 0 +-921 -929 0 +-922 -923 0 +-922 -924 0 +-922 -925 0 +-922 -926 0 +-922 -927 0 +-922 -928 0 +-922 -929 0 +-923 -924 0 +-923 -925 0 +-923 -926 0 +-923 -927 0 +-923 -928 0 +-923 -929 0 +-924 -925 0 +-924 -926 0 +-924 -927 0 +-924 -928 0 +-924 -929 0 +-925 -926 0 +-925 -927 0 +-925 -928 0 +-925 -929 0 +-926 -927 0 +-926 -928 0 +-926 -929 0 +-927 -928 0 +-927 -929 0 +-928 -929 0 +-931 -932 0 +-931 -933 0 +-931 -934 0 +-931 -935 0 +-931 -936 0 +-931 -937 0 +-931 -938 0 +-931 -939 0 +-932 -933 0 +-932 -934 0 +-932 -935 0 +-932 -936 0 +-932 -937 0 +-932 -938 0 +-932 -939 0 +-933 -934 0 +-933 -935 0 +-933 -936 0 +-933 -937 0 +-933 -938 0 +-933 -939 0 +-934 -935 0 +-934 -936 0 +-934 -937 0 +-934 -938 0 +-934 -939 0 +-935 -936 0 +-935 -937 0 +-935 -938 0 +-935 -939 0 +-936 -937 0 +-936 -938 0 +-936 -939 0 +-937 -938 0 +-937 -939 0 +-938 -939 0 +-941 -942 0 +-941 -943 0 +-941 -944 0 +-941 -945 0 +-941 -946 0 +-941 -947 0 +-941 -948 0 +-941 -949 0 +-942 -943 0 +-942 -944 0 +-942 -945 0 +-942 -946 0 +-942 -947 0 +-942 -948 0 +-942 -949 0 +-943 -944 0 +-943 -945 0 +-943 -946 0 +-943 -947 0 +-943 -948 0 +-943 -949 0 +-944 -945 0 +-944 -946 0 +-944 -947 0 +-944 -948 0 +-944 -949 0 +-945 -946 0 +-945 -947 0 +-945 -948 0 +-945 -949 0 +-946 -947 0 +-946 -948 0 +-946 -949 0 +-947 -948 0 +-947 -949 0 +-948 -949 0 +-951 -952 0 +-951 -953 0 +-951 -954 0 +-951 -955 0 +-951 -956 0 +-951 -957 0 +-951 -958 0 +-951 -959 0 +-952 -953 0 +-952 -954 0 +-952 -955 0 +-952 -956 0 +-952 -957 0 +-952 -958 0 +-952 -959 0 +-953 -954 0 +-953 -955 0 +-953 -956 0 +-953 -957 0 +-953 -958 0 +-953 -959 0 +-954 -955 0 +-954 -956 0 +-954 -957 0 +-954 -958 0 +-954 -959 0 +-955 -956 0 +-955 -957 0 +-955 -958 0 +-955 -959 0 +-956 -957 0 +-956 -958 0 +-956 -959 0 +-957 -958 0 +-957 -959 0 +-958 -959 0 +-961 -962 0 +-961 -963 0 +-961 -964 0 +-961 -965 0 +-961 -966 0 +-961 -967 0 +-961 -968 0 +-961 -969 0 +-962 -963 0 +-962 -964 0 +-962 -965 0 +-962 -966 0 +-962 -967 0 +-962 -968 0 +-962 -969 0 +-963 -964 0 +-963 -965 0 +-963 -966 0 +-963 -967 0 +-963 -968 0 +-963 -969 0 +-964 -965 0 +-964 -966 0 +-964 -967 0 +-964 -968 0 +-964 -969 0 +-965 -966 0 +-965 -967 0 +-965 -968 0 +-965 -969 0 +-966 -967 0 +-966 -968 0 +-966 -969 0 +-967 -968 0 +-967 -969 0 +-968 -969 0 +-971 -972 0 +-971 -973 0 +-971 -974 0 +-971 -975 0 +-971 -976 0 +-971 -977 0 +-971 -978 0 +-971 -979 0 +-972 -973 0 +-972 -974 0 +-972 -975 0 +-972 -976 0 +-972 -977 0 +-972 -978 0 +-972 -979 0 +-973 -974 0 +-973 -975 0 +-973 -976 0 +-973 -977 0 +-973 -978 0 +-973 -979 0 +-974 -975 0 +-974 -976 0 +-974 -977 0 +-974 -978 0 +-974 -979 0 +-975 -976 0 +-975 -977 0 +-975 -978 0 +-975 -979 0 +-976 -977 0 +-976 -978 0 +-976 -979 0 +-977 -978 0 +-977 -979 0 +-978 -979 0 +-981 -982 0 +-981 -983 0 +-981 -984 0 +-981 -985 0 +-981 -986 0 +-981 -987 0 +-981 -988 0 +-981 -989 0 +-982 -983 0 +-982 -984 0 +-982 -985 0 +-982 -986 0 +-982 -987 0 +-982 -988 0 +-982 -989 0 +-983 -984 0 +-983 -985 0 +-983 -986 0 +-983 -987 0 +-983 -988 0 +-983 -989 0 +-984 -985 0 +-984 -986 0 +-984 -987 0 +-984 -988 0 +-984 -989 0 +-985 -986 0 +-985 -987 0 +-985 -988 0 +-985 -989 0 +-986 -987 0 +-986 -988 0 +-986 -989 0 +-987 -988 0 +-987 -989 0 +-988 -989 0 +-991 -992 0 +-991 -993 0 +-991 -994 0 +-991 -995 0 +-991 -996 0 +-991 -997 0 +-991 -998 0 +-991 -999 0 +-992 -993 0 +-992 -994 0 +-992 -995 0 +-992 -996 0 +-992 -997 0 +-992 -998 0 +-992 -999 0 +-993 -994 0 +-993 -995 0 +-993 -996 0 +-993 -997 0 +-993 -998 0 +-993 -999 0 +-994 -995 0 +-994 -996 0 +-994 -997 0 +-994 -998 0 +-994 -999 0 +-995 -996 0 +-995 -997 0 +-995 -998 0 +-995 -999 0 +-996 -997 0 +-996 -998 0 +-996 -999 0 +-997 -998 0 +-997 -999 0 +-998 -999 0 +c (5) clauses generated from input +111 0 +167 0 +189 0 +223 0 +252 0 +298 0 +339 0 +346 0 +375 0 +435 0 +443 0 +479 0 +521 0 +558 0 +592 0 +616 0 +664 0 +713 0 +781 0 +824 0 +831 0 +897 0 +937 0 +973 0 diff --git a/hwSat06/aiEscargot.txt b/hwSat06/aiEscargot.txt new file mode 100644 index 0000000000000000000000000000000000000000..53eec258a336d6952d2dfe3dcfb95061b35f310e --- /dev/null +++ b/hwSat06/aiEscargot.txt @@ -0,0 +1 @@ +1....7.9..3..2...8..96..5....53..9...1..8...26....4...3......1..41.....7..7...3.. \ No newline at end of file diff --git a/hwSat06/aiEscargotResults.txt b/hwSat06/aiEscargotResults.txt new file mode 100644 index 0000000000000000000000000000000000000000..3d9b54c4162bcda04a3191bd6330ec6fcbdc606c --- /dev/null +++ b/hwSat06/aiEscargotResults.txt @@ -0,0 +1,2 @@ +SAT +-1 -2 -3 -4 -5 -6 -7 -8 -9 -10 -11 -12 -13 -14 -15 -16 -17 -18 -19 -20 -21 -22 -23 -24 -25 -26 -27 -28 -29 -30 -31 -32 -33 -34 -35 -36 -37 -38 -39 -40 -41 -42 -43 -44 -45 -46 -47 -48 -49 -50 -51 -52 -53 -54 -55 -56 -57 -58 -59 -60 -61 -62 -63 -64 -65 -66 -67 -68 -69 -70 -71 -72 -73 -74 -75 -76 -77 -78 -79 -80 -81 -82 -83 -84 -85 -86 -87 -88 -89 -90 -91 -92 -93 -94 -95 -96 -97 -98 -99 -100 -101 -102 -103 -104 -105 -106 -107 -108 -109 -110 111 -112 -113 -114 -115 -116 -117 -118 -119 -120 -121 -122 -123 -124 -125 126 -127 -128 -129 -130 -131 132 -133 -134 -135 -136 -137 -138 -139 -140 -141 -142 -143 -144 -145 -146 -147 148 -149 -150 -151 -152 -153 -154 155 -156 -157 -158 -159 -160 -161 -162 -163 -164 -165 -166 167 -168 -169 -170 -171 -172 -173 174 -175 -176 -177 -178 -179 -180 -181 -182 -183 -184 -185 -186 -187 -188 189 -190 -191 -192 193 -194 -195 -196 -197 -198 -199 -200 -201 -202 -203 -204 -205 -206 -207 -208 -209 -210 -211 -212 -213 -214 215 -216 -217 -218 -219 -220 -221 -222 223 -224 -225 -226 -227 -228 -229 -230 -231 -232 -233 234 -235 -236 -237 -238 -239 -240 241 -242 -243 -244 -245 -246 -247 -248 -249 -250 -251 252 -253 -254 -255 -256 -257 -258 -259 -260 -261 -262 -263 -264 -265 -266 -267 -268 269 -270 -271 -272 -273 -274 -275 276 -277 -278 -279 -280 -281 -282 -283 -284 -285 -286 287 -288 -289 -290 -291 -292 -293 -294 -295 -296 -297 298 -299 -300 -301 -302 -303 -304 -305 -306 -307 -308 -309 -310 -311 -312 -313 -314 -315 -316 317 -318 -319 -320 -321 -322 -323 -324 -325 -326 -327 328 -329 -330 -331 -332 -333 -334 -335 -336 -337 -338 339 -340 -341 -342 -343 -344 -345 346 -347 -348 -349 -350 -351 -352 -353 354 -355 -356 -357 -358 -359 -360 -361 -362 363 -364 -365 -366 -367 -368 -369 -370 -371 -372 -373 -374 375 -376 -377 -378 -379 -380 -381 382 -383 -384 -385 -386 -387 -388 -389 -390 391 -392 -393 -394 -395 -396 -397 -398 -399 -400 -401 -402 -403 -404 -405 -406 -407 -408 -409 -410 -411 -412 -413 414 -415 -416 -417 -418 -419 -420 -421 -422 -423 -424 -425 -426 427 -428 -429 -430 -431 -432 -433 -434 435 -436 -437 -438 -439 -440 -441 -442 443 -444 -445 -446 -447 -448 -449 -450 451 -452 -453 -454 -455 -456 -457 -458 -459 -460 -461 462 -463 -464 -465 -466 -467 -468 -469 -470 -471 -472 -473 -474 -475 -476 -477 -478 479 -480 -481 -482 -483 -484 -485 -486 -487 488 -489 -490 -491 -492 -493 -494 -495 496 -497 -498 -499 -500 -501 -502 -503 -504 -505 -506 -507 -508 -509 -510 -511 -512 -513 -514 -515 -516 -517 -518 519 -520 521 -522 -523 -524 -525 -526 -527 -528 -529 -530 -531 -532 533 -534 -535 -536 -537 -538 -539 -540 -541 -542 -543 -544 545 -546 -547 -548 -549 -550 -551 -552 -553 -554 -555 -556 -557 558 -559 -560 -561 -562 -563 -564 -565 566 -567 -568 -569 -570 -571 -572 -573 -574 -575 -576 577 -578 -579 -580 -581 -582 -583 584 -585 -586 -587 -588 -589 -590 -591 592 -593 -594 -595 -596 -597 -598 -599 -600 -601 -602 -603 -604 -605 -606 -607 -608 -609 -610 -611 -612 -613 -614 -615 616 -617 -618 -619 -620 -621 622 -623 -624 -625 -626 -627 -628 -629 -630 -631 -632 -633 -634 -635 -636 -637 638 -639 -640 -641 -642 -643 -644 -645 -646 647 -648 -649 -650 -651 -652 -653 -654 -655 -656 -657 -658 659 -660 -661 -662 -663 664 -665 -666 -667 -668 -669 -670 671 -672 -673 -674 -675 -676 -677 -678 -679 -680 -681 -682 683 -684 -685 -686 -687 -688 -689 -690 -691 -692 -693 -694 695 -696 -697 -698 -699 -700 -701 -702 -703 -704 -705 -706 -707 -708 -709 -710 -711 -712 713 -714 -715 -716 -717 -718 -719 -720 -721 -722 -723 -724 725 -726 -727 -728 -729 -730 -731 -732 -733 -734 -735 736 -737 -738 -739 -740 -741 -742 -743 744 -745 -746 -747 -748 -749 -750 -751 -752 -753 -754 -755 -756 757 -758 -759 -760 -761 -762 -763 -764 -765 -766 -767 768 -769 -770 -771 772 -773 -774 -775 -776 -777 -778 -779 -780 781 -782 -783 -784 -785 -786 -787 -788 -789 -790 -791 -792 -793 -794 -795 -796 -797 -798 799 -800 -801 -802 -803 -804 -805 -806 -807 -808 -809 -810 -811 812 -813 -814 -815 -816 -817 -818 -819 -820 -821 -822 -823 824 -825 -826 -827 -828 -829 -830 831 -832 -833 -834 -835 -836 -837 -838 -839 -840 -841 -842 -843 -844 -845 -846 -847 -848 849 -850 -851 -852 853 -854 -855 -856 -857 -858 -859 -860 -861 -862 -863 -864 865 -866 -867 -868 -869 -870 -871 -872 -873 -874 -875 -876 -877 878 -879 -880 -881 -882 -883 -884 -885 886 -887 -888 -889 -890 -891 -892 -893 -894 -895 -896 897 -898 -899 -900 -901 -902 -903 -904 -905 -906 -907 -908 -909 -910 -911 -912 -913 -914 -915 -916 -917 918 -919 -920 -921 -922 -923 -924 -925 -926 -927 -928 929 -930 -931 -932 -933 -934 -935 -936 937 -938 -939 -940 -941 942 -943 -944 -945 -946 -947 -948 -949 -950 -951 -952 -953 -954 -955 956 -957 -958 -959 -960 961 -962 -963 -964 -965 -966 -967 -968 -969 -970 -971 -972 973 -974 -975 -976 -977 -978 -979 -980 -981 -982 -983 -984 985 -986 -987 -988 -989 -990 -991 -992 -993 994 -995 -996 -997 -998 -999 0 diff --git a/hwSat06/easy.cnf b/hwSat06/easy.cnf new file mode 100644 index 0000000000000000000000000000000000000000..b7066512db1e8afa69d150bd159b3d54095a8ac4 --- /dev/null +++ b/hwSat06/easy.cnf @@ -0,0 +1,3203 @@ +c Daniel Shchur +c +c Sudoku CNF Problem +c +c Provides a Sudoku board to be solved +c +p cnf 729 3191 +c (1) Every row contains every number: +111 121 131 141 151 161 171 181 191 0 +112 122 132 142 152 162 172 182 192 0 +113 123 133 143 153 163 173 183 193 0 +114 124 134 144 154 164 174 184 194 0 +115 125 135 145 155 165 175 185 195 0 +116 126 136 146 156 166 176 186 196 0 +117 127 137 147 157 167 177 187 197 0 +118 128 138 148 158 168 178 188 198 0 +119 129 139 149 159 169 179 189 199 0 +211 221 231 241 251 261 271 281 291 0 +212 222 232 242 252 262 272 282 292 0 +213 223 233 243 253 263 273 283 293 0 +214 224 234 244 254 264 274 284 294 0 +215 225 235 245 255 265 275 285 295 0 +216 226 236 246 256 266 276 286 296 0 +217 227 237 247 257 267 277 287 297 0 +218 228 238 248 258 268 278 288 298 0 +219 229 239 249 259 269 279 289 299 0 +311 321 331 341 351 361 371 381 391 0 +312 322 332 342 352 362 372 382 392 0 +313 323 333 343 353 363 373 383 393 0 +314 324 334 344 354 364 374 384 394 0 +315 325 335 345 355 365 375 385 395 0 +316 326 336 346 356 366 376 386 396 0 +317 327 337 347 357 367 377 387 397 0 +318 328 338 348 358 368 378 388 398 0 +319 329 339 349 359 369 379 389 399 0 +411 421 431 441 451 461 471 481 491 0 +412 422 432 442 452 462 472 482 492 0 +413 423 433 443 453 463 473 483 493 0 +414 424 434 444 454 464 474 484 494 0 +415 425 435 445 455 465 475 485 495 0 +416 426 436 446 456 466 476 486 496 0 +417 427 437 447 457 467 477 487 497 0 +418 428 438 448 458 468 478 488 498 0 +419 429 439 449 459 469 479 489 499 0 +511 521 531 541 551 561 571 581 591 0 +512 522 532 542 552 562 572 582 592 0 +513 523 533 543 553 563 573 583 593 0 +514 524 534 544 554 564 574 584 594 0 +515 525 535 545 555 565 575 585 595 0 +516 526 536 546 556 566 576 586 596 0 +517 527 537 547 557 567 577 587 597 0 +518 528 538 548 558 568 578 588 598 0 +519 529 539 549 559 569 579 589 599 0 +611 621 631 641 651 661 671 681 691 0 +612 622 632 642 652 662 672 682 692 0 +613 623 633 643 653 663 673 683 693 0 +614 624 634 644 654 664 674 684 694 0 +615 625 635 645 655 665 675 685 695 0 +616 626 636 646 656 666 676 686 696 0 +617 627 637 647 657 667 677 687 697 0 +618 628 638 648 658 668 678 688 698 0 +619 629 639 649 659 669 679 689 699 0 +711 721 731 741 751 761 771 781 791 0 +712 722 732 742 752 762 772 782 792 0 +713 723 733 743 753 763 773 783 793 0 +714 724 734 744 754 764 774 784 794 0 +715 725 735 745 755 765 775 785 795 0 +716 726 736 746 756 766 776 786 796 0 +717 727 737 747 757 767 777 787 797 0 +718 728 738 748 758 768 778 788 798 0 +719 729 739 749 759 769 779 789 799 0 +811 821 831 841 851 861 871 881 891 0 +812 822 832 842 852 862 872 882 892 0 +813 823 833 843 853 863 873 883 893 0 +814 824 834 844 854 864 874 884 894 0 +815 825 835 845 855 865 875 885 895 0 +816 826 836 846 856 866 876 886 896 0 +817 827 837 847 857 867 877 887 897 0 +818 828 838 848 858 868 878 888 898 0 +819 829 839 849 859 869 879 889 899 0 +911 921 931 941 951 961 971 981 991 0 +912 922 932 942 952 962 972 982 992 0 +913 923 933 943 953 963 973 983 993 0 +914 924 934 944 954 964 974 984 994 0 +915 925 935 945 955 965 975 985 995 0 +916 926 936 946 956 966 976 986 996 0 +917 927 937 947 957 967 977 987 997 0 +918 928 938 948 958 968 978 988 998 0 +919 929 939 949 959 969 979 989 999 0 +c (2) Every column contains every number: +111 211 311 411 511 611 711 811 911 0 +112 212 312 412 512 612 712 812 912 0 +113 213 313 413 513 613 713 813 913 0 +114 214 314 414 514 614 714 814 914 0 +115 215 315 415 515 615 715 815 915 0 +116 216 316 416 516 616 716 816 916 0 +117 217 317 417 517 617 717 817 917 0 +118 218 318 418 518 618 718 818 918 0 +119 219 319 419 519 619 719 819 919 0 +121 221 321 421 521 621 721 821 921 0 +122 222 322 422 522 622 722 822 922 0 +123 223 323 423 523 623 723 823 923 0 +124 224 324 424 524 624 724 824 924 0 +125 225 325 425 525 625 725 825 925 0 +126 226 326 426 526 626 726 826 926 0 +127 227 327 427 527 627 727 827 927 0 +128 228 328 428 528 628 728 828 928 0 +129 229 329 429 529 629 729 829 929 0 +131 231 331 431 531 631 731 831 931 0 +132 232 332 432 532 632 732 832 932 0 +133 233 333 433 533 633 733 833 933 0 +134 234 334 434 534 634 734 834 934 0 +135 235 335 435 535 635 735 835 935 0 +136 236 336 436 536 636 736 836 936 0 +137 237 337 437 537 637 737 837 937 0 +138 238 338 438 538 638 738 838 938 0 +139 239 339 439 539 639 739 839 939 0 +141 241 341 441 541 641 741 841 941 0 +142 242 342 442 542 642 742 842 942 0 +143 243 343 443 543 643 743 843 943 0 +144 244 344 444 544 644 744 844 944 0 +145 245 345 445 545 645 745 845 945 0 +146 246 346 446 546 646 746 846 946 0 +147 247 347 447 547 647 747 847 947 0 +148 248 348 448 548 648 748 848 948 0 +149 249 349 449 549 649 749 849 949 0 +151 251 351 451 551 651 751 851 951 0 +152 252 352 452 552 652 752 852 952 0 +153 253 353 453 553 653 753 853 953 0 +154 254 354 454 554 654 754 854 954 0 +155 255 355 455 555 655 755 855 955 0 +156 256 356 456 556 656 756 856 956 0 +157 257 357 457 557 657 757 857 957 0 +158 258 358 458 558 658 758 858 958 0 +159 259 359 459 559 659 759 859 959 0 +161 261 361 461 561 661 761 861 961 0 +162 262 362 462 562 662 762 862 962 0 +163 263 363 463 563 663 763 863 963 0 +164 264 364 464 564 664 764 864 964 0 +165 265 365 465 565 665 765 865 965 0 +166 266 366 466 566 666 766 866 966 0 +167 267 367 467 567 667 767 867 967 0 +168 268 368 468 568 668 768 868 968 0 +169 269 369 469 569 669 769 869 969 0 +171 271 371 471 571 671 771 871 971 0 +172 272 372 472 572 672 772 872 972 0 +173 273 373 473 573 673 773 873 973 0 +174 274 374 474 574 674 774 874 974 0 +175 275 375 475 575 675 775 875 975 0 +176 276 376 476 576 676 776 876 976 0 +177 277 377 477 577 677 777 877 977 0 +178 278 378 478 578 678 778 878 978 0 +179 279 379 479 579 679 779 879 979 0 +181 281 381 481 581 681 781 881 981 0 +182 282 382 482 582 682 782 882 982 0 +183 283 383 483 583 683 783 883 983 0 +184 284 384 484 584 684 784 884 984 0 +185 285 385 485 585 685 785 885 985 0 +186 286 386 486 586 686 786 886 986 0 +187 287 387 487 587 687 787 887 987 0 +188 288 388 488 588 688 788 888 988 0 +189 289 389 489 589 689 789 889 989 0 +191 291 391 491 591 691 791 891 991 0 +192 292 392 492 592 692 792 892 992 0 +193 293 393 493 593 693 793 893 993 0 +194 294 394 494 594 694 794 894 994 0 +195 295 395 495 595 695 795 895 995 0 +196 296 396 496 596 696 796 896 996 0 +197 297 397 497 597 697 797 897 997 0 +198 298 398 498 598 698 798 898 998 0 +199 299 399 499 599 699 799 899 999 0 +c (3) Each 3x3 block contains every number: +111 121 131 211 221 231 311 321 331 0 +112 122 132 212 222 232 312 322 332 0 +113 123 133 213 223 233 313 323 333 0 +114 124 134 214 224 234 314 324 334 0 +115 125 135 215 225 235 315 325 335 0 +116 126 136 216 226 236 316 326 336 0 +117 127 137 217 227 237 317 327 337 0 +118 128 138 218 228 238 318 328 338 0 +119 129 139 219 229 239 319 329 339 0 +141 151 161 241 251 261 341 351 361 0 +142 152 162 242 252 262 342 352 362 0 +143 153 163 243 253 263 343 353 363 0 +144 154 164 244 254 264 344 354 364 0 +145 155 165 245 255 265 345 355 365 0 +146 156 166 246 256 266 346 356 366 0 +147 157 167 247 257 267 347 357 367 0 +148 158 168 248 258 268 348 358 368 0 +149 159 169 249 259 269 349 359 369 0 +171 181 191 271 281 291 371 381 391 0 +172 182 192 272 282 292 372 382 392 0 +173 183 193 273 283 293 373 383 393 0 +174 184 194 274 284 294 374 384 394 0 +175 185 195 275 285 295 375 385 395 0 +176 186 196 276 286 296 376 386 396 0 +177 187 197 277 287 297 377 387 397 0 +178 188 198 278 288 298 378 388 398 0 +179 189 199 279 289 299 379 389 399 0 +411 421 431 511 521 531 611 621 631 0 +412 422 432 512 522 532 612 622 632 0 +413 423 433 513 523 533 613 623 633 0 +414 424 434 514 524 534 614 624 634 0 +415 425 435 515 525 535 615 625 635 0 +416 426 436 516 526 536 616 626 636 0 +417 427 437 517 527 537 617 627 637 0 +418 428 438 518 528 538 618 628 638 0 +419 429 439 519 529 539 619 629 639 0 +441 451 461 541 551 561 641 651 661 0 +442 452 462 542 552 562 642 652 662 0 +443 453 463 543 553 563 643 653 663 0 +444 454 464 544 554 564 644 654 664 0 +445 455 465 545 555 565 645 655 665 0 +446 456 466 546 556 566 646 656 666 0 +447 457 467 547 557 567 647 657 667 0 +448 458 468 548 558 568 648 658 668 0 +449 459 469 549 559 569 649 659 669 0 +471 481 491 571 581 591 671 681 691 0 +472 482 492 572 582 592 672 682 692 0 +473 483 493 573 583 593 673 683 693 0 +474 484 494 574 584 594 674 684 694 0 +475 485 495 575 585 595 675 685 695 0 +476 486 496 576 586 596 676 686 696 0 +477 487 497 577 587 597 677 687 697 0 +478 488 498 578 588 598 678 688 698 0 +479 489 499 579 589 599 679 689 699 0 +711 721 731 811 821 831 911 921 931 0 +712 722 732 812 822 832 912 922 932 0 +713 723 733 813 823 833 913 923 933 0 +714 724 734 814 824 834 914 924 934 0 +715 725 735 815 825 835 915 925 935 0 +716 726 736 816 826 836 916 926 936 0 +717 727 737 817 827 837 917 927 937 0 +718 728 738 818 828 838 918 928 938 0 +719 729 739 819 829 839 919 929 939 0 +741 751 761 841 851 861 941 951 961 0 +742 752 762 842 852 862 942 952 962 0 +743 753 763 843 853 863 943 953 963 0 +744 754 764 844 854 864 944 954 964 0 +745 755 765 845 855 865 945 955 965 0 +746 756 766 846 856 866 946 956 966 0 +747 757 767 847 857 867 947 957 967 0 +748 758 768 848 858 868 948 958 968 0 +749 759 769 849 859 869 949 959 969 0 +771 781 791 871 881 891 971 981 991 0 +772 782 792 872 882 892 972 982 992 0 +773 783 793 873 883 893 973 983 993 0 +774 784 794 874 884 894 974 984 994 0 +775 785 795 875 885 895 975 985 995 0 +776 786 796 876 886 896 976 986 996 0 +777 787 797 877 887 897 977 987 997 0 +778 788 798 878 888 898 978 988 998 0 +779 789 799 879 889 899 979 989 999 0 +c (4) No cell contains more than one number: +-111 -112 0 +-111 -113 0 +-111 -114 0 +-111 -115 0 +-111 -116 0 +-111 -117 0 +-111 -118 0 +-111 -119 0 +-112 -113 0 +-112 -114 0 +-112 -115 0 +-112 -116 0 +-112 -117 0 +-112 -118 0 +-112 -119 0 +-113 -114 0 +-113 -115 0 +-113 -116 0 +-113 -117 0 +-113 -118 0 +-113 -119 0 +-114 -115 0 +-114 -116 0 +-114 -117 0 +-114 -118 0 +-114 -119 0 +-115 -116 0 +-115 -117 0 +-115 -118 0 +-115 -119 0 +-116 -117 0 +-116 -118 0 +-116 -119 0 +-117 -118 0 +-117 -119 0 +-118 -119 0 +-121 -122 0 +-121 -123 0 +-121 -124 0 +-121 -125 0 +-121 -126 0 +-121 -127 0 +-121 -128 0 +-121 -129 0 +-122 -123 0 +-122 -124 0 +-122 -125 0 +-122 -126 0 +-122 -127 0 +-122 -128 0 +-122 -129 0 +-123 -124 0 +-123 -125 0 +-123 -126 0 +-123 -127 0 +-123 -128 0 +-123 -129 0 +-124 -125 0 +-124 -126 0 +-124 -127 0 +-124 -128 0 +-124 -129 0 +-125 -126 0 +-125 -127 0 +-125 -128 0 +-125 -129 0 +-126 -127 0 +-126 -128 0 +-126 -129 0 +-127 -128 0 +-127 -129 0 +-128 -129 0 +-131 -132 0 +-131 -133 0 +-131 -134 0 +-131 -135 0 +-131 -136 0 +-131 -137 0 +-131 -138 0 +-131 -139 0 +-132 -133 0 +-132 -134 0 +-132 -135 0 +-132 -136 0 +-132 -137 0 +-132 -138 0 +-132 -139 0 +-133 -134 0 +-133 -135 0 +-133 -136 0 +-133 -137 0 +-133 -138 0 +-133 -139 0 +-134 -135 0 +-134 -136 0 +-134 -137 0 +-134 -138 0 +-134 -139 0 +-135 -136 0 +-135 -137 0 +-135 -138 0 +-135 -139 0 +-136 -137 0 +-136 -138 0 +-136 -139 0 +-137 -138 0 +-137 -139 0 +-138 -139 0 +-141 -142 0 +-141 -143 0 +-141 -144 0 +-141 -145 0 +-141 -146 0 +-141 -147 0 +-141 -148 0 +-141 -149 0 +-142 -143 0 +-142 -144 0 +-142 -145 0 +-142 -146 0 +-142 -147 0 +-142 -148 0 +-142 -149 0 +-143 -144 0 +-143 -145 0 +-143 -146 0 +-143 -147 0 +-143 -148 0 +-143 -149 0 +-144 -145 0 +-144 -146 0 +-144 -147 0 +-144 -148 0 +-144 -149 0 +-145 -146 0 +-145 -147 0 +-145 -148 0 +-145 -149 0 +-146 -147 0 +-146 -148 0 +-146 -149 0 +-147 -148 0 +-147 -149 0 +-148 -149 0 +-151 -152 0 +-151 -153 0 +-151 -154 0 +-151 -155 0 +-151 -156 0 +-151 -157 0 +-151 -158 0 +-151 -159 0 +-152 -153 0 +-152 -154 0 +-152 -155 0 +-152 -156 0 +-152 -157 0 +-152 -158 0 +-152 -159 0 +-153 -154 0 +-153 -155 0 +-153 -156 0 +-153 -157 0 +-153 -158 0 +-153 -159 0 +-154 -155 0 +-154 -156 0 +-154 -157 0 +-154 -158 0 +-154 -159 0 +-155 -156 0 +-155 -157 0 +-155 -158 0 +-155 -159 0 +-156 -157 0 +-156 -158 0 +-156 -159 0 +-157 -158 0 +-157 -159 0 +-158 -159 0 +-161 -162 0 +-161 -163 0 +-161 -164 0 +-161 -165 0 +-161 -166 0 +-161 -167 0 +-161 -168 0 +-161 -169 0 +-162 -163 0 +-162 -164 0 +-162 -165 0 +-162 -166 0 +-162 -167 0 +-162 -168 0 +-162 -169 0 +-163 -164 0 +-163 -165 0 +-163 -166 0 +-163 -167 0 +-163 -168 0 +-163 -169 0 +-164 -165 0 +-164 -166 0 +-164 -167 0 +-164 -168 0 +-164 -169 0 +-165 -166 0 +-165 -167 0 +-165 -168 0 +-165 -169 0 +-166 -167 0 +-166 -168 0 +-166 -169 0 +-167 -168 0 +-167 -169 0 +-168 -169 0 +-171 -172 0 +-171 -173 0 +-171 -174 0 +-171 -175 0 +-171 -176 0 +-171 -177 0 +-171 -178 0 +-171 -179 0 +-172 -173 0 +-172 -174 0 +-172 -175 0 +-172 -176 0 +-172 -177 0 +-172 -178 0 +-172 -179 0 +-173 -174 0 +-173 -175 0 +-173 -176 0 +-173 -177 0 +-173 -178 0 +-173 -179 0 +-174 -175 0 +-174 -176 0 +-174 -177 0 +-174 -178 0 +-174 -179 0 +-175 -176 0 +-175 -177 0 +-175 -178 0 +-175 -179 0 +-176 -177 0 +-176 -178 0 +-176 -179 0 +-177 -178 0 +-177 -179 0 +-178 -179 0 +-181 -182 0 +-181 -183 0 +-181 -184 0 +-181 -185 0 +-181 -186 0 +-181 -187 0 +-181 -188 0 +-181 -189 0 +-182 -183 0 +-182 -184 0 +-182 -185 0 +-182 -186 0 +-182 -187 0 +-182 -188 0 +-182 -189 0 +-183 -184 0 +-183 -185 0 +-183 -186 0 +-183 -187 0 +-183 -188 0 +-183 -189 0 +-184 -185 0 +-184 -186 0 +-184 -187 0 +-184 -188 0 +-184 -189 0 +-185 -186 0 +-185 -187 0 +-185 -188 0 +-185 -189 0 +-186 -187 0 +-186 -188 0 +-186 -189 0 +-187 -188 0 +-187 -189 0 +-188 -189 0 +-191 -192 0 +-191 -193 0 +-191 -194 0 +-191 -195 0 +-191 -196 0 +-191 -197 0 +-191 -198 0 +-191 -199 0 +-192 -193 0 +-192 -194 0 +-192 -195 0 +-192 -196 0 +-192 -197 0 +-192 -198 0 +-192 -199 0 +-193 -194 0 +-193 -195 0 +-193 -196 0 +-193 -197 0 +-193 -198 0 +-193 -199 0 +-194 -195 0 +-194 -196 0 +-194 -197 0 +-194 -198 0 +-194 -199 0 +-195 -196 0 +-195 -197 0 +-195 -198 0 +-195 -199 0 +-196 -197 0 +-196 -198 0 +-196 -199 0 +-197 -198 0 +-197 -199 0 +-198 -199 0 +-211 -212 0 +-211 -213 0 +-211 -214 0 +-211 -215 0 +-211 -216 0 +-211 -217 0 +-211 -218 0 +-211 -219 0 +-212 -213 0 +-212 -214 0 +-212 -215 0 +-212 -216 0 +-212 -217 0 +-212 -218 0 +-212 -219 0 +-213 -214 0 +-213 -215 0 +-213 -216 0 +-213 -217 0 +-213 -218 0 +-213 -219 0 +-214 -215 0 +-214 -216 0 +-214 -217 0 +-214 -218 0 +-214 -219 0 +-215 -216 0 +-215 -217 0 +-215 -218 0 +-215 -219 0 +-216 -217 0 +-216 -218 0 +-216 -219 0 +-217 -218 0 +-217 -219 0 +-218 -219 0 +-221 -222 0 +-221 -223 0 +-221 -224 0 +-221 -225 0 +-221 -226 0 +-221 -227 0 +-221 -228 0 +-221 -229 0 +-222 -223 0 +-222 -224 0 +-222 -225 0 +-222 -226 0 +-222 -227 0 +-222 -228 0 +-222 -229 0 +-223 -224 0 +-223 -225 0 +-223 -226 0 +-223 -227 0 +-223 -228 0 +-223 -229 0 +-224 -225 0 +-224 -226 0 +-224 -227 0 +-224 -228 0 +-224 -229 0 +-225 -226 0 +-225 -227 0 +-225 -228 0 +-225 -229 0 +-226 -227 0 +-226 -228 0 +-226 -229 0 +-227 -228 0 +-227 -229 0 +-228 -229 0 +-231 -232 0 +-231 -233 0 +-231 -234 0 +-231 -235 0 +-231 -236 0 +-231 -237 0 +-231 -238 0 +-231 -239 0 +-232 -233 0 +-232 -234 0 +-232 -235 0 +-232 -236 0 +-232 -237 0 +-232 -238 0 +-232 -239 0 +-233 -234 0 +-233 -235 0 +-233 -236 0 +-233 -237 0 +-233 -238 0 +-233 -239 0 +-234 -235 0 +-234 -236 0 +-234 -237 0 +-234 -238 0 +-234 -239 0 +-235 -236 0 +-235 -237 0 +-235 -238 0 +-235 -239 0 +-236 -237 0 +-236 -238 0 +-236 -239 0 +-237 -238 0 +-237 -239 0 +-238 -239 0 +-241 -242 0 +-241 -243 0 +-241 -244 0 +-241 -245 0 +-241 -246 0 +-241 -247 0 +-241 -248 0 +-241 -249 0 +-242 -243 0 +-242 -244 0 +-242 -245 0 +-242 -246 0 +-242 -247 0 +-242 -248 0 +-242 -249 0 +-243 -244 0 +-243 -245 0 +-243 -246 0 +-243 -247 0 +-243 -248 0 +-243 -249 0 +-244 -245 0 +-244 -246 0 +-244 -247 0 +-244 -248 0 +-244 -249 0 +-245 -246 0 +-245 -247 0 +-245 -248 0 +-245 -249 0 +-246 -247 0 +-246 -248 0 +-246 -249 0 +-247 -248 0 +-247 -249 0 +-248 -249 0 +-251 -252 0 +-251 -253 0 +-251 -254 0 +-251 -255 0 +-251 -256 0 +-251 -257 0 +-251 -258 0 +-251 -259 0 +-252 -253 0 +-252 -254 0 +-252 -255 0 +-252 -256 0 +-252 -257 0 +-252 -258 0 +-252 -259 0 +-253 -254 0 +-253 -255 0 +-253 -256 0 +-253 -257 0 +-253 -258 0 +-253 -259 0 +-254 -255 0 +-254 -256 0 +-254 -257 0 +-254 -258 0 +-254 -259 0 +-255 -256 0 +-255 -257 0 +-255 -258 0 +-255 -259 0 +-256 -257 0 +-256 -258 0 +-256 -259 0 +-257 -258 0 +-257 -259 0 +-258 -259 0 +-261 -262 0 +-261 -263 0 +-261 -264 0 +-261 -265 0 +-261 -266 0 +-261 -267 0 +-261 -268 0 +-261 -269 0 +-262 -263 0 +-262 -264 0 +-262 -265 0 +-262 -266 0 +-262 -267 0 +-262 -268 0 +-262 -269 0 +-263 -264 0 +-263 -265 0 +-263 -266 0 +-263 -267 0 +-263 -268 0 +-263 -269 0 +-264 -265 0 +-264 -266 0 +-264 -267 0 +-264 -268 0 +-264 -269 0 +-265 -266 0 +-265 -267 0 +-265 -268 0 +-265 -269 0 +-266 -267 0 +-266 -268 0 +-266 -269 0 +-267 -268 0 +-267 -269 0 +-268 -269 0 +-271 -272 0 +-271 -273 0 +-271 -274 0 +-271 -275 0 +-271 -276 0 +-271 -277 0 +-271 -278 0 +-271 -279 0 +-272 -273 0 +-272 -274 0 +-272 -275 0 +-272 -276 0 +-272 -277 0 +-272 -278 0 +-272 -279 0 +-273 -274 0 +-273 -275 0 +-273 -276 0 +-273 -277 0 +-273 -278 0 +-273 -279 0 +-274 -275 0 +-274 -276 0 +-274 -277 0 +-274 -278 0 +-274 -279 0 +-275 -276 0 +-275 -277 0 +-275 -278 0 +-275 -279 0 +-276 -277 0 +-276 -278 0 +-276 -279 0 +-277 -278 0 +-277 -279 0 +-278 -279 0 +-281 -282 0 +-281 -283 0 +-281 -284 0 +-281 -285 0 +-281 -286 0 +-281 -287 0 +-281 -288 0 +-281 -289 0 +-282 -283 0 +-282 -284 0 +-282 -285 0 +-282 -286 0 +-282 -287 0 +-282 -288 0 +-282 -289 0 +-283 -284 0 +-283 -285 0 +-283 -286 0 +-283 -287 0 +-283 -288 0 +-283 -289 0 +-284 -285 0 +-284 -286 0 +-284 -287 0 +-284 -288 0 +-284 -289 0 +-285 -286 0 +-285 -287 0 +-285 -288 0 +-285 -289 0 +-286 -287 0 +-286 -288 0 +-286 -289 0 +-287 -288 0 +-287 -289 0 +-288 -289 0 +-291 -292 0 +-291 -293 0 +-291 -294 0 +-291 -295 0 +-291 -296 0 +-291 -297 0 +-291 -298 0 +-291 -299 0 +-292 -293 0 +-292 -294 0 +-292 -295 0 +-292 -296 0 +-292 -297 0 +-292 -298 0 +-292 -299 0 +-293 -294 0 +-293 -295 0 +-293 -296 0 +-293 -297 0 +-293 -298 0 +-293 -299 0 +-294 -295 0 +-294 -296 0 +-294 -297 0 +-294 -298 0 +-294 -299 0 +-295 -296 0 +-295 -297 0 +-295 -298 0 +-295 -299 0 +-296 -297 0 +-296 -298 0 +-296 -299 0 +-297 -298 0 +-297 -299 0 +-298 -299 0 +-311 -312 0 +-311 -313 0 +-311 -314 0 +-311 -315 0 +-311 -316 0 +-311 -317 0 +-311 -318 0 +-311 -319 0 +-312 -313 0 +-312 -314 0 +-312 -315 0 +-312 -316 0 +-312 -317 0 +-312 -318 0 +-312 -319 0 +-313 -314 0 +-313 -315 0 +-313 -316 0 +-313 -317 0 +-313 -318 0 +-313 -319 0 +-314 -315 0 +-314 -316 0 +-314 -317 0 +-314 -318 0 +-314 -319 0 +-315 -316 0 +-315 -317 0 +-315 -318 0 +-315 -319 0 +-316 -317 0 +-316 -318 0 +-316 -319 0 +-317 -318 0 +-317 -319 0 +-318 -319 0 +-321 -322 0 +-321 -323 0 +-321 -324 0 +-321 -325 0 +-321 -326 0 +-321 -327 0 +-321 -328 0 +-321 -329 0 +-322 -323 0 +-322 -324 0 +-322 -325 0 +-322 -326 0 +-322 -327 0 +-322 -328 0 +-322 -329 0 +-323 -324 0 +-323 -325 0 +-323 -326 0 +-323 -327 0 +-323 -328 0 +-323 -329 0 +-324 -325 0 +-324 -326 0 +-324 -327 0 +-324 -328 0 +-324 -329 0 +-325 -326 0 +-325 -327 0 +-325 -328 0 +-325 -329 0 +-326 -327 0 +-326 -328 0 +-326 -329 0 +-327 -328 0 +-327 -329 0 +-328 -329 0 +-331 -332 0 +-331 -333 0 +-331 -334 0 +-331 -335 0 +-331 -336 0 +-331 -337 0 +-331 -338 0 +-331 -339 0 +-332 -333 0 +-332 -334 0 +-332 -335 0 +-332 -336 0 +-332 -337 0 +-332 -338 0 +-332 -339 0 +-333 -334 0 +-333 -335 0 +-333 -336 0 +-333 -337 0 +-333 -338 0 +-333 -339 0 +-334 -335 0 +-334 -336 0 +-334 -337 0 +-334 -338 0 +-334 -339 0 +-335 -336 0 +-335 -337 0 +-335 -338 0 +-335 -339 0 +-336 -337 0 +-336 -338 0 +-336 -339 0 +-337 -338 0 +-337 -339 0 +-338 -339 0 +-341 -342 0 +-341 -343 0 +-341 -344 0 +-341 -345 0 +-341 -346 0 +-341 -347 0 +-341 -348 0 +-341 -349 0 +-342 -343 0 +-342 -344 0 +-342 -345 0 +-342 -346 0 +-342 -347 0 +-342 -348 0 +-342 -349 0 +-343 -344 0 +-343 -345 0 +-343 -346 0 +-343 -347 0 +-343 -348 0 +-343 -349 0 +-344 -345 0 +-344 -346 0 +-344 -347 0 +-344 -348 0 +-344 -349 0 +-345 -346 0 +-345 -347 0 +-345 -348 0 +-345 -349 0 +-346 -347 0 +-346 -348 0 +-346 -349 0 +-347 -348 0 +-347 -349 0 +-348 -349 0 +-351 -352 0 +-351 -353 0 +-351 -354 0 +-351 -355 0 +-351 -356 0 +-351 -357 0 +-351 -358 0 +-351 -359 0 +-352 -353 0 +-352 -354 0 +-352 -355 0 +-352 -356 0 +-352 -357 0 +-352 -358 0 +-352 -359 0 +-353 -354 0 +-353 -355 0 +-353 -356 0 +-353 -357 0 +-353 -358 0 +-353 -359 0 +-354 -355 0 +-354 -356 0 +-354 -357 0 +-354 -358 0 +-354 -359 0 +-355 -356 0 +-355 -357 0 +-355 -358 0 +-355 -359 0 +-356 -357 0 +-356 -358 0 +-356 -359 0 +-357 -358 0 +-357 -359 0 +-358 -359 0 +-361 -362 0 +-361 -363 0 +-361 -364 0 +-361 -365 0 +-361 -366 0 +-361 -367 0 +-361 -368 0 +-361 -369 0 +-362 -363 0 +-362 -364 0 +-362 -365 0 +-362 -366 0 +-362 -367 0 +-362 -368 0 +-362 -369 0 +-363 -364 0 +-363 -365 0 +-363 -366 0 +-363 -367 0 +-363 -368 0 +-363 -369 0 +-364 -365 0 +-364 -366 0 +-364 -367 0 +-364 -368 0 +-364 -369 0 +-365 -366 0 +-365 -367 0 +-365 -368 0 +-365 -369 0 +-366 -367 0 +-366 -368 0 +-366 -369 0 +-367 -368 0 +-367 -369 0 +-368 -369 0 +-371 -372 0 +-371 -373 0 +-371 -374 0 +-371 -375 0 +-371 -376 0 +-371 -377 0 +-371 -378 0 +-371 -379 0 +-372 -373 0 +-372 -374 0 +-372 -375 0 +-372 -376 0 +-372 -377 0 +-372 -378 0 +-372 -379 0 +-373 -374 0 +-373 -375 0 +-373 -376 0 +-373 -377 0 +-373 -378 0 +-373 -379 0 +-374 -375 0 +-374 -376 0 +-374 -377 0 +-374 -378 0 +-374 -379 0 +-375 -376 0 +-375 -377 0 +-375 -378 0 +-375 -379 0 +-376 -377 0 +-376 -378 0 +-376 -379 0 +-377 -378 0 +-377 -379 0 +-378 -379 0 +-381 -382 0 +-381 -383 0 +-381 -384 0 +-381 -385 0 +-381 -386 0 +-381 -387 0 +-381 -388 0 +-381 -389 0 +-382 -383 0 +-382 -384 0 +-382 -385 0 +-382 -386 0 +-382 -387 0 +-382 -388 0 +-382 -389 0 +-383 -384 0 +-383 -385 0 +-383 -386 0 +-383 -387 0 +-383 -388 0 +-383 -389 0 +-384 -385 0 +-384 -386 0 +-384 -387 0 +-384 -388 0 +-384 -389 0 +-385 -386 0 +-385 -387 0 +-385 -388 0 +-385 -389 0 +-386 -387 0 +-386 -388 0 +-386 -389 0 +-387 -388 0 +-387 -389 0 +-388 -389 0 +-391 -392 0 +-391 -393 0 +-391 -394 0 +-391 -395 0 +-391 -396 0 +-391 -397 0 +-391 -398 0 +-391 -399 0 +-392 -393 0 +-392 -394 0 +-392 -395 0 +-392 -396 0 +-392 -397 0 +-392 -398 0 +-392 -399 0 +-393 -394 0 +-393 -395 0 +-393 -396 0 +-393 -397 0 +-393 -398 0 +-393 -399 0 +-394 -395 0 +-394 -396 0 +-394 -397 0 +-394 -398 0 +-394 -399 0 +-395 -396 0 +-395 -397 0 +-395 -398 0 +-395 -399 0 +-396 -397 0 +-396 -398 0 +-396 -399 0 +-397 -398 0 +-397 -399 0 +-398 -399 0 +-411 -412 0 +-411 -413 0 +-411 -414 0 +-411 -415 0 +-411 -416 0 +-411 -417 0 +-411 -418 0 +-411 -419 0 +-412 -413 0 +-412 -414 0 +-412 -415 0 +-412 -416 0 +-412 -417 0 +-412 -418 0 +-412 -419 0 +-413 -414 0 +-413 -415 0 +-413 -416 0 +-413 -417 0 +-413 -418 0 +-413 -419 0 +-414 -415 0 +-414 -416 0 +-414 -417 0 +-414 -418 0 +-414 -419 0 +-415 -416 0 +-415 -417 0 +-415 -418 0 +-415 -419 0 +-416 -417 0 +-416 -418 0 +-416 -419 0 +-417 -418 0 +-417 -419 0 +-418 -419 0 +-421 -422 0 +-421 -423 0 +-421 -424 0 +-421 -425 0 +-421 -426 0 +-421 -427 0 +-421 -428 0 +-421 -429 0 +-422 -423 0 +-422 -424 0 +-422 -425 0 +-422 -426 0 +-422 -427 0 +-422 -428 0 +-422 -429 0 +-423 -424 0 +-423 -425 0 +-423 -426 0 +-423 -427 0 +-423 -428 0 +-423 -429 0 +-424 -425 0 +-424 -426 0 +-424 -427 0 +-424 -428 0 +-424 -429 0 +-425 -426 0 +-425 -427 0 +-425 -428 0 +-425 -429 0 +-426 -427 0 +-426 -428 0 +-426 -429 0 +-427 -428 0 +-427 -429 0 +-428 -429 0 +-431 -432 0 +-431 -433 0 +-431 -434 0 +-431 -435 0 +-431 -436 0 +-431 -437 0 +-431 -438 0 +-431 -439 0 +-432 -433 0 +-432 -434 0 +-432 -435 0 +-432 -436 0 +-432 -437 0 +-432 -438 0 +-432 -439 0 +-433 -434 0 +-433 -435 0 +-433 -436 0 +-433 -437 0 +-433 -438 0 +-433 -439 0 +-434 -435 0 +-434 -436 0 +-434 -437 0 +-434 -438 0 +-434 -439 0 +-435 -436 0 +-435 -437 0 +-435 -438 0 +-435 -439 0 +-436 -437 0 +-436 -438 0 +-436 -439 0 +-437 -438 0 +-437 -439 0 +-438 -439 0 +-441 -442 0 +-441 -443 0 +-441 -444 0 +-441 -445 0 +-441 -446 0 +-441 -447 0 +-441 -448 0 +-441 -449 0 +-442 -443 0 +-442 -444 0 +-442 -445 0 +-442 -446 0 +-442 -447 0 +-442 -448 0 +-442 -449 0 +-443 -444 0 +-443 -445 0 +-443 -446 0 +-443 -447 0 +-443 -448 0 +-443 -449 0 +-444 -445 0 +-444 -446 0 +-444 -447 0 +-444 -448 0 +-444 -449 0 +-445 -446 0 +-445 -447 0 +-445 -448 0 +-445 -449 0 +-446 -447 0 +-446 -448 0 +-446 -449 0 +-447 -448 0 +-447 -449 0 +-448 -449 0 +-451 -452 0 +-451 -453 0 +-451 -454 0 +-451 -455 0 +-451 -456 0 +-451 -457 0 +-451 -458 0 +-451 -459 0 +-452 -453 0 +-452 -454 0 +-452 -455 0 +-452 -456 0 +-452 -457 0 +-452 -458 0 +-452 -459 0 +-453 -454 0 +-453 -455 0 +-453 -456 0 +-453 -457 0 +-453 -458 0 +-453 -459 0 +-454 -455 0 +-454 -456 0 +-454 -457 0 +-454 -458 0 +-454 -459 0 +-455 -456 0 +-455 -457 0 +-455 -458 0 +-455 -459 0 +-456 -457 0 +-456 -458 0 +-456 -459 0 +-457 -458 0 +-457 -459 0 +-458 -459 0 +-461 -462 0 +-461 -463 0 +-461 -464 0 +-461 -465 0 +-461 -466 0 +-461 -467 0 +-461 -468 0 +-461 -469 0 +-462 -463 0 +-462 -464 0 +-462 -465 0 +-462 -466 0 +-462 -467 0 +-462 -468 0 +-462 -469 0 +-463 -464 0 +-463 -465 0 +-463 -466 0 +-463 -467 0 +-463 -468 0 +-463 -469 0 +-464 -465 0 +-464 -466 0 +-464 -467 0 +-464 -468 0 +-464 -469 0 +-465 -466 0 +-465 -467 0 +-465 -468 0 +-465 -469 0 +-466 -467 0 +-466 -468 0 +-466 -469 0 +-467 -468 0 +-467 -469 0 +-468 -469 0 +-471 -472 0 +-471 -473 0 +-471 -474 0 +-471 -475 0 +-471 -476 0 +-471 -477 0 +-471 -478 0 +-471 -479 0 +-472 -473 0 +-472 -474 0 +-472 -475 0 +-472 -476 0 +-472 -477 0 +-472 -478 0 +-472 -479 0 +-473 -474 0 +-473 -475 0 +-473 -476 0 +-473 -477 0 +-473 -478 0 +-473 -479 0 +-474 -475 0 +-474 -476 0 +-474 -477 0 +-474 -478 0 +-474 -479 0 +-475 -476 0 +-475 -477 0 +-475 -478 0 +-475 -479 0 +-476 -477 0 +-476 -478 0 +-476 -479 0 +-477 -478 0 +-477 -479 0 +-478 -479 0 +-481 -482 0 +-481 -483 0 +-481 -484 0 +-481 -485 0 +-481 -486 0 +-481 -487 0 +-481 -488 0 +-481 -489 0 +-482 -483 0 +-482 -484 0 +-482 -485 0 +-482 -486 0 +-482 -487 0 +-482 -488 0 +-482 -489 0 +-483 -484 0 +-483 -485 0 +-483 -486 0 +-483 -487 0 +-483 -488 0 +-483 -489 0 +-484 -485 0 +-484 -486 0 +-484 -487 0 +-484 -488 0 +-484 -489 0 +-485 -486 0 +-485 -487 0 +-485 -488 0 +-485 -489 0 +-486 -487 0 +-486 -488 0 +-486 -489 0 +-487 -488 0 +-487 -489 0 +-488 -489 0 +-491 -492 0 +-491 -493 0 +-491 -494 0 +-491 -495 0 +-491 -496 0 +-491 -497 0 +-491 -498 0 +-491 -499 0 +-492 -493 0 +-492 -494 0 +-492 -495 0 +-492 -496 0 +-492 -497 0 +-492 -498 0 +-492 -499 0 +-493 -494 0 +-493 -495 0 +-493 -496 0 +-493 -497 0 +-493 -498 0 +-493 -499 0 +-494 -495 0 +-494 -496 0 +-494 -497 0 +-494 -498 0 +-494 -499 0 +-495 -496 0 +-495 -497 0 +-495 -498 0 +-495 -499 0 +-496 -497 0 +-496 -498 0 +-496 -499 0 +-497 -498 0 +-497 -499 0 +-498 -499 0 +-511 -512 0 +-511 -513 0 +-511 -514 0 +-511 -515 0 +-511 -516 0 +-511 -517 0 +-511 -518 0 +-511 -519 0 +-512 -513 0 +-512 -514 0 +-512 -515 0 +-512 -516 0 +-512 -517 0 +-512 -518 0 +-512 -519 0 +-513 -514 0 +-513 -515 0 +-513 -516 0 +-513 -517 0 +-513 -518 0 +-513 -519 0 +-514 -515 0 +-514 -516 0 +-514 -517 0 +-514 -518 0 +-514 -519 0 +-515 -516 0 +-515 -517 0 +-515 -518 0 +-515 -519 0 +-516 -517 0 +-516 -518 0 +-516 -519 0 +-517 -518 0 +-517 -519 0 +-518 -519 0 +-521 -522 0 +-521 -523 0 +-521 -524 0 +-521 -525 0 +-521 -526 0 +-521 -527 0 +-521 -528 0 +-521 -529 0 +-522 -523 0 +-522 -524 0 +-522 -525 0 +-522 -526 0 +-522 -527 0 +-522 -528 0 +-522 -529 0 +-523 -524 0 +-523 -525 0 +-523 -526 0 +-523 -527 0 +-523 -528 0 +-523 -529 0 +-524 -525 0 +-524 -526 0 +-524 -527 0 +-524 -528 0 +-524 -529 0 +-525 -526 0 +-525 -527 0 +-525 -528 0 +-525 -529 0 +-526 -527 0 +-526 -528 0 +-526 -529 0 +-527 -528 0 +-527 -529 0 +-528 -529 0 +-531 -532 0 +-531 -533 0 +-531 -534 0 +-531 -535 0 +-531 -536 0 +-531 -537 0 +-531 -538 0 +-531 -539 0 +-532 -533 0 +-532 -534 0 +-532 -535 0 +-532 -536 0 +-532 -537 0 +-532 -538 0 +-532 -539 0 +-533 -534 0 +-533 -535 0 +-533 -536 0 +-533 -537 0 +-533 -538 0 +-533 -539 0 +-534 -535 0 +-534 -536 0 +-534 -537 0 +-534 -538 0 +-534 -539 0 +-535 -536 0 +-535 -537 0 +-535 -538 0 +-535 -539 0 +-536 -537 0 +-536 -538 0 +-536 -539 0 +-537 -538 0 +-537 -539 0 +-538 -539 0 +-541 -542 0 +-541 -543 0 +-541 -544 0 +-541 -545 0 +-541 -546 0 +-541 -547 0 +-541 -548 0 +-541 -549 0 +-542 -543 0 +-542 -544 0 +-542 -545 0 +-542 -546 0 +-542 -547 0 +-542 -548 0 +-542 -549 0 +-543 -544 0 +-543 -545 0 +-543 -546 0 +-543 -547 0 +-543 -548 0 +-543 -549 0 +-544 -545 0 +-544 -546 0 +-544 -547 0 +-544 -548 0 +-544 -549 0 +-545 -546 0 +-545 -547 0 +-545 -548 0 +-545 -549 0 +-546 -547 0 +-546 -548 0 +-546 -549 0 +-547 -548 0 +-547 -549 0 +-548 -549 0 +-551 -552 0 +-551 -553 0 +-551 -554 0 +-551 -555 0 +-551 -556 0 +-551 -557 0 +-551 -558 0 +-551 -559 0 +-552 -553 0 +-552 -554 0 +-552 -555 0 +-552 -556 0 +-552 -557 0 +-552 -558 0 +-552 -559 0 +-553 -554 0 +-553 -555 0 +-553 -556 0 +-553 -557 0 +-553 -558 0 +-553 -559 0 +-554 -555 0 +-554 -556 0 +-554 -557 0 +-554 -558 0 +-554 -559 0 +-555 -556 0 +-555 -557 0 +-555 -558 0 +-555 -559 0 +-556 -557 0 +-556 -558 0 +-556 -559 0 +-557 -558 0 +-557 -559 0 +-558 -559 0 +-561 -562 0 +-561 -563 0 +-561 -564 0 +-561 -565 0 +-561 -566 0 +-561 -567 0 +-561 -568 0 +-561 -569 0 +-562 -563 0 +-562 -564 0 +-562 -565 0 +-562 -566 0 +-562 -567 0 +-562 -568 0 +-562 -569 0 +-563 -564 0 +-563 -565 0 +-563 -566 0 +-563 -567 0 +-563 -568 0 +-563 -569 0 +-564 -565 0 +-564 -566 0 +-564 -567 0 +-564 -568 0 +-564 -569 0 +-565 -566 0 +-565 -567 0 +-565 -568 0 +-565 -569 0 +-566 -567 0 +-566 -568 0 +-566 -569 0 +-567 -568 0 +-567 -569 0 +-568 -569 0 +-571 -572 0 +-571 -573 0 +-571 -574 0 +-571 -575 0 +-571 -576 0 +-571 -577 0 +-571 -578 0 +-571 -579 0 +-572 -573 0 +-572 -574 0 +-572 -575 0 +-572 -576 0 +-572 -577 0 +-572 -578 0 +-572 -579 0 +-573 -574 0 +-573 -575 0 +-573 -576 0 +-573 -577 0 +-573 -578 0 +-573 -579 0 +-574 -575 0 +-574 -576 0 +-574 -577 0 +-574 -578 0 +-574 -579 0 +-575 -576 0 +-575 -577 0 +-575 -578 0 +-575 -579 0 +-576 -577 0 +-576 -578 0 +-576 -579 0 +-577 -578 0 +-577 -579 0 +-578 -579 0 +-581 -582 0 +-581 -583 0 +-581 -584 0 +-581 -585 0 +-581 -586 0 +-581 -587 0 +-581 -588 0 +-581 -589 0 +-582 -583 0 +-582 -584 0 +-582 -585 0 +-582 -586 0 +-582 -587 0 +-582 -588 0 +-582 -589 0 +-583 -584 0 +-583 -585 0 +-583 -586 0 +-583 -587 0 +-583 -588 0 +-583 -589 0 +-584 -585 0 +-584 -586 0 +-584 -587 0 +-584 -588 0 +-584 -589 0 +-585 -586 0 +-585 -587 0 +-585 -588 0 +-585 -589 0 +-586 -587 0 +-586 -588 0 +-586 -589 0 +-587 -588 0 +-587 -589 0 +-588 -589 0 +-591 -592 0 +-591 -593 0 +-591 -594 0 +-591 -595 0 +-591 -596 0 +-591 -597 0 +-591 -598 0 +-591 -599 0 +-592 -593 0 +-592 -594 0 +-592 -595 0 +-592 -596 0 +-592 -597 0 +-592 -598 0 +-592 -599 0 +-593 -594 0 +-593 -595 0 +-593 -596 0 +-593 -597 0 +-593 -598 0 +-593 -599 0 +-594 -595 0 +-594 -596 0 +-594 -597 0 +-594 -598 0 +-594 -599 0 +-595 -596 0 +-595 -597 0 +-595 -598 0 +-595 -599 0 +-596 -597 0 +-596 -598 0 +-596 -599 0 +-597 -598 0 +-597 -599 0 +-598 -599 0 +-611 -612 0 +-611 -613 0 +-611 -614 0 +-611 -615 0 +-611 -616 0 +-611 -617 0 +-611 -618 0 +-611 -619 0 +-612 -613 0 +-612 -614 0 +-612 -615 0 +-612 -616 0 +-612 -617 0 +-612 -618 0 +-612 -619 0 +-613 -614 0 +-613 -615 0 +-613 -616 0 +-613 -617 0 +-613 -618 0 +-613 -619 0 +-614 -615 0 +-614 -616 0 +-614 -617 0 +-614 -618 0 +-614 -619 0 +-615 -616 0 +-615 -617 0 +-615 -618 0 +-615 -619 0 +-616 -617 0 +-616 -618 0 +-616 -619 0 +-617 -618 0 +-617 -619 0 +-618 -619 0 +-621 -622 0 +-621 -623 0 +-621 -624 0 +-621 -625 0 +-621 -626 0 +-621 -627 0 +-621 -628 0 +-621 -629 0 +-622 -623 0 +-622 -624 0 +-622 -625 0 +-622 -626 0 +-622 -627 0 +-622 -628 0 +-622 -629 0 +-623 -624 0 +-623 -625 0 +-623 -626 0 +-623 -627 0 +-623 -628 0 +-623 -629 0 +-624 -625 0 +-624 -626 0 +-624 -627 0 +-624 -628 0 +-624 -629 0 +-625 -626 0 +-625 -627 0 +-625 -628 0 +-625 -629 0 +-626 -627 0 +-626 -628 0 +-626 -629 0 +-627 -628 0 +-627 -629 0 +-628 -629 0 +-631 -632 0 +-631 -633 0 +-631 -634 0 +-631 -635 0 +-631 -636 0 +-631 -637 0 +-631 -638 0 +-631 -639 0 +-632 -633 0 +-632 -634 0 +-632 -635 0 +-632 -636 0 +-632 -637 0 +-632 -638 0 +-632 -639 0 +-633 -634 0 +-633 -635 0 +-633 -636 0 +-633 -637 0 +-633 -638 0 +-633 -639 0 +-634 -635 0 +-634 -636 0 +-634 -637 0 +-634 -638 0 +-634 -639 0 +-635 -636 0 +-635 -637 0 +-635 -638 0 +-635 -639 0 +-636 -637 0 +-636 -638 0 +-636 -639 0 +-637 -638 0 +-637 -639 0 +-638 -639 0 +-641 -642 0 +-641 -643 0 +-641 -644 0 +-641 -645 0 +-641 -646 0 +-641 -647 0 +-641 -648 0 +-641 -649 0 +-642 -643 0 +-642 -644 0 +-642 -645 0 +-642 -646 0 +-642 -647 0 +-642 -648 0 +-642 -649 0 +-643 -644 0 +-643 -645 0 +-643 -646 0 +-643 -647 0 +-643 -648 0 +-643 -649 0 +-644 -645 0 +-644 -646 0 +-644 -647 0 +-644 -648 0 +-644 -649 0 +-645 -646 0 +-645 -647 0 +-645 -648 0 +-645 -649 0 +-646 -647 0 +-646 -648 0 +-646 -649 0 +-647 -648 0 +-647 -649 0 +-648 -649 0 +-651 -652 0 +-651 -653 0 +-651 -654 0 +-651 -655 0 +-651 -656 0 +-651 -657 0 +-651 -658 0 +-651 -659 0 +-652 -653 0 +-652 -654 0 +-652 -655 0 +-652 -656 0 +-652 -657 0 +-652 -658 0 +-652 -659 0 +-653 -654 0 +-653 -655 0 +-653 -656 0 +-653 -657 0 +-653 -658 0 +-653 -659 0 +-654 -655 0 +-654 -656 0 +-654 -657 0 +-654 -658 0 +-654 -659 0 +-655 -656 0 +-655 -657 0 +-655 -658 0 +-655 -659 0 +-656 -657 0 +-656 -658 0 +-656 -659 0 +-657 -658 0 +-657 -659 0 +-658 -659 0 +-661 -662 0 +-661 -663 0 +-661 -664 0 +-661 -665 0 +-661 -666 0 +-661 -667 0 +-661 -668 0 +-661 -669 0 +-662 -663 0 +-662 -664 0 +-662 -665 0 +-662 -666 0 +-662 -667 0 +-662 -668 0 +-662 -669 0 +-663 -664 0 +-663 -665 0 +-663 -666 0 +-663 -667 0 +-663 -668 0 +-663 -669 0 +-664 -665 0 +-664 -666 0 +-664 -667 0 +-664 -668 0 +-664 -669 0 +-665 -666 0 +-665 -667 0 +-665 -668 0 +-665 -669 0 +-666 -667 0 +-666 -668 0 +-666 -669 0 +-667 -668 0 +-667 -669 0 +-668 -669 0 +-671 -672 0 +-671 -673 0 +-671 -674 0 +-671 -675 0 +-671 -676 0 +-671 -677 0 +-671 -678 0 +-671 -679 0 +-672 -673 0 +-672 -674 0 +-672 -675 0 +-672 -676 0 +-672 -677 0 +-672 -678 0 +-672 -679 0 +-673 -674 0 +-673 -675 0 +-673 -676 0 +-673 -677 0 +-673 -678 0 +-673 -679 0 +-674 -675 0 +-674 -676 0 +-674 -677 0 +-674 -678 0 +-674 -679 0 +-675 -676 0 +-675 -677 0 +-675 -678 0 +-675 -679 0 +-676 -677 0 +-676 -678 0 +-676 -679 0 +-677 -678 0 +-677 -679 0 +-678 -679 0 +-681 -682 0 +-681 -683 0 +-681 -684 0 +-681 -685 0 +-681 -686 0 +-681 -687 0 +-681 -688 0 +-681 -689 0 +-682 -683 0 +-682 -684 0 +-682 -685 0 +-682 -686 0 +-682 -687 0 +-682 -688 0 +-682 -689 0 +-683 -684 0 +-683 -685 0 +-683 -686 0 +-683 -687 0 +-683 -688 0 +-683 -689 0 +-684 -685 0 +-684 -686 0 +-684 -687 0 +-684 -688 0 +-684 -689 0 +-685 -686 0 +-685 -687 0 +-685 -688 0 +-685 -689 0 +-686 -687 0 +-686 -688 0 +-686 -689 0 +-687 -688 0 +-687 -689 0 +-688 -689 0 +-691 -692 0 +-691 -693 0 +-691 -694 0 +-691 -695 0 +-691 -696 0 +-691 -697 0 +-691 -698 0 +-691 -699 0 +-692 -693 0 +-692 -694 0 +-692 -695 0 +-692 -696 0 +-692 -697 0 +-692 -698 0 +-692 -699 0 +-693 -694 0 +-693 -695 0 +-693 -696 0 +-693 -697 0 +-693 -698 0 +-693 -699 0 +-694 -695 0 +-694 -696 0 +-694 -697 0 +-694 -698 0 +-694 -699 0 +-695 -696 0 +-695 -697 0 +-695 -698 0 +-695 -699 0 +-696 -697 0 +-696 -698 0 +-696 -699 0 +-697 -698 0 +-697 -699 0 +-698 -699 0 +-711 -712 0 +-711 -713 0 +-711 -714 0 +-711 -715 0 +-711 -716 0 +-711 -717 0 +-711 -718 0 +-711 -719 0 +-712 -713 0 +-712 -714 0 +-712 -715 0 +-712 -716 0 +-712 -717 0 +-712 -718 0 +-712 -719 0 +-713 -714 0 +-713 -715 0 +-713 -716 0 +-713 -717 0 +-713 -718 0 +-713 -719 0 +-714 -715 0 +-714 -716 0 +-714 -717 0 +-714 -718 0 +-714 -719 0 +-715 -716 0 +-715 -717 0 +-715 -718 0 +-715 -719 0 +-716 -717 0 +-716 -718 0 +-716 -719 0 +-717 -718 0 +-717 -719 0 +-718 -719 0 +-721 -722 0 +-721 -723 0 +-721 -724 0 +-721 -725 0 +-721 -726 0 +-721 -727 0 +-721 -728 0 +-721 -729 0 +-722 -723 0 +-722 -724 0 +-722 -725 0 +-722 -726 0 +-722 -727 0 +-722 -728 0 +-722 -729 0 +-723 -724 0 +-723 -725 0 +-723 -726 0 +-723 -727 0 +-723 -728 0 +-723 -729 0 +-724 -725 0 +-724 -726 0 +-724 -727 0 +-724 -728 0 +-724 -729 0 +-725 -726 0 +-725 -727 0 +-725 -728 0 +-725 -729 0 +-726 -727 0 +-726 -728 0 +-726 -729 0 +-727 -728 0 +-727 -729 0 +-728 -729 0 +-731 -732 0 +-731 -733 0 +-731 -734 0 +-731 -735 0 +-731 -736 0 +-731 -737 0 +-731 -738 0 +-731 -739 0 +-732 -733 0 +-732 -734 0 +-732 -735 0 +-732 -736 0 +-732 -737 0 +-732 -738 0 +-732 -739 0 +-733 -734 0 +-733 -735 0 +-733 -736 0 +-733 -737 0 +-733 -738 0 +-733 -739 0 +-734 -735 0 +-734 -736 0 +-734 -737 0 +-734 -738 0 +-734 -739 0 +-735 -736 0 +-735 -737 0 +-735 -738 0 +-735 -739 0 +-736 -737 0 +-736 -738 0 +-736 -739 0 +-737 -738 0 +-737 -739 0 +-738 -739 0 +-741 -742 0 +-741 -743 0 +-741 -744 0 +-741 -745 0 +-741 -746 0 +-741 -747 0 +-741 -748 0 +-741 -749 0 +-742 -743 0 +-742 -744 0 +-742 -745 0 +-742 -746 0 +-742 -747 0 +-742 -748 0 +-742 -749 0 +-743 -744 0 +-743 -745 0 +-743 -746 0 +-743 -747 0 +-743 -748 0 +-743 -749 0 +-744 -745 0 +-744 -746 0 +-744 -747 0 +-744 -748 0 +-744 -749 0 +-745 -746 0 +-745 -747 0 +-745 -748 0 +-745 -749 0 +-746 -747 0 +-746 -748 0 +-746 -749 0 +-747 -748 0 +-747 -749 0 +-748 -749 0 +-751 -752 0 +-751 -753 0 +-751 -754 0 +-751 -755 0 +-751 -756 0 +-751 -757 0 +-751 -758 0 +-751 -759 0 +-752 -753 0 +-752 -754 0 +-752 -755 0 +-752 -756 0 +-752 -757 0 +-752 -758 0 +-752 -759 0 +-753 -754 0 +-753 -755 0 +-753 -756 0 +-753 -757 0 +-753 -758 0 +-753 -759 0 +-754 -755 0 +-754 -756 0 +-754 -757 0 +-754 -758 0 +-754 -759 0 +-755 -756 0 +-755 -757 0 +-755 -758 0 +-755 -759 0 +-756 -757 0 +-756 -758 0 +-756 -759 0 +-757 -758 0 +-757 -759 0 +-758 -759 0 +-761 -762 0 +-761 -763 0 +-761 -764 0 +-761 -765 0 +-761 -766 0 +-761 -767 0 +-761 -768 0 +-761 -769 0 +-762 -763 0 +-762 -764 0 +-762 -765 0 +-762 -766 0 +-762 -767 0 +-762 -768 0 +-762 -769 0 +-763 -764 0 +-763 -765 0 +-763 -766 0 +-763 -767 0 +-763 -768 0 +-763 -769 0 +-764 -765 0 +-764 -766 0 +-764 -767 0 +-764 -768 0 +-764 -769 0 +-765 -766 0 +-765 -767 0 +-765 -768 0 +-765 -769 0 +-766 -767 0 +-766 -768 0 +-766 -769 0 +-767 -768 0 +-767 -769 0 +-768 -769 0 +-771 -772 0 +-771 -773 0 +-771 -774 0 +-771 -775 0 +-771 -776 0 +-771 -777 0 +-771 -778 0 +-771 -779 0 +-772 -773 0 +-772 -774 0 +-772 -775 0 +-772 -776 0 +-772 -777 0 +-772 -778 0 +-772 -779 0 +-773 -774 0 +-773 -775 0 +-773 -776 0 +-773 -777 0 +-773 -778 0 +-773 -779 0 +-774 -775 0 +-774 -776 0 +-774 -777 0 +-774 -778 0 +-774 -779 0 +-775 -776 0 +-775 -777 0 +-775 -778 0 +-775 -779 0 +-776 -777 0 +-776 -778 0 +-776 -779 0 +-777 -778 0 +-777 -779 0 +-778 -779 0 +-781 -782 0 +-781 -783 0 +-781 -784 0 +-781 -785 0 +-781 -786 0 +-781 -787 0 +-781 -788 0 +-781 -789 0 +-782 -783 0 +-782 -784 0 +-782 -785 0 +-782 -786 0 +-782 -787 0 +-782 -788 0 +-782 -789 0 +-783 -784 0 +-783 -785 0 +-783 -786 0 +-783 -787 0 +-783 -788 0 +-783 -789 0 +-784 -785 0 +-784 -786 0 +-784 -787 0 +-784 -788 0 +-784 -789 0 +-785 -786 0 +-785 -787 0 +-785 -788 0 +-785 -789 0 +-786 -787 0 +-786 -788 0 +-786 -789 0 +-787 -788 0 +-787 -789 0 +-788 -789 0 +-791 -792 0 +-791 -793 0 +-791 -794 0 +-791 -795 0 +-791 -796 0 +-791 -797 0 +-791 -798 0 +-791 -799 0 +-792 -793 0 +-792 -794 0 +-792 -795 0 +-792 -796 0 +-792 -797 0 +-792 -798 0 +-792 -799 0 +-793 -794 0 +-793 -795 0 +-793 -796 0 +-793 -797 0 +-793 -798 0 +-793 -799 0 +-794 -795 0 +-794 -796 0 +-794 -797 0 +-794 -798 0 +-794 -799 0 +-795 -796 0 +-795 -797 0 +-795 -798 0 +-795 -799 0 +-796 -797 0 +-796 -798 0 +-796 -799 0 +-797 -798 0 +-797 -799 0 +-798 -799 0 +-811 -812 0 +-811 -813 0 +-811 -814 0 +-811 -815 0 +-811 -816 0 +-811 -817 0 +-811 -818 0 +-811 -819 0 +-812 -813 0 +-812 -814 0 +-812 -815 0 +-812 -816 0 +-812 -817 0 +-812 -818 0 +-812 -819 0 +-813 -814 0 +-813 -815 0 +-813 -816 0 +-813 -817 0 +-813 -818 0 +-813 -819 0 +-814 -815 0 +-814 -816 0 +-814 -817 0 +-814 -818 0 +-814 -819 0 +-815 -816 0 +-815 -817 0 +-815 -818 0 +-815 -819 0 +-816 -817 0 +-816 -818 0 +-816 -819 0 +-817 -818 0 +-817 -819 0 +-818 -819 0 +-821 -822 0 +-821 -823 0 +-821 -824 0 +-821 -825 0 +-821 -826 0 +-821 -827 0 +-821 -828 0 +-821 -829 0 +-822 -823 0 +-822 -824 0 +-822 -825 0 +-822 -826 0 +-822 -827 0 +-822 -828 0 +-822 -829 0 +-823 -824 0 +-823 -825 0 +-823 -826 0 +-823 -827 0 +-823 -828 0 +-823 -829 0 +-824 -825 0 +-824 -826 0 +-824 -827 0 +-824 -828 0 +-824 -829 0 +-825 -826 0 +-825 -827 0 +-825 -828 0 +-825 -829 0 +-826 -827 0 +-826 -828 0 +-826 -829 0 +-827 -828 0 +-827 -829 0 +-828 -829 0 +-831 -832 0 +-831 -833 0 +-831 -834 0 +-831 -835 0 +-831 -836 0 +-831 -837 0 +-831 -838 0 +-831 -839 0 +-832 -833 0 +-832 -834 0 +-832 -835 0 +-832 -836 0 +-832 -837 0 +-832 -838 0 +-832 -839 0 +-833 -834 0 +-833 -835 0 +-833 -836 0 +-833 -837 0 +-833 -838 0 +-833 -839 0 +-834 -835 0 +-834 -836 0 +-834 -837 0 +-834 -838 0 +-834 -839 0 +-835 -836 0 +-835 -837 0 +-835 -838 0 +-835 -839 0 +-836 -837 0 +-836 -838 0 +-836 -839 0 +-837 -838 0 +-837 -839 0 +-838 -839 0 +-841 -842 0 +-841 -843 0 +-841 -844 0 +-841 -845 0 +-841 -846 0 +-841 -847 0 +-841 -848 0 +-841 -849 0 +-842 -843 0 +-842 -844 0 +-842 -845 0 +-842 -846 0 +-842 -847 0 +-842 -848 0 +-842 -849 0 +-843 -844 0 +-843 -845 0 +-843 -846 0 +-843 -847 0 +-843 -848 0 +-843 -849 0 +-844 -845 0 +-844 -846 0 +-844 -847 0 +-844 -848 0 +-844 -849 0 +-845 -846 0 +-845 -847 0 +-845 -848 0 +-845 -849 0 +-846 -847 0 +-846 -848 0 +-846 -849 0 +-847 -848 0 +-847 -849 0 +-848 -849 0 +-851 -852 0 +-851 -853 0 +-851 -854 0 +-851 -855 0 +-851 -856 0 +-851 -857 0 +-851 -858 0 +-851 -859 0 +-852 -853 0 +-852 -854 0 +-852 -855 0 +-852 -856 0 +-852 -857 0 +-852 -858 0 +-852 -859 0 +-853 -854 0 +-853 -855 0 +-853 -856 0 +-853 -857 0 +-853 -858 0 +-853 -859 0 +-854 -855 0 +-854 -856 0 +-854 -857 0 +-854 -858 0 +-854 -859 0 +-855 -856 0 +-855 -857 0 +-855 -858 0 +-855 -859 0 +-856 -857 0 +-856 -858 0 +-856 -859 0 +-857 -858 0 +-857 -859 0 +-858 -859 0 +-861 -862 0 +-861 -863 0 +-861 -864 0 +-861 -865 0 +-861 -866 0 +-861 -867 0 +-861 -868 0 +-861 -869 0 +-862 -863 0 +-862 -864 0 +-862 -865 0 +-862 -866 0 +-862 -867 0 +-862 -868 0 +-862 -869 0 +-863 -864 0 +-863 -865 0 +-863 -866 0 +-863 -867 0 +-863 -868 0 +-863 -869 0 +-864 -865 0 +-864 -866 0 +-864 -867 0 +-864 -868 0 +-864 -869 0 +-865 -866 0 +-865 -867 0 +-865 -868 0 +-865 -869 0 +-866 -867 0 +-866 -868 0 +-866 -869 0 +-867 -868 0 +-867 -869 0 +-868 -869 0 +-871 -872 0 +-871 -873 0 +-871 -874 0 +-871 -875 0 +-871 -876 0 +-871 -877 0 +-871 -878 0 +-871 -879 0 +-872 -873 0 +-872 -874 0 +-872 -875 0 +-872 -876 0 +-872 -877 0 +-872 -878 0 +-872 -879 0 +-873 -874 0 +-873 -875 0 +-873 -876 0 +-873 -877 0 +-873 -878 0 +-873 -879 0 +-874 -875 0 +-874 -876 0 +-874 -877 0 +-874 -878 0 +-874 -879 0 +-875 -876 0 +-875 -877 0 +-875 -878 0 +-875 -879 0 +-876 -877 0 +-876 -878 0 +-876 -879 0 +-877 -878 0 +-877 -879 0 +-878 -879 0 +-881 -882 0 +-881 -883 0 +-881 -884 0 +-881 -885 0 +-881 -886 0 +-881 -887 0 +-881 -888 0 +-881 -889 0 +-882 -883 0 +-882 -884 0 +-882 -885 0 +-882 -886 0 +-882 -887 0 +-882 -888 0 +-882 -889 0 +-883 -884 0 +-883 -885 0 +-883 -886 0 +-883 -887 0 +-883 -888 0 +-883 -889 0 +-884 -885 0 +-884 -886 0 +-884 -887 0 +-884 -888 0 +-884 -889 0 +-885 -886 0 +-885 -887 0 +-885 -888 0 +-885 -889 0 +-886 -887 0 +-886 -888 0 +-886 -889 0 +-887 -888 0 +-887 -889 0 +-888 -889 0 +-891 -892 0 +-891 -893 0 +-891 -894 0 +-891 -895 0 +-891 -896 0 +-891 -897 0 +-891 -898 0 +-891 -899 0 +-892 -893 0 +-892 -894 0 +-892 -895 0 +-892 -896 0 +-892 -897 0 +-892 -898 0 +-892 -899 0 +-893 -894 0 +-893 -895 0 +-893 -896 0 +-893 -897 0 +-893 -898 0 +-893 -899 0 +-894 -895 0 +-894 -896 0 +-894 -897 0 +-894 -898 0 +-894 -899 0 +-895 -896 0 +-895 -897 0 +-895 -898 0 +-895 -899 0 +-896 -897 0 +-896 -898 0 +-896 -899 0 +-897 -898 0 +-897 -899 0 +-898 -899 0 +-911 -912 0 +-911 -913 0 +-911 -914 0 +-911 -915 0 +-911 -916 0 +-911 -917 0 +-911 -918 0 +-911 -919 0 +-912 -913 0 +-912 -914 0 +-912 -915 0 +-912 -916 0 +-912 -917 0 +-912 -918 0 +-912 -919 0 +-913 -914 0 +-913 -915 0 +-913 -916 0 +-913 -917 0 +-913 -918 0 +-913 -919 0 +-914 -915 0 +-914 -916 0 +-914 -917 0 +-914 -918 0 +-914 -919 0 +-915 -916 0 +-915 -917 0 +-915 -918 0 +-915 -919 0 +-916 -917 0 +-916 -918 0 +-916 -919 0 +-917 -918 0 +-917 -919 0 +-918 -919 0 +-921 -922 0 +-921 -923 0 +-921 -924 0 +-921 -925 0 +-921 -926 0 +-921 -927 0 +-921 -928 0 +-921 -929 0 +-922 -923 0 +-922 -924 0 +-922 -925 0 +-922 -926 0 +-922 -927 0 +-922 -928 0 +-922 -929 0 +-923 -924 0 +-923 -925 0 +-923 -926 0 +-923 -927 0 +-923 -928 0 +-923 -929 0 +-924 -925 0 +-924 -926 0 +-924 -927 0 +-924 -928 0 +-924 -929 0 +-925 -926 0 +-925 -927 0 +-925 -928 0 +-925 -929 0 +-926 -927 0 +-926 -928 0 +-926 -929 0 +-927 -928 0 +-927 -929 0 +-928 -929 0 +-931 -932 0 +-931 -933 0 +-931 -934 0 +-931 -935 0 +-931 -936 0 +-931 -937 0 +-931 -938 0 +-931 -939 0 +-932 -933 0 +-932 -934 0 +-932 -935 0 +-932 -936 0 +-932 -937 0 +-932 -938 0 +-932 -939 0 +-933 -934 0 +-933 -935 0 +-933 -936 0 +-933 -937 0 +-933 -938 0 +-933 -939 0 +-934 -935 0 +-934 -936 0 +-934 -937 0 +-934 -938 0 +-934 -939 0 +-935 -936 0 +-935 -937 0 +-935 -938 0 +-935 -939 0 +-936 -937 0 +-936 -938 0 +-936 -939 0 +-937 -938 0 +-937 -939 0 +-938 -939 0 +-941 -942 0 +-941 -943 0 +-941 -944 0 +-941 -945 0 +-941 -946 0 +-941 -947 0 +-941 -948 0 +-941 -949 0 +-942 -943 0 +-942 -944 0 +-942 -945 0 +-942 -946 0 +-942 -947 0 +-942 -948 0 +-942 -949 0 +-943 -944 0 +-943 -945 0 +-943 -946 0 +-943 -947 0 +-943 -948 0 +-943 -949 0 +-944 -945 0 +-944 -946 0 +-944 -947 0 +-944 -948 0 +-944 -949 0 +-945 -946 0 +-945 -947 0 +-945 -948 0 +-945 -949 0 +-946 -947 0 +-946 -948 0 +-946 -949 0 +-947 -948 0 +-947 -949 0 +-948 -949 0 +-951 -952 0 +-951 -953 0 +-951 -954 0 +-951 -955 0 +-951 -956 0 +-951 -957 0 +-951 -958 0 +-951 -959 0 +-952 -953 0 +-952 -954 0 +-952 -955 0 +-952 -956 0 +-952 -957 0 +-952 -958 0 +-952 -959 0 +-953 -954 0 +-953 -955 0 +-953 -956 0 +-953 -957 0 +-953 -958 0 +-953 -959 0 +-954 -955 0 +-954 -956 0 +-954 -957 0 +-954 -958 0 +-954 -959 0 +-955 -956 0 +-955 -957 0 +-955 -958 0 +-955 -959 0 +-956 -957 0 +-956 -958 0 +-956 -959 0 +-957 -958 0 +-957 -959 0 +-958 -959 0 +-961 -962 0 +-961 -963 0 +-961 -964 0 +-961 -965 0 +-961 -966 0 +-961 -967 0 +-961 -968 0 +-961 -969 0 +-962 -963 0 +-962 -964 0 +-962 -965 0 +-962 -966 0 +-962 -967 0 +-962 -968 0 +-962 -969 0 +-963 -964 0 +-963 -965 0 +-963 -966 0 +-963 -967 0 +-963 -968 0 +-963 -969 0 +-964 -965 0 +-964 -966 0 +-964 -967 0 +-964 -968 0 +-964 -969 0 +-965 -966 0 +-965 -967 0 +-965 -968 0 +-965 -969 0 +-966 -967 0 +-966 -968 0 +-966 -969 0 +-967 -968 0 +-967 -969 0 +-968 -969 0 +-971 -972 0 +-971 -973 0 +-971 -974 0 +-971 -975 0 +-971 -976 0 +-971 -977 0 +-971 -978 0 +-971 -979 0 +-972 -973 0 +-972 -974 0 +-972 -975 0 +-972 -976 0 +-972 -977 0 +-972 -978 0 +-972 -979 0 +-973 -974 0 +-973 -975 0 +-973 -976 0 +-973 -977 0 +-973 -978 0 +-973 -979 0 +-974 -975 0 +-974 -976 0 +-974 -977 0 +-974 -978 0 +-974 -979 0 +-975 -976 0 +-975 -977 0 +-975 -978 0 +-975 -979 0 +-976 -977 0 +-976 -978 0 +-976 -979 0 +-977 -978 0 +-977 -979 0 +-978 -979 0 +-981 -982 0 +-981 -983 0 +-981 -984 0 +-981 -985 0 +-981 -986 0 +-981 -987 0 +-981 -988 0 +-981 -989 0 +-982 -983 0 +-982 -984 0 +-982 -985 0 +-982 -986 0 +-982 -987 0 +-982 -988 0 +-982 -989 0 +-983 -984 0 +-983 -985 0 +-983 -986 0 +-983 -987 0 +-983 -988 0 +-983 -989 0 +-984 -985 0 +-984 -986 0 +-984 -987 0 +-984 -988 0 +-984 -989 0 +-985 -986 0 +-985 -987 0 +-985 -988 0 +-985 -989 0 +-986 -987 0 +-986 -988 0 +-986 -989 0 +-987 -988 0 +-987 -989 0 +-988 -989 0 +-991 -992 0 +-991 -993 0 +-991 -994 0 +-991 -995 0 +-991 -996 0 +-991 -997 0 +-991 -998 0 +-991 -999 0 +-992 -993 0 +-992 -994 0 +-992 -995 0 +-992 -996 0 +-992 -997 0 +-992 -998 0 +-992 -999 0 +-993 -994 0 +-993 -995 0 +-993 -996 0 +-993 -997 0 +-993 -998 0 +-993 -999 0 +-994 -995 0 +-994 -996 0 +-994 -997 0 +-994 -998 0 +-994 -999 0 +-995 -996 0 +-995 -997 0 +-995 -998 0 +-995 -999 0 +-996 -997 0 +-996 -998 0 +-996 -999 0 +-997 -998 0 +-997 -999 0 +-998 -999 0 +c (5) clauses generated from input +133 0 +152 0 +176 0 +219 0 +243 0 +265 0 +291 0 +331 0 +348 0 +366 0 +374 0 +438 0 +441 0 +462 0 +479 0 +517 0 +598 0 +636 0 +647 0 +668 0 +672 0 +732 0 +746 0 +769 0 +775 0 +818 0 +842 0 +863 0 +899 0 +935 0 +951 0 +973 0 diff --git a/hwSat06/easy.txt b/hwSat06/easy.txt new file mode 100644 index 0000000000000000000000000000000000000000..36fd63fe43a222fb57fa8a308080d4565f3d8817 --- /dev/null +++ b/hwSat06/easy.txt @@ -0,0 +1 @@ +..3.2.6..9..3.5..1..18.64....81.29..7.......8..67.82....26.95..8..2.3..9..5.1.3.. \ No newline at end of file diff --git a/hwSat06/easyResults.txt b/hwSat06/easyResults.txt new file mode 100644 index 0000000000000000000000000000000000000000..f9fd141753c2623a9eba65cdbb3801ef7006c1d1 --- /dev/null +++ b/hwSat06/easyResults.txt @@ -0,0 +1,2 @@ +SAT +-1 -2 -3 -4 -5 -6 -7 -8 -9 -10 -11 -12 -13 -14 -15 -16 -17 -18 -19 -20 -21 -22 -23 -24 -25 -26 -27 -28 -29 -30 -31 -32 -33 -34 -35 -36 -37 -38 -39 -40 -41 -42 -43 -44 -45 -46 -47 -48 -49 -50 -51 -52 -53 -54 -55 -56 -57 -58 -59 -60 -61 -62 -63 -64 -65 -66 -67 -68 -69 -70 -71 -72 -73 -74 -75 -76 -77 -78 -79 -80 -81 -82 -83 -84 -85 -86 -87 -88 -89 -90 -91 -92 -93 -94 -95 -96 -97 -98 -99 -100 -101 -102 -103 -104 -105 -106 -107 -108 -109 -110 -111 -112 -113 114 -115 -116 -117 -118 -119 -120 -121 -122 -123 -124 -125 -126 -127 128 -129 -130 -131 -132 133 -134 -135 -136 -137 -138 -139 -140 -141 -142 -143 -144 -145 -146 -147 -148 149 -150 -151 152 -153 -154 -155 -156 -157 -158 -159 -160 161 -162 -163 -164 -165 -166 -167 -168 -169 -170 -171 -172 -173 -174 -175 176 -177 -178 -179 -180 -181 -182 -183 -184 185 -186 -187 -188 -189 -190 -191 -192 -193 -194 -195 -196 197 -198 -199 -200 -201 -202 -203 -204 -205 -206 -207 -208 -209 -210 -211 -212 -213 -214 -215 -216 -217 -218 219 -220 -221 -222 -223 -224 -225 226 -227 -228 -229 -230 -231 -232 -233 -234 -235 -236 237 -238 -239 -240 -241 -242 243 -244 -245 -246 -247 -248 -249 -250 -251 -252 -253 254 -255 -256 -257 -258 -259 -260 -261 -262 -263 -264 265 -266 -267 -268 -269 -270 -271 -272 -273 -274 -275 -276 -277 278 -279 -280 -281 282 -283 -284 -285 -286 -287 -288 -289 -290 291 -292 -293 -294 -295 -296 -297 -298 -299 -300 -301 -302 -303 -304 -305 -306 -307 -308 -309 -310 -311 312 -313 -314 -315 -316 -317 -318 -319 -320 -321 -322 -323 -324 325 -326 -327 -328 -329 -330 331 -332 -333 -334 -335 -336 -337 -338 -339 -340 -341 -342 -343 -344 -345 -346 -347 348 -349 -350 -351 -352 -353 -354 -355 -356 357 -358 -359 -360 -361 -362 -363 -364 -365 366 -367 -368 -369 -370 -371 -372 -373 374 -375 -376 -377 -378 -379 -380 -381 -382 -383 -384 -385 -386 -387 -388 389 -390 -391 -392 393 -394 -395 -396 -397 -398 -399 -400 -401 -402 -403 -404 -405 -406 -407 -408 -409 -410 -411 -412 -413 -414 415 -416 -417 -418 -419 -420 -421 -422 -423 424 -425 -426 -427 -428 -429 -430 -431 -432 -433 -434 -435 -436 -437 438 -439 -440 441 -442 -443 -444 -445 -446 -447 -448 -449 -450 -451 -452 453 -454 -455 -456 -457 -458 -459 -460 -461 462 -463 -464 -465 -466 -467 -468 -469 -470 -471 -472 -473 -474 -475 -476 -477 -478 479 -480 -481 -482 -483 -484 -485 -486 487 -488 -489 -490 -491 -492 -493 -494 -495 496 -497 -498 -499 -500 -501 -502 -503 -504 -505 -506 -507 -508 -509 -510 -511 -512 -513 -514 -515 -516 517 -518 -519 -520 -521 522 -523 -524 -525 -526 -527 -528 -529 -530 -531 -532 -533 -534 -535 -536 -537 -538 539 -540 -541 -542 -543 -544 545 -546 -547 -548 -549 -550 -551 -552 -553 -554 -555 556 -557 -558 -559 -560 -561 -562 -563 564 -565 -566 -567 -568 -569 -570 571 -572 -573 -574 -575 -576 -577 -578 -579 -580 -581 -582 583 -584 -585 -586 -587 -588 -589 -590 -591 -592 -593 -594 -595 -596 -597 598 -599 -600 -601 -602 -603 -604 -605 -606 -607 -608 -609 -610 611 -612 -613 -614 -615 -616 -617 -618 -619 -620 -621 -622 623 -624 -625 -626 -627 -628 -629 -630 -631 -632 -633 -634 -635 636 -637 -638 -639 -640 -641 -642 -643 -644 -645 -646 647 -648 -649 -650 -651 -652 -653 -654 -655 -656 -657 -658 659 -660 -661 -662 -663 -664 -665 -666 -667 668 -669 -670 -671 672 -673 -674 -675 -676 -677 -678 -679 -680 -681 -682 -683 684 -685 -686 -687 -688 -689 -690 -691 -692 -693 -694 695 -696 -697 -698 -699 -700 -701 -702 -703 -704 -705 -706 -707 -708 -709 -710 -711 -712 713 -714 -715 -716 -717 -718 -719 -720 -721 -722 -723 -724 -725 -726 727 -728 -729 -730 -731 732 -733 -734 -735 -736 -737 -738 -739 -740 -741 -742 -743 -744 -745 746 -747 -748 -749 -750 -751 -752 -753 -754 -755 -756 -757 758 -759 -760 -761 -762 -763 -764 -765 -766 -767 -768 769 -770 -771 -772 -773 -774 775 -776 -777 -778 -779 -780 781 -782 -783 -784 -785 -786 -787 -788 -789 -790 -791 -792 -793 794 -795 -796 -797 -798 -799 -800 -801 -802 -803 -804 -805 -806 -807 -808 -809 -810 -811 -812 -813 -814 -815 -816 -817 818 -819 -820 821 -822 -823 -824 -825 -826 -827 -828 -829 -830 -831 -832 -833 834 -835 -836 -837 -838 -839 -840 -841 842 -843 -844 -845 -846 -847 -848 -849 -850 -851 -852 -853 -854 855 -856 -857 -858 -859 -860 -861 -862 863 -864 -865 -866 -867 -868 -869 -870 -871 -872 -873 -874 -875 -876 877 -878 -879 -880 -881 -882 -883 -884 -885 886 -887 -888 -889 -890 -891 -892 -893 -894 -895 -896 -897 -898 899 -900 -901 -902 -903 -904 -905 -906 -907 -908 -909 -910 -911 -912 -913 -914 -915 916 -917 -918 -919 -920 -921 -922 -923 -924 -925 -926 -927 -928 929 -930 -931 -932 -933 -934 935 -936 -937 -938 -939 -940 -941 -942 -943 944 -945 -946 -947 -948 -949 -950 951 -952 -953 -954 -955 -956 -957 -958 -959 -960 -961 -962 -963 -964 -965 -966 967 -968 -969 -970 -971 -972 973 -974 -975 -976 -977 -978 -979 -980 -981 -982 -983 -984 -985 -986 -987 988 -989 -990 -991 992 -993 -994 -995 -996 -997 -998 -999 0 diff --git a/hwSat06/src/GenerateSudoku.java b/hwSat06/src/GenerateSudoku.java new file mode 100644 index 0000000000000000000000000000000000000000..2a52f9c075060aa7bf8029697c906a3cfa8f87c3 --- /dev/null +++ b/hwSat06/src/GenerateSudoku.java @@ -0,0 +1,168 @@ +import java.util.Scanner; +import java.util.regex.Pattern; + +/* + * Daniel Shchur + * CSCE235H + * + * Sudoku CNF DIMACS Generator + * + * Description: Generates the Sudoku CNF problem in DIMACS format to be able to be used in a minisat solver + * + * Current Version generates the problem according to input string through STDIN. + */ + +public class GenerateSudoku { + + public static void main(String[] args) { + + //scanner to read input from stdinput. + String input = null; + Scanner in = new Scanner(System.in); + + //If there is input, put input into string + input = in.nextLine(); + in.close(); + + //Runs through the generation once without ouput to count the total number of clauses + int clauses = 0; + + //Iterates over 3 loops so that it goes through every row in the sudoku board giving a number 1-9 + for(int i=1; i < 10; i++) { + for(int n=1; n < 10; n++) { + clauses++; + } + } + + //Iterates over 3 loops so that it goes through every column in the sudoku board giving a number 1-9 + for(int j=1; j < 10; j++) { + for(int n=1; n < 10; n++) { + clauses++; + } + } + + //Iterates over 5 loops so that it goes through every 3x3 grid in the sudoku board giving a number 1-9 + for(int r=0; r < 3; r++) { + for(int s=0; s < 3; s++) { + for(int n=1; n < 10; n++) { + clauses++; + } + } + } + + //Iterates over 4 loops so that it goes through every cell in the sudoku board making sure no cell has more than 1 number + for(int i=1; i < 10; i++) { + for(int j=1; j < 10; j++) { + for(int n=1; n < 9; n++) { + for(int m=n+1; m < 10; m++) { + clauses++; + } + } + } + } + + //Adds extra input from STDIN if input is not empty + if(input.length() == 81) { + int stdinCount = 0; + while(stdinCount < input.length()) { + for(int r=1; r < 10; r++) { + for(int c = 1; c < 10; c++) { + //check to make sure character isn't '.' + if(input.charAt(stdinCount) != '.') { + clauses++; + } + stdinCount++; + } + } + } + } + + //Print statement to generate the comment section. + System.out.print( + "c Daniel Shchur\n" + + "c\n" + + "c Sudoku CNF Problem\n" + + "c\n" + + "c Provides a Sudoku board to be solved\n" + + "c\n"); + + //Prints header + System.out.printf("p cnf %d %d\n", 9*9*9, clauses); + + //Iterates over 3 loops so that it goes through every row in the sudoku board giving a number 1-9 + System.out.println("c (1) Every row contains every number:"); + for(int i=1; i < 10; i++) { + for(int n=1; n < 10; n++) { + for(int j=1; j < 10; j++) { + //Prints the combination as a single variable + System.out.printf("%d%d%d ", i, j, n); + } + //Prints the terminating character + System.out.println("0"); + } + } + + //Iterates over 3 loops so that it goes through every column in the sudoku board giving a number 1-9 + System.out.println("c (2) Every column contains every number:"); + for(int j=1; j < 10; j++) { + for(int n=1; n < 10; n++) { + for(int i=1; i < 10; i++) { + //Prints the combination as a single variable + System.out.printf("%d%d%d ", i, j, n); + } + //Prints the terminating character + System.out.println("0"); + } + } + + //Iterates over 5 loops so that it goes through every 3x3 grid in the sudoku board giving a number 1-9 + System.out.println("c (3) Each 3x3 block contains every number:"); + for(int r=0; r < 3; r++) { + for(int s=0; s < 3; s++) { + for(int n=1; n < 10; n++) { + for(int i=1; i < 4; i++) { + for(int j=1; j < 4; j++) { + //Prints the combination as a single variable + System.out.printf("%d%d%d ", (3*r + i), (3*s + j), n); + } + } + //Prints the terminating character + System.out.println("0"); + } + } + } + + //Iterates over 4 loops so that it goes through every cell in the sudoku board making sure no cell has more than 1 number + System.out.println("c (4) No cell contains more than one number:"); + for(int i=1; i < 10; i++) { + for(int j=1; j < 10; j++) { + for(int n=1; n < 9; n++) { + for(int m=n+1; m < 10; m++) { + //Prints the combination as a single variable with terminating character + System.out.printf("%d%d%d %d%d%d %d\n", -i, j, n, -i, j, m, 0); + } + } + } + } + + //Adds extra input from STDIN if string is not empty + if(input.length() == 81) { + int stdinCount = 0; + System.out.println("c (5) clauses generated from input"); + while(stdinCount < input.length()) { + for(int r=1; r < 10; r++) { + for(int c = 1; c < 10; c++) { + //check to make sure character isn't '.' + if(input.charAt(stdinCount) != '.') { + System.out.printf("%d%d%s 0\n", r, c, input.charAt(stdinCount)); + } + stdinCount++; + } + } + } + } + + + //End of code + } +} \ No newline at end of file diff --git a/hwSat06/unsat.cnf b/hwSat06/unsat.cnf new file mode 100644 index 0000000000000000000000000000000000000000..397141ec7b52226226bfbec9425be1a1edb25275 --- /dev/null +++ b/hwSat06/unsat.cnf @@ -0,0 +1,3197 @@ +c Daniel Shchur +c +c Sudoku CNF Problem +c +c Provides a Sudoku board to be solved +c +p cnf 729 3185 +c (1) Every row contains every number: +111 121 131 141 151 161 171 181 191 0 +112 122 132 142 152 162 172 182 192 0 +113 123 133 143 153 163 173 183 193 0 +114 124 134 144 154 164 174 184 194 0 +115 125 135 145 155 165 175 185 195 0 +116 126 136 146 156 166 176 186 196 0 +117 127 137 147 157 167 177 187 197 0 +118 128 138 148 158 168 178 188 198 0 +119 129 139 149 159 169 179 189 199 0 +211 221 231 241 251 261 271 281 291 0 +212 222 232 242 252 262 272 282 292 0 +213 223 233 243 253 263 273 283 293 0 +214 224 234 244 254 264 274 284 294 0 +215 225 235 245 255 265 275 285 295 0 +216 226 236 246 256 266 276 286 296 0 +217 227 237 247 257 267 277 287 297 0 +218 228 238 248 258 268 278 288 298 0 +219 229 239 249 259 269 279 289 299 0 +311 321 331 341 351 361 371 381 391 0 +312 322 332 342 352 362 372 382 392 0 +313 323 333 343 353 363 373 383 393 0 +314 324 334 344 354 364 374 384 394 0 +315 325 335 345 355 365 375 385 395 0 +316 326 336 346 356 366 376 386 396 0 +317 327 337 347 357 367 377 387 397 0 +318 328 338 348 358 368 378 388 398 0 +319 329 339 349 359 369 379 389 399 0 +411 421 431 441 451 461 471 481 491 0 +412 422 432 442 452 462 472 482 492 0 +413 423 433 443 453 463 473 483 493 0 +414 424 434 444 454 464 474 484 494 0 +415 425 435 445 455 465 475 485 495 0 +416 426 436 446 456 466 476 486 496 0 +417 427 437 447 457 467 477 487 497 0 +418 428 438 448 458 468 478 488 498 0 +419 429 439 449 459 469 479 489 499 0 +511 521 531 541 551 561 571 581 591 0 +512 522 532 542 552 562 572 582 592 0 +513 523 533 543 553 563 573 583 593 0 +514 524 534 544 554 564 574 584 594 0 +515 525 535 545 555 565 575 585 595 0 +516 526 536 546 556 566 576 586 596 0 +517 527 537 547 557 567 577 587 597 0 +518 528 538 548 558 568 578 588 598 0 +519 529 539 549 559 569 579 589 599 0 +611 621 631 641 651 661 671 681 691 0 +612 622 632 642 652 662 672 682 692 0 +613 623 633 643 653 663 673 683 693 0 +614 624 634 644 654 664 674 684 694 0 +615 625 635 645 655 665 675 685 695 0 +616 626 636 646 656 666 676 686 696 0 +617 627 637 647 657 667 677 687 697 0 +618 628 638 648 658 668 678 688 698 0 +619 629 639 649 659 669 679 689 699 0 +711 721 731 741 751 761 771 781 791 0 +712 722 732 742 752 762 772 782 792 0 +713 723 733 743 753 763 773 783 793 0 +714 724 734 744 754 764 774 784 794 0 +715 725 735 745 755 765 775 785 795 0 +716 726 736 746 756 766 776 786 796 0 +717 727 737 747 757 767 777 787 797 0 +718 728 738 748 758 768 778 788 798 0 +719 729 739 749 759 769 779 789 799 0 +811 821 831 841 851 861 871 881 891 0 +812 822 832 842 852 862 872 882 892 0 +813 823 833 843 853 863 873 883 893 0 +814 824 834 844 854 864 874 884 894 0 +815 825 835 845 855 865 875 885 895 0 +816 826 836 846 856 866 876 886 896 0 +817 827 837 847 857 867 877 887 897 0 +818 828 838 848 858 868 878 888 898 0 +819 829 839 849 859 869 879 889 899 0 +911 921 931 941 951 961 971 981 991 0 +912 922 932 942 952 962 972 982 992 0 +913 923 933 943 953 963 973 983 993 0 +914 924 934 944 954 964 974 984 994 0 +915 925 935 945 955 965 975 985 995 0 +916 926 936 946 956 966 976 986 996 0 +917 927 937 947 957 967 977 987 997 0 +918 928 938 948 958 968 978 988 998 0 +919 929 939 949 959 969 979 989 999 0 +c (2) Every column contains every number: +111 211 311 411 511 611 711 811 911 0 +112 212 312 412 512 612 712 812 912 0 +113 213 313 413 513 613 713 813 913 0 +114 214 314 414 514 614 714 814 914 0 +115 215 315 415 515 615 715 815 915 0 +116 216 316 416 516 616 716 816 916 0 +117 217 317 417 517 617 717 817 917 0 +118 218 318 418 518 618 718 818 918 0 +119 219 319 419 519 619 719 819 919 0 +121 221 321 421 521 621 721 821 921 0 +122 222 322 422 522 622 722 822 922 0 +123 223 323 423 523 623 723 823 923 0 +124 224 324 424 524 624 724 824 924 0 +125 225 325 425 525 625 725 825 925 0 +126 226 326 426 526 626 726 826 926 0 +127 227 327 427 527 627 727 827 927 0 +128 228 328 428 528 628 728 828 928 0 +129 229 329 429 529 629 729 829 929 0 +131 231 331 431 531 631 731 831 931 0 +132 232 332 432 532 632 732 832 932 0 +133 233 333 433 533 633 733 833 933 0 +134 234 334 434 534 634 734 834 934 0 +135 235 335 435 535 635 735 835 935 0 +136 236 336 436 536 636 736 836 936 0 +137 237 337 437 537 637 737 837 937 0 +138 238 338 438 538 638 738 838 938 0 +139 239 339 439 539 639 739 839 939 0 +141 241 341 441 541 641 741 841 941 0 +142 242 342 442 542 642 742 842 942 0 +143 243 343 443 543 643 743 843 943 0 +144 244 344 444 544 644 744 844 944 0 +145 245 345 445 545 645 745 845 945 0 +146 246 346 446 546 646 746 846 946 0 +147 247 347 447 547 647 747 847 947 0 +148 248 348 448 548 648 748 848 948 0 +149 249 349 449 549 649 749 849 949 0 +151 251 351 451 551 651 751 851 951 0 +152 252 352 452 552 652 752 852 952 0 +153 253 353 453 553 653 753 853 953 0 +154 254 354 454 554 654 754 854 954 0 +155 255 355 455 555 655 755 855 955 0 +156 256 356 456 556 656 756 856 956 0 +157 257 357 457 557 657 757 857 957 0 +158 258 358 458 558 658 758 858 958 0 +159 259 359 459 559 659 759 859 959 0 +161 261 361 461 561 661 761 861 961 0 +162 262 362 462 562 662 762 862 962 0 +163 263 363 463 563 663 763 863 963 0 +164 264 364 464 564 664 764 864 964 0 +165 265 365 465 565 665 765 865 965 0 +166 266 366 466 566 666 766 866 966 0 +167 267 367 467 567 667 767 867 967 0 +168 268 368 468 568 668 768 868 968 0 +169 269 369 469 569 669 769 869 969 0 +171 271 371 471 571 671 771 871 971 0 +172 272 372 472 572 672 772 872 972 0 +173 273 373 473 573 673 773 873 973 0 +174 274 374 474 574 674 774 874 974 0 +175 275 375 475 575 675 775 875 975 0 +176 276 376 476 576 676 776 876 976 0 +177 277 377 477 577 677 777 877 977 0 +178 278 378 478 578 678 778 878 978 0 +179 279 379 479 579 679 779 879 979 0 +181 281 381 481 581 681 781 881 981 0 +182 282 382 482 582 682 782 882 982 0 +183 283 383 483 583 683 783 883 983 0 +184 284 384 484 584 684 784 884 984 0 +185 285 385 485 585 685 785 885 985 0 +186 286 386 486 586 686 786 886 986 0 +187 287 387 487 587 687 787 887 987 0 +188 288 388 488 588 688 788 888 988 0 +189 289 389 489 589 689 789 889 989 0 +191 291 391 491 591 691 791 891 991 0 +192 292 392 492 592 692 792 892 992 0 +193 293 393 493 593 693 793 893 993 0 +194 294 394 494 594 694 794 894 994 0 +195 295 395 495 595 695 795 895 995 0 +196 296 396 496 596 696 796 896 996 0 +197 297 397 497 597 697 797 897 997 0 +198 298 398 498 598 698 798 898 998 0 +199 299 399 499 599 699 799 899 999 0 +c (3) Each 3x3 block contains every number: +111 121 131 211 221 231 311 321 331 0 +112 122 132 212 222 232 312 322 332 0 +113 123 133 213 223 233 313 323 333 0 +114 124 134 214 224 234 314 324 334 0 +115 125 135 215 225 235 315 325 335 0 +116 126 136 216 226 236 316 326 336 0 +117 127 137 217 227 237 317 327 337 0 +118 128 138 218 228 238 318 328 338 0 +119 129 139 219 229 239 319 329 339 0 +141 151 161 241 251 261 341 351 361 0 +142 152 162 242 252 262 342 352 362 0 +143 153 163 243 253 263 343 353 363 0 +144 154 164 244 254 264 344 354 364 0 +145 155 165 245 255 265 345 355 365 0 +146 156 166 246 256 266 346 356 366 0 +147 157 167 247 257 267 347 357 367 0 +148 158 168 248 258 268 348 358 368 0 +149 159 169 249 259 269 349 359 369 0 +171 181 191 271 281 291 371 381 391 0 +172 182 192 272 282 292 372 382 392 0 +173 183 193 273 283 293 373 383 393 0 +174 184 194 274 284 294 374 384 394 0 +175 185 195 275 285 295 375 385 395 0 +176 186 196 276 286 296 376 386 396 0 +177 187 197 277 287 297 377 387 397 0 +178 188 198 278 288 298 378 388 398 0 +179 189 199 279 289 299 379 389 399 0 +411 421 431 511 521 531 611 621 631 0 +412 422 432 512 522 532 612 622 632 0 +413 423 433 513 523 533 613 623 633 0 +414 424 434 514 524 534 614 624 634 0 +415 425 435 515 525 535 615 625 635 0 +416 426 436 516 526 536 616 626 636 0 +417 427 437 517 527 537 617 627 637 0 +418 428 438 518 528 538 618 628 638 0 +419 429 439 519 529 539 619 629 639 0 +441 451 461 541 551 561 641 651 661 0 +442 452 462 542 552 562 642 652 662 0 +443 453 463 543 553 563 643 653 663 0 +444 454 464 544 554 564 644 654 664 0 +445 455 465 545 555 565 645 655 665 0 +446 456 466 546 556 566 646 656 666 0 +447 457 467 547 557 567 647 657 667 0 +448 458 468 548 558 568 648 658 668 0 +449 459 469 549 559 569 649 659 669 0 +471 481 491 571 581 591 671 681 691 0 +472 482 492 572 582 592 672 682 692 0 +473 483 493 573 583 593 673 683 693 0 +474 484 494 574 584 594 674 684 694 0 +475 485 495 575 585 595 675 685 695 0 +476 486 496 576 586 596 676 686 696 0 +477 487 497 577 587 597 677 687 697 0 +478 488 498 578 588 598 678 688 698 0 +479 489 499 579 589 599 679 689 699 0 +711 721 731 811 821 831 911 921 931 0 +712 722 732 812 822 832 912 922 932 0 +713 723 733 813 823 833 913 923 933 0 +714 724 734 814 824 834 914 924 934 0 +715 725 735 815 825 835 915 925 935 0 +716 726 736 816 826 836 916 926 936 0 +717 727 737 817 827 837 917 927 937 0 +718 728 738 818 828 838 918 928 938 0 +719 729 739 819 829 839 919 929 939 0 +741 751 761 841 851 861 941 951 961 0 +742 752 762 842 852 862 942 952 962 0 +743 753 763 843 853 863 943 953 963 0 +744 754 764 844 854 864 944 954 964 0 +745 755 765 845 855 865 945 955 965 0 +746 756 766 846 856 866 946 956 966 0 +747 757 767 847 857 867 947 957 967 0 +748 758 768 848 858 868 948 958 968 0 +749 759 769 849 859 869 949 959 969 0 +771 781 791 871 881 891 971 981 991 0 +772 782 792 872 882 892 972 982 992 0 +773 783 793 873 883 893 973 983 993 0 +774 784 794 874 884 894 974 984 994 0 +775 785 795 875 885 895 975 985 995 0 +776 786 796 876 886 896 976 986 996 0 +777 787 797 877 887 897 977 987 997 0 +778 788 798 878 888 898 978 988 998 0 +779 789 799 879 889 899 979 989 999 0 +c (4) No cell contains more than one number: +-111 -112 0 +-111 -113 0 +-111 -114 0 +-111 -115 0 +-111 -116 0 +-111 -117 0 +-111 -118 0 +-111 -119 0 +-112 -113 0 +-112 -114 0 +-112 -115 0 +-112 -116 0 +-112 -117 0 +-112 -118 0 +-112 -119 0 +-113 -114 0 +-113 -115 0 +-113 -116 0 +-113 -117 0 +-113 -118 0 +-113 -119 0 +-114 -115 0 +-114 -116 0 +-114 -117 0 +-114 -118 0 +-114 -119 0 +-115 -116 0 +-115 -117 0 +-115 -118 0 +-115 -119 0 +-116 -117 0 +-116 -118 0 +-116 -119 0 +-117 -118 0 +-117 -119 0 +-118 -119 0 +-121 -122 0 +-121 -123 0 +-121 -124 0 +-121 -125 0 +-121 -126 0 +-121 -127 0 +-121 -128 0 +-121 -129 0 +-122 -123 0 +-122 -124 0 +-122 -125 0 +-122 -126 0 +-122 -127 0 +-122 -128 0 +-122 -129 0 +-123 -124 0 +-123 -125 0 +-123 -126 0 +-123 -127 0 +-123 -128 0 +-123 -129 0 +-124 -125 0 +-124 -126 0 +-124 -127 0 +-124 -128 0 +-124 -129 0 +-125 -126 0 +-125 -127 0 +-125 -128 0 +-125 -129 0 +-126 -127 0 +-126 -128 0 +-126 -129 0 +-127 -128 0 +-127 -129 0 +-128 -129 0 +-131 -132 0 +-131 -133 0 +-131 -134 0 +-131 -135 0 +-131 -136 0 +-131 -137 0 +-131 -138 0 +-131 -139 0 +-132 -133 0 +-132 -134 0 +-132 -135 0 +-132 -136 0 +-132 -137 0 +-132 -138 0 +-132 -139 0 +-133 -134 0 +-133 -135 0 +-133 -136 0 +-133 -137 0 +-133 -138 0 +-133 -139 0 +-134 -135 0 +-134 -136 0 +-134 -137 0 +-134 -138 0 +-134 -139 0 +-135 -136 0 +-135 -137 0 +-135 -138 0 +-135 -139 0 +-136 -137 0 +-136 -138 0 +-136 -139 0 +-137 -138 0 +-137 -139 0 +-138 -139 0 +-141 -142 0 +-141 -143 0 +-141 -144 0 +-141 -145 0 +-141 -146 0 +-141 -147 0 +-141 -148 0 +-141 -149 0 +-142 -143 0 +-142 -144 0 +-142 -145 0 +-142 -146 0 +-142 -147 0 +-142 -148 0 +-142 -149 0 +-143 -144 0 +-143 -145 0 +-143 -146 0 +-143 -147 0 +-143 -148 0 +-143 -149 0 +-144 -145 0 +-144 -146 0 +-144 -147 0 +-144 -148 0 +-144 -149 0 +-145 -146 0 +-145 -147 0 +-145 -148 0 +-145 -149 0 +-146 -147 0 +-146 -148 0 +-146 -149 0 +-147 -148 0 +-147 -149 0 +-148 -149 0 +-151 -152 0 +-151 -153 0 +-151 -154 0 +-151 -155 0 +-151 -156 0 +-151 -157 0 +-151 -158 0 +-151 -159 0 +-152 -153 0 +-152 -154 0 +-152 -155 0 +-152 -156 0 +-152 -157 0 +-152 -158 0 +-152 -159 0 +-153 -154 0 +-153 -155 0 +-153 -156 0 +-153 -157 0 +-153 -158 0 +-153 -159 0 +-154 -155 0 +-154 -156 0 +-154 -157 0 +-154 -158 0 +-154 -159 0 +-155 -156 0 +-155 -157 0 +-155 -158 0 +-155 -159 0 +-156 -157 0 +-156 -158 0 +-156 -159 0 +-157 -158 0 +-157 -159 0 +-158 -159 0 +-161 -162 0 +-161 -163 0 +-161 -164 0 +-161 -165 0 +-161 -166 0 +-161 -167 0 +-161 -168 0 +-161 -169 0 +-162 -163 0 +-162 -164 0 +-162 -165 0 +-162 -166 0 +-162 -167 0 +-162 -168 0 +-162 -169 0 +-163 -164 0 +-163 -165 0 +-163 -166 0 +-163 -167 0 +-163 -168 0 +-163 -169 0 +-164 -165 0 +-164 -166 0 +-164 -167 0 +-164 -168 0 +-164 -169 0 +-165 -166 0 +-165 -167 0 +-165 -168 0 +-165 -169 0 +-166 -167 0 +-166 -168 0 +-166 -169 0 +-167 -168 0 +-167 -169 0 +-168 -169 0 +-171 -172 0 +-171 -173 0 +-171 -174 0 +-171 -175 0 +-171 -176 0 +-171 -177 0 +-171 -178 0 +-171 -179 0 +-172 -173 0 +-172 -174 0 +-172 -175 0 +-172 -176 0 +-172 -177 0 +-172 -178 0 +-172 -179 0 +-173 -174 0 +-173 -175 0 +-173 -176 0 +-173 -177 0 +-173 -178 0 +-173 -179 0 +-174 -175 0 +-174 -176 0 +-174 -177 0 +-174 -178 0 +-174 -179 0 +-175 -176 0 +-175 -177 0 +-175 -178 0 +-175 -179 0 +-176 -177 0 +-176 -178 0 +-176 -179 0 +-177 -178 0 +-177 -179 0 +-178 -179 0 +-181 -182 0 +-181 -183 0 +-181 -184 0 +-181 -185 0 +-181 -186 0 +-181 -187 0 +-181 -188 0 +-181 -189 0 +-182 -183 0 +-182 -184 0 +-182 -185 0 +-182 -186 0 +-182 -187 0 +-182 -188 0 +-182 -189 0 +-183 -184 0 +-183 -185 0 +-183 -186 0 +-183 -187 0 +-183 -188 0 +-183 -189 0 +-184 -185 0 +-184 -186 0 +-184 -187 0 +-184 -188 0 +-184 -189 0 +-185 -186 0 +-185 -187 0 +-185 -188 0 +-185 -189 0 +-186 -187 0 +-186 -188 0 +-186 -189 0 +-187 -188 0 +-187 -189 0 +-188 -189 0 +-191 -192 0 +-191 -193 0 +-191 -194 0 +-191 -195 0 +-191 -196 0 +-191 -197 0 +-191 -198 0 +-191 -199 0 +-192 -193 0 +-192 -194 0 +-192 -195 0 +-192 -196 0 +-192 -197 0 +-192 -198 0 +-192 -199 0 +-193 -194 0 +-193 -195 0 +-193 -196 0 +-193 -197 0 +-193 -198 0 +-193 -199 0 +-194 -195 0 +-194 -196 0 +-194 -197 0 +-194 -198 0 +-194 -199 0 +-195 -196 0 +-195 -197 0 +-195 -198 0 +-195 -199 0 +-196 -197 0 +-196 -198 0 +-196 -199 0 +-197 -198 0 +-197 -199 0 +-198 -199 0 +-211 -212 0 +-211 -213 0 +-211 -214 0 +-211 -215 0 +-211 -216 0 +-211 -217 0 +-211 -218 0 +-211 -219 0 +-212 -213 0 +-212 -214 0 +-212 -215 0 +-212 -216 0 +-212 -217 0 +-212 -218 0 +-212 -219 0 +-213 -214 0 +-213 -215 0 +-213 -216 0 +-213 -217 0 +-213 -218 0 +-213 -219 0 +-214 -215 0 +-214 -216 0 +-214 -217 0 +-214 -218 0 +-214 -219 0 +-215 -216 0 +-215 -217 0 +-215 -218 0 +-215 -219 0 +-216 -217 0 +-216 -218 0 +-216 -219 0 +-217 -218 0 +-217 -219 0 +-218 -219 0 +-221 -222 0 +-221 -223 0 +-221 -224 0 +-221 -225 0 +-221 -226 0 +-221 -227 0 +-221 -228 0 +-221 -229 0 +-222 -223 0 +-222 -224 0 +-222 -225 0 +-222 -226 0 +-222 -227 0 +-222 -228 0 +-222 -229 0 +-223 -224 0 +-223 -225 0 +-223 -226 0 +-223 -227 0 +-223 -228 0 +-223 -229 0 +-224 -225 0 +-224 -226 0 +-224 -227 0 +-224 -228 0 +-224 -229 0 +-225 -226 0 +-225 -227 0 +-225 -228 0 +-225 -229 0 +-226 -227 0 +-226 -228 0 +-226 -229 0 +-227 -228 0 +-227 -229 0 +-228 -229 0 +-231 -232 0 +-231 -233 0 +-231 -234 0 +-231 -235 0 +-231 -236 0 +-231 -237 0 +-231 -238 0 +-231 -239 0 +-232 -233 0 +-232 -234 0 +-232 -235 0 +-232 -236 0 +-232 -237 0 +-232 -238 0 +-232 -239 0 +-233 -234 0 +-233 -235 0 +-233 -236 0 +-233 -237 0 +-233 -238 0 +-233 -239 0 +-234 -235 0 +-234 -236 0 +-234 -237 0 +-234 -238 0 +-234 -239 0 +-235 -236 0 +-235 -237 0 +-235 -238 0 +-235 -239 0 +-236 -237 0 +-236 -238 0 +-236 -239 0 +-237 -238 0 +-237 -239 0 +-238 -239 0 +-241 -242 0 +-241 -243 0 +-241 -244 0 +-241 -245 0 +-241 -246 0 +-241 -247 0 +-241 -248 0 +-241 -249 0 +-242 -243 0 +-242 -244 0 +-242 -245 0 +-242 -246 0 +-242 -247 0 +-242 -248 0 +-242 -249 0 +-243 -244 0 +-243 -245 0 +-243 -246 0 +-243 -247 0 +-243 -248 0 +-243 -249 0 +-244 -245 0 +-244 -246 0 +-244 -247 0 +-244 -248 0 +-244 -249 0 +-245 -246 0 +-245 -247 0 +-245 -248 0 +-245 -249 0 +-246 -247 0 +-246 -248 0 +-246 -249 0 +-247 -248 0 +-247 -249 0 +-248 -249 0 +-251 -252 0 +-251 -253 0 +-251 -254 0 +-251 -255 0 +-251 -256 0 +-251 -257 0 +-251 -258 0 +-251 -259 0 +-252 -253 0 +-252 -254 0 +-252 -255 0 +-252 -256 0 +-252 -257 0 +-252 -258 0 +-252 -259 0 +-253 -254 0 +-253 -255 0 +-253 -256 0 +-253 -257 0 +-253 -258 0 +-253 -259 0 +-254 -255 0 +-254 -256 0 +-254 -257 0 +-254 -258 0 +-254 -259 0 +-255 -256 0 +-255 -257 0 +-255 -258 0 +-255 -259 0 +-256 -257 0 +-256 -258 0 +-256 -259 0 +-257 -258 0 +-257 -259 0 +-258 -259 0 +-261 -262 0 +-261 -263 0 +-261 -264 0 +-261 -265 0 +-261 -266 0 +-261 -267 0 +-261 -268 0 +-261 -269 0 +-262 -263 0 +-262 -264 0 +-262 -265 0 +-262 -266 0 +-262 -267 0 +-262 -268 0 +-262 -269 0 +-263 -264 0 +-263 -265 0 +-263 -266 0 +-263 -267 0 +-263 -268 0 +-263 -269 0 +-264 -265 0 +-264 -266 0 +-264 -267 0 +-264 -268 0 +-264 -269 0 +-265 -266 0 +-265 -267 0 +-265 -268 0 +-265 -269 0 +-266 -267 0 +-266 -268 0 +-266 -269 0 +-267 -268 0 +-267 -269 0 +-268 -269 0 +-271 -272 0 +-271 -273 0 +-271 -274 0 +-271 -275 0 +-271 -276 0 +-271 -277 0 +-271 -278 0 +-271 -279 0 +-272 -273 0 +-272 -274 0 +-272 -275 0 +-272 -276 0 +-272 -277 0 +-272 -278 0 +-272 -279 0 +-273 -274 0 +-273 -275 0 +-273 -276 0 +-273 -277 0 +-273 -278 0 +-273 -279 0 +-274 -275 0 +-274 -276 0 +-274 -277 0 +-274 -278 0 +-274 -279 0 +-275 -276 0 +-275 -277 0 +-275 -278 0 +-275 -279 0 +-276 -277 0 +-276 -278 0 +-276 -279 0 +-277 -278 0 +-277 -279 0 +-278 -279 0 +-281 -282 0 +-281 -283 0 +-281 -284 0 +-281 -285 0 +-281 -286 0 +-281 -287 0 +-281 -288 0 +-281 -289 0 +-282 -283 0 +-282 -284 0 +-282 -285 0 +-282 -286 0 +-282 -287 0 +-282 -288 0 +-282 -289 0 +-283 -284 0 +-283 -285 0 +-283 -286 0 +-283 -287 0 +-283 -288 0 +-283 -289 0 +-284 -285 0 +-284 -286 0 +-284 -287 0 +-284 -288 0 +-284 -289 0 +-285 -286 0 +-285 -287 0 +-285 -288 0 +-285 -289 0 +-286 -287 0 +-286 -288 0 +-286 -289 0 +-287 -288 0 +-287 -289 0 +-288 -289 0 +-291 -292 0 +-291 -293 0 +-291 -294 0 +-291 -295 0 +-291 -296 0 +-291 -297 0 +-291 -298 0 +-291 -299 0 +-292 -293 0 +-292 -294 0 +-292 -295 0 +-292 -296 0 +-292 -297 0 +-292 -298 0 +-292 -299 0 +-293 -294 0 +-293 -295 0 +-293 -296 0 +-293 -297 0 +-293 -298 0 +-293 -299 0 +-294 -295 0 +-294 -296 0 +-294 -297 0 +-294 -298 0 +-294 -299 0 +-295 -296 0 +-295 -297 0 +-295 -298 0 +-295 -299 0 +-296 -297 0 +-296 -298 0 +-296 -299 0 +-297 -298 0 +-297 -299 0 +-298 -299 0 +-311 -312 0 +-311 -313 0 +-311 -314 0 +-311 -315 0 +-311 -316 0 +-311 -317 0 +-311 -318 0 +-311 -319 0 +-312 -313 0 +-312 -314 0 +-312 -315 0 +-312 -316 0 +-312 -317 0 +-312 -318 0 +-312 -319 0 +-313 -314 0 +-313 -315 0 +-313 -316 0 +-313 -317 0 +-313 -318 0 +-313 -319 0 +-314 -315 0 +-314 -316 0 +-314 -317 0 +-314 -318 0 +-314 -319 0 +-315 -316 0 +-315 -317 0 +-315 -318 0 +-315 -319 0 +-316 -317 0 +-316 -318 0 +-316 -319 0 +-317 -318 0 +-317 -319 0 +-318 -319 0 +-321 -322 0 +-321 -323 0 +-321 -324 0 +-321 -325 0 +-321 -326 0 +-321 -327 0 +-321 -328 0 +-321 -329 0 +-322 -323 0 +-322 -324 0 +-322 -325 0 +-322 -326 0 +-322 -327 0 +-322 -328 0 +-322 -329 0 +-323 -324 0 +-323 -325 0 +-323 -326 0 +-323 -327 0 +-323 -328 0 +-323 -329 0 +-324 -325 0 +-324 -326 0 +-324 -327 0 +-324 -328 0 +-324 -329 0 +-325 -326 0 +-325 -327 0 +-325 -328 0 +-325 -329 0 +-326 -327 0 +-326 -328 0 +-326 -329 0 +-327 -328 0 +-327 -329 0 +-328 -329 0 +-331 -332 0 +-331 -333 0 +-331 -334 0 +-331 -335 0 +-331 -336 0 +-331 -337 0 +-331 -338 0 +-331 -339 0 +-332 -333 0 +-332 -334 0 +-332 -335 0 +-332 -336 0 +-332 -337 0 +-332 -338 0 +-332 -339 0 +-333 -334 0 +-333 -335 0 +-333 -336 0 +-333 -337 0 +-333 -338 0 +-333 -339 0 +-334 -335 0 +-334 -336 0 +-334 -337 0 +-334 -338 0 +-334 -339 0 +-335 -336 0 +-335 -337 0 +-335 -338 0 +-335 -339 0 +-336 -337 0 +-336 -338 0 +-336 -339 0 +-337 -338 0 +-337 -339 0 +-338 -339 0 +-341 -342 0 +-341 -343 0 +-341 -344 0 +-341 -345 0 +-341 -346 0 +-341 -347 0 +-341 -348 0 +-341 -349 0 +-342 -343 0 +-342 -344 0 +-342 -345 0 +-342 -346 0 +-342 -347 0 +-342 -348 0 +-342 -349 0 +-343 -344 0 +-343 -345 0 +-343 -346 0 +-343 -347 0 +-343 -348 0 +-343 -349 0 +-344 -345 0 +-344 -346 0 +-344 -347 0 +-344 -348 0 +-344 -349 0 +-345 -346 0 +-345 -347 0 +-345 -348 0 +-345 -349 0 +-346 -347 0 +-346 -348 0 +-346 -349 0 +-347 -348 0 +-347 -349 0 +-348 -349 0 +-351 -352 0 +-351 -353 0 +-351 -354 0 +-351 -355 0 +-351 -356 0 +-351 -357 0 +-351 -358 0 +-351 -359 0 +-352 -353 0 +-352 -354 0 +-352 -355 0 +-352 -356 0 +-352 -357 0 +-352 -358 0 +-352 -359 0 +-353 -354 0 +-353 -355 0 +-353 -356 0 +-353 -357 0 +-353 -358 0 +-353 -359 0 +-354 -355 0 +-354 -356 0 +-354 -357 0 +-354 -358 0 +-354 -359 0 +-355 -356 0 +-355 -357 0 +-355 -358 0 +-355 -359 0 +-356 -357 0 +-356 -358 0 +-356 -359 0 +-357 -358 0 +-357 -359 0 +-358 -359 0 +-361 -362 0 +-361 -363 0 +-361 -364 0 +-361 -365 0 +-361 -366 0 +-361 -367 0 +-361 -368 0 +-361 -369 0 +-362 -363 0 +-362 -364 0 +-362 -365 0 +-362 -366 0 +-362 -367 0 +-362 -368 0 +-362 -369 0 +-363 -364 0 +-363 -365 0 +-363 -366 0 +-363 -367 0 +-363 -368 0 +-363 -369 0 +-364 -365 0 +-364 -366 0 +-364 -367 0 +-364 -368 0 +-364 -369 0 +-365 -366 0 +-365 -367 0 +-365 -368 0 +-365 -369 0 +-366 -367 0 +-366 -368 0 +-366 -369 0 +-367 -368 0 +-367 -369 0 +-368 -369 0 +-371 -372 0 +-371 -373 0 +-371 -374 0 +-371 -375 0 +-371 -376 0 +-371 -377 0 +-371 -378 0 +-371 -379 0 +-372 -373 0 +-372 -374 0 +-372 -375 0 +-372 -376 0 +-372 -377 0 +-372 -378 0 +-372 -379 0 +-373 -374 0 +-373 -375 0 +-373 -376 0 +-373 -377 0 +-373 -378 0 +-373 -379 0 +-374 -375 0 +-374 -376 0 +-374 -377 0 +-374 -378 0 +-374 -379 0 +-375 -376 0 +-375 -377 0 +-375 -378 0 +-375 -379 0 +-376 -377 0 +-376 -378 0 +-376 -379 0 +-377 -378 0 +-377 -379 0 +-378 -379 0 +-381 -382 0 +-381 -383 0 +-381 -384 0 +-381 -385 0 +-381 -386 0 +-381 -387 0 +-381 -388 0 +-381 -389 0 +-382 -383 0 +-382 -384 0 +-382 -385 0 +-382 -386 0 +-382 -387 0 +-382 -388 0 +-382 -389 0 +-383 -384 0 +-383 -385 0 +-383 -386 0 +-383 -387 0 +-383 -388 0 +-383 -389 0 +-384 -385 0 +-384 -386 0 +-384 -387 0 +-384 -388 0 +-384 -389 0 +-385 -386 0 +-385 -387 0 +-385 -388 0 +-385 -389 0 +-386 -387 0 +-386 -388 0 +-386 -389 0 +-387 -388 0 +-387 -389 0 +-388 -389 0 +-391 -392 0 +-391 -393 0 +-391 -394 0 +-391 -395 0 +-391 -396 0 +-391 -397 0 +-391 -398 0 +-391 -399 0 +-392 -393 0 +-392 -394 0 +-392 -395 0 +-392 -396 0 +-392 -397 0 +-392 -398 0 +-392 -399 0 +-393 -394 0 +-393 -395 0 +-393 -396 0 +-393 -397 0 +-393 -398 0 +-393 -399 0 +-394 -395 0 +-394 -396 0 +-394 -397 0 +-394 -398 0 +-394 -399 0 +-395 -396 0 +-395 -397 0 +-395 -398 0 +-395 -399 0 +-396 -397 0 +-396 -398 0 +-396 -399 0 +-397 -398 0 +-397 -399 0 +-398 -399 0 +-411 -412 0 +-411 -413 0 +-411 -414 0 +-411 -415 0 +-411 -416 0 +-411 -417 0 +-411 -418 0 +-411 -419 0 +-412 -413 0 +-412 -414 0 +-412 -415 0 +-412 -416 0 +-412 -417 0 +-412 -418 0 +-412 -419 0 +-413 -414 0 +-413 -415 0 +-413 -416 0 +-413 -417 0 +-413 -418 0 +-413 -419 0 +-414 -415 0 +-414 -416 0 +-414 -417 0 +-414 -418 0 +-414 -419 0 +-415 -416 0 +-415 -417 0 +-415 -418 0 +-415 -419 0 +-416 -417 0 +-416 -418 0 +-416 -419 0 +-417 -418 0 +-417 -419 0 +-418 -419 0 +-421 -422 0 +-421 -423 0 +-421 -424 0 +-421 -425 0 +-421 -426 0 +-421 -427 0 +-421 -428 0 +-421 -429 0 +-422 -423 0 +-422 -424 0 +-422 -425 0 +-422 -426 0 +-422 -427 0 +-422 -428 0 +-422 -429 0 +-423 -424 0 +-423 -425 0 +-423 -426 0 +-423 -427 0 +-423 -428 0 +-423 -429 0 +-424 -425 0 +-424 -426 0 +-424 -427 0 +-424 -428 0 +-424 -429 0 +-425 -426 0 +-425 -427 0 +-425 -428 0 +-425 -429 0 +-426 -427 0 +-426 -428 0 +-426 -429 0 +-427 -428 0 +-427 -429 0 +-428 -429 0 +-431 -432 0 +-431 -433 0 +-431 -434 0 +-431 -435 0 +-431 -436 0 +-431 -437 0 +-431 -438 0 +-431 -439 0 +-432 -433 0 +-432 -434 0 +-432 -435 0 +-432 -436 0 +-432 -437 0 +-432 -438 0 +-432 -439 0 +-433 -434 0 +-433 -435 0 +-433 -436 0 +-433 -437 0 +-433 -438 0 +-433 -439 0 +-434 -435 0 +-434 -436 0 +-434 -437 0 +-434 -438 0 +-434 -439 0 +-435 -436 0 +-435 -437 0 +-435 -438 0 +-435 -439 0 +-436 -437 0 +-436 -438 0 +-436 -439 0 +-437 -438 0 +-437 -439 0 +-438 -439 0 +-441 -442 0 +-441 -443 0 +-441 -444 0 +-441 -445 0 +-441 -446 0 +-441 -447 0 +-441 -448 0 +-441 -449 0 +-442 -443 0 +-442 -444 0 +-442 -445 0 +-442 -446 0 +-442 -447 0 +-442 -448 0 +-442 -449 0 +-443 -444 0 +-443 -445 0 +-443 -446 0 +-443 -447 0 +-443 -448 0 +-443 -449 0 +-444 -445 0 +-444 -446 0 +-444 -447 0 +-444 -448 0 +-444 -449 0 +-445 -446 0 +-445 -447 0 +-445 -448 0 +-445 -449 0 +-446 -447 0 +-446 -448 0 +-446 -449 0 +-447 -448 0 +-447 -449 0 +-448 -449 0 +-451 -452 0 +-451 -453 0 +-451 -454 0 +-451 -455 0 +-451 -456 0 +-451 -457 0 +-451 -458 0 +-451 -459 0 +-452 -453 0 +-452 -454 0 +-452 -455 0 +-452 -456 0 +-452 -457 0 +-452 -458 0 +-452 -459 0 +-453 -454 0 +-453 -455 0 +-453 -456 0 +-453 -457 0 +-453 -458 0 +-453 -459 0 +-454 -455 0 +-454 -456 0 +-454 -457 0 +-454 -458 0 +-454 -459 0 +-455 -456 0 +-455 -457 0 +-455 -458 0 +-455 -459 0 +-456 -457 0 +-456 -458 0 +-456 -459 0 +-457 -458 0 +-457 -459 0 +-458 -459 0 +-461 -462 0 +-461 -463 0 +-461 -464 0 +-461 -465 0 +-461 -466 0 +-461 -467 0 +-461 -468 0 +-461 -469 0 +-462 -463 0 +-462 -464 0 +-462 -465 0 +-462 -466 0 +-462 -467 0 +-462 -468 0 +-462 -469 0 +-463 -464 0 +-463 -465 0 +-463 -466 0 +-463 -467 0 +-463 -468 0 +-463 -469 0 +-464 -465 0 +-464 -466 0 +-464 -467 0 +-464 -468 0 +-464 -469 0 +-465 -466 0 +-465 -467 0 +-465 -468 0 +-465 -469 0 +-466 -467 0 +-466 -468 0 +-466 -469 0 +-467 -468 0 +-467 -469 0 +-468 -469 0 +-471 -472 0 +-471 -473 0 +-471 -474 0 +-471 -475 0 +-471 -476 0 +-471 -477 0 +-471 -478 0 +-471 -479 0 +-472 -473 0 +-472 -474 0 +-472 -475 0 +-472 -476 0 +-472 -477 0 +-472 -478 0 +-472 -479 0 +-473 -474 0 +-473 -475 0 +-473 -476 0 +-473 -477 0 +-473 -478 0 +-473 -479 0 +-474 -475 0 +-474 -476 0 +-474 -477 0 +-474 -478 0 +-474 -479 0 +-475 -476 0 +-475 -477 0 +-475 -478 0 +-475 -479 0 +-476 -477 0 +-476 -478 0 +-476 -479 0 +-477 -478 0 +-477 -479 0 +-478 -479 0 +-481 -482 0 +-481 -483 0 +-481 -484 0 +-481 -485 0 +-481 -486 0 +-481 -487 0 +-481 -488 0 +-481 -489 0 +-482 -483 0 +-482 -484 0 +-482 -485 0 +-482 -486 0 +-482 -487 0 +-482 -488 0 +-482 -489 0 +-483 -484 0 +-483 -485 0 +-483 -486 0 +-483 -487 0 +-483 -488 0 +-483 -489 0 +-484 -485 0 +-484 -486 0 +-484 -487 0 +-484 -488 0 +-484 -489 0 +-485 -486 0 +-485 -487 0 +-485 -488 0 +-485 -489 0 +-486 -487 0 +-486 -488 0 +-486 -489 0 +-487 -488 0 +-487 -489 0 +-488 -489 0 +-491 -492 0 +-491 -493 0 +-491 -494 0 +-491 -495 0 +-491 -496 0 +-491 -497 0 +-491 -498 0 +-491 -499 0 +-492 -493 0 +-492 -494 0 +-492 -495 0 +-492 -496 0 +-492 -497 0 +-492 -498 0 +-492 -499 0 +-493 -494 0 +-493 -495 0 +-493 -496 0 +-493 -497 0 +-493 -498 0 +-493 -499 0 +-494 -495 0 +-494 -496 0 +-494 -497 0 +-494 -498 0 +-494 -499 0 +-495 -496 0 +-495 -497 0 +-495 -498 0 +-495 -499 0 +-496 -497 0 +-496 -498 0 +-496 -499 0 +-497 -498 0 +-497 -499 0 +-498 -499 0 +-511 -512 0 +-511 -513 0 +-511 -514 0 +-511 -515 0 +-511 -516 0 +-511 -517 0 +-511 -518 0 +-511 -519 0 +-512 -513 0 +-512 -514 0 +-512 -515 0 +-512 -516 0 +-512 -517 0 +-512 -518 0 +-512 -519 0 +-513 -514 0 +-513 -515 0 +-513 -516 0 +-513 -517 0 +-513 -518 0 +-513 -519 0 +-514 -515 0 +-514 -516 0 +-514 -517 0 +-514 -518 0 +-514 -519 0 +-515 -516 0 +-515 -517 0 +-515 -518 0 +-515 -519 0 +-516 -517 0 +-516 -518 0 +-516 -519 0 +-517 -518 0 +-517 -519 0 +-518 -519 0 +-521 -522 0 +-521 -523 0 +-521 -524 0 +-521 -525 0 +-521 -526 0 +-521 -527 0 +-521 -528 0 +-521 -529 0 +-522 -523 0 +-522 -524 0 +-522 -525 0 +-522 -526 0 +-522 -527 0 +-522 -528 0 +-522 -529 0 +-523 -524 0 +-523 -525 0 +-523 -526 0 +-523 -527 0 +-523 -528 0 +-523 -529 0 +-524 -525 0 +-524 -526 0 +-524 -527 0 +-524 -528 0 +-524 -529 0 +-525 -526 0 +-525 -527 0 +-525 -528 0 +-525 -529 0 +-526 -527 0 +-526 -528 0 +-526 -529 0 +-527 -528 0 +-527 -529 0 +-528 -529 0 +-531 -532 0 +-531 -533 0 +-531 -534 0 +-531 -535 0 +-531 -536 0 +-531 -537 0 +-531 -538 0 +-531 -539 0 +-532 -533 0 +-532 -534 0 +-532 -535 0 +-532 -536 0 +-532 -537 0 +-532 -538 0 +-532 -539 0 +-533 -534 0 +-533 -535 0 +-533 -536 0 +-533 -537 0 +-533 -538 0 +-533 -539 0 +-534 -535 0 +-534 -536 0 +-534 -537 0 +-534 -538 0 +-534 -539 0 +-535 -536 0 +-535 -537 0 +-535 -538 0 +-535 -539 0 +-536 -537 0 +-536 -538 0 +-536 -539 0 +-537 -538 0 +-537 -539 0 +-538 -539 0 +-541 -542 0 +-541 -543 0 +-541 -544 0 +-541 -545 0 +-541 -546 0 +-541 -547 0 +-541 -548 0 +-541 -549 0 +-542 -543 0 +-542 -544 0 +-542 -545 0 +-542 -546 0 +-542 -547 0 +-542 -548 0 +-542 -549 0 +-543 -544 0 +-543 -545 0 +-543 -546 0 +-543 -547 0 +-543 -548 0 +-543 -549 0 +-544 -545 0 +-544 -546 0 +-544 -547 0 +-544 -548 0 +-544 -549 0 +-545 -546 0 +-545 -547 0 +-545 -548 0 +-545 -549 0 +-546 -547 0 +-546 -548 0 +-546 -549 0 +-547 -548 0 +-547 -549 0 +-548 -549 0 +-551 -552 0 +-551 -553 0 +-551 -554 0 +-551 -555 0 +-551 -556 0 +-551 -557 0 +-551 -558 0 +-551 -559 0 +-552 -553 0 +-552 -554 0 +-552 -555 0 +-552 -556 0 +-552 -557 0 +-552 -558 0 +-552 -559 0 +-553 -554 0 +-553 -555 0 +-553 -556 0 +-553 -557 0 +-553 -558 0 +-553 -559 0 +-554 -555 0 +-554 -556 0 +-554 -557 0 +-554 -558 0 +-554 -559 0 +-555 -556 0 +-555 -557 0 +-555 -558 0 +-555 -559 0 +-556 -557 0 +-556 -558 0 +-556 -559 0 +-557 -558 0 +-557 -559 0 +-558 -559 0 +-561 -562 0 +-561 -563 0 +-561 -564 0 +-561 -565 0 +-561 -566 0 +-561 -567 0 +-561 -568 0 +-561 -569 0 +-562 -563 0 +-562 -564 0 +-562 -565 0 +-562 -566 0 +-562 -567 0 +-562 -568 0 +-562 -569 0 +-563 -564 0 +-563 -565 0 +-563 -566 0 +-563 -567 0 +-563 -568 0 +-563 -569 0 +-564 -565 0 +-564 -566 0 +-564 -567 0 +-564 -568 0 +-564 -569 0 +-565 -566 0 +-565 -567 0 +-565 -568 0 +-565 -569 0 +-566 -567 0 +-566 -568 0 +-566 -569 0 +-567 -568 0 +-567 -569 0 +-568 -569 0 +-571 -572 0 +-571 -573 0 +-571 -574 0 +-571 -575 0 +-571 -576 0 +-571 -577 0 +-571 -578 0 +-571 -579 0 +-572 -573 0 +-572 -574 0 +-572 -575 0 +-572 -576 0 +-572 -577 0 +-572 -578 0 +-572 -579 0 +-573 -574 0 +-573 -575 0 +-573 -576 0 +-573 -577 0 +-573 -578 0 +-573 -579 0 +-574 -575 0 +-574 -576 0 +-574 -577 0 +-574 -578 0 +-574 -579 0 +-575 -576 0 +-575 -577 0 +-575 -578 0 +-575 -579 0 +-576 -577 0 +-576 -578 0 +-576 -579 0 +-577 -578 0 +-577 -579 0 +-578 -579 0 +-581 -582 0 +-581 -583 0 +-581 -584 0 +-581 -585 0 +-581 -586 0 +-581 -587 0 +-581 -588 0 +-581 -589 0 +-582 -583 0 +-582 -584 0 +-582 -585 0 +-582 -586 0 +-582 -587 0 +-582 -588 0 +-582 -589 0 +-583 -584 0 +-583 -585 0 +-583 -586 0 +-583 -587 0 +-583 -588 0 +-583 -589 0 +-584 -585 0 +-584 -586 0 +-584 -587 0 +-584 -588 0 +-584 -589 0 +-585 -586 0 +-585 -587 0 +-585 -588 0 +-585 -589 0 +-586 -587 0 +-586 -588 0 +-586 -589 0 +-587 -588 0 +-587 -589 0 +-588 -589 0 +-591 -592 0 +-591 -593 0 +-591 -594 0 +-591 -595 0 +-591 -596 0 +-591 -597 0 +-591 -598 0 +-591 -599 0 +-592 -593 0 +-592 -594 0 +-592 -595 0 +-592 -596 0 +-592 -597 0 +-592 -598 0 +-592 -599 0 +-593 -594 0 +-593 -595 0 +-593 -596 0 +-593 -597 0 +-593 -598 0 +-593 -599 0 +-594 -595 0 +-594 -596 0 +-594 -597 0 +-594 -598 0 +-594 -599 0 +-595 -596 0 +-595 -597 0 +-595 -598 0 +-595 -599 0 +-596 -597 0 +-596 -598 0 +-596 -599 0 +-597 -598 0 +-597 -599 0 +-598 -599 0 +-611 -612 0 +-611 -613 0 +-611 -614 0 +-611 -615 0 +-611 -616 0 +-611 -617 0 +-611 -618 0 +-611 -619 0 +-612 -613 0 +-612 -614 0 +-612 -615 0 +-612 -616 0 +-612 -617 0 +-612 -618 0 +-612 -619 0 +-613 -614 0 +-613 -615 0 +-613 -616 0 +-613 -617 0 +-613 -618 0 +-613 -619 0 +-614 -615 0 +-614 -616 0 +-614 -617 0 +-614 -618 0 +-614 -619 0 +-615 -616 0 +-615 -617 0 +-615 -618 0 +-615 -619 0 +-616 -617 0 +-616 -618 0 +-616 -619 0 +-617 -618 0 +-617 -619 0 +-618 -619 0 +-621 -622 0 +-621 -623 0 +-621 -624 0 +-621 -625 0 +-621 -626 0 +-621 -627 0 +-621 -628 0 +-621 -629 0 +-622 -623 0 +-622 -624 0 +-622 -625 0 +-622 -626 0 +-622 -627 0 +-622 -628 0 +-622 -629 0 +-623 -624 0 +-623 -625 0 +-623 -626 0 +-623 -627 0 +-623 -628 0 +-623 -629 0 +-624 -625 0 +-624 -626 0 +-624 -627 0 +-624 -628 0 +-624 -629 0 +-625 -626 0 +-625 -627 0 +-625 -628 0 +-625 -629 0 +-626 -627 0 +-626 -628 0 +-626 -629 0 +-627 -628 0 +-627 -629 0 +-628 -629 0 +-631 -632 0 +-631 -633 0 +-631 -634 0 +-631 -635 0 +-631 -636 0 +-631 -637 0 +-631 -638 0 +-631 -639 0 +-632 -633 0 +-632 -634 0 +-632 -635 0 +-632 -636 0 +-632 -637 0 +-632 -638 0 +-632 -639 0 +-633 -634 0 +-633 -635 0 +-633 -636 0 +-633 -637 0 +-633 -638 0 +-633 -639 0 +-634 -635 0 +-634 -636 0 +-634 -637 0 +-634 -638 0 +-634 -639 0 +-635 -636 0 +-635 -637 0 +-635 -638 0 +-635 -639 0 +-636 -637 0 +-636 -638 0 +-636 -639 0 +-637 -638 0 +-637 -639 0 +-638 -639 0 +-641 -642 0 +-641 -643 0 +-641 -644 0 +-641 -645 0 +-641 -646 0 +-641 -647 0 +-641 -648 0 +-641 -649 0 +-642 -643 0 +-642 -644 0 +-642 -645 0 +-642 -646 0 +-642 -647 0 +-642 -648 0 +-642 -649 0 +-643 -644 0 +-643 -645 0 +-643 -646 0 +-643 -647 0 +-643 -648 0 +-643 -649 0 +-644 -645 0 +-644 -646 0 +-644 -647 0 +-644 -648 0 +-644 -649 0 +-645 -646 0 +-645 -647 0 +-645 -648 0 +-645 -649 0 +-646 -647 0 +-646 -648 0 +-646 -649 0 +-647 -648 0 +-647 -649 0 +-648 -649 0 +-651 -652 0 +-651 -653 0 +-651 -654 0 +-651 -655 0 +-651 -656 0 +-651 -657 0 +-651 -658 0 +-651 -659 0 +-652 -653 0 +-652 -654 0 +-652 -655 0 +-652 -656 0 +-652 -657 0 +-652 -658 0 +-652 -659 0 +-653 -654 0 +-653 -655 0 +-653 -656 0 +-653 -657 0 +-653 -658 0 +-653 -659 0 +-654 -655 0 +-654 -656 0 +-654 -657 0 +-654 -658 0 +-654 -659 0 +-655 -656 0 +-655 -657 0 +-655 -658 0 +-655 -659 0 +-656 -657 0 +-656 -658 0 +-656 -659 0 +-657 -658 0 +-657 -659 0 +-658 -659 0 +-661 -662 0 +-661 -663 0 +-661 -664 0 +-661 -665 0 +-661 -666 0 +-661 -667 0 +-661 -668 0 +-661 -669 0 +-662 -663 0 +-662 -664 0 +-662 -665 0 +-662 -666 0 +-662 -667 0 +-662 -668 0 +-662 -669 0 +-663 -664 0 +-663 -665 0 +-663 -666 0 +-663 -667 0 +-663 -668 0 +-663 -669 0 +-664 -665 0 +-664 -666 0 +-664 -667 0 +-664 -668 0 +-664 -669 0 +-665 -666 0 +-665 -667 0 +-665 -668 0 +-665 -669 0 +-666 -667 0 +-666 -668 0 +-666 -669 0 +-667 -668 0 +-667 -669 0 +-668 -669 0 +-671 -672 0 +-671 -673 0 +-671 -674 0 +-671 -675 0 +-671 -676 0 +-671 -677 0 +-671 -678 0 +-671 -679 0 +-672 -673 0 +-672 -674 0 +-672 -675 0 +-672 -676 0 +-672 -677 0 +-672 -678 0 +-672 -679 0 +-673 -674 0 +-673 -675 0 +-673 -676 0 +-673 -677 0 +-673 -678 0 +-673 -679 0 +-674 -675 0 +-674 -676 0 +-674 -677 0 +-674 -678 0 +-674 -679 0 +-675 -676 0 +-675 -677 0 +-675 -678 0 +-675 -679 0 +-676 -677 0 +-676 -678 0 +-676 -679 0 +-677 -678 0 +-677 -679 0 +-678 -679 0 +-681 -682 0 +-681 -683 0 +-681 -684 0 +-681 -685 0 +-681 -686 0 +-681 -687 0 +-681 -688 0 +-681 -689 0 +-682 -683 0 +-682 -684 0 +-682 -685 0 +-682 -686 0 +-682 -687 0 +-682 -688 0 +-682 -689 0 +-683 -684 0 +-683 -685 0 +-683 -686 0 +-683 -687 0 +-683 -688 0 +-683 -689 0 +-684 -685 0 +-684 -686 0 +-684 -687 0 +-684 -688 0 +-684 -689 0 +-685 -686 0 +-685 -687 0 +-685 -688 0 +-685 -689 0 +-686 -687 0 +-686 -688 0 +-686 -689 0 +-687 -688 0 +-687 -689 0 +-688 -689 0 +-691 -692 0 +-691 -693 0 +-691 -694 0 +-691 -695 0 +-691 -696 0 +-691 -697 0 +-691 -698 0 +-691 -699 0 +-692 -693 0 +-692 -694 0 +-692 -695 0 +-692 -696 0 +-692 -697 0 +-692 -698 0 +-692 -699 0 +-693 -694 0 +-693 -695 0 +-693 -696 0 +-693 -697 0 +-693 -698 0 +-693 -699 0 +-694 -695 0 +-694 -696 0 +-694 -697 0 +-694 -698 0 +-694 -699 0 +-695 -696 0 +-695 -697 0 +-695 -698 0 +-695 -699 0 +-696 -697 0 +-696 -698 0 +-696 -699 0 +-697 -698 0 +-697 -699 0 +-698 -699 0 +-711 -712 0 +-711 -713 0 +-711 -714 0 +-711 -715 0 +-711 -716 0 +-711 -717 0 +-711 -718 0 +-711 -719 0 +-712 -713 0 +-712 -714 0 +-712 -715 0 +-712 -716 0 +-712 -717 0 +-712 -718 0 +-712 -719 0 +-713 -714 0 +-713 -715 0 +-713 -716 0 +-713 -717 0 +-713 -718 0 +-713 -719 0 +-714 -715 0 +-714 -716 0 +-714 -717 0 +-714 -718 0 +-714 -719 0 +-715 -716 0 +-715 -717 0 +-715 -718 0 +-715 -719 0 +-716 -717 0 +-716 -718 0 +-716 -719 0 +-717 -718 0 +-717 -719 0 +-718 -719 0 +-721 -722 0 +-721 -723 0 +-721 -724 0 +-721 -725 0 +-721 -726 0 +-721 -727 0 +-721 -728 0 +-721 -729 0 +-722 -723 0 +-722 -724 0 +-722 -725 0 +-722 -726 0 +-722 -727 0 +-722 -728 0 +-722 -729 0 +-723 -724 0 +-723 -725 0 +-723 -726 0 +-723 -727 0 +-723 -728 0 +-723 -729 0 +-724 -725 0 +-724 -726 0 +-724 -727 0 +-724 -728 0 +-724 -729 0 +-725 -726 0 +-725 -727 0 +-725 -728 0 +-725 -729 0 +-726 -727 0 +-726 -728 0 +-726 -729 0 +-727 -728 0 +-727 -729 0 +-728 -729 0 +-731 -732 0 +-731 -733 0 +-731 -734 0 +-731 -735 0 +-731 -736 0 +-731 -737 0 +-731 -738 0 +-731 -739 0 +-732 -733 0 +-732 -734 0 +-732 -735 0 +-732 -736 0 +-732 -737 0 +-732 -738 0 +-732 -739 0 +-733 -734 0 +-733 -735 0 +-733 -736 0 +-733 -737 0 +-733 -738 0 +-733 -739 0 +-734 -735 0 +-734 -736 0 +-734 -737 0 +-734 -738 0 +-734 -739 0 +-735 -736 0 +-735 -737 0 +-735 -738 0 +-735 -739 0 +-736 -737 0 +-736 -738 0 +-736 -739 0 +-737 -738 0 +-737 -739 0 +-738 -739 0 +-741 -742 0 +-741 -743 0 +-741 -744 0 +-741 -745 0 +-741 -746 0 +-741 -747 0 +-741 -748 0 +-741 -749 0 +-742 -743 0 +-742 -744 0 +-742 -745 0 +-742 -746 0 +-742 -747 0 +-742 -748 0 +-742 -749 0 +-743 -744 0 +-743 -745 0 +-743 -746 0 +-743 -747 0 +-743 -748 0 +-743 -749 0 +-744 -745 0 +-744 -746 0 +-744 -747 0 +-744 -748 0 +-744 -749 0 +-745 -746 0 +-745 -747 0 +-745 -748 0 +-745 -749 0 +-746 -747 0 +-746 -748 0 +-746 -749 0 +-747 -748 0 +-747 -749 0 +-748 -749 0 +-751 -752 0 +-751 -753 0 +-751 -754 0 +-751 -755 0 +-751 -756 0 +-751 -757 0 +-751 -758 0 +-751 -759 0 +-752 -753 0 +-752 -754 0 +-752 -755 0 +-752 -756 0 +-752 -757 0 +-752 -758 0 +-752 -759 0 +-753 -754 0 +-753 -755 0 +-753 -756 0 +-753 -757 0 +-753 -758 0 +-753 -759 0 +-754 -755 0 +-754 -756 0 +-754 -757 0 +-754 -758 0 +-754 -759 0 +-755 -756 0 +-755 -757 0 +-755 -758 0 +-755 -759 0 +-756 -757 0 +-756 -758 0 +-756 -759 0 +-757 -758 0 +-757 -759 0 +-758 -759 0 +-761 -762 0 +-761 -763 0 +-761 -764 0 +-761 -765 0 +-761 -766 0 +-761 -767 0 +-761 -768 0 +-761 -769 0 +-762 -763 0 +-762 -764 0 +-762 -765 0 +-762 -766 0 +-762 -767 0 +-762 -768 0 +-762 -769 0 +-763 -764 0 +-763 -765 0 +-763 -766 0 +-763 -767 0 +-763 -768 0 +-763 -769 0 +-764 -765 0 +-764 -766 0 +-764 -767 0 +-764 -768 0 +-764 -769 0 +-765 -766 0 +-765 -767 0 +-765 -768 0 +-765 -769 0 +-766 -767 0 +-766 -768 0 +-766 -769 0 +-767 -768 0 +-767 -769 0 +-768 -769 0 +-771 -772 0 +-771 -773 0 +-771 -774 0 +-771 -775 0 +-771 -776 0 +-771 -777 0 +-771 -778 0 +-771 -779 0 +-772 -773 0 +-772 -774 0 +-772 -775 0 +-772 -776 0 +-772 -777 0 +-772 -778 0 +-772 -779 0 +-773 -774 0 +-773 -775 0 +-773 -776 0 +-773 -777 0 +-773 -778 0 +-773 -779 0 +-774 -775 0 +-774 -776 0 +-774 -777 0 +-774 -778 0 +-774 -779 0 +-775 -776 0 +-775 -777 0 +-775 -778 0 +-775 -779 0 +-776 -777 0 +-776 -778 0 +-776 -779 0 +-777 -778 0 +-777 -779 0 +-778 -779 0 +-781 -782 0 +-781 -783 0 +-781 -784 0 +-781 -785 0 +-781 -786 0 +-781 -787 0 +-781 -788 0 +-781 -789 0 +-782 -783 0 +-782 -784 0 +-782 -785 0 +-782 -786 0 +-782 -787 0 +-782 -788 0 +-782 -789 0 +-783 -784 0 +-783 -785 0 +-783 -786 0 +-783 -787 0 +-783 -788 0 +-783 -789 0 +-784 -785 0 +-784 -786 0 +-784 -787 0 +-784 -788 0 +-784 -789 0 +-785 -786 0 +-785 -787 0 +-785 -788 0 +-785 -789 0 +-786 -787 0 +-786 -788 0 +-786 -789 0 +-787 -788 0 +-787 -789 0 +-788 -789 0 +-791 -792 0 +-791 -793 0 +-791 -794 0 +-791 -795 0 +-791 -796 0 +-791 -797 0 +-791 -798 0 +-791 -799 0 +-792 -793 0 +-792 -794 0 +-792 -795 0 +-792 -796 0 +-792 -797 0 +-792 -798 0 +-792 -799 0 +-793 -794 0 +-793 -795 0 +-793 -796 0 +-793 -797 0 +-793 -798 0 +-793 -799 0 +-794 -795 0 +-794 -796 0 +-794 -797 0 +-794 -798 0 +-794 -799 0 +-795 -796 0 +-795 -797 0 +-795 -798 0 +-795 -799 0 +-796 -797 0 +-796 -798 0 +-796 -799 0 +-797 -798 0 +-797 -799 0 +-798 -799 0 +-811 -812 0 +-811 -813 0 +-811 -814 0 +-811 -815 0 +-811 -816 0 +-811 -817 0 +-811 -818 0 +-811 -819 0 +-812 -813 0 +-812 -814 0 +-812 -815 0 +-812 -816 0 +-812 -817 0 +-812 -818 0 +-812 -819 0 +-813 -814 0 +-813 -815 0 +-813 -816 0 +-813 -817 0 +-813 -818 0 +-813 -819 0 +-814 -815 0 +-814 -816 0 +-814 -817 0 +-814 -818 0 +-814 -819 0 +-815 -816 0 +-815 -817 0 +-815 -818 0 +-815 -819 0 +-816 -817 0 +-816 -818 0 +-816 -819 0 +-817 -818 0 +-817 -819 0 +-818 -819 0 +-821 -822 0 +-821 -823 0 +-821 -824 0 +-821 -825 0 +-821 -826 0 +-821 -827 0 +-821 -828 0 +-821 -829 0 +-822 -823 0 +-822 -824 0 +-822 -825 0 +-822 -826 0 +-822 -827 0 +-822 -828 0 +-822 -829 0 +-823 -824 0 +-823 -825 0 +-823 -826 0 +-823 -827 0 +-823 -828 0 +-823 -829 0 +-824 -825 0 +-824 -826 0 +-824 -827 0 +-824 -828 0 +-824 -829 0 +-825 -826 0 +-825 -827 0 +-825 -828 0 +-825 -829 0 +-826 -827 0 +-826 -828 0 +-826 -829 0 +-827 -828 0 +-827 -829 0 +-828 -829 0 +-831 -832 0 +-831 -833 0 +-831 -834 0 +-831 -835 0 +-831 -836 0 +-831 -837 0 +-831 -838 0 +-831 -839 0 +-832 -833 0 +-832 -834 0 +-832 -835 0 +-832 -836 0 +-832 -837 0 +-832 -838 0 +-832 -839 0 +-833 -834 0 +-833 -835 0 +-833 -836 0 +-833 -837 0 +-833 -838 0 +-833 -839 0 +-834 -835 0 +-834 -836 0 +-834 -837 0 +-834 -838 0 +-834 -839 0 +-835 -836 0 +-835 -837 0 +-835 -838 0 +-835 -839 0 +-836 -837 0 +-836 -838 0 +-836 -839 0 +-837 -838 0 +-837 -839 0 +-838 -839 0 +-841 -842 0 +-841 -843 0 +-841 -844 0 +-841 -845 0 +-841 -846 0 +-841 -847 0 +-841 -848 0 +-841 -849 0 +-842 -843 0 +-842 -844 0 +-842 -845 0 +-842 -846 0 +-842 -847 0 +-842 -848 0 +-842 -849 0 +-843 -844 0 +-843 -845 0 +-843 -846 0 +-843 -847 0 +-843 -848 0 +-843 -849 0 +-844 -845 0 +-844 -846 0 +-844 -847 0 +-844 -848 0 +-844 -849 0 +-845 -846 0 +-845 -847 0 +-845 -848 0 +-845 -849 0 +-846 -847 0 +-846 -848 0 +-846 -849 0 +-847 -848 0 +-847 -849 0 +-848 -849 0 +-851 -852 0 +-851 -853 0 +-851 -854 0 +-851 -855 0 +-851 -856 0 +-851 -857 0 +-851 -858 0 +-851 -859 0 +-852 -853 0 +-852 -854 0 +-852 -855 0 +-852 -856 0 +-852 -857 0 +-852 -858 0 +-852 -859 0 +-853 -854 0 +-853 -855 0 +-853 -856 0 +-853 -857 0 +-853 -858 0 +-853 -859 0 +-854 -855 0 +-854 -856 0 +-854 -857 0 +-854 -858 0 +-854 -859 0 +-855 -856 0 +-855 -857 0 +-855 -858 0 +-855 -859 0 +-856 -857 0 +-856 -858 0 +-856 -859 0 +-857 -858 0 +-857 -859 0 +-858 -859 0 +-861 -862 0 +-861 -863 0 +-861 -864 0 +-861 -865 0 +-861 -866 0 +-861 -867 0 +-861 -868 0 +-861 -869 0 +-862 -863 0 +-862 -864 0 +-862 -865 0 +-862 -866 0 +-862 -867 0 +-862 -868 0 +-862 -869 0 +-863 -864 0 +-863 -865 0 +-863 -866 0 +-863 -867 0 +-863 -868 0 +-863 -869 0 +-864 -865 0 +-864 -866 0 +-864 -867 0 +-864 -868 0 +-864 -869 0 +-865 -866 0 +-865 -867 0 +-865 -868 0 +-865 -869 0 +-866 -867 0 +-866 -868 0 +-866 -869 0 +-867 -868 0 +-867 -869 0 +-868 -869 0 +-871 -872 0 +-871 -873 0 +-871 -874 0 +-871 -875 0 +-871 -876 0 +-871 -877 0 +-871 -878 0 +-871 -879 0 +-872 -873 0 +-872 -874 0 +-872 -875 0 +-872 -876 0 +-872 -877 0 +-872 -878 0 +-872 -879 0 +-873 -874 0 +-873 -875 0 +-873 -876 0 +-873 -877 0 +-873 -878 0 +-873 -879 0 +-874 -875 0 +-874 -876 0 +-874 -877 0 +-874 -878 0 +-874 -879 0 +-875 -876 0 +-875 -877 0 +-875 -878 0 +-875 -879 0 +-876 -877 0 +-876 -878 0 +-876 -879 0 +-877 -878 0 +-877 -879 0 +-878 -879 0 +-881 -882 0 +-881 -883 0 +-881 -884 0 +-881 -885 0 +-881 -886 0 +-881 -887 0 +-881 -888 0 +-881 -889 0 +-882 -883 0 +-882 -884 0 +-882 -885 0 +-882 -886 0 +-882 -887 0 +-882 -888 0 +-882 -889 0 +-883 -884 0 +-883 -885 0 +-883 -886 0 +-883 -887 0 +-883 -888 0 +-883 -889 0 +-884 -885 0 +-884 -886 0 +-884 -887 0 +-884 -888 0 +-884 -889 0 +-885 -886 0 +-885 -887 0 +-885 -888 0 +-885 -889 0 +-886 -887 0 +-886 -888 0 +-886 -889 0 +-887 -888 0 +-887 -889 0 +-888 -889 0 +-891 -892 0 +-891 -893 0 +-891 -894 0 +-891 -895 0 +-891 -896 0 +-891 -897 0 +-891 -898 0 +-891 -899 0 +-892 -893 0 +-892 -894 0 +-892 -895 0 +-892 -896 0 +-892 -897 0 +-892 -898 0 +-892 -899 0 +-893 -894 0 +-893 -895 0 +-893 -896 0 +-893 -897 0 +-893 -898 0 +-893 -899 0 +-894 -895 0 +-894 -896 0 +-894 -897 0 +-894 -898 0 +-894 -899 0 +-895 -896 0 +-895 -897 0 +-895 -898 0 +-895 -899 0 +-896 -897 0 +-896 -898 0 +-896 -899 0 +-897 -898 0 +-897 -899 0 +-898 -899 0 +-911 -912 0 +-911 -913 0 +-911 -914 0 +-911 -915 0 +-911 -916 0 +-911 -917 0 +-911 -918 0 +-911 -919 0 +-912 -913 0 +-912 -914 0 +-912 -915 0 +-912 -916 0 +-912 -917 0 +-912 -918 0 +-912 -919 0 +-913 -914 0 +-913 -915 0 +-913 -916 0 +-913 -917 0 +-913 -918 0 +-913 -919 0 +-914 -915 0 +-914 -916 0 +-914 -917 0 +-914 -918 0 +-914 -919 0 +-915 -916 0 +-915 -917 0 +-915 -918 0 +-915 -919 0 +-916 -917 0 +-916 -918 0 +-916 -919 0 +-917 -918 0 +-917 -919 0 +-918 -919 0 +-921 -922 0 +-921 -923 0 +-921 -924 0 +-921 -925 0 +-921 -926 0 +-921 -927 0 +-921 -928 0 +-921 -929 0 +-922 -923 0 +-922 -924 0 +-922 -925 0 +-922 -926 0 +-922 -927 0 +-922 -928 0 +-922 -929 0 +-923 -924 0 +-923 -925 0 +-923 -926 0 +-923 -927 0 +-923 -928 0 +-923 -929 0 +-924 -925 0 +-924 -926 0 +-924 -927 0 +-924 -928 0 +-924 -929 0 +-925 -926 0 +-925 -927 0 +-925 -928 0 +-925 -929 0 +-926 -927 0 +-926 -928 0 +-926 -929 0 +-927 -928 0 +-927 -929 0 +-928 -929 0 +-931 -932 0 +-931 -933 0 +-931 -934 0 +-931 -935 0 +-931 -936 0 +-931 -937 0 +-931 -938 0 +-931 -939 0 +-932 -933 0 +-932 -934 0 +-932 -935 0 +-932 -936 0 +-932 -937 0 +-932 -938 0 +-932 -939 0 +-933 -934 0 +-933 -935 0 +-933 -936 0 +-933 -937 0 +-933 -938 0 +-933 -939 0 +-934 -935 0 +-934 -936 0 +-934 -937 0 +-934 -938 0 +-934 -939 0 +-935 -936 0 +-935 -937 0 +-935 -938 0 +-935 -939 0 +-936 -937 0 +-936 -938 0 +-936 -939 0 +-937 -938 0 +-937 -939 0 +-938 -939 0 +-941 -942 0 +-941 -943 0 +-941 -944 0 +-941 -945 0 +-941 -946 0 +-941 -947 0 +-941 -948 0 +-941 -949 0 +-942 -943 0 +-942 -944 0 +-942 -945 0 +-942 -946 0 +-942 -947 0 +-942 -948 0 +-942 -949 0 +-943 -944 0 +-943 -945 0 +-943 -946 0 +-943 -947 0 +-943 -948 0 +-943 -949 0 +-944 -945 0 +-944 -946 0 +-944 -947 0 +-944 -948 0 +-944 -949 0 +-945 -946 0 +-945 -947 0 +-945 -948 0 +-945 -949 0 +-946 -947 0 +-946 -948 0 +-946 -949 0 +-947 -948 0 +-947 -949 0 +-948 -949 0 +-951 -952 0 +-951 -953 0 +-951 -954 0 +-951 -955 0 +-951 -956 0 +-951 -957 0 +-951 -958 0 +-951 -959 0 +-952 -953 0 +-952 -954 0 +-952 -955 0 +-952 -956 0 +-952 -957 0 +-952 -958 0 +-952 -959 0 +-953 -954 0 +-953 -955 0 +-953 -956 0 +-953 -957 0 +-953 -958 0 +-953 -959 0 +-954 -955 0 +-954 -956 0 +-954 -957 0 +-954 -958 0 +-954 -959 0 +-955 -956 0 +-955 -957 0 +-955 -958 0 +-955 -959 0 +-956 -957 0 +-956 -958 0 +-956 -959 0 +-957 -958 0 +-957 -959 0 +-958 -959 0 +-961 -962 0 +-961 -963 0 +-961 -964 0 +-961 -965 0 +-961 -966 0 +-961 -967 0 +-961 -968 0 +-961 -969 0 +-962 -963 0 +-962 -964 0 +-962 -965 0 +-962 -966 0 +-962 -967 0 +-962 -968 0 +-962 -969 0 +-963 -964 0 +-963 -965 0 +-963 -966 0 +-963 -967 0 +-963 -968 0 +-963 -969 0 +-964 -965 0 +-964 -966 0 +-964 -967 0 +-964 -968 0 +-964 -969 0 +-965 -966 0 +-965 -967 0 +-965 -968 0 +-965 -969 0 +-966 -967 0 +-966 -968 0 +-966 -969 0 +-967 -968 0 +-967 -969 0 +-968 -969 0 +-971 -972 0 +-971 -973 0 +-971 -974 0 +-971 -975 0 +-971 -976 0 +-971 -977 0 +-971 -978 0 +-971 -979 0 +-972 -973 0 +-972 -974 0 +-972 -975 0 +-972 -976 0 +-972 -977 0 +-972 -978 0 +-972 -979 0 +-973 -974 0 +-973 -975 0 +-973 -976 0 +-973 -977 0 +-973 -978 0 +-973 -979 0 +-974 -975 0 +-974 -976 0 +-974 -977 0 +-974 -978 0 +-974 -979 0 +-975 -976 0 +-975 -977 0 +-975 -978 0 +-975 -979 0 +-976 -977 0 +-976 -978 0 +-976 -979 0 +-977 -978 0 +-977 -979 0 +-978 -979 0 +-981 -982 0 +-981 -983 0 +-981 -984 0 +-981 -985 0 +-981 -986 0 +-981 -987 0 +-981 -988 0 +-981 -989 0 +-982 -983 0 +-982 -984 0 +-982 -985 0 +-982 -986 0 +-982 -987 0 +-982 -988 0 +-982 -989 0 +-983 -984 0 +-983 -985 0 +-983 -986 0 +-983 -987 0 +-983 -988 0 +-983 -989 0 +-984 -985 0 +-984 -986 0 +-984 -987 0 +-984 -988 0 +-984 -989 0 +-985 -986 0 +-985 -987 0 +-985 -988 0 +-985 -989 0 +-986 -987 0 +-986 -988 0 +-986 -989 0 +-987 -988 0 +-987 -989 0 +-988 -989 0 +-991 -992 0 +-991 -993 0 +-991 -994 0 +-991 -995 0 +-991 -996 0 +-991 -997 0 +-991 -998 0 +-991 -999 0 +-992 -993 0 +-992 -994 0 +-992 -995 0 +-992 -996 0 +-992 -997 0 +-992 -998 0 +-992 -999 0 +-993 -994 0 +-993 -995 0 +-993 -996 0 +-993 -997 0 +-993 -998 0 +-993 -999 0 +-994 -995 0 +-994 -996 0 +-994 -997 0 +-994 -998 0 +-994 -999 0 +-995 -996 0 +-995 -997 0 +-995 -998 0 +-995 -999 0 +-996 -997 0 +-996 -998 0 +-996 -999 0 +-997 -998 0 +-997 -999 0 +-998 -999 0 +c (5) clauses generated from input +131 0 +167 0 +189 0 +215 0 +229 0 +258 0 +291 0 +323 0 +388 0 +465 0 +478 0 +525 0 +556 0 +582 0 +634 0 +641 0 +728 0 +783 0 +811 0 +839 0 +852 0 +887 0 +899 0 +922 0 +947 0 +974 0 diff --git a/hwSat06/unsat.txt b/hwSat06/unsat.txt new file mode 100644 index 0000000000000000000000000000000000000000..832ea0065b5b715286cdb83cf80cca4a033221ce --- /dev/null +++ b/hwSat06/unsat.txt @@ -0,0 +1 @@ +..1..7.9.59..8...1.3.....8......58...5..6..2...41......8.....3.1.9.2..79.2.7..4.. \ No newline at end of file diff --git a/hwSat06/unsatResults.txt b/hwSat06/unsatResults.txt new file mode 100644 index 0000000000000000000000000000000000000000..abb3248efb654890006fa920d31b28cdb5585d38 --- /dev/null +++ b/hwSat06/unsatResults.txt @@ -0,0 +1 @@ +UNSAT