molSimplify 1.7.4__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (651) hide show
  1. docs/source/conf.py +224 -0
  2. molSimplify/Classes/__init__.py +6 -0
  3. molSimplify/Classes/atom3D.py +235 -0
  4. molSimplify/Classes/dft_obs.py +130 -0
  5. molSimplify/Classes/globalvars.py +827 -0
  6. molSimplify/Classes/helpers.py +161 -0
  7. molSimplify/Classes/ligand.py +2330 -0
  8. molSimplify/Classes/mGUI.py +2493 -0
  9. molSimplify/Classes/mWidgets.py +438 -0
  10. molSimplify/Classes/miniGUI.py +41 -0
  11. molSimplify/Classes/mol2D.py +260 -0
  12. molSimplify/Classes/mol3D.py +5846 -0
  13. molSimplify/Classes/monomer3D.py +253 -0
  14. molSimplify/Classes/partialcharges.py +226 -0
  15. molSimplify/Classes/protein3D.py +1178 -0
  16. molSimplify/Classes/rundiag.py +151 -0
  17. molSimplify/Data/ML.dat +212 -0
  18. molSimplify/Data/MLS_FSR_for_inter.dat +23 -0
  19. molSimplify/Data/MLS_FSR_for_inter2.dat +23 -0
  20. molSimplify/Data/MLS_angle_for_click.dat +8 -0
  21. molSimplify/Data/MLS_angle_for_inter.dat +23 -0
  22. molSimplify/Data/MLS_angle_for_inter2.dat +48 -0
  23. molSimplify/Data/MLS_angle_for_intra.dat +10 -0
  24. molSimplify/Data/MLS_angle_for_intra2.dat +6 -0
  25. molSimplify/Data/MLS_angle_for_oa.dat +18 -0
  26. molSimplify/Data/ML_FSR_for_inter.dat +112 -0
  27. molSimplify/Data/ML_FSR_for_inter2.dat +110 -0
  28. molSimplify/Data/ML_bond_for_cat.dat +8 -0
  29. molSimplify/Data/ML_bond_for_click.dat +8 -0
  30. molSimplify/Data/ML_bond_for_inter.dat +48 -0
  31. molSimplify/Data/ML_bond_for_inter2.dat +48 -0
  32. molSimplify/Data/ML_bond_for_intra.dat +10 -0
  33. molSimplify/Data/ML_bond_for_intra2.dat +6 -0
  34. molSimplify/Data/ML_bond_for_oa.dat +18 -0
  35. molSimplify/Data/bp1.dat +21 -0
  36. molSimplify/Data/li.dat +3 -0
  37. molSimplify/Data/no.dat +2 -0
  38. molSimplify/Data/oct.dat +7 -0
  39. molSimplify/Data/pbp.dat +8 -0
  40. molSimplify/Data/spy.dat +6 -0
  41. molSimplify/Data/sqap.dat +9 -0
  42. molSimplify/Data/sqp.dat +5 -0
  43. molSimplify/Data/tbp.dat +6 -0
  44. molSimplify/Data/tdhd.dat +9 -0
  45. molSimplify/Data/thd.dat +5 -0
  46. molSimplify/Data/tpl.dat +4 -0
  47. molSimplify/Data/tpr.dat +7 -0
  48. molSimplify/Informatics/HFXsensitivity/__init__.py +0 -0
  49. molSimplify/Informatics/HFXsensitivity/measure_HFX_sensitivity_oxo_hat_reb_rel.py +443 -0
  50. molSimplify/Informatics/HFXsensitivity/measure_HFX_stable.py +346 -0
  51. molSimplify/Informatics/MOF/Linker_rotation.py +179 -0
  52. molSimplify/Informatics/MOF/MOF_descriptors.py +1299 -0
  53. molSimplify/Informatics/MOF/MOF_descriptors_alternate_functional.py +589 -0
  54. molSimplify/Informatics/MOF/MOF_functionalizer.py +1648 -0
  55. molSimplify/Informatics/MOF/PBC_functions.py +1347 -0
  56. molSimplify/Informatics/MOF/__init__.py +0 -0
  57. molSimplify/Informatics/MOF/atomic.py +267 -0
  58. molSimplify/Informatics/MOF/cluster_extraction.py +388 -0
  59. molSimplify/Informatics/MOF/fragment_MOFs_for_pormake.py +895 -0
  60. molSimplify/Informatics/MOF/monofunctionalized_BDC/index_information.py +10 -0
  61. molSimplify/Informatics/Mol2Parser.py +46 -0
  62. molSimplify/Informatics/RACassemble.py +408 -0
  63. molSimplify/Informatics/__init__.py +0 -0
  64. molSimplify/Informatics/active_learning/__init__.py +0 -0
  65. molSimplify/Informatics/active_learning/expected_improvement.py +269 -0
  66. molSimplify/Informatics/autocorrelation.py +1930 -0
  67. molSimplify/Informatics/clean_autocorrelation.py +778 -0
  68. molSimplify/Informatics/coulomb_analyze.py +67 -0
  69. molSimplify/Informatics/decoration_manager.py +193 -0
  70. molSimplify/Informatics/geo_analyze.py +88 -0
  71. molSimplify/Informatics/geometrics.py +56 -0
  72. molSimplify/Informatics/graph_analyze.py +163 -0
  73. molSimplify/Informatics/graph_racs.py +288 -0
  74. molSimplify/Informatics/jupyter_vis.py +172 -0
  75. molSimplify/Informatics/lacRACAssemble.py +2192 -0
  76. molSimplify/Informatics/lacRACAssemble_bisdithiolenes.py +236 -0
  77. molSimplify/Informatics/misc_descriptors.py +198 -0
  78. molSimplify/Informatics/organic_fingerprints.py +61 -0
  79. molSimplify/Informatics/partialcharges.py +345 -0
  80. molSimplify/Informatics/protein/activesite.py +53 -0
  81. molSimplify/Informatics/protein/pymol_add_hs.py +33 -0
  82. molSimplify/Informatics/rac155_geo.py +48 -0
  83. molSimplify/Ligands/(1_methylbenzimidazol_2_yl)pyridine.xyz +45 -0
  84. molSimplify/Ligands/1-4-dimethyl-1-2-3-triazole.xyz +15 -0
  85. molSimplify/Ligands/12crown4.mol +62 -0
  86. molSimplify/Ligands/Antipyrine.mol +58 -0
  87. molSimplify/Ligands/BPAbipy.mol +106 -0
  88. molSimplify/Ligands/Hpyrrole.mol +26 -0
  89. molSimplify/Ligands/N-quinolinylbutyramidate.xyz +31 -0
  90. molSimplify/Ligands/N-quinolinylmethylmethinylacetamidate.xyz +30 -0
  91. molSimplify/Ligands/NMe2_-1.xyz +11 -0
  92. molSimplify/Ligands/PCy3.mol +111 -0
  93. molSimplify/Ligands/PMe3.xyz +15 -0
  94. molSimplify/Ligands/PPh3.mol +76 -0
  95. molSimplify/Ligands/Propyphenazone.mol +77 -0
  96. molSimplify/Ligands/acac.mol +33 -0
  97. molSimplify/Ligands/acacen.mol +76 -0
  98. molSimplify/Ligands/acetate.smi +1 -0
  99. molSimplify/Ligands/acetate.xyz +9 -0
  100. molSimplify/Ligands/aceticacidbipyridine.mol +70 -0
  101. molSimplify/Ligands/acetonitrile.mol +17 -0
  102. molSimplify/Ligands/alanine.mol +30 -0
  103. molSimplify/Ligands/alphabetizer.py +21 -0
  104. molSimplify/Ligands/amine.mol +11 -0
  105. molSimplify/Ligands/ammonia.mol +12 -0
  106. molSimplify/Ligands/arginine.mol +58 -0
  107. molSimplify/Ligands/asparagine.mol +38 -0
  108. molSimplify/Ligands/aspartic_acid.mol +35 -0
  109. molSimplify/Ligands/azide.mol +11 -0
  110. molSimplify/Ligands/benzene.mol +28 -0
  111. molSimplify/Ligands/benzene_pi.mol +30 -0
  112. molSimplify/Ligands/benzenedithiol.mol +30 -0
  113. molSimplify/Ligands/benzenethiol.mol +30 -0
  114. molSimplify/Ligands/benzylisocy.mol +38 -0
  115. molSimplify/Ligands/bidiazine.mol +42 -0
  116. molSimplify/Ligands/bidiazole.mol +38 -0
  117. molSimplify/Ligands/bifuran.mol +38 -0
  118. molSimplify/Ligands/bihydrodiazine.mol +58 -0
  119. molSimplify/Ligands/bihydrodiazole.mol +46 -0
  120. molSimplify/Ligands/bihydrooxazine.mol +54 -0
  121. molSimplify/Ligands/bihydrooxazole.mol +42 -0
  122. molSimplify/Ligands/bihydrothiazine.mol +54 -0
  123. molSimplify/Ligands/bihydrothiazole.mol +42 -0
  124. molSimplify/Ligands/biimidazole.mol +38 -0
  125. molSimplify/Ligands/bioxazole.mol +34 -0
  126. molSimplify/Ligands/bipy.mol +46 -0
  127. molSimplify/Ligands/bipyrazine.xyz +20 -0
  128. molSimplify/Ligands/bipyrimidine.mol +42 -0
  129. molSimplify/Ligands/bipyrrole.mol +42 -0
  130. molSimplify/Ligands/bisnapthyridylpyridine.mol +111 -0
  131. molSimplify/Ligands/bithiazole.mol +34 -0
  132. molSimplify/Ligands/bromide.mol +7 -0
  133. molSimplify/Ligands/bromide.smi +1 -0
  134. molSimplify/Ligands/c2.mol +9 -0
  135. molSimplify/Ligands/caprolactone.mol +41 -0
  136. molSimplify/Ligands/carbonyl.mol +8 -0
  137. molSimplify/Ligands/carboxyl.mol +13 -0
  138. molSimplify/Ligands/cat.mol +30 -0
  139. molSimplify/Ligands/chloride.mol +7 -0
  140. molSimplify/Ligands/chloride.smi +1 -0
  141. molSimplify/Ligands/chloropyridine.mol +27 -0
  142. molSimplify/Ligands/co2.mol +10 -0
  143. molSimplify/Ligands/corrolazine.mol +72 -0
  144. molSimplify/Ligands/cs.mol +8 -0
  145. molSimplify/Ligands/cyanate.xyz +5 -0
  146. molSimplify/Ligands/cyanide.mol +9 -0
  147. molSimplify/Ligands/cyanoaceticporphyrin.mol +114 -0
  148. molSimplify/Ligands/cyanopyridine.mol +29 -0
  149. molSimplify/Ligands/cyclam.mol +81 -0
  150. molSimplify/Ligands/cyclen.mol +69 -0
  151. molSimplify/Ligands/cyclopentadienyl.mol +26 -0
  152. molSimplify/Ligands/cysteine.mol +32 -0
  153. molSimplify/Ligands/diaminomethyl.mol +19 -0
  154. molSimplify/Ligands/diazine.mol +25 -0
  155. molSimplify/Ligands/diazole.mol +23 -0
  156. molSimplify/Ligands/dicyanamide.mol +15 -0
  157. molSimplify/Ligands/dihydrofuran.mol +27 -0
  158. molSimplify/Ligands/dmap.xyz +35 -0
  159. molSimplify/Ligands/dmf.mol +28 -0
  160. molSimplify/Ligands/dmi.mol +41 -0
  161. molSimplify/Ligands/dmpe.mol +52 -0
  162. molSimplify/Ligands/dpmu.mol +47 -0
  163. molSimplify/Ligands/dppe.mol +112 -0
  164. molSimplify/Ligands/edta.mol +69 -0
  165. molSimplify/Ligands/en.mol +28 -0
  166. molSimplify/Ligands/ethanethiol.mol +21 -0
  167. molSimplify/Ligands/ethanolamine.mol +26 -0
  168. molSimplify/Ligands/ethbipy.mol +70 -0
  169. molSimplify/Ligands/ethyl.mol +19 -0
  170. molSimplify/Ligands/ethylamine.mol +24 -0
  171. molSimplify/Ligands/ethylene.mol +16 -0
  172. molSimplify/Ligands/ethylesteracac.mol +57 -0
  173. molSimplify/Ligands/fluoride.mol +7 -0
  174. molSimplify/Ligands/fluoride.smi +1 -0
  175. molSimplify/Ligands/formaldehyde.mol +12 -0
  176. molSimplify/Ligands/formamidate.xyz +8 -0
  177. molSimplify/Ligands/formate.xyz +6 -0
  178. molSimplify/Ligands/furan.mol +23 -0
  179. molSimplify/Ligands/glutamic_acid.mol +42 -0
  180. molSimplify/Ligands/glutamine.mol +44 -0
  181. molSimplify/Ligands/glycinate.mol +23 -0
  182. molSimplify/Ligands/glycine.mol +24 -0
  183. molSimplify/Ligands/h2s.mol +10 -0
  184. molSimplify/Ligands/helium.mol +6 -0
  185. molSimplify/Ligands/histidine.mol +45 -0
  186. molSimplify/Ligands/hmpa.mol +62 -0
  187. molSimplify/Ligands/hs-.mol +9 -0
  188. molSimplify/Ligands/hydride.mol +7 -0
  189. molSimplify/Ligands/hydrocarboxyacetylide.xyz +8 -0
  190. molSimplify/Ligands/hydrocyanide.mol +10 -0
  191. molSimplify/Ligands/hydrodiazine.mol +33 -0
  192. molSimplify/Ligands/hydrodiazole.mol +27 -0
  193. molSimplify/Ligands/hydrogensulfide.mol +10 -0
  194. molSimplify/Ligands/hydroisocyanide.mol +11 -0
  195. molSimplify/Ligands/hydrooxazine.mol +31 -0
  196. molSimplify/Ligands/hydrooxazole.mol +25 -0
  197. molSimplify/Ligands/hydrothiazine.mol +31 -0
  198. molSimplify/Ligands/hydrothiazole.mol +25 -0
  199. molSimplify/Ligands/hydroxyl.mol +9 -0
  200. molSimplify/Ligands/imidazole.mol +23 -0
  201. molSimplify/Ligands/imidazolidinone.mol +29 -0
  202. molSimplify/Ligands/imine.mol +13 -0
  203. molSimplify/Ligands/iminodiacetic.mol +33 -0
  204. molSimplify/Ligands/iodide.mol +7 -0
  205. molSimplify/Ligands/iodobenzene.xyz +14 -0
  206. molSimplify/Ligands/isoleucine.mol +48 -0
  207. molSimplify/Ligands/isothiocyanate.mol +11 -0
  208. molSimplify/Ligands/leucine.mol +48 -0
  209. molSimplify/Ligands/ligands.dict +257 -0
  210. molSimplify/Ligands/lysine.mol +54 -0
  211. molSimplify/Ligands/mebenzenedithiol.mol +36 -0
  212. molSimplify/Ligands/mebim_py.xyz +29 -0
  213. molSimplify/Ligands/mebim_pz.xyz +28 -0
  214. molSimplify/Ligands/mebipy.mol +58 -0
  215. molSimplify/Ligands/mecat.mol +36 -0
  216. molSimplify/Ligands/methanal.mol +11 -0
  217. molSimplify/Ligands/methanethiol.mol +15 -0
  218. molSimplify/Ligands/methanol.mol +16 -0
  219. molSimplify/Ligands/methionine.mol +44 -0
  220. molSimplify/Ligands/methyl.mol +13 -0
  221. molSimplify/Ligands/methylacetylide.xyz +8 -0
  222. molSimplify/Ligands/methylamine.mol +19 -0
  223. molSimplify/Ligands/methylazide.xyz +9 -0
  224. molSimplify/Ligands/methylisocy.mol +17 -0
  225. molSimplify/Ligands/methylpyridine.mol +33 -0
  226. molSimplify/Ligands/n2.mol +8 -0
  227. molSimplify/Ligands/n4py.xyz +51 -0
  228. molSimplify/Ligands/nch.mol +10 -0
  229. molSimplify/Ligands/nco-.mol +11 -0
  230. molSimplify/Ligands/nethanolamine.mol +26 -0
  231. molSimplify/Ligands/nitrate.mol +14 -0
  232. molSimplify/Ligands/nitrite.mol +11 -0
  233. molSimplify/Ligands/nitro.mol +11 -0
  234. molSimplify/Ligands/nitrobipy.mol +54 -0
  235. molSimplify/Ligands/nitroso.mol +8 -0
  236. molSimplify/Ligands/nme3.mol +30 -0
  237. molSimplify/Ligands/no-.mol +10 -0
  238. molSimplify/Ligands/no2-.mol +11 -0
  239. molSimplify/Ligands/noxygen.mol +8 -0
  240. molSimplify/Ligands/ns-.mol +10 -0
  241. molSimplify/Ligands/o-pyridylbenzene.xyz +23 -0
  242. molSimplify/Ligands/o-pyridylphenylanion.xyz +22 -0
  243. molSimplify/Ligands/o2-.mol +9 -0
  244. molSimplify/Ligands/o2.xyz +4 -0
  245. molSimplify/Ligands/och2.mol +12 -0
  246. molSimplify/Ligands/oethanolamine.mol +26 -0
  247. molSimplify/Ligands/ome2.mol +22 -0
  248. molSimplify/Ligands/ooh.xyz +5 -0
  249. molSimplify/Ligands/oxalate.mol +17 -0
  250. molSimplify/Ligands/oxalate.smi +1 -0
  251. molSimplify/Ligands/oxygen.mol +7 -0
  252. molSimplify/Ligands/pentacyanocyclopentadienide.mol +36 -0
  253. molSimplify/Ligands/ph2-.mol +11 -0
  254. molSimplify/Ligands/ph3.mol +12 -0
  255. molSimplify/Ligands/phen.mol +51 -0
  256. molSimplify/Ligands/phenacac.mol +63 -0
  257. molSimplify/Ligands/phenalalanine.mol +51 -0
  258. molSimplify/Ligands/phendione.mol +51 -0
  259. molSimplify/Ligands/phenphen.mol +75 -0
  260. molSimplify/Ligands/phenylbenzoxazole.mol +54 -0
  261. molSimplify/Ligands/phenylcyc.mol +99 -0
  262. molSimplify/Ligands/phenylenediamine.mol +37 -0
  263. molSimplify/Ligands/phenylisocy.mol +32 -0
  264. molSimplify/Ligands/phosacidbipy.mol +66 -0
  265. molSimplify/Ligands/phosphine.mol +13 -0
  266. molSimplify/Ligands/phosphorine.mol +27 -0
  267. molSimplify/Ligands/phosphorustrifluoride.mol +12 -0
  268. molSimplify/Ligands/phthalocyanine.mol +126 -0
  269. molSimplify/Ligands/pme3o.mol +32 -0
  270. molSimplify/Ligands/porphyrin.mol +82 -0
  271. molSimplify/Ligands/pph3o.mol +77 -0
  272. molSimplify/Ligands/proline.mol +39 -0
  273. molSimplify/Ligands/propdiol.mol +21 -0
  274. molSimplify/Ligands/propylene.mol +23 -0
  275. molSimplify/Ligands/pyridine.mol +27 -0
  276. molSimplify/Ligands/pyrimidone.mol +27 -0
  277. molSimplify/Ligands/pyrrole.mol +24 -0
  278. molSimplify/Ligands/quinoxalinedithiol.mol +39 -0
  279. molSimplify/Ligands/s2-.mol +9 -0
  280. molSimplify/Ligands/salen.mol +75 -0
  281. molSimplify/Ligands/salphen.mol +84 -0
  282. molSimplify/Ligands/serine.mol +32 -0
  283. molSimplify/Ligands/simple_ligands.dict +14 -0
  284. molSimplify/Ligands/sulfacidbipy.mol +63 -0
  285. molSimplify/Ligands/tbucat.mol +54 -0
  286. molSimplify/Ligands/tbuphisocy.mol +56 -0
  287. molSimplify/Ligands/tbutylcyclen.mol +166 -0
  288. molSimplify/Ligands/tbutylisocy.mol +35 -0
  289. molSimplify/Ligands/tbutylthiol.mol +33 -0
  290. molSimplify/Ligands/tcnoet.mol +43 -0
  291. molSimplify/Ligands/tcnoetOH.mol +45 -0
  292. molSimplify/Ligands/terpy.mol +65 -0
  293. molSimplify/Ligands/tetrahydrofuran.mol +31 -0
  294. molSimplify/Ligands/thiane.mol +37 -0
  295. molSimplify/Ligands/thiazole.mol +21 -0
  296. molSimplify/Ligands/thiocyanate.mol +11 -0
  297. molSimplify/Ligands/thiol.mol +9 -0
  298. molSimplify/Ligands/thiophene.mol +23 -0
  299. molSimplify/Ligands/thiopyridine.mol +29 -0
  300. molSimplify/Ligands/threonine.mol +38 -0
  301. molSimplify/Ligands/tpp.mol +165 -0
  302. molSimplify/Ligands/tricyanomethyl.mol +19 -0
  303. molSimplify/Ligands/trifluoromethyl.mol +13 -0
  304. molSimplify/Ligands/tryptophan.mol +60 -0
  305. molSimplify/Ligands/tyrosine.mol +53 -0
  306. molSimplify/Ligands/uthiol.mol +11 -0
  307. molSimplify/Ligands/uthiolme2.mol +23 -0
  308. molSimplify/Ligands/valine.mol +42 -0
  309. molSimplify/Ligands/water.mol +10 -0
  310. molSimplify/Ligands/x.mol +6 -0
  311. molSimplify/Scripts/__init__.py +0 -0
  312. molSimplify/Scripts/addtodb.py +308 -0
  313. molSimplify/Scripts/cellbuilder.py +1592 -0
  314. molSimplify/Scripts/cellbuilder_tools.py +701 -0
  315. molSimplify/Scripts/chains.py +342 -0
  316. molSimplify/Scripts/convert_2to3.py +23 -0
  317. molSimplify/Scripts/dbinteract.py +631 -0
  318. molSimplify/Scripts/distgeom.py +617 -0
  319. molSimplify/Scripts/findcorrelations.py +287 -0
  320. molSimplify/Scripts/generator.py +267 -0
  321. molSimplify/Scripts/geometry.py +1224 -0
  322. molSimplify/Scripts/grabguivars.py +845 -0
  323. molSimplify/Scripts/in_b3lyp_usetc.py +141 -0
  324. molSimplify/Scripts/inparse.py +1673 -0
  325. molSimplify/Scripts/io.py +1149 -0
  326. molSimplify/Scripts/isomers.py +415 -0
  327. molSimplify/Scripts/jobgen.py +247 -0
  328. molSimplify/Scripts/krr_prep.py +1262 -0
  329. molSimplify/Scripts/molSimplify_io.py +18 -0
  330. molSimplify/Scripts/molden2psi4wfn.py +166 -0
  331. molSimplify/Scripts/namegen.py +32 -0
  332. molSimplify/Scripts/nn_prep.py +561 -0
  333. molSimplify/Scripts/oct_check_mols.py +782 -0
  334. molSimplify/Scripts/periodic_QE.py +97 -0
  335. molSimplify/Scripts/postmold.py +304 -0
  336. molSimplify/Scripts/postmwfn.py +709 -0
  337. molSimplify/Scripts/postparse.py +488 -0
  338. molSimplify/Scripts/postproc.py +139 -0
  339. molSimplify/Scripts/qcgen.py +1450 -0
  340. molSimplify/Scripts/rmsd.py +489 -0
  341. molSimplify/Scripts/rungen.py +670 -0
  342. molSimplify/Scripts/structgen.py +3040 -0
  343. molSimplify/Scripts/tf_nn_prep.py +894 -0
  344. molSimplify/Scripts/tsgen.py +295 -0
  345. molSimplify/Scripts/uq_calibration.py +69 -0
  346. molSimplify/__init__.py +0 -0
  347. molSimplify/__main__.py +197 -0
  348. molSimplify/icons/chemdb.png +0 -0
  349. molSimplify/icons/hjklogo.png +0 -0
  350. molSimplify/icons/icon.png +0 -0
  351. molSimplify/icons/logo.png +0 -0
  352. molSimplify/icons/logo_old.png +0 -0
  353. molSimplify/icons/petachem.png +0 -0
  354. molSimplify/icons/petachem2.png +0 -0
  355. molSimplify/icons/petachem_full.png +0 -0
  356. molSimplify/icons/pythonlogo.png +0 -0
  357. molSimplify/icons/sge copy.png +0 -0
  358. molSimplify/icons/sge.png +0 -0
  359. molSimplify/icons/slurm.png +0 -0
  360. molSimplify/icons/wft1.png +0 -0
  361. molSimplify/icons/wft2.png +0 -0
  362. molSimplify/icons/wft3.png +0 -0
  363. molSimplify/ml/__init__.py +0 -0
  364. molSimplify/ml/kernels.py +36 -0
  365. molSimplify/ml/layers.py +29 -0
  366. molSimplify/molscontrol/__init__.py +14 -0
  367. molSimplify/molscontrol/_version.py +521 -0
  368. molSimplify/molscontrol/clf_tools.py +144 -0
  369. molSimplify/molscontrol/data/README.md +21 -0
  370. molSimplify/molscontrol/data/look_and_say.dat +15 -0
  371. molSimplify/molscontrol/dynamic_classifier.py +514 -0
  372. molSimplify/molscontrol/io_tools.py +363 -0
  373. molSimplify/molscontrol/molscontrol.py +49 -0
  374. molSimplify/molscontrol/terachem/jobscript_control.sh +31 -0
  375. molSimplify/molscontrol/terachem/terachem_input +22 -0
  376. molSimplify/python_krr/X_train_TS.csv +535 -0
  377. molSimplify/python_krr/__init__.py +0 -0
  378. molSimplify/python_krr/hat2_X_mean_std.csv +3 -0
  379. molSimplify/python_krr/hat2_feature_names.csv +1 -0
  380. molSimplify/python_krr/hat2_y_mean_std.csv +2 -0
  381. molSimplify/python_krr/hat_X_mean_std.csv +6 -0
  382. molSimplify/python_krr/hat_feature_names.csv +1 -0
  383. molSimplify/python_krr/hat_krr_X_train.csv +5205 -0
  384. molSimplify/python_krr/hat_krr_dual_coef.csv +1 -0
  385. molSimplify/python_krr/hat_y_mean_std.csv +2 -0
  386. molSimplify/python_krr/sklearn_models.py +34 -0
  387. molSimplify/python_krr/y_train_TS.csv +535 -0
  388. molSimplify/python_nn/ANN.py +198 -0
  389. molSimplify/python_nn/__init__.py +0 -0
  390. molSimplify/python_nn/clf_analysis_tool.py +125 -0
  391. molSimplify/python_nn/dictionary_toolbox.py +49 -0
  392. molSimplify/python_nn/ensemble_test.py +309 -0
  393. molSimplify/python_nn/hs_center.csv +26 -0
  394. molSimplify/python_nn/hs_scale.csv +26 -0
  395. molSimplify/python_nn/ls_center.csv +26 -0
  396. molSimplify/python_nn/ls_scale.csv +26 -0
  397. molSimplify/python_nn/ms_hs_b1.csv +50 -0
  398. molSimplify/python_nn/ms_hs_b2.csv +50 -0
  399. molSimplify/python_nn/ms_hs_b3.csv +1 -0
  400. molSimplify/python_nn/ms_hs_w1.csv +50 -0
  401. molSimplify/python_nn/ms_hs_w2.csv +50 -0
  402. molSimplify/python_nn/ms_hs_w3.csv +1 -0
  403. molSimplify/python_nn/ms_ls_b1.csv +50 -0
  404. molSimplify/python_nn/ms_ls_b2.csv +50 -0
  405. molSimplify/python_nn/ms_ls_b3.csv +1 -0
  406. molSimplify/python_nn/ms_ls_w1.csv +50 -0
  407. molSimplify/python_nn/ms_ls_w2.csv +50 -0
  408. molSimplify/python_nn/ms_ls_w3.csv +1 -0
  409. molSimplify/python_nn/ms_slope_b1.csv +50 -0
  410. molSimplify/python_nn/ms_slope_b2.csv +50 -0
  411. molSimplify/python_nn/ms_slope_b3.csv +1 -0
  412. molSimplify/python_nn/ms_slope_w1.csv +50 -0
  413. molSimplify/python_nn/ms_slope_w2.csv +50 -0
  414. molSimplify/python_nn/ms_slope_w3.csv +1 -0
  415. molSimplify/python_nn/ms_split_b1.csv +50 -0
  416. molSimplify/python_nn/ms_split_b2.csv +50 -0
  417. molSimplify/python_nn/ms_split_b3.csv +1 -0
  418. molSimplify/python_nn/ms_split_w1.csv +50 -0
  419. molSimplify/python_nn/ms_split_w2.csv +50 -0
  420. molSimplify/python_nn/ms_split_w3.csv +1 -0
  421. molSimplify/python_nn/slope_center.csv +25 -0
  422. molSimplify/python_nn/slope_scale.csv +25 -0
  423. molSimplify/python_nn/split_center.csv +26 -0
  424. molSimplify/python_nn/split_scale.csv +26 -0
  425. molSimplify/python_nn/tf_ANN.py +762 -0
  426. molSimplify/python_nn/train_data.csv +1211 -0
  427. molSimplify/tf_nn/__init__.py +0 -0
  428. molSimplify/tf_nn/geo_static_clf/geo_static_clf_model.h5 +0 -0
  429. molSimplify/tf_nn/geo_static_clf/geo_static_clf_train_name.csv +1591 -0
  430. molSimplify/tf_nn/geo_static_clf/geo_static_clf_train_x.csv +2790 -0
  431. molSimplify/tf_nn/geo_static_clf/geo_static_clf_train_y.csv +2790 -0
  432. molSimplify/tf_nn/geo_static_clf/geo_static_clf_vars.csv +154 -0
  433. molSimplify/tf_nn/geos/hs_ii_bl_x.csv +1577 -0
  434. molSimplify/tf_nn/geos/hs_ii_bl_y.csv +1577 -0
  435. molSimplify/tf_nn/geos/hs_ii_model.h5 +0 -0
  436. molSimplify/tf_nn/geos/hs_ii_model.json +1 -0
  437. molSimplify/tf_nn/geos/hs_ii_vars.csv +154 -0
  438. molSimplify/tf_nn/geos/hs_iii_bl_x.csv +1659 -0
  439. molSimplify/tf_nn/geos/hs_iii_bl_y.csv +1659 -0
  440. molSimplify/tf_nn/geos/hs_iii_model.h5 +0 -0
  441. molSimplify/tf_nn/geos/hs_iii_model.json +1 -0
  442. molSimplify/tf_nn/geos/hs_iii_vars.csv +154 -0
  443. molSimplify/tf_nn/geos/ls_ii_bl_x.csv +1374 -0
  444. molSimplify/tf_nn/geos/ls_ii_bl_y.csv +1374 -0
  445. molSimplify/tf_nn/geos/ls_ii_model.h5 +0 -0
  446. molSimplify/tf_nn/geos/ls_ii_model.json +1 -0
  447. molSimplify/tf_nn/geos/ls_ii_vars.csv +154 -0
  448. molSimplify/tf_nn/geos/ls_iii_bl_x.csv +1364 -0
  449. molSimplify/tf_nn/geos/ls_iii_bl_y.csv +1364 -0
  450. molSimplify/tf_nn/geos/ls_iii_model.h5 +0 -0
  451. molSimplify/tf_nn/geos/ls_iii_model.json +1 -0
  452. molSimplify/tf_nn/geos/ls_iii_vars.csv +154 -0
  453. molSimplify/tf_nn/homolumo/gap_model.h5 +0 -0
  454. molSimplify/tf_nn/homolumo/gap_model.json +1 -0
  455. molSimplify/tf_nn/homolumo/gap_test_names.csv +175 -0
  456. molSimplify/tf_nn/homolumo/gap_test_x.csv +176 -0
  457. molSimplify/tf_nn/homolumo/gap_test_y.csv +176 -0
  458. molSimplify/tf_nn/homolumo/gap_train_names.csv +699 -0
  459. molSimplify/tf_nn/homolumo/gap_train_x.csv +700 -0
  460. molSimplify/tf_nn/homolumo/gap_train_y.csv +700 -0
  461. molSimplify/tf_nn/homolumo/gap_vars.csv +153 -0
  462. molSimplify/tf_nn/homolumo/homo_model.h5 +0 -0
  463. molSimplify/tf_nn/homolumo/homo_model.json +126 -0
  464. molSimplify/tf_nn/homolumo/homo_test_names.csv +175 -0
  465. molSimplify/tf_nn/homolumo/homo_test_x.csv +176 -0
  466. molSimplify/tf_nn/homolumo/homo_test_y.csv +176 -0
  467. molSimplify/tf_nn/homolumo/homo_train_names.csv +699 -0
  468. molSimplify/tf_nn/homolumo/homo_train_x.csv +700 -0
  469. molSimplify/tf_nn/homolumo/homo_train_y.csv +700 -0
  470. molSimplify/tf_nn/homolumo/homo_vars.csv +153 -0
  471. molSimplify/tf_nn/oxoandhomo/homo_empty_info.json +7 -0
  472. molSimplify/tf_nn/oxoandhomo/homo_empty_model.h5 +0 -0
  473. molSimplify/tf_nn/oxoandhomo/homo_empty_model.json +1 -0
  474. molSimplify/tf_nn/oxoandhomo/homo_empty_test_names.csv +143 -0
  475. molSimplify/tf_nn/oxoandhomo/homo_empty_test_x.csv +144 -0
  476. molSimplify/tf_nn/oxoandhomo/homo_empty_test_y.csv +144 -0
  477. molSimplify/tf_nn/oxoandhomo/homo_empty_train_names.csv +513 -0
  478. molSimplify/tf_nn/oxoandhomo/homo_empty_train_x.csv +514 -0
  479. molSimplify/tf_nn/oxoandhomo/homo_empty_train_y.csv +514 -0
  480. molSimplify/tf_nn/oxoandhomo/homo_empty_val_names.csv +143 -0
  481. molSimplify/tf_nn/oxoandhomo/homo_empty_val_x.csv +58 -0
  482. molSimplify/tf_nn/oxoandhomo/homo_empty_val_y.csv +58 -0
  483. molSimplify/tf_nn/oxoandhomo/homo_empty_vars.csv +155 -0
  484. molSimplify/tf_nn/oxoandhomo/oxo20_info.json +7 -0
  485. molSimplify/tf_nn/oxoandhomo/oxo20_model.h5 +0 -0
  486. molSimplify/tf_nn/oxoandhomo/oxo20_model.json +1 -0
  487. molSimplify/tf_nn/oxoandhomo/oxo20_test_names.csv +143 -0
  488. molSimplify/tf_nn/oxoandhomo/oxo20_test_x.csv +144 -0
  489. molSimplify/tf_nn/oxoandhomo/oxo20_test_y.csv +144 -0
  490. molSimplify/tf_nn/oxoandhomo/oxo20_train_names.csv +513 -0
  491. molSimplify/tf_nn/oxoandhomo/oxo20_train_x.csv +514 -0
  492. molSimplify/tf_nn/oxoandhomo/oxo20_train_y.csv +514 -0
  493. molSimplify/tf_nn/oxoandhomo/oxo20_val_names.csv +143 -0
  494. molSimplify/tf_nn/oxoandhomo/oxo20_val_x.csv +58 -0
  495. molSimplify/tf_nn/oxoandhomo/oxo20_val_y.csv +58 -0
  496. molSimplify/tf_nn/oxoandhomo/oxo20_vars.csv +154 -0
  497. molSimplify/tf_nn/oxocatalysis/hat_model.h5 +0 -0
  498. molSimplify/tf_nn/oxocatalysis/hat_model.json +1 -0
  499. molSimplify/tf_nn/oxocatalysis/hat_test_names.csv +419 -0
  500. molSimplify/tf_nn/oxocatalysis/hat_test_x.csv +420 -0
  501. molSimplify/tf_nn/oxocatalysis/hat_test_y.csv +420 -0
  502. molSimplify/tf_nn/oxocatalysis/hat_train_names.csv +1507 -0
  503. molSimplify/tf_nn/oxocatalysis/hat_train_x.csv +1508 -0
  504. molSimplify/tf_nn/oxocatalysis/hat_train_y.csv +1508 -0
  505. molSimplify/tf_nn/oxocatalysis/hat_val_x.csv +169 -0
  506. molSimplify/tf_nn/oxocatalysis/hat_val_y.csv +169 -0
  507. molSimplify/tf_nn/oxocatalysis/hat_vars.csv +162 -0
  508. molSimplify/tf_nn/oxocatalysis/oxo_model.h5 +0 -0
  509. molSimplify/tf_nn/oxocatalysis/oxo_model.json +1 -0
  510. molSimplify/tf_nn/oxocatalysis/oxo_test_names.csv +527 -0
  511. molSimplify/tf_nn/oxocatalysis/oxo_test_x.csv +528 -0
  512. molSimplify/tf_nn/oxocatalysis/oxo_test_y.csv +528 -0
  513. molSimplify/tf_nn/oxocatalysis/oxo_train_names.csv +1897 -0
  514. molSimplify/tf_nn/oxocatalysis/oxo_train_x.csv +1898 -0
  515. molSimplify/tf_nn/oxocatalysis/oxo_train_y.csv +1898 -0
  516. molSimplify/tf_nn/oxocatalysis/oxo_val_x.csv +212 -0
  517. molSimplify/tf_nn/oxocatalysis/oxo_val_y.csv +212 -0
  518. molSimplify/tf_nn/oxocatalysis/oxo_vars.csv +162 -0
  519. molSimplify/tf_nn/rescaling_data/gap_mean_x.csv +153 -0
  520. molSimplify/tf_nn/rescaling_data/gap_mean_y.csv +1 -0
  521. molSimplify/tf_nn/rescaling_data/gap_var_x.csv +153 -0
  522. molSimplify/tf_nn/rescaling_data/gap_var_y.csv +1 -0
  523. molSimplify/tf_nn/rescaling_data/geo_static_clf_mean_x.csv +154 -0
  524. molSimplify/tf_nn/rescaling_data/geo_static_clf_mean_y.csv +1 -0
  525. molSimplify/tf_nn/rescaling_data/geo_static_clf_var_x.csv +154 -0
  526. molSimplify/tf_nn/rescaling_data/geo_static_clf_var_y.csv +1 -0
  527. molSimplify/tf_nn/rescaling_data/hat_mean_x.csv +162 -0
  528. molSimplify/tf_nn/rescaling_data/hat_mean_y.csv +1 -0
  529. molSimplify/tf_nn/rescaling_data/hat_var_x.csv +162 -0
  530. molSimplify/tf_nn/rescaling_data/hat_var_y.csv +1 -0
  531. molSimplify/tf_nn/rescaling_data/homo_empty_mean_x.csv +155 -0
  532. molSimplify/tf_nn/rescaling_data/homo_empty_mean_y.csv +1 -0
  533. molSimplify/tf_nn/rescaling_data/homo_empty_var_x.csv +155 -0
  534. molSimplify/tf_nn/rescaling_data/homo_empty_var_y.csv +1 -0
  535. molSimplify/tf_nn/rescaling_data/homo_mean_x.csv +153 -0
  536. molSimplify/tf_nn/rescaling_data/homo_mean_y.csv +1 -0
  537. molSimplify/tf_nn/rescaling_data/homo_var_x.csv +153 -0
  538. molSimplify/tf_nn/rescaling_data/homo_var_y.csv +1 -0
  539. molSimplify/tf_nn/rescaling_data/hs_ii_mean_x.csv +154 -0
  540. molSimplify/tf_nn/rescaling_data/hs_ii_mean_y.csv +3 -0
  541. molSimplify/tf_nn/rescaling_data/hs_ii_var_x.csv +154 -0
  542. molSimplify/tf_nn/rescaling_data/hs_ii_var_y.csv +3 -0
  543. molSimplify/tf_nn/rescaling_data/hs_iii_mean_x.csv +154 -0
  544. molSimplify/tf_nn/rescaling_data/hs_iii_mean_y.csv +3 -0
  545. molSimplify/tf_nn/rescaling_data/hs_iii_var_x.csv +154 -0
  546. molSimplify/tf_nn/rescaling_data/hs_iii_var_y.csv +3 -0
  547. molSimplify/tf_nn/rescaling_data/ls_ii_mean_x.csv +154 -0
  548. molSimplify/tf_nn/rescaling_data/ls_ii_mean_y.csv +3 -0
  549. molSimplify/tf_nn/rescaling_data/ls_ii_var_x.csv +154 -0
  550. molSimplify/tf_nn/rescaling_data/ls_ii_var_y.csv +3 -0
  551. molSimplify/tf_nn/rescaling_data/ls_iii_mean_x.csv +154 -0
  552. molSimplify/tf_nn/rescaling_data/ls_iii_mean_y.csv +3 -0
  553. molSimplify/tf_nn/rescaling_data/ls_iii_var_x.csv +154 -0
  554. molSimplify/tf_nn/rescaling_data/ls_iii_var_y.csv +3 -0
  555. molSimplify/tf_nn/rescaling_data/oxo20_mean_x.csv +154 -0
  556. molSimplify/tf_nn/rescaling_data/oxo20_mean_y.csv +1 -0
  557. molSimplify/tf_nn/rescaling_data/oxo20_var_x.csv +154 -0
  558. molSimplify/tf_nn/rescaling_data/oxo20_var_y.csv +1 -0
  559. molSimplify/tf_nn/rescaling_data/oxo_mean_x.csv +162 -0
  560. molSimplify/tf_nn/rescaling_data/oxo_mean_y.csv +1 -0
  561. molSimplify/tf_nn/rescaling_data/oxo_var_x.csv +162 -0
  562. molSimplify/tf_nn/rescaling_data/oxo_var_y.csv +1 -0
  563. molSimplify/tf_nn/rescaling_data/sc_static_clf_mean_x.csv +154 -0
  564. molSimplify/tf_nn/rescaling_data/sc_static_clf_mean_y.csv +1 -0
  565. molSimplify/tf_nn/rescaling_data/sc_static_clf_var_x.csv +154 -0
  566. molSimplify/tf_nn/rescaling_data/sc_static_clf_var_y.csv +1 -0
  567. molSimplify/tf_nn/rescaling_data/split_mean_x.csv +155 -0
  568. molSimplify/tf_nn/rescaling_data/split_mean_y.csv +1 -0
  569. molSimplify/tf_nn/rescaling_data/split_var_x.csv +155 -0
  570. molSimplify/tf_nn/rescaling_data/split_var_y.csv +1 -0
  571. molSimplify/tf_nn/sc_static_clf/sc_static_clf_model.h5 +0 -0
  572. molSimplify/tf_nn/sc_static_clf/sc_static_clf_train_name.csv +1591 -0
  573. molSimplify/tf_nn/sc_static_clf/sc_static_clf_train_x.csv +1592 -0
  574. molSimplify/tf_nn/sc_static_clf/sc_static_clf_train_y.csv +1592 -0
  575. molSimplify/tf_nn/sc_static_clf/sc_static_clf_vars.csv +154 -0
  576. molSimplify/tf_nn/split/split_model.h5 +0 -0
  577. molSimplify/tf_nn/split/split_model.json +1 -0
  578. molSimplify/tf_nn/split/split_vars.csv +155 -0
  579. molSimplify/tf_nn/split/split_x.csv +1902 -0
  580. molSimplify/tf_nn/split/split_y.csv +1902 -0
  581. molSimplify/tf_nn/split/train_names.csv +1901 -0
  582. molSimplify/utils/__init__.py +0 -0
  583. molSimplify/utils/decorators.py +16 -0
  584. molSimplify/utils/metaclasses.py +12 -0
  585. molSimplify/utils/tensorflow.py +23 -0
  586. molSimplify/utils/timer.py +16 -0
  587. molSimplify-1.7.4.dist-info/LICENSE +674 -0
  588. molSimplify-1.7.4.dist-info/METADATA +821 -0
  589. molSimplify-1.7.4.dist-info/RECORD +651 -0
  590. molSimplify-1.7.4.dist-info/WHEEL +5 -0
  591. molSimplify-1.7.4.dist-info/entry_points.txt +3 -0
  592. molSimplify-1.7.4.dist-info/top_level.txt +4 -0
  593. tests/generateTests.py +122 -0
  594. tests/helperFuncs.py +658 -0
  595. tests/informatics/test_MOF_descriptors.py +128 -0
  596. tests/informatics/test_active_learning.py +113 -0
  597. tests/informatics/test_coulomb_analyze.py +24 -0
  598. tests/informatics/test_graph_racs.py +193 -0
  599. tests/ml/test_kernels.py +20 -0
  600. tests/ml/test_layers.py +47 -0
  601. tests/runtest.py +10 -0
  602. tests/test_Mol2D.py +128 -0
  603. tests/test_basic_imports.py +62 -0
  604. tests/test_bidentate.py +25 -0
  605. tests/test_cli.py +20 -0
  606. tests/test_distgeom.py +106 -0
  607. tests/test_example_1.py +29 -0
  608. tests/test_example_3.py +31 -0
  609. tests/test_example_5.py +43 -0
  610. tests/test_example_7.py +28 -0
  611. tests/test_example_8.py +15 -0
  612. tests/test_example_tbp.py +15 -0
  613. tests/test_ff_xtb.py +111 -0
  614. tests/test_geocheck_oct.py +26 -0
  615. tests/test_geocheck_one_empty.py +15 -0
  616. tests/test_geometry.py +44 -0
  617. tests/test_inparse.py +76 -0
  618. tests/test_io.py +84 -0
  619. tests/test_jobgen.py +84 -0
  620. tests/test_joption_pythonic.py +27 -0
  621. tests/test_ligand_assign.py +58 -0
  622. tests/test_ligand_assign_consistent.py +60 -0
  623. tests/test_ligand_class.py +26 -0
  624. tests/test_ligand_from_mol_file.py +35 -0
  625. tests/test_ligands.py +86 -0
  626. tests/test_mol3D.py +337 -0
  627. tests/test_molcas_caspt2.py +15 -0
  628. tests/test_molcas_casscf.py +15 -0
  629. tests/test_old_ANNs.py +68 -0
  630. tests/test_orca_ccsdt.py +15 -0
  631. tests/test_orca_dft.py +15 -0
  632. tests/test_qcgen.py +50 -0
  633. tests/test_racs.py +124 -0
  634. tests/test_rmsd.py +68 -0
  635. tests/test_structgen_functions.py +198 -0
  636. tests/test_tetrahedral.py +29 -0
  637. tests/test_tutorial_10_part_one.py +16 -0
  638. tests/test_tutorial_10_part_two.py +15 -0
  639. tests/test_tutorial_2.py +11 -0
  640. tests/test_tutorial_3.py +15 -0
  641. tests/test_tutorial_4.py +57 -0
  642. tests/test_tutorial_6.py +10 -0
  643. tests/test_tutorial_8.py +29 -0
  644. tests/test_tutorial_9_part_one.py +15 -0
  645. tests/test_tutorial_9_part_two.py +15 -0
  646. tests/test_tutorial_qm9_part_one.py +6 -0
  647. tests/testresources/refs/racs/generate_references.py +85 -0
  648. workflows/NandyJACSAu2022/bridge_functionalizer.py +253 -0
  649. workflows/NandyJACSAu2022/frag_functionalizer.py +242 -0
  650. workflows/NandyJACSAu2022/fragment_classes.py +586 -0
  651. workflows/NandyJACSAu2022/macrocycle_synthesis.py +179 -0
@@ -0,0 +1,1592 @@
1
+ ss_flag
2
+ 1
3
+ 1
4
+ 1
5
+ 1
6
+ 1
7
+ 1
8
+ 1
9
+ 1
10
+ 1
11
+ 1
12
+ 1
13
+ 1
14
+ 0
15
+ 0
16
+ 1
17
+ 1
18
+ 1
19
+ 1
20
+ 1
21
+ 1
22
+ 0
23
+ 0
24
+ 1
25
+ 1
26
+ 0
27
+ 1
28
+ 1
29
+ 1
30
+ 1
31
+ 1
32
+ 1
33
+ 1
34
+ 0
35
+ 1
36
+ 1
37
+ 1
38
+ 0
39
+ 1
40
+ 1
41
+ 0
42
+ 1
43
+ 1
44
+ 1
45
+ 1
46
+ 1
47
+ 1
48
+ 0
49
+ 1
50
+ 0
51
+ 1
52
+ 1
53
+ 1
54
+ 1
55
+ 1
56
+ 1
57
+ 1
58
+ 1
59
+ 1
60
+ 1
61
+ 1
62
+ 1
63
+ 1
64
+ 1
65
+ 0
66
+ 0
67
+ 0
68
+ 1
69
+ 1
70
+ 1
71
+ 1
72
+ 1
73
+ 1
74
+ 1
75
+ 1
76
+ 1
77
+ 1
78
+ 0
79
+ 0
80
+ 1
81
+ 1
82
+ 1
83
+ 0
84
+ 1
85
+ 1
86
+ 1
87
+ 1
88
+ 1
89
+ 1
90
+ 1
91
+ 1
92
+ 1
93
+ 1
94
+ 1
95
+ 1
96
+ 1
97
+ 1
98
+ 0
99
+ 0
100
+ 1
101
+ 1
102
+ 0
103
+ 1
104
+ 1
105
+ 1
106
+ 1
107
+ 1
108
+ 1
109
+ 1
110
+ 0
111
+ 1
112
+ 1
113
+ 1
114
+ 1
115
+ 0
116
+ 1
117
+ 1
118
+ 1
119
+ 0
120
+ 1
121
+ 1
122
+ 0
123
+ 1
124
+ 1
125
+ 1
126
+ 1
127
+ 1
128
+ 1
129
+ 1
130
+ 1
131
+ 1
132
+ 1
133
+ 1
134
+ 1
135
+ 1
136
+ 1
137
+ 1
138
+ 1
139
+ 1
140
+ 1
141
+ 0
142
+ 1
143
+ 1
144
+ 0
145
+ 1
146
+ 1
147
+ 1
148
+ 0
149
+ 1
150
+ 1
151
+ 1
152
+ 1
153
+ 1
154
+ 1
155
+ 1
156
+ 0
157
+ 1
158
+ 1
159
+ 1
160
+ 1
161
+ 0
162
+ 1
163
+ 0
164
+ 1
165
+ 1
166
+ 1
167
+ 1
168
+ 1
169
+ 1
170
+ 1
171
+ 1
172
+ 1
173
+ 1
174
+ 1
175
+ 1
176
+ 1
177
+ 1
178
+ 0
179
+ 1
180
+ 1
181
+ 1
182
+ 1
183
+ 1
184
+ 1
185
+ 1
186
+ 1
187
+ 1
188
+ 1
189
+ 1
190
+ 1
191
+ 1
192
+ 1
193
+ 1
194
+ 1
195
+ 1
196
+ 1
197
+ 1
198
+ 1
199
+ 1
200
+ 0
201
+ 1
202
+ 1
203
+ 1
204
+ 1
205
+ 1
206
+ 1
207
+ 1
208
+ 1
209
+ 1
210
+ 1
211
+ 0
212
+ 0
213
+ 1
214
+ 1
215
+ 1
216
+ 1
217
+ 1
218
+ 1
219
+ 1
220
+ 1
221
+ 1
222
+ 1
223
+ 1
224
+ 1
225
+ 1
226
+ 1
227
+ 1
228
+ 0
229
+ 1
230
+ 1
231
+ 1
232
+ 1
233
+ 0
234
+ 1
235
+ 1
236
+ 1
237
+ 1
238
+ 1
239
+ 1
240
+ 1
241
+ 1
242
+ 0
243
+ 1
244
+ 1
245
+ 0
246
+ 1
247
+ 1
248
+ 1
249
+ 1
250
+ 1
251
+ 1
252
+ 0
253
+ 1
254
+ 1
255
+ 1
256
+ 0
257
+ 1
258
+ 1
259
+ 1
260
+ 1
261
+ 1
262
+ 1
263
+ 1
264
+ 1
265
+ 0
266
+ 1
267
+ 1
268
+ 1
269
+ 1
270
+ 1
271
+ 1
272
+ 1
273
+ 1
274
+ 1
275
+ 1
276
+ 0
277
+ 1
278
+ 1
279
+ 1
280
+ 1
281
+ 1
282
+ 1
283
+ 0
284
+ 1
285
+ 1
286
+ 1
287
+ 1
288
+ 1
289
+ 0
290
+ 1
291
+ 1
292
+ 1
293
+ 1
294
+ 1
295
+ 0
296
+ 0
297
+ 1
298
+ 1
299
+ 1
300
+ 1
301
+ 0
302
+ 1
303
+ 1
304
+ 0
305
+ 1
306
+ 1
307
+ 1
308
+ 0
309
+ 1
310
+ 1
311
+ 1
312
+ 1
313
+ 1
314
+ 1
315
+ 0
316
+ 1
317
+ 0
318
+ 1
319
+ 1
320
+ 1
321
+ 1
322
+ 1
323
+ 1
324
+ 1
325
+ 1
326
+ 1
327
+ 1
328
+ 1
329
+ 1
330
+ 0
331
+ 1
332
+ 1
333
+ 1
334
+ 1
335
+ 1
336
+ 1
337
+ 1
338
+ 1
339
+ 1
340
+ 1
341
+ 1
342
+ 1
343
+ 0
344
+ 0
345
+ 1
346
+ 1
347
+ 1
348
+ 1
349
+ 1
350
+ 1
351
+ 1
352
+ 1
353
+ 1
354
+ 1
355
+ 1
356
+ 0
357
+ 1
358
+ 1
359
+ 1
360
+ 1
361
+ 1
362
+ 1
363
+ 1
364
+ 1
365
+ 1
366
+ 1
367
+ 1
368
+ 1
369
+ 1
370
+ 0
371
+ 1
372
+ 1
373
+ 1
374
+ 1
375
+ 0
376
+ 1
377
+ 1
378
+ 1
379
+ 1
380
+ 1
381
+ 0
382
+ 0
383
+ 1
384
+ 1
385
+ 1
386
+ 0
387
+ 1
388
+ 0
389
+ 0
390
+ 1
391
+ 1
392
+ 1
393
+ 1
394
+ 1
395
+ 1
396
+ 0
397
+ 1
398
+ 1
399
+ 1
400
+ 1
401
+ 1
402
+ 1
403
+ 1
404
+ 1
405
+ 1
406
+ 1
407
+ 0
408
+ 1
409
+ 1
410
+ 1
411
+ 1
412
+ 1
413
+ 1
414
+ 1
415
+ 1
416
+ 1
417
+ 1
418
+ 1
419
+ 1
420
+ 1
421
+ 1
422
+ 1
423
+ 0
424
+ 1
425
+ 1
426
+ 1
427
+ 1
428
+ 0
429
+ 0
430
+ 0
431
+ 1
432
+ 1
433
+ 1
434
+ 1
435
+ 1
436
+ 1
437
+ 1
438
+ 1
439
+ 1
440
+ 0
441
+ 1
442
+ 1
443
+ 1
444
+ 0
445
+ 1
446
+ 1
447
+ 1
448
+ 1
449
+ 1
450
+ 1
451
+ 1
452
+ 1
453
+ 1
454
+ 1
455
+ 1
456
+ 1
457
+ 1
458
+ 1
459
+ 0
460
+ 1
461
+ 1
462
+ 1
463
+ 0
464
+ 1
465
+ 1
466
+ 1
467
+ 1
468
+ 1
469
+ 1
470
+ 1
471
+ 0
472
+ 1
473
+ 1
474
+ 1
475
+ 1
476
+ 1
477
+ 1
478
+ 1
479
+ 1
480
+ 1
481
+ 1
482
+ 0
483
+ 1
484
+ 1
485
+ 0
486
+ 1
487
+ 1
488
+ 1
489
+ 1
490
+ 0
491
+ 1
492
+ 1
493
+ 1
494
+ 1
495
+ 1
496
+ 1
497
+ 1
498
+ 1
499
+ 1
500
+ 1
501
+ 1
502
+ 1
503
+ 0
504
+ 1
505
+ 1
506
+ 0
507
+ 1
508
+ 1
509
+ 1
510
+ 1
511
+ 1
512
+ 0
513
+ 1
514
+ 1
515
+ 1
516
+ 1
517
+ 0
518
+ 1
519
+ 0
520
+ 1
521
+ 1
522
+ 1
523
+ 0
524
+ 1
525
+ 1
526
+ 1
527
+ 1
528
+ 1
529
+ 1
530
+ 0
531
+ 0
532
+ 1
533
+ 1
534
+ 1
535
+ 1
536
+ 1
537
+ 1
538
+ 0
539
+ 1
540
+ 1
541
+ 0
542
+ 1
543
+ 1
544
+ 1
545
+ 1
546
+ 1
547
+ 1
548
+ 1
549
+ 1
550
+ 1
551
+ 1
552
+ 1
553
+ 1
554
+ 1
555
+ 0
556
+ 1
557
+ 0
558
+ 1
559
+ 1
560
+ 0
561
+ 1
562
+ 1
563
+ 1
564
+ 1
565
+ 0
566
+ 0
567
+ 1
568
+ 1
569
+ 1
570
+ 0
571
+ 1
572
+ 1
573
+ 1
574
+ 1
575
+ 1
576
+ 1
577
+ 1
578
+ 1
579
+ 1
580
+ 1
581
+ 1
582
+ 1
583
+ 1
584
+ 1
585
+ 1
586
+ 1
587
+ 1
588
+ 0
589
+ 1
590
+ 1
591
+ 0
592
+ 1
593
+ 1
594
+ 1
595
+ 1
596
+ 1
597
+ 1
598
+ 1
599
+ 1
600
+ 1
601
+ 0
602
+ 1
603
+ 0
604
+ 1
605
+ 1
606
+ 1
607
+ 1
608
+ 1
609
+ 1
610
+ 1
611
+ 0
612
+ 1
613
+ 1
614
+ 1
615
+ 1
616
+ 1
617
+ 1
618
+ 1
619
+ 0
620
+ 1
621
+ 1
622
+ 1
623
+ 1
624
+ 1
625
+ 1
626
+ 1
627
+ 1
628
+ 1
629
+ 1
630
+ 1
631
+ 1
632
+ 1
633
+ 1
634
+ 1
635
+ 0
636
+ 1
637
+ 1
638
+ 1
639
+ 1
640
+ 1
641
+ 1
642
+ 1
643
+ 1
644
+ 0
645
+ 1
646
+ 1
647
+ 1
648
+ 1
649
+ 0
650
+ 1
651
+ 0
652
+ 1
653
+ 1
654
+ 1
655
+ 1
656
+ 1
657
+ 1
658
+ 0
659
+ 1
660
+ 1
661
+ 1
662
+ 0
663
+ 0
664
+ 0
665
+ 1
666
+ 1
667
+ 1
668
+ 0
669
+ 1
670
+ 1
671
+ 0
672
+ 1
673
+ 1
674
+ 1
675
+ 1
676
+ 0
677
+ 1
678
+ 1
679
+ 0
680
+ 1
681
+ 1
682
+ 1
683
+ 0
684
+ 1
685
+ 1
686
+ 0
687
+ 0
688
+ 1
689
+ 1
690
+ 1
691
+ 1
692
+ 1
693
+ 1
694
+ 0
695
+ 1
696
+ 1
697
+ 1
698
+ 1
699
+ 1
700
+ 1
701
+ 1
702
+ 1
703
+ 1
704
+ 1
705
+ 1
706
+ 1
707
+ 1
708
+ 1
709
+ 1
710
+ 1
711
+ 0
712
+ 1
713
+ 1
714
+ 0
715
+ 1
716
+ 1
717
+ 1
718
+ 1
719
+ 1
720
+ 1
721
+ 1
722
+ 1
723
+ 1
724
+ 1
725
+ 1
726
+ 1
727
+ 0
728
+ 1
729
+ 1
730
+ 1
731
+ 0
732
+ 1
733
+ 1
734
+ 1
735
+ 1
736
+ 1
737
+ 1
738
+ 1
739
+ 1
740
+ 1
741
+ 1
742
+ 1
743
+ 0
744
+ 0
745
+ 1
746
+ 0
747
+ 1
748
+ 1
749
+ 1
750
+ 1
751
+ 1
752
+ 1
753
+ 1
754
+ 1
755
+ 1
756
+ 1
757
+ 1
758
+ 1
759
+ 1
760
+ 1
761
+ 1
762
+ 1
763
+ 1
764
+ 1
765
+ 1
766
+ 1
767
+ 0
768
+ 1
769
+ 1
770
+ 1
771
+ 1
772
+ 0
773
+ 1
774
+ 1
775
+ 1
776
+ 1
777
+ 1
778
+ 1
779
+ 1
780
+ 1
781
+ 1
782
+ 1
783
+ 1
784
+ 1
785
+ 1
786
+ 1
787
+ 1
788
+ 0
789
+ 0
790
+ 1
791
+ 1
792
+ 1
793
+ 1
794
+ 1
795
+ 1
796
+ 1
797
+ 1
798
+ 1
799
+ 0
800
+ 1
801
+ 1
802
+ 1
803
+ 1
804
+ 1
805
+ 1
806
+ 1
807
+ 1
808
+ 1
809
+ 1
810
+ 1
811
+ 1
812
+ 1
813
+ 1
814
+ 1
815
+ 1
816
+ 1
817
+ 1
818
+ 1
819
+ 1
820
+ 1
821
+ 1
822
+ 1
823
+ 1
824
+ 1
825
+ 1
826
+ 1
827
+ 1
828
+ 1
829
+ 1
830
+ 1
831
+ 1
832
+ 1
833
+ 1
834
+ 0
835
+ 1
836
+ 1
837
+ 1
838
+ 1
839
+ 1
840
+ 1
841
+ 1
842
+ 0
843
+ 1
844
+ 1
845
+ 1
846
+ 1
847
+ 1
848
+ 1
849
+ 1
850
+ 1
851
+ 1
852
+ 1
853
+ 1
854
+ 0
855
+ 1
856
+ 1
857
+ 1
858
+ 0
859
+ 0
860
+ 1
861
+ 1
862
+ 1
863
+ 1
864
+ 1
865
+ 0
866
+ 0
867
+ 1
868
+ 1
869
+ 1
870
+ 0
871
+ 1
872
+ 1
873
+ 1
874
+ 1
875
+ 0
876
+ 1
877
+ 1
878
+ 1
879
+ 1
880
+ 1
881
+ 1
882
+ 1
883
+ 0
884
+ 1
885
+ 1
886
+ 0
887
+ 1
888
+ 1
889
+ 1
890
+ 0
891
+ 0
892
+ 1
893
+ 1
894
+ 1
895
+ 1
896
+ 1
897
+ 1
898
+ 1
899
+ 1
900
+ 0
901
+ 0
902
+ 1
903
+ 1
904
+ 0
905
+ 1
906
+ 0
907
+ 0
908
+ 0
909
+ 0
910
+ 0
911
+ 0
912
+ 1
913
+ 1
914
+ 0
915
+ 1
916
+ 1
917
+ 1
918
+ 1
919
+ 1
920
+ 1
921
+ 1
922
+ 1
923
+ 1
924
+ 1
925
+ 1
926
+ 1
927
+ 1
928
+ 0
929
+ 1
930
+ 1
931
+ 1
932
+ 1
933
+ 1
934
+ 1
935
+ 1
936
+ 1
937
+ 0
938
+ 0
939
+ 1
940
+ 0
941
+ 1
942
+ 1
943
+ 1
944
+ 1
945
+ 1
946
+ 1
947
+ 1
948
+ 1
949
+ 1
950
+ 1
951
+ 1
952
+ 1
953
+ 1
954
+ 1
955
+ 1
956
+ 1
957
+ 1
958
+ 1
959
+ 1
960
+ 1
961
+ 1
962
+ 1
963
+ 1
964
+ 1
965
+ 1
966
+ 1
967
+ 1
968
+ 1
969
+ 1
970
+ 1
971
+ 1
972
+ 1
973
+ 1
974
+ 1
975
+ 1
976
+ 1
977
+ 1
978
+ 1
979
+ 1
980
+ 1
981
+ 1
982
+ 0
983
+ 1
984
+ 1
985
+ 1
986
+ 1
987
+ 1
988
+ 1
989
+ 1
990
+ 1
991
+ 1
992
+ 1
993
+ 1
994
+ 1
995
+ 1
996
+ 1
997
+ 0
998
+ 1
999
+ 1
1000
+ 1
1001
+ 1
1002
+ 0
1003
+ 1
1004
+ 1
1005
+ 1
1006
+ 1
1007
+ 1
1008
+ 1
1009
+ 1
1010
+ 1
1011
+ 0
1012
+ 1
1013
+ 1
1014
+ 1
1015
+ 1
1016
+ 1
1017
+ 1
1018
+ 1
1019
+ 0
1020
+ 1
1021
+ 1
1022
+ 0
1023
+ 1
1024
+ 1
1025
+ 1
1026
+ 1
1027
+ 1
1028
+ 1
1029
+ 1
1030
+ 1
1031
+ 1
1032
+ 0
1033
+ 1
1034
+ 1
1035
+ 1
1036
+ 0
1037
+ 1
1038
+ 1
1039
+ 1
1040
+ 1
1041
+ 1
1042
+ 1
1043
+ 1
1044
+ 0
1045
+ 1
1046
+ 1
1047
+ 0
1048
+ 1
1049
+ 1
1050
+ 1
1051
+ 1
1052
+ 1
1053
+ 1
1054
+ 0
1055
+ 1
1056
+ 1
1057
+ 1
1058
+ 0
1059
+ 1
1060
+ 0
1061
+ 1
1062
+ 1
1063
+ 1
1064
+ 0
1065
+ 0
1066
+ 0
1067
+ 1
1068
+ 1
1069
+ 1
1070
+ 1
1071
+ 1
1072
+ 1
1073
+ 1
1074
+ 1
1075
+ 1
1076
+ 1
1077
+ 1
1078
+ 1
1079
+ 1
1080
+ 1
1081
+ 1
1082
+ 0
1083
+ 1
1084
+ 1
1085
+ 0
1086
+ 1
1087
+ 1
1088
+ 1
1089
+ 0
1090
+ 1
1091
+ 1
1092
+ 1
1093
+ 0
1094
+ 1
1095
+ 1
1096
+ 1
1097
+ 1
1098
+ 1
1099
+ 1
1100
+ 1
1101
+ 1
1102
+ 1
1103
+ 1
1104
+ 1
1105
+ 1
1106
+ 1
1107
+ 1
1108
+ 1
1109
+ 1
1110
+ 1
1111
+ 1
1112
+ 0
1113
+ 1
1114
+ 1
1115
+ 1
1116
+ 1
1117
+ 1
1118
+ 1
1119
+ 1
1120
+ 1
1121
+ 0
1122
+ 1
1123
+ 1
1124
+ 1
1125
+ 1
1126
+ 1
1127
+ 1
1128
+ 1
1129
+ 1
1130
+ 1
1131
+ 1
1132
+ 1
1133
+ 1
1134
+ 0
1135
+ 1
1136
+ 1
1137
+ 1
1138
+ 1
1139
+ 1
1140
+ 1
1141
+ 0
1142
+ 1
1143
+ 1
1144
+ 1
1145
+ 1
1146
+ 1
1147
+ 0
1148
+ 1
1149
+ 1
1150
+ 1
1151
+ 1
1152
+ 0
1153
+ 1
1154
+ 0
1155
+ 1
1156
+ 0
1157
+ 0
1158
+ 1
1159
+ 1
1160
+ 1
1161
+ 1
1162
+ 1
1163
+ 1
1164
+ 1
1165
+ 1
1166
+ 1
1167
+ 0
1168
+ 0
1169
+ 1
1170
+ 1
1171
+ 1
1172
+ 1
1173
+ 0
1174
+ 1
1175
+ 0
1176
+ 1
1177
+ 1
1178
+ 0
1179
+ 1
1180
+ 1
1181
+ 0
1182
+ 1
1183
+ 1
1184
+ 1
1185
+ 1
1186
+ 1
1187
+ 1
1188
+ 1
1189
+ 1
1190
+ 1
1191
+ 0
1192
+ 1
1193
+ 1
1194
+ 1
1195
+ 1
1196
+ 1
1197
+ 1
1198
+ 1
1199
+ 1
1200
+ 1
1201
+ 1
1202
+ 1
1203
+ 1
1204
+ 1
1205
+ 1
1206
+ 1
1207
+ 1
1208
+ 1
1209
+ 0
1210
+ 0
1211
+ 1
1212
+ 1
1213
+ 1
1214
+ 1
1215
+ 1
1216
+ 1
1217
+ 1
1218
+ 1
1219
+ 1
1220
+ 1
1221
+ 1
1222
+ 1
1223
+ 0
1224
+ 0
1225
+ 1
1226
+ 1
1227
+ 1
1228
+ 0
1229
+ 1
1230
+ 0
1231
+ 1
1232
+ 1
1233
+ 0
1234
+ 1
1235
+ 1
1236
+ 1
1237
+ 1
1238
+ 1
1239
+ 1
1240
+ 1
1241
+ 1
1242
+ 1
1243
+ 1
1244
+ 1
1245
+ 1
1246
+ 1
1247
+ 1
1248
+ 1
1249
+ 1
1250
+ 1
1251
+ 1
1252
+ 1
1253
+ 1
1254
+ 1
1255
+ 1
1256
+ 1
1257
+ 1
1258
+ 0
1259
+ 1
1260
+ 0
1261
+ 0
1262
+ 1
1263
+ 1
1264
+ 1
1265
+ 1
1266
+ 1
1267
+ 1
1268
+ 1
1269
+ 1
1270
+ 1
1271
+ 0
1272
+ 1
1273
+ 1
1274
+ 1
1275
+ 1
1276
+ 1
1277
+ 1
1278
+ 1
1279
+ 1
1280
+ 0
1281
+ 0
1282
+ 1
1283
+ 1
1284
+ 0
1285
+ 1
1286
+ 1
1287
+ 1
1288
+ 1
1289
+ 1
1290
+ 1
1291
+ 1
1292
+ 1
1293
+ 1
1294
+ 1
1295
+ 1
1296
+ 1
1297
+ 1
1298
+ 1
1299
+ 1
1300
+ 1
1301
+ 1
1302
+ 0
1303
+ 1
1304
+ 1
1305
+ 1
1306
+ 1
1307
+ 1
1308
+ 1
1309
+ 1
1310
+ 0
1311
+ 1
1312
+ 1
1313
+ 1
1314
+ 1
1315
+ 1
1316
+ 1
1317
+ 1
1318
+ 1
1319
+ 1
1320
+ 1
1321
+ 1
1322
+ 1
1323
+ 1
1324
+ 1
1325
+ 1
1326
+ 1
1327
+ 1
1328
+ 1
1329
+ 1
1330
+ 1
1331
+ 1
1332
+ 0
1333
+ 1
1334
+ 1
1335
+ 1
1336
+ 1
1337
+ 1
1338
+ 1
1339
+ 0
1340
+ 1
1341
+ 1
1342
+ 1
1343
+ 1
1344
+ 1
1345
+ 1
1346
+ 1
1347
+ 1
1348
+ 1
1349
+ 1
1350
+ 1
1351
+ 0
1352
+ 1
1353
+ 1
1354
+ 1
1355
+ 1
1356
+ 1
1357
+ 1
1358
+ 1
1359
+ 1
1360
+ 0
1361
+ 1
1362
+ 1
1363
+ 1
1364
+ 0
1365
+ 1
1366
+ 1
1367
+ 1
1368
+ 0
1369
+ 1
1370
+ 1
1371
+ 1
1372
+ 0
1373
+ 1
1374
+ 1
1375
+ 1
1376
+ 1
1377
+ 1
1378
+ 1
1379
+ 1
1380
+ 1
1381
+ 1
1382
+ 1
1383
+ 1
1384
+ 1
1385
+ 0
1386
+ 1
1387
+ 0
1388
+ 1
1389
+ 1
1390
+ 0
1391
+ 1
1392
+ 1
1393
+ 1
1394
+ 1
1395
+ 0
1396
+ 0
1397
+ 1
1398
+ 1
1399
+ 1
1400
+ 1
1401
+ 1
1402
+ 0
1403
+ 1
1404
+ 1
1405
+ 0
1406
+ 1
1407
+ 1
1408
+ 0
1409
+ 0
1410
+ 1
1411
+ 1
1412
+ 1
1413
+ 1
1414
+ 1
1415
+ 1
1416
+ 1
1417
+ 1
1418
+ 1
1419
+ 1
1420
+ 1
1421
+ 0
1422
+ 1
1423
+ 1
1424
+ 1
1425
+ 0
1426
+ 1
1427
+ 1
1428
+ 1
1429
+ 1
1430
+ 1
1431
+ 1
1432
+ 1
1433
+ 1
1434
+ 1
1435
+ 0
1436
+ 1
1437
+ 1
1438
+ 1
1439
+ 1
1440
+ 1
1441
+ 1
1442
+ 1
1443
+ 1
1444
+ 1
1445
+ 1
1446
+ 0
1447
+ 1
1448
+ 1
1449
+ 1
1450
+ 1
1451
+ 1
1452
+ 1
1453
+ 1
1454
+ 1
1455
+ 1
1456
+ 0
1457
+ 1
1458
+ 1
1459
+ 1
1460
+ 1
1461
+ 0
1462
+ 1
1463
+ 1
1464
+ 1
1465
+ 1
1466
+ 1
1467
+ 0
1468
+ 0
1469
+ 1
1470
+ 0
1471
+ 1
1472
+ 1
1473
+ 1
1474
+ 1
1475
+ 0
1476
+ 1
1477
+ 0
1478
+ 0
1479
+ 1
1480
+ 1
1481
+ 1
1482
+ 1
1483
+ 1
1484
+ 0
1485
+ 1
1486
+ 1
1487
+ 1
1488
+ 1
1489
+ 1
1490
+ 1
1491
+ 1
1492
+ 1
1493
+ 0
1494
+ 1
1495
+ 0
1496
+ 1
1497
+ 1
1498
+ 1
1499
+ 1
1500
+ 1
1501
+ 1
1502
+ 1
1503
+ 1
1504
+ 1
1505
+ 1
1506
+ 1
1507
+ 0
1508
+ 0
1509
+ 1
1510
+ 1
1511
+ 0
1512
+ 1
1513
+ 1
1514
+ 1
1515
+ 1
1516
+ 1
1517
+ 1
1518
+ 0
1519
+ 1
1520
+ 1
1521
+ 1
1522
+ 0
1523
+ 1
1524
+ 1
1525
+ 1
1526
+ 0
1527
+ 1
1528
+ 1
1529
+ 1
1530
+ 1
1531
+ 1
1532
+ 1
1533
+ 1
1534
+ 1
1535
+ 0
1536
+ 1
1537
+ 1
1538
+ 1
1539
+ 0
1540
+ 1
1541
+ 1
1542
+ 1
1543
+ 1
1544
+ 1
1545
+ 1
1546
+ 1
1547
+ 0
1548
+ 1
1549
+ 1
1550
+ 1
1551
+ 1
1552
+ 1
1553
+ 1
1554
+ 1
1555
+ 1
1556
+ 1
1557
+ 1
1558
+ 0
1559
+ 0
1560
+ 1
1561
+ 1
1562
+ 1
1563
+ 0
1564
+ 1
1565
+ 1
1566
+ 1
1567
+ 1
1568
+ 1
1569
+ 1
1570
+ 1
1571
+ 1
1572
+ 1
1573
+ 1
1574
+ 1
1575
+ 1
1576
+ 0
1577
+ 1
1578
+ 1
1579
+ 1
1580
+ 1
1581
+ 1
1582
+ 0
1583
+ 0
1584
+ 1
1585
+ 0
1586
+ 1
1587
+ 1
1588
+ 0
1589
+ 1
1590
+ 0
1591
+ 0
1592
+ 0