Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAlan Aguiar <alanjas@hotmail.com>2012-01-21 03:01:52 (GMT)
committer Alan Aguiar <alanjas@hotmail.com>2012-01-21 03:01:52 (GMT)
commit98f6174becbf79905bf8aa3e8c2d89ac2b494f3f (patch)
treeffdc45e9d43dd18f317498f8f622bec3b9c565d4
version 1v1
-rw-r--r--COPYING339
-rw-r--r--KukuActivity.py34
-rw-r--r--MANIFEST111
-rw-r--r--QA.py68
-rw-r--r--README17
-rw-r--r--activity.py8
-rw-r--r--activity/activity-kuku.svg15
-rw-r--r--activity/activity.info7
-rw-r--r--data/bock.oggbin0 -> 6918 bytes
-rw-r--r--data/kuku.gifbin0 -> 3902 bytes
-rw-r--r--data/kuku.pngbin0 -> 771 bytes
-rw-r--r--data/kuku_clock.pngbin0 -> 2751 bytes
-rw-r--r--data/kuku_death.oggbin0 -> 171847 bytes
-rw-r--r--data/kuku_default.pngbin0 -> 3789 bytes
-rw-r--r--data/kuku_endpage.pngbin0 -> 27898 bytes
-rw-r--r--data/kuku_happy.pngbin0 -> 3581 bytes
-rw-r--r--data/kuku_high_score.pngbin0 -> 3506 bytes
-rw-r--r--data/kuku_left.gifbin0 -> 226 bytes
-rw-r--r--data/kuku_num_correct.pngbin0 -> 2578 bytes
-rw-r--r--data/kuku_pecking.pngbin0 -> 4198 bytes
-rw-r--r--data/kuku_slow.oggbin0 -> 1392815 bytes
-rw-r--r--data/kuku_startpage.pngbin0 -> 31462 bytes
-rw-r--r--data/kuku_stunned.pngbin0 -> 4664 bytes
-rw-r--r--data/kuku_win.oggbin0 -> 141376 bytes
-rw-r--r--data/kuku_win.pngbin0 -> 27093 bytes
-rwxr-xr-xdata/number_images/01x.jpgbin0 -> 7084 bytes
-rwxr-xr-xdata/number_images/02x.jpgbin0 -> 8317 bytes
-rwxr-xr-xdata/number_images/03x.jpgbin0 -> 5421 bytes
-rwxr-xr-xdata/number_images/04x.jpgbin0 -> 8574 bytes
-rwxr-xr-xdata/number_images/05x.jpgbin0 -> 6632 bytes
-rwxr-xr-xdata/number_images/06x.jpgbin0 -> 8132 bytes
-rwxr-xr-xdata/number_images/07x.jpgbin0 -> 10302 bytes
-rwxr-xr-xdata/number_images/08x.jpgbin0 -> 8105 bytes
-rwxr-xr-xdata/number_images/09x.jpgbin0 -> 8458 bytes
-rwxr-xr-xdata/number_images/10x.jpgbin0 -> 8471 bytes
-rwxr-xr-xdata/number_images/11x.jpgbin0 -> 8573 bytes
-rwxr-xr-xdata/number_images/12x.jpgbin0 -> 10726 bytes
-rwxr-xr-xdata/number_images/13x.jpgbin0 -> 7400 bytes
-rwxr-xr-xdata/number_images/14x.jpgbin0 -> 8037 bytes
-rwxr-xr-xdata/number_images/15x.jpgbin0 -> 10862 bytes
-rw-r--r--data/peckbad.oggbin0 -> 23490 bytes
-rw-r--r--data/peckgood.oggbin0 -> 32273 bytes
-rw-r--r--data/question_files/arithmetic/README.txt40
-rw-r--r--data/question_files/arithmetic/addition_p0_0-10.dat1000
-rw-r--r--data/question_files/arithmetic/addition_p0_0-100.dat1000
-rw-r--r--data/question_files/arithmetic/addsub_p0_-10-10.dat1000
-rw-r--r--data/question_files/arithmetic/addsub_p0_-100-100.dat1000
-rw-r--r--data/question_files/arithmetic/addsub_p0_0-10.dat1000
-rw-r--r--data/question_files/arithmetic/addsub_p0_0-100.dat1000
-rw-r--r--data/question_files/arithmetic/allops_p0_0-10.dat1000
-rw-r--r--data/question_files/arithmetic/allops_p0_0-100.dat1000
-rw-r--r--data/question_files/arithmetic/allops_p1_0-10.dat1000
-rw-r--r--data/question_files/arithmetic/allops_p1_0-100.dat1000
-rw-r--r--data/question_files/arithmetic/division_p0_-10-10.dat1000
-rw-r--r--data/question_files/arithmetic/division_p0_-100-100.dat1000
-rw-r--r--data/question_files/arithmetic/division_p0_0-10.dat1000
-rw-r--r--data/question_files/arithmetic/division_p0_0-100.dat1000
-rw-r--r--data/question_files/arithmetic/multdiv_p0_-10-10.dat1000
-rw-r--r--data/question_files/arithmetic/multdiv_p0_-100-100.dat1000
-rw-r--r--data/question_files/arithmetic/multdiv_p0_0-10.dat1000
-rw-r--r--data/question_files/arithmetic/multdiv_p0_0-100.dat1000
-rw-r--r--data/question_files/arithmetic/multiples_p0_-10-10.dat1000
-rw-r--r--data/question_files/arithmetic/multiples_p0_0-10.dat1000
-rw-r--r--data/question_files/arithmetic/multiplication_p0_-10-10.dat1000
-rw-r--r--data/question_files/arithmetic/multiplication_p0_-100-100.dat1000
-rw-r--r--data/question_files/arithmetic/multiplication_p0_0-10.dat1000
-rw-r--r--data/question_files/arithmetic/multiplication_p0_0-100.dat1000
-rw-r--r--data/question_files/arithmetic/my_questions.dat28
-rw-r--r--data/question_files/arithmetic/random_p0_-10-10.dat1000
-rw-r--r--data/question_files/arithmetic/random_p0_0-10.dat1000
-rw-r--r--data/question_files/arithmetic/random_p1_-10-10.dat1000
-rw-r--r--data/question_files/arithmetic/random_p1_0-10.dat1000
-rw-r--r--data/question_files/arithmetic/subtraction_p0_0-10.dat1000
-rw-r--r--data/question_files/arithmetic/subtraction_p0_0-100.dat1000
-rw-r--r--data/question_files/numbers/numbers_1-10.dat10
-rw-r--r--data/question_files/numbers/numbers_11-15.dat6
-rw-r--r--data/tile.gifbin0 -> 346 bytes
-rw-r--r--grid.py106
-rw-r--r--kuku.py963
-rw-r--r--kuku.svg119
-rw-r--r--kuku_config.py54
-rw-r--r--kuku_utils.py27
-rw-r--r--locale/en/LC_MESSAGES/kuku.mobin0 -> 393 bytes
-rw-r--r--locale/en/LC_MESSAGES/kuku.po21
-rw-r--r--locale/kuku.pot21
-rw-r--r--locale/sw/LC_MESSAGES/kuku.mobin0 -> 394 bytes
-rw-r--r--locale/sw/LC_MESSAGES/kuku.po21
-rw-r--r--olpcgames/__init__.py8
-rw-r--r--olpcgames/activity.py35
-rw-r--r--olpcgames/camera.py76
-rw-r--r--olpcgames/canvas.py283
-rw-r--r--olpcgames/util.py11
-rw-r--r--olpcgames/video.py69
-rw-r--r--question.py648
-rw-r--r--setup.py10
-rw-r--r--tile.py129
96 files changed, 33284 insertions, 0 deletions
diff --git a/COPYING b/COPYING
new file mode 100644
index 0000000..d511905
--- /dev/null
+++ b/COPYING
@@ -0,0 +1,339 @@
+ GNU GENERAL PUBLIC LICENSE
+ Version 2, June 1991
+
+ Copyright (C) 1989, 1991 Free Software Foundation, Inc.,
+ 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+ Everyone is permitted to copy and distribute verbatim copies
+ of this license document, but changing it is not allowed.
+
+ Preamble
+
+ The licenses for most software are designed to take away your
+freedom to share and change it. By contrast, the GNU General Public
+License is intended to guarantee your freedom to share and change free
+software--to make sure the software is free for all its users. This
+General Public License applies to most of the Free Software
+Foundation's software and to any other program whose authors commit to
+using it. (Some other Free Software Foundation software is covered by
+the GNU Lesser General Public License instead.) You can apply it to
+your programs, too.
+
+ When we speak of free software, we are referring to freedom, not
+price. Our General Public Licenses are designed to make sure that you
+have the freedom to distribute copies of free software (and charge for
+this service if you wish), that you receive source code or can get it
+if you want it, that you can change the software or use pieces of it
+in new free programs; and that you know you can do these things.
+
+ To protect your rights, we need to make restrictions that forbid
+anyone to deny you these rights or to ask you to surrender the rights.
+These restrictions translate to certain responsibilities for you if you
+distribute copies of the software, or if you modify it.
+
+ For example, if you distribute copies of such a program, whether
+gratis or for a fee, you must give the recipients all the rights that
+you have. You must make sure that they, too, receive or can get the
+source code. And you must show them these terms so they know their
+rights.
+
+ We protect your rights with two steps: (1) copyright the software, and
+(2) offer you this license which gives you legal permission to copy,
+distribute and/or modify the software.
+
+ Also, for each author's protection and ours, we want to make certain
+that everyone understands that there is no warranty for this free
+software. If the software is modified by someone else and passed on, we
+want its recipients to know that what they have is not the original, so
+that any problems introduced by others will not reflect on the original
+authors' reputations.
+
+ Finally, any free program is threatened constantly by software
+patents. We wish to avoid the danger that redistributors of a free
+program will individually obtain patent licenses, in effect making the
+program proprietary. To prevent this, we have made it clear that any
+patent must be licensed for everyone's free use or not licensed at all.
+
+ The precise terms and conditions for copying, distribution and
+modification follow.
+
+ GNU GENERAL PUBLIC LICENSE
+ TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
+
+ 0. This License applies to any program or other work which contains
+a notice placed by the copyright holder saying it may be distributed
+under the terms of this General Public License. The "Program", below,
+refers to any such program or work, and a "work based on the Program"
+means either the Program or any derivative work under copyright law:
+that is to say, a work containing the Program or a portion of it,
+either verbatim or with modifications and/or translated into another
+language. (Hereinafter, translation is included without limitation in
+the term "modification".) Each licensee is addressed as "you".
+
+Activities other than copying, distribution and modification are not
+covered by this License; they are outside its scope. The act of
+running the Program is not restricted, and the output from the Program
+is covered only if its contents constitute a work based on the
+Program (independent of having been made by running the Program).
+Whether that is true depends on what the Program does.
+
+ 1. You may copy and distribute verbatim copies of the Program's
+source code as you receive it, in any medium, provided that you
+conspicuously and appropriately publish on each copy an appropriate
+copyright notice and disclaimer of warranty; keep intact all the
+notices that refer to this License and to the absence of any warranty;
+and give any other recipients of the Program a copy of this License
+along with the Program.
+
+You may charge a fee for the physical act of transferring a copy, and
+you may at your option offer warranty protection in exchange for a fee.
+
+ 2. You may modify your copy or copies of the Program or any portion
+of it, thus forming a work based on the Program, and copy and
+distribute such modifications or work under the terms of Section 1
+above, provided that you also meet all of these conditions:
+
+ a) You must cause the modified files to carry prominent notices
+ stating that you changed the files and the date of any change.
+
+ b) You must cause any work that you distribute or publish, that in
+ whole or in part contains or is derived from the Program or any
+ part thereof, to be licensed as a whole at no charge to all third
+ parties under the terms of this License.
+
+ c) If the modified program normally reads commands interactively
+ when run, you must cause it, when started running for such
+ interactive use in the most ordinary way, to print or display an
+ announcement including an appropriate copyright notice and a
+ notice that there is no warranty (or else, saying that you provide
+ a warranty) and that users may redistribute the program under
+ these conditions, and telling the user how to view a copy of this
+ License. (Exception: if the Program itself is interactive but
+ does not normally print such an announcement, your work based on
+ the Program is not required to print an announcement.)
+
+These requirements apply to the modified work as a whole. If
+identifiable sections of that work are not derived from the Program,
+and can be reasonably considered independent and separate works in
+themselves, then this License, and its terms, do not apply to those
+sections when you distribute them as separate works. But when you
+distribute the same sections as part of a whole which is a work based
+on the Program, the distribution of the whole must be on the terms of
+this License, whose permissions for other licensees extend to the
+entire whole, and thus to each and every part regardless of who wrote it.
+
+Thus, it is not the intent of this section to claim rights or contest
+your rights to work written entirely by you; rather, the intent is to
+exercise the right to control the distribution of derivative or
+collective works based on the Program.
+
+In addition, mere aggregation of another work not based on the Program
+with the Program (or with a work based on the Program) on a volume of
+a storage or distribution medium does not bring the other work under
+the scope of this License.
+
+ 3. You may copy and distribute the Program (or a work based on it,
+under Section 2) in object code or executable form under the terms of
+Sections 1 and 2 above provided that you also do one of the following:
+
+ a) Accompany it with the complete corresponding machine-readable
+ source code, which must be distributed under the terms of Sections
+ 1 and 2 above on a medium customarily used for software interchange; or,
+
+ b) Accompany it with a written offer, valid for at least three
+ years, to give any third party, for a charge no more than your
+ cost of physically performing source distribution, a complete
+ machine-readable copy of the corresponding source code, to be
+ distributed under the terms of Sections 1 and 2 above on a medium
+ customarily used for software interchange; or,
+
+ c) Accompany it with the information you received as to the offer
+ to distribute corresponding source code. (This alternative is
+ allowed only for noncommercial distribution and only if you
+ received the program in object code or executable form with such
+ an offer, in accord with Subsection b above.)
+
+The source code for a work means the preferred form of the work for
+making modifications to it. For an executable work, complete source
+code means all the source code for all modules it contains, plus any
+associated interface definition files, plus the scripts used to
+control compilation and installation of the executable. However, as a
+special exception, the source code distributed need not include
+anything that is normally distributed (in either source or binary
+form) with the major components (compiler, kernel, and so on) of the
+operating system on which the executable runs, unless that component
+itself accompanies the executable.
+
+If distribution of executable or object code is made by offering
+access to copy from a designated place, then offering equivalent
+access to copy the source code from the same place counts as
+distribution of the source code, even though third parties are not
+compelled to copy the source along with the object code.
+
+ 4. You may not copy, modify, sublicense, or distribute the Program
+except as expressly provided under this License. Any attempt
+otherwise to copy, modify, sublicense or distribute the Program is
+void, and will automatically terminate your rights under this License.
+However, parties who have received copies, or rights, from you under
+this License will not have their licenses terminated so long as such
+parties remain in full compliance.
+
+ 5. You are not required to accept this License, since you have not
+signed it. However, nothing else grants you permission to modify or
+distribute the Program or its derivative works. These actions are
+prohibited by law if you do not accept this License. Therefore, by
+modifying or distributing the Program (or any work based on the
+Program), you indicate your acceptance of this License to do so, and
+all its terms and conditions for copying, distributing or modifying
+the Program or works based on it.
+
+ 6. Each time you redistribute the Program (or any work based on the
+Program), the recipient automatically receives a license from the
+original licensor to copy, distribute or modify the Program subject to
+these terms and conditions. You may not impose any further
+restrictions on the recipients' exercise of the rights granted herein.
+You are not responsible for enforcing compliance by third parties to
+this License.
+
+ 7. If, as a consequence of a court judgment or allegation of patent
+infringement or for any other reason (not limited to patent issues),
+conditions are imposed on you (whether by court order, agreement or
+otherwise) that contradict the conditions of this License, they do not
+excuse you from the conditions of this License. If you cannot
+distribute so as to satisfy simultaneously your obligations under this
+License and any other pertinent obligations, then as a consequence you
+may not distribute the Program at all. For example, if a patent
+license would not permit royalty-free redistribution of the Program by
+all those who receive copies directly or indirectly through you, then
+the only way you could satisfy both it and this License would be to
+refrain entirely from distribution of the Program.
+
+If any portion of this section is held invalid or unenforceable under
+any particular circumstance, the balance of the section is intended to
+apply and the section as a whole is intended to apply in other
+circumstances.
+
+It is not the purpose of this section to induce you to infringe any
+patents or other property right claims or to contest validity of any
+such claims; this section has the sole purpose of protecting the
+integrity of the free software distribution system, which is
+implemented by public license practices. Many people have made
+generous contributions to the wide range of software distributed
+through that system in reliance on consistent application of that
+system; it is up to the author/donor to decide if he or she is willing
+to distribute software through any other system and a licensee cannot
+impose that choice.
+
+This section is intended to make thoroughly clear what is believed to
+be a consequence of the rest of this License.
+
+ 8. If the distribution and/or use of the Program is restricted in
+certain countries either by patents or by copyrighted interfaces, the
+original copyright holder who places the Program under this License
+may add an explicit geographical distribution limitation excluding
+those countries, so that distribution is permitted only in or among
+countries not thus excluded. In such case, this License incorporates
+the limitation as if written in the body of this License.
+
+ 9. The Free Software Foundation may publish revised and/or new versions
+of the General Public License from time to time. Such new versions will
+be similar in spirit to the present version, but may differ in detail to
+address new problems or concerns.
+
+Each version is given a distinguishing version number. If the Program
+specifies a version number of this License which applies to it and "any
+later version", you have the option of following the terms and conditions
+either of that version or of any later version published by the Free
+Software Foundation. If the Program does not specify a version number of
+this License, you may choose any version ever published by the Free Software
+Foundation.
+
+ 10. If you wish to incorporate parts of the Program into other free
+programs whose distribution conditions are different, write to the author
+to ask for permission. For software which is copyrighted by the Free
+Software Foundation, write to the Free Software Foundation; we sometimes
+make exceptions for this. Our decision will be guided by the two goals
+of preserving the free status of all derivatives of our free software and
+of promoting the sharing and reuse of software generally.
+
+ NO WARRANTY
+
+ 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
+FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN
+OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
+PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
+OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS
+TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE
+PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
+REPAIR OR CORRECTION.
+
+ 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
+WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
+REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
+INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
+OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
+TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
+YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
+PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
+POSSIBILITY OF SUCH DAMAGES.
+
+ END OF TERMS AND CONDITIONS
+
+ How to Apply These Terms to Your New Programs
+
+ If you develop a new program, and you want it to be of the greatest
+possible use to the public, the best way to achieve this is to make it
+free software which everyone can redistribute and change under these terms.
+
+ To do so, attach the following notices to the program. It is safest
+to attach them to the start of each source file to most effectively
+convey the exclusion of warranty; and each file should have at least
+the "copyright" line and a pointer to where the full notice is found.
+
+ <one line to give the program's name and a brief idea of what it does.>
+ Copyright (C) <year> <name of author>
+
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License along
+ with this program; if not, write to the Free Software Foundation, Inc.,
+ 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+
+Also add information on how to contact you by electronic and paper mail.
+
+If the program is interactive, make it output a short notice like this
+when it starts in an interactive mode:
+
+ Gnomovision version 69, Copyright (C) year name of author
+ Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
+ This is free software, and you are welcome to redistribute it
+ under certain conditions; type `show c' for details.
+
+The hypothetical commands `show w' and `show c' should show the appropriate
+parts of the General Public License. Of course, the commands you use may
+be called something other than `show w' and `show c'; they could even be
+mouse-clicks or menu items--whatever suits your program.
+
+You should also get your employer (if you work as a programmer) or your
+school, if any, to sign a "copyright disclaimer" for the program, if
+necessary. Here is a sample; alter the names:
+
+ Yoyodyne, Inc., hereby disclaims all copyright interest in the program
+ `Gnomovision' (which makes passes at compilers) written by James Hacker.
+
+ <signature of Ty Coon>, 1 April 1989
+ Ty Coon, President of Vice
+
+This General Public License does not permit incorporating your program into
+proprietary programs. If your program is a subroutine library, you may
+consider it more useful to permit linking proprietary applications with the
+library. If this is what you want to do, use the GNU Lesser General
+Public License instead of this License.
diff --git a/KukuActivity.py b/KukuActivity.py
new file mode 100644
index 0000000..1dc1456
--- /dev/null
+++ b/KukuActivity.py
@@ -0,0 +1,34 @@
+"""
+olpcgames.py
+
+Taken from Noah Kantrowitz's simple demo USInvaders
+
+"""
+
+
+import pygtk
+pygtk.require('2.0')
+import gtk
+import hippo
+
+from sugar.activity import activity
+import olpcgames
+
+class KukuActivity(activity.Activity):
+
+ def __init__(self, handle):
+ super(KukuActivity, self).__init__(handle)
+
+ self.gamename = 'kuku'
+ self.set_title('Kuku Anakula')
+
+ self._box = hippo.CanvasBox()
+ self.set_root(self._box)
+
+ self._box2 = hippo.CanvasBox(yalign=hippo.ALIGNMENT_CENTER)
+ self._box.append(self._box2, hippo.PACK_EXPAND)
+
+ self._pgc = olpcgames.PyGameCanvas(int(630*1.9), 630)
+ self._box2.append(self._pgc)
+ self._pgc.connect_game('kuku:main')
+ gtk.gdk.threads_init() \ No newline at end of file
diff --git a/MANIFEST b/MANIFEST
new file mode 100644
index 0000000..74cbe45
--- /dev/null
+++ b/MANIFEST
@@ -0,0 +1,111 @@
+Kuku.activity/
+Kuku.activity/COPYING
+Kuku.activity/KukuActivity.py
+Kuku.activity/MANIFEST
+Kuku.activity/QA.py
+Kuku.activity/README
+Kuku.activity/activity.py
+Kuku.activity/activity
+Kuku.activity/activity/activity-kuku.svg
+Kuku.activity/activity/activity.info
+Kuku.activity/data
+Kuku.activity/data/bock.ogg
+Kuku.activity/data/kuku.gif
+Kuku.activity/data/kuku.png
+Kuku.activity/data/kuku_clock.png
+Kuku.activity/data/kuku_death.ogg
+Kuku.activity/data/kuku_default.png
+Kuku.activity/data/kuku_endpage.png
+Kuku.activity/data/kuku_happy.png
+Kuku.activity/data/kuku_high_score.png
+Kuku.activity/data/kuku_left.gif
+Kuku.activity/data/kuku_num_correct.png
+Kuku.activity/data/kuku_pecking.png
+Kuku.activity/data/kuku_right.png
+Kuku.activity/data/kuku_slow.ogg
+Kuku.activity/data/kuku_startpage.png
+Kuku.activity/data/kuku_stunned.png
+Kuku.activity/data/kuku_win.ogg
+Kuku.activity/data/kuku_win.png
+Kuku.activity/data/number_images
+Kuku.activity/data/number_images/01x.jpg
+Kuku.activity/data/number_images/02x.jpg
+Kuku.activity/data/number_images/03x.jpg
+Kuku.activity/data/number_images/04x.jpg
+Kuku.activity/data/number_images/05x.jpg
+Kuku.activity/data/number_images/06x.jpg
+Kuku.activity/data/number_images/07x.jpg
+Kuku.activity/data/number_images/08x.jpg
+Kuku.activity/data/number_images/09x.jpg
+Kuku.activity/data/number_images/10x.jpg
+Kuku.activity/data/number_images/11x.jpg
+Kuku.activity/data/number_images/12x.jpg
+Kuku.activity/data/number_images/13x.jpg
+Kuku.activity/data/number_images/14x.jpg
+Kuku.activity/data/number_images/15x.jpg
+Kuku.activity/data/peckbad.ogg
+Kuku.activity/data/peckgood.ogg
+Kuku.activity/data/question_files
+Kuku.activity/data/question_files/arithmetic
+Kuku.activity/data/question_files/arithmetic/README.txt
+Kuku.activity/data/question_files/arithmetic/addition_p0_0-10.dat
+Kuku.activity/data/question_files/arithmetic/addition_p0_0-100.dat
+Kuku.activity/data/question_files/arithmetic/addsub_p0_-10-10.dat
+Kuku.activity/data/question_files/arithmetic/addsub_p0_-100-100.dat
+Kuku.activity/data/question_files/arithmetic/addsub_p0_0-10.dat
+Kuku.activity/data/question_files/arithmetic/addsub_p0_0-100.dat
+Kuku.activity/data/question_files/arithmetic/allops_p0_0-10.dat
+Kuku.activity/data/question_files/arithmetic/allops_p0_0-100.dat
+Kuku.activity/data/question_files/arithmetic/allops_p1_0-10.dat
+Kuku.activity/data/question_files/arithmetic/allops_p1_0-100.dat
+Kuku.activity/data/question_files/arithmetic/division_p0_-10-10.dat
+Kuku.activity/data/question_files/arithmetic/division_p0_-100-100.dat
+Kuku.activity/data/question_files/arithmetic/division_p0_0-10.dat
+Kuku.activity/data/question_files/arithmetic/division_p0_0-100.dat
+Kuku.activity/data/question_files/arithmetic/multdiv_p0_-10-10.dat
+Kuku.activity/data/question_files/arithmetic/multdiv_p0_-100-100.dat
+Kuku.activity/data/question_files/arithmetic/multdiv_p0_0-10.dat
+Kuku.activity/data/question_files/arithmetic/multdiv_p0_0-100.dat
+Kuku.activity/data/question_files/arithmetic/multiples_p0_-10-10.dat
+Kuku.activity/data/question_files/arithmetic/multiples_p0_0-10.dat
+Kuku.activity/data/question_files/arithmetic/multiplication_p0_-10-10.dat
+Kuku.activity/data/question_files/arithmetic/multiplication_p0_-100-100.dat
+Kuku.activity/data/question_files/arithmetic/multiplication_p0_0-10.dat
+Kuku.activity/data/question_files/arithmetic/multiplication_p0_0-100.dat
+Kuku.activity/data/question_files/arithmetic/my_questions.dat
+Kuku.activity/data/question_files/arithmetic/random_p0_-10-10.dat
+Kuku.activity/data/question_files/arithmetic/random_p0_0-10.dat
+Kuku.activity/data/question_files/arithmetic/random_p1_-10-10.dat
+Kuku.activity/data/question_files/arithmetic/random_p1_0-10.dat
+Kuku.activity/data/question_files/arithmetic/subtraction_p0_0-10.dat
+Kuku.activity/data/question_files/arithmetic/subtraction_p0_0-100.dat
+Kuku.activity/data/question_files/numbers
+Kuku.activity/data/question_files/numbers/numbers_1-10.dat
+Kuku.activity/data/question_files/numbers/numbers_11-15.dat
+Kuku.activity/data/tile.gif
+Kuku.activity/grid.py
+Kuku.activity/kuku.py
+Kuku.activity/kuku.svg
+Kuku.activity/kuku_config.py
+Kuku.activity/kuku_utils.py
+Kuku.activity/locale
+Kuku.activity/locale/en
+Kuku.activity/locale/en/LC_MESSAGES
+Kuku.activity/locale/en/LC_MESSAGES/kuku.mo
+Kuku.activity/locale/en/LC_MESSAGES/kuku.po
+Kuku.activity/locale/kuku.pot
+Kuku.activity/locale/sw
+Kuku.activity/locale/sw/LC_MESSAGES
+Kuku.activity/locale/sw/LC_MESSAGES/kuku.mo
+Kuku.activity/locale/sw/LC_MESSAGES/kuku.po
+Kuku.activity/olpcgames.py
+Kuku.activity/olpcgames
+Kuku.activity/olpcgames/__init__.py
+Kuku.activity/olpcgames/activity.py
+Kuku.activity/olpcgames/camera.py
+Kuku.activity/olpcgames/canvas.py
+Kuku.activity/olpcgames/util.py
+Kuku.activity/olpcgames/video.py
+Kuku.activity/question.py
+Kuku.activity/setup.py
+Kuku.activity/tile.py
diff --git a/QA.py b/QA.py
new file mode 100644
index 0000000..7838c8b
--- /dev/null
+++ b/QA.py
@@ -0,0 +1,68 @@
+"""
+
+QA.py
+
+QA class containing basic questions and
+answers.
+
+Copyright 2007, Julius B. Lucks, Adrian DelMaestro, Sera L. Young
+
+This file is part of Kuku.
+
+Kuku is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation version 2 of the License.
+
+Kuku is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with Kuku; if not, write to the Free Software
+Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
+The copy of the GNU General Public License is found in the COPYING file
+included in the source distribution.
+
+
+"""
+
+import re
+import random
+
+class QA(object):
+
+ def __init__(self):
+ self.false_answers = []
+ self.false_function = 0
+
+ def set_question(self, question_string):
+ """set question with spaces separating operators and numbers
+ """
+ p = re.compile(r'([0-9]*)([+-/*])([0-9]*)')
+ new = p.sub(r'\1 \2 \3',question_string)
+ self.question = ' '.join(re.split('\s+',new))
+
+ def get_question(self):
+ return self.question
+
+ def set_correct_answer(self,answer):
+ self.correct_answer = answer
+
+ def get_correct_answer(self):
+ return self.correct_answer
+
+ def set_false_answer(self,answer):
+ if type(answer) == type(1):
+ self.false_answers.append(answer)
+ elif type(answer) == type([]):
+ self.false_answers.extend(answer)
+
+ def set_false_function(self,function):
+ self.false_function = function
+
+ def get_false_answer(self):
+ if self.false_function:
+ return self.false_function(self.get_correct_answer())
+ else:
+ return random.choice(self.false_answers) \ No newline at end of file
diff --git a/README b/README
new file mode 100644
index 0000000..7ad0264
--- /dev/null
+++ b/README
@@ -0,0 +1,17 @@
+Source for Kuku Anakula
+
+Based off of the idea behind Number Munchers
+
+The idea is that a chicken moves within a grid. Each square
+of the grid contains answers to a problem posed as an image
+outside of the grid. The player moves around the grid and
+eats the correct answers.
+
+Typical questions and answers can be simple arithmetic problems,
+vocabulary, etc.
+
+AUTHORS:
+Julius B. Lucks
+ julius@younglucks.com, Lucks on irc.freenode.net (#sugar,#olpc-content)
+Adrian DelMaestro
+Sera L. Young \ No newline at end of file
diff --git a/activity.py b/activity.py
new file mode 100644
index 0000000..c768154
--- /dev/null
+++ b/activity.py
@@ -0,0 +1,8 @@
+import olpcgames
+
+class KukuActivity(olpcgames.activity.PyGameActivity):
+ """The classic (and boring game) as a Sugar activity."""
+
+ game_name = 'kuku'
+ game_title = 'Kuku Anakula'
+ game_size = (1200,825) \ No newline at end of file
diff --git a/activity/activity-kuku.svg b/activity/activity-kuku.svg
new file mode 100644
index 0000000..459ebbd
--- /dev/null
+++ b/activity/activity-kuku.svg
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" [
+ <!ENTITY fill_color "#FFFFFF">
+ <!ENTITY stroke_color "#000000">
+]>
+<svg
+ xmlns="http://www.w3.org/2000/svg"
+ width="40"
+ height="40"
+ viewBox="0 0 104.056 96.896">
+ <path
+ transform="matrix(-0.961271,0,0,0.983383,102.0055,0.950173)"
+ style="stroke:&stroke_color;;stroke-width:3.90209982;fill:&fill_color;;fill-opacity:1;stroke-opacity:1;"
+ d="M 13.685843,38.659961 C 13.691611,38.623576 13.694495,38.583257 13.699301,38.545888 C 6.5272579,31.127247 8.3075318,26.76496 10.34062,22.277784 C 14.452937,23.52963 18.00964,27.498564 19.322736,28.67764 C 19.647646,28.968721 19.816829,29.07296 19.887964,29.052309 C 19.890847,29.050342 19.89277,29.050342 19.894692,29.049359 C 20.093676,28.957904 19.420786,27.736543 19.420786,27.010806 C 19.420786,24.227832 17.993298,20.401489 23.464853,15.632081 C 27.684833,19.214545 30.181253,22.822578 30.612864,27.400226 C 32.259521,27.383508 33.965777,27.401209 35.710484,27.401209 C 36.602544,27.401209 53.935221,27.401209 53.935221,27.401209 C 56.275916,27.401209 58.122518,27.404159 59.713421,27.452345 L 73.775855,5.8975729 C 76.712537,1.332709 82.71183,0.068078449 87.17405,3.0732969 C 89.851189,4.8758379 91.35654,7.8063193 91.506498,10.847923 L 100.01375,15.046968 C 102.03049,16.237845 102.03049,18.18691 100.01375,19.37877 L 87.255758,22.745874 L 81.440068,35.695061 C 83.073268,37.577256 84.347913,39.908857 85.254392,41.925776 C 90.820151,54.812027 81.534273,70.628759 66.711474,74.560324 C 68.771478,80.417353 71.521674,88.236231 71.521674,88.236231 C 71.531287,88.265733 71.538016,88.297201 71.547628,88.326703 C 72.889563,88.910832 80.3298,92.002588 80.3298,94.108011 C 80.3298,94.861283 80.150043,95.744361 79.291628,95.744361 L 64.62071,95.744361 C 63.347987,95.744361 63.371057,94.214217 62.307892,91.626936 L 56.696953,75.67253 C 55.271388,75.489621 53.850629,75.257543 52.44429,74.933026 C 50.647674,74.518039 48.870284,73.991929 47.11981,73.360597 C 46.217176,73.02133 45.303969,72.654528 44.3898,72.275925 C 43.143032,76.272394 40.285173,85.424739 39.152796,89.060306 C 39.991024,89.518563 46.465184,92.000622 46.465184,94.106045 C 46.465184,95.108112 45.882654,95.742394 45.144398,95.742394 L 30.755132,95.742394 C 29.482409,95.742394 28.166429,93.650738 28.313504,92.066508 C 28.438469,90.698622 28.790294,89.847996 29.343986,87.545897 L 35.458631,67.95199 C 34.541579,67.439648 33.629332,66.914521 32.731505,66.365794 C 26.082394,62.218867 20.108095,57.701206 16.412008,50.840143 C 6.6637584,49.600097 3.3300706,45.815056 2.4870359,39.1133 C 4.6393217,36.911506 8.6920402,37.471051 13.685843,38.659961 z M 81.163222,15.618314 C 83.125176,15.618314 84.71608,13.991798 84.71608,11.984714 C 84.71608,9.9766456 83.125176,8.3501301 81.163222,8.3501301 C 79.200307,8.3501301 77.611326,9.9766456 77.611326,11.984714 C 77.611326,13.991798 79.200307,15.618314 81.163222,15.618314 z " />
+</svg> \ No newline at end of file
diff --git a/activity/activity.info b/activity/activity.info
new file mode 100644
index 0000000..6ea06fe
--- /dev/null
+++ b/activity/activity.info
@@ -0,0 +1,7 @@
+[Activity]
+name = Kuku Anakula
+activity_version = 1
+host_version = 1
+service_name = org.laptop.dev.KukuActivity
+icon = activity-kuku
+class = activity.KukuActivity \ No newline at end of file
diff --git a/data/bock.ogg b/data/bock.ogg
new file mode 100644
index 0000000..b05ee6c
--- /dev/null
+++ b/data/bock.ogg
Binary files differ
diff --git a/data/kuku.gif b/data/kuku.gif
new file mode 100644
index 0000000..dacaa87
--- /dev/null
+++ b/data/kuku.gif
Binary files differ
diff --git a/data/kuku.png b/data/kuku.png
new file mode 100644
index 0000000..b37e9cf
--- /dev/null
+++ b/data/kuku.png
Binary files differ
diff --git a/data/kuku_clock.png b/data/kuku_clock.png
new file mode 100644
index 0000000..5fd6649
--- /dev/null
+++ b/data/kuku_clock.png
Binary files differ
diff --git a/data/kuku_death.ogg b/data/kuku_death.ogg
new file mode 100644
index 0000000..736ccab
--- /dev/null
+++ b/data/kuku_death.ogg
Binary files differ
diff --git a/data/kuku_default.png b/data/kuku_default.png
new file mode 100644
index 0000000..8fb2f03
--- /dev/null
+++ b/data/kuku_default.png
Binary files differ
diff --git a/data/kuku_endpage.png b/data/kuku_endpage.png
new file mode 100644
index 0000000..b93f613
--- /dev/null
+++ b/data/kuku_endpage.png
Binary files differ
diff --git a/data/kuku_happy.png b/data/kuku_happy.png
new file mode 100644
index 0000000..b6e8f6d
--- /dev/null
+++ b/data/kuku_happy.png
Binary files differ
diff --git a/data/kuku_high_score.png b/data/kuku_high_score.png
new file mode 100644
index 0000000..b2a74a6
--- /dev/null
+++ b/data/kuku_high_score.png
Binary files differ
diff --git a/data/kuku_left.gif b/data/kuku_left.gif
new file mode 100644
index 0000000..c5d19a4
--- /dev/null
+++ b/data/kuku_left.gif
Binary files differ
diff --git a/data/kuku_num_correct.png b/data/kuku_num_correct.png
new file mode 100644
index 0000000..b877f17
--- /dev/null
+++ b/data/kuku_num_correct.png
Binary files differ
diff --git a/data/kuku_pecking.png b/data/kuku_pecking.png
new file mode 100644
index 0000000..b925985
--- /dev/null
+++ b/data/kuku_pecking.png
Binary files differ
diff --git a/data/kuku_slow.ogg b/data/kuku_slow.ogg
new file mode 100644
index 0000000..434710f
--- /dev/null
+++ b/data/kuku_slow.ogg
Binary files differ
diff --git a/data/kuku_startpage.png b/data/kuku_startpage.png
new file mode 100644
index 0000000..e7b1693
--- /dev/null
+++ b/data/kuku_startpage.png
Binary files differ
diff --git a/data/kuku_stunned.png b/data/kuku_stunned.png
new file mode 100644
index 0000000..431e682
--- /dev/null
+++ b/data/kuku_stunned.png
Binary files differ
diff --git a/data/kuku_win.ogg b/data/kuku_win.ogg
new file mode 100644
index 0000000..771bdd9
--- /dev/null
+++ b/data/kuku_win.ogg
Binary files differ
diff --git a/data/kuku_win.png b/data/kuku_win.png
new file mode 100644
index 0000000..92e2120
--- /dev/null
+++ b/data/kuku_win.png
Binary files differ
diff --git a/data/number_images/01x.jpg b/data/number_images/01x.jpg
new file mode 100755
index 0000000..4b8b35a
--- /dev/null
+++ b/data/number_images/01x.jpg
Binary files differ
diff --git a/data/number_images/02x.jpg b/data/number_images/02x.jpg
new file mode 100755
index 0000000..bfd6f1b
--- /dev/null
+++ b/data/number_images/02x.jpg
Binary files differ
diff --git a/data/number_images/03x.jpg b/data/number_images/03x.jpg
new file mode 100755
index 0000000..44329a2
--- /dev/null
+++ b/data/number_images/03x.jpg
Binary files differ
diff --git a/data/number_images/04x.jpg b/data/number_images/04x.jpg
new file mode 100755
index 0000000..63c1d8f
--- /dev/null
+++ b/data/number_images/04x.jpg
Binary files differ
diff --git a/data/number_images/05x.jpg b/data/number_images/05x.jpg
new file mode 100755
index 0000000..0e0df29
--- /dev/null
+++ b/data/number_images/05x.jpg
Binary files differ
diff --git a/data/number_images/06x.jpg b/data/number_images/06x.jpg
new file mode 100755
index 0000000..be5b5cf
--- /dev/null
+++ b/data/number_images/06x.jpg
Binary files differ
diff --git a/data/number_images/07x.jpg b/data/number_images/07x.jpg
new file mode 100755
index 0000000..17f09bb
--- /dev/null
+++ b/data/number_images/07x.jpg
Binary files differ
diff --git a/data/number_images/08x.jpg b/data/number_images/08x.jpg
new file mode 100755
index 0000000..8ce3123
--- /dev/null
+++ b/data/number_images/08x.jpg
Binary files differ
diff --git a/data/number_images/09x.jpg b/data/number_images/09x.jpg
new file mode 100755
index 0000000..5120b45
--- /dev/null
+++ b/data/number_images/09x.jpg
Binary files differ
diff --git a/data/number_images/10x.jpg b/data/number_images/10x.jpg
new file mode 100755
index 0000000..866446f
--- /dev/null
+++ b/data/number_images/10x.jpg
Binary files differ
diff --git a/data/number_images/11x.jpg b/data/number_images/11x.jpg
new file mode 100755
index 0000000..93a949c
--- /dev/null
+++ b/data/number_images/11x.jpg
Binary files differ
diff --git a/data/number_images/12x.jpg b/data/number_images/12x.jpg
new file mode 100755
index 0000000..1e4bf75
--- /dev/null
+++ b/data/number_images/12x.jpg
Binary files differ
diff --git a/data/number_images/13x.jpg b/data/number_images/13x.jpg
new file mode 100755
index 0000000..708f705
--- /dev/null
+++ b/data/number_images/13x.jpg
Binary files differ
diff --git a/data/number_images/14x.jpg b/data/number_images/14x.jpg
new file mode 100755
index 0000000..9ea6403
--- /dev/null
+++ b/data/number_images/14x.jpg
Binary files differ
diff --git a/data/number_images/15x.jpg b/data/number_images/15x.jpg
new file mode 100755
index 0000000..7a57cf8
--- /dev/null
+++ b/data/number_images/15x.jpg
Binary files differ
diff --git a/data/peckbad.ogg b/data/peckbad.ogg
new file mode 100644
index 0000000..5da20c0
--- /dev/null
+++ b/data/peckbad.ogg
Binary files differ
diff --git a/data/peckgood.ogg b/data/peckgood.ogg
new file mode 100644
index 0000000..cf52cb0
--- /dev/null
+++ b/data/peckgood.ogg
Binary files differ
diff --git a/data/question_files/arithmetic/README.txt b/data/question_files/arithmetic/README.txt
new file mode 100644
index 0000000..bbc7ed2
--- /dev/null
+++ b/data/question_files/arithmetic/README.txt
@@ -0,0 +1,40 @@
+The question files have a single question per line, and the
+question section of the line is separated from the answer section
+by a '=' sign.
+
+A '%' sign in the first column of a line indicates that the question is of
+the "find the multiples' type. The number immediately following the
+% sign is the base multiplier. Answers are separated by '~' symbols in
+the answer list.
+
+The .dat files each contain 1000 questions. The file names describe the
+contents of the file and adhere to the following format:
+
+<question type>_<max nesting>_<argument range>.dat
+
+The question types were grouped as follows:
+
+multiplication : only multiplication
+division : only division
+addition : only addition
+subtraction : only subtraction
+multdiv : mixed multiplication and division
+addsub : mixed addition and subtraction
+allops : mixed multiplication, division, addition, and subtraction
+multiples : 'find the multiples' questions
+random : mix of 'find the multiples' questions, and all-ops
+ arithmetic questions
+
+The maximum nesting level refers to the maximum depth of parenthetical
+enclosures
+
+p0 = no parenthesis
+p1 = at most one level of parenthesis
+
+The argument range gives the minimum and maximum values of the numeric
+terms appearing in the questions. If the minimum value is greater than
+or equal to 0, then the answers to the questions are guaranteed
+to be positive
+
+
+
diff --git a/data/question_files/arithmetic/addition_p0_0-10.dat b/data/question_files/arithmetic/addition_p0_0-10.dat
new file mode 100644
index 0000000..b867011
--- /dev/null
+++ b/data/question_files/arithmetic/addition_p0_0-10.dat
@@ -0,0 +1,1000 @@
+3 + 4 = 7
+3 + 1 = 4
+4 + 7 = 11
+5 + 9 = 14
+3 + 3 = 6
+5 + 5 = 10
+3 + 6 = 9
+1 + 7 = 8
+7 + 2 = 9
+6 + 0 = 6
+8 + 2 = 10
+2 + 7 = 9
+2 + 7 = 9
+6 + 4 = 10
+7 + 2 = 9
+7 + 10 = 17
+1 + 0 = 1
+1 + 7 = 8
+7 + 5 = 12
+3 + 9 = 12
+7 + 0 = 7
+5 + 4 = 9
+5 + 8 = 13
+10 + 10 = 20
+8 + 3 = 11
+1 + 9 = 10
+10 + 0 = 10
+4 + 1 = 5
+9 + 5 = 14
+2 + 7 = 9
+5 + 4 = 9
+1 + 3 = 4
+6 + 1 = 7
+3 + 5 = 8
+9 + 3 = 12
+5 + 9 = 14
+0 + 2 = 2
+7 + 4 = 11
+7 + 9 = 16
+2 + 8 = 10
+6 + 0 = 6
+6 + 3 = 9
+3 + 1 = 4
+4 + 5 = 9
+5 + 4 = 9
+10 + 10 = 20
+3 + 1 = 4
+8 + 8 = 16
+7 + 9 = 16
+7 + 4 = 11
+0 + 1 = 1
+3 + 10 = 13
+6 + 3 = 9
+3 + 3 = 6
+8 + 1 = 9
+8 + 5 = 13
+3 + 7 = 10
+2 + 2 = 4
+7 + 6 = 13
+3 + 1 = 4
+7 + 6 = 13
+7 + 2 = 9
+4 + 8 = 12
+2 + 2 = 4
+3 + 10 = 13
+1 + 5 = 6
+1 + 9 = 10
+5 + 10 = 15
+6 + 8 = 14
+5 + 3 = 8
+2 + 6 = 8
+8 + 3 = 11
+10 + 4 = 14
+1 + 4 = 5
+10 + 7 = 17
+7 + 10 = 17
+9 + 4 = 13
+6 + 5 = 11
+0 + 2 = 2
+10 + 1 = 11
+3 + 3 = 6
+3 + 9 = 12
+8 + 10 = 18
+5 + 10 = 15
+5 + 2 = 7
+0 + 4 = 4
+6 + 7 = 13
+2 + 9 = 11
+6 + 1 = 7
+6 + 8 = 14
+9 + 9 = 18
+6 + 5 = 11
+5 + 5 = 10
+0 + 3 = 3
+8 + 4 = 12
+10 + 2 = 12
+8 + 6 = 14
+3 + 3 = 6
+3 + 5 = 8
+4 + 2 = 6
+1 + 6 = 7
+9 + 6 = 15
+7 + 2 = 9
+3 + 5 = 8
+3 + 3 = 6
+1 + 10 = 11
+0 + 1 = 1
+9 + 8 = 17
+9 + 1 = 10
+4 + 2 = 6
+2 + 3 = 5
+3 + 4 = 7
+1 + 6 = 7
+0 + 9 = 9
+3 + 7 = 10
+6 + 4 = 10
+3 + 5 = 8
+10 + 6 = 16
+7 + 3 = 10
+1 + 4 = 5
+0 + 2 = 2
+9 + 9 = 18
+0 + 5 = 5
+4 + 7 = 11
+9 + 9 = 18
+9 + 3 = 12
+3 + 6 = 9
+2 + 10 = 12
+9 + 7 = 16
+8 + 4 = 12
+10 + 3 = 13
+4 + 9 = 13
+7 + 5 = 12
+9 + 6 = 15
+1 + 10 = 11
+8 + 9 = 17
+9 + 3 = 12
+5 + 6 = 11
+4 + 1 = 5
+2 + 10 = 12
+2 + 8 = 10
+4 + 8 = 12
+1 + 4 = 5
+8 + 7 = 15
+5 + 5 = 10
+6 + 9 = 15
+4 + 5 = 9
+7 + 1 = 8
+9 + 6 = 15
+1 + 5 = 6
+9 + 7 = 16
+9 + 9 = 18
+8 + 1 = 9
+9 + 3 = 12
+3 + 9 = 12
+8 + 6 = 14
+1 + 1 = 2
+7 + 8 = 15
+1 + 10 = 11
+4 + 1 = 5
+3 + 9 = 12
+4 + 3 = 7
+3 + 1 = 4
+1 + 7 = 8
+5 + 5 = 10
+3 + 7 = 10
+2 + 9 = 11
+1 + 6 = 7
+7 + 3 = 10
+9 + 9 = 18
+5 + 5 = 10
+2 + 1 = 3
+10 + 3 = 13
+10 + 4 = 14
+2 + 7 = 9
+8 + 3 = 11
+7 + 2 = 9
+0 + 7 = 7
+5 + 9 = 14
+8 + 2 = 10
+3 + 4 = 7
+1 + 7 = 8
+3 + 0 = 3
+7 + 10 = 17
+8 + 3 = 11
+2 + 7 = 9
+6 + 8 = 14
+3 + 4 = 7
+3 + 5 = 8
+4 + 7 = 11
+5 + 2 = 7
+5 + 5 = 10
+10 + 1 = 11
+2 + 10 = 12
+5 + 8 = 13
+8 + 8 = 16
+1 + 6 = 7
+3 + 1 = 4
+0 + 8 = 8
+1 + 6 = 7
+0 + 9 = 9
+0 + 3 = 3
+9 + 3 = 12
+7 + 1 = 8
+7 + 7 = 14
+3 + 0 = 3
+8 + 0 = 8
+9 + 9 = 18
+7 + 1 = 8
+1 + 9 = 10
+8 + 8 = 16
+4 + 3 = 7
+5 + 5 = 10
+5 + 10 = 15
+8 + 7 = 15
+6 + 8 = 14
+2 + 5 = 7
+7 + 6 = 13
+8 + 2 = 10
+3 + 1 = 4
+9 + 7 = 16
+3 + 6 = 9
+8 + 3 = 11
+3 + 1 = 4
+6 + 5 = 11
+7 + 6 = 13
+6 + 9 = 15
+1 + 3 = 4
+5 + 3 = 8
+7 + 6 = 13
+2 + 9 = 11
+3 + 6 = 9
+2 + 1 = 3
+10 + 4 = 14
+3 + 6 = 9
+8 + 6 = 14
+6 + 8 = 14
+4 + 1 = 5
+6 + 7 = 13
+6 + 6 = 12
+4 + 9 = 13
+6 + 3 = 9
+0 + 8 = 8
+10 + 0 = 10
+1 + 7 = 8
+4 + 7 = 11
+8 + 4 = 12
+9 + 2 = 11
+8 + 5 = 13
+9 + 10 = 19
+4 + 4 = 8
+9 + 7 = 16
+4 + 5 = 9
+8 + 7 = 15
+7 + 2 = 9
+3 + 7 = 10
+6 + 5 = 11
+2 + 8 = 10
+8 + 1 = 9
+1 + 10 = 11
+5 + 3 = 8
+3 + 10 = 13
+2 + 7 = 9
+8 + 6 = 14
+4 + 3 = 7
+4 + 3 = 7
+3 + 7 = 10
+9 + 9 = 18
+8 + 5 = 13
+6 + 5 = 11
+8 + 7 = 15
+6 + 6 = 12
+10 + 7 = 17
+9 + 5 = 14
+4 + 4 = 8
+1 + 1 = 2
+5 + 5 = 10
+4 + 7 = 11
+3 + 2 = 5
+1 + 2 = 3
+7 + 2 = 9
+0 + 8 = 8
+2 + 3 = 5
+7 + 7 = 14
+4 + 9 = 13
+5 + 0 = 5
+8 + 8 = 16
+8 + 9 = 17
+7 + 4 = 11
+3 + 10 = 13
+6 + 5 = 11
+7 + 6 = 13
+4 + 7 = 11
+4 + 7 = 11
+1 + 4 = 5
+1 + 3 = 4
+7 + 1 = 8
+10 + 2 = 12
+2 + 6 = 8
+1 + 2 = 3
+1 + 5 = 6
+8 + 6 = 14
+5 + 10 = 15
+2 + 2 = 4
+5 + 0 = 5
+5 + 1 = 6
+0 + 6 = 6
+1 + 5 = 6
+8 + 7 = 15
+10 + 3 = 13
+9 + 3 = 12
+4 + 9 = 13
+2 + 7 = 9
+6 + 7 = 13
+9 + 3 = 12
+6 + 7 = 13
+4 + 1 = 5
+8 + 6 = 14
+2 + 4 = 6
+2 + 8 = 10
+1 + 2 = 3
+0 + 8 = 8
+8 + 1 = 9
+6 + 2 = 8
+2 + 2 = 4
+4 + 3 = 7
+9 + 4 = 13
+5 + 3 = 8
+5 + 6 = 11
+3 + 6 = 9
+9 + 9 = 18
+7 + 8 = 15
+8 + 9 = 17
+7 + 6 = 13
+1 + 4 = 5
+8 + 2 = 10
+3 + 1 = 4
+8 + 9 = 17
+7 + 7 = 14
+5 + 4 = 9
+2 + 0 = 2
+3 + 8 = 11
+6 + 7 = 13
+7 + 9 = 16
+2 + 5 = 7
+2 + 1 = 3
+8 + 9 = 17
+7 + 4 = 11
+7 + 9 = 16
+8 + 4 = 12
+9 + 5 = 14
+7 + 2 = 9
+5 + 1 = 6
+5 + 9 = 14
+9 + 1 = 10
+3 + 0 = 3
+0 + 7 = 7
+6 + 5 = 11
+4 + 1 = 5
+2 + 8 = 10
+2 + 2 = 4
+6 + 7 = 13
+9 + 5 = 14
+7 + 4 = 11
+0 + 4 = 4
+6 + 5 = 11
+4 + 8 = 12
+2 + 3 = 5
+7 + 1 = 8
+5 + 9 = 14
+6 + 4 = 10
+1 + 8 = 9
+3 + 10 = 13
+10 + 4 = 14
+5 + 7 = 12
+1 + 8 = 9
+7 + 4 = 11
+8 + 8 = 16
+5 + 5 = 10
+6 + 2 = 8
+3 + 1 = 4
+5 + 3 = 8
+10 + 9 = 19
+5 + 8 = 13
+3 + 1 = 4
+4 + 6 = 10
+9 + 8 = 17
+7 + 10 = 17
+10 + 7 = 17
+8 + 9 = 17
+6 + 5 = 11
+7 + 6 = 13
+8 + 7 = 15
+6 + 9 = 15
+0 + 6 = 6
+9 + 4 = 13
+4 + 6 = 10
+5 + 2 = 7
+6 + 7 = 13
+8 + 0 = 8
+9 + 9 = 18
+10 + 4 = 14
+2 + 6 = 8
+7 + 2 = 9
+2 + 4 = 6
+9 + 1 = 10
+2 + 7 = 9
+0 + 8 = 8
+5 + 7 = 12
+4 + 3 = 7
+6 + 9 = 15
+4 + 7 = 11
+5 + 4 = 9
+9 + 3 = 12
+10 + 7 = 17
+7 + 9 = 16
+8 + 8 = 16
+5 + 9 = 14
+5 + 3 = 8
+2 + 4 = 6
+0 + 9 = 9
+5 + 2 = 7
+0 + 2 = 2
+5 + 0 = 5
+2 + 1 = 3
+6 + 9 = 15
+0 + 1 = 1
+5 + 4 = 9
+9 + 0 = 9
+9 + 8 = 17
+0 + 4 = 4
+4 + 5 = 9
+10 + 8 = 18
+9 + 1 = 10
+5 + 1 = 6
+8 + 4 = 12
+9 + 8 = 17
+3 + 7 = 10
+6 + 7 = 13
+2 + 2 = 4
+9 + 9 = 18
+4 + 0 = 4
+9 + 1 = 10
+9 + 1 = 10
+3 + 0 = 3
+3 + 3 = 6
+1 + 1 = 2
+10 + 0 = 10
+7 + 2 = 9
+5 + 9 = 14
+2 + 7 = 9
+9 + 3 = 12
+1 + 5 = 6
+3 + 0 = 3
+5 + 6 = 11
+4 + 0 = 4
+8 + 0 = 8
+2 + 5 = 7
+2 + 5 = 7
+6 + 5 = 11
+0 + 2 = 2
+8 + 5 = 13
+3 + 9 = 12
+6 + 8 = 14
+6 + 9 = 15
+4 + 3 = 7
+4 + 8 = 12
+0 + 5 = 5
+9 + 6 = 15
+1 + 7 = 8
+6 + 0 = 6
+9 + 4 = 13
+3 + 7 = 10
+9 + 2 = 11
+1 + 5 = 6
+3 + 9 = 12
+0 + 1 = 1
+3 + 0 = 3
+5 + 9 = 14
+8 + 2 = 10
+3 + 1 = 4
+4 + 0 = 4
+6 + 7 = 13
+5 + 4 = 9
+1 + 3 = 4
+6 + 10 = 16
+8 + 8 = 16
+6 + 7 = 13
+7 + 7 = 14
+0 + 1 = 1
+4 + 10 = 14
+6 + 2 = 8
+7 + 2 = 9
+9 + 1 = 10
+2 + 0 = 2
+5 + 1 = 6
+9 + 7 = 16
+10 + 8 = 18
+1 + 5 = 6
+2 + 5 = 7
+5 + 9 = 14
+3 + 4 = 7
+1 + 4 = 5
+4 + 2 = 6
+2 + 1 = 3
+5 + 8 = 13
+7 + 8 = 15
+2 + 10 = 12
+9 + 6 = 15
+8 + 7 = 15
+9 + 5 = 14
+4 + 6 = 10
+1 + 4 = 5
+4 + 2 = 6
+4 + 3 = 7
+0 + 4 = 4
+4 + 10 = 14
+8 + 9 = 17
+5 + 0 = 5
+1 + 3 = 4
+1 + 3 = 4
+3 + 6 = 9
+1 + 2 = 3
+9 + 9 = 18
+7 + 3 = 10
+5 + 8 = 13
+8 + 6 = 14
+6 + 6 = 12
+6 + 7 = 13
+5 + 10 = 15
+1 + 6 = 7
+9 + 6 = 15
+7 + 6 = 13
+2 + 9 = 11
+7 + 1 = 8
+9 + 9 = 18
+5 + 4 = 9
+9 + 10 = 19
+1 + 9 = 10
+9 + 1 = 10
+5 + 2 = 7
+9 + 9 = 18
+3 + 2 = 5
+8 + 9 = 17
+1 + 4 = 5
+3 + 8 = 11
+6 + 6 = 12
+2 + 2 = 4
+5 + 2 = 7
+7 + 4 = 11
+7 + 5 = 12
+7 + 9 = 16
+5 + 3 = 8
+4 + 5 = 9
+8 + 10 = 18
+8 + 3 = 11
+8 + 10 = 18
+0 + 9 = 9
+2 + 2 = 4
+2 + 9 = 11
+2 + 2 = 4
+9 + 4 = 13
+5 + 8 = 13
+7 + 2 = 9
+7 + 4 = 11
+1 + 6 = 7
+6 + 1 = 7
+5 + 9 = 14
+7 + 6 = 13
+7 + 5 = 12
+8 + 6 = 14
+3 + 10 = 13
+10 + 1 = 11
+1 + 3 = 4
+3 + 6 = 9
+7 + 2 = 9
+9 + 5 = 14
+1 + 3 = 4
+5 + 10 = 15
+6 + 9 = 15
+6 + 2 = 8
+6 + 9 = 15
+3 + 5 = 8
+7 + 7 = 14
+3 + 8 = 11
+6 + 7 = 13
+6 + 7 = 13
+4 + 7 = 11
+7 + 7 = 14
+8 + 8 = 16
+5 + 8 = 13
+3 + 4 = 7
+6 + 6 = 12
+8 + 7 = 15
+9 + 8 = 17
+8 + 8 = 16
+1 + 6 = 7
+6 + 3 = 9
+4 + 7 = 11
+1 + 7 = 8
+5 + 8 = 13
+9 + 1 = 10
+7 + 2 = 9
+7 + 10 = 17
+0 + 4 = 4
+9 + 6 = 15
+7 + 5 = 12
+2 + 8 = 10
+2 + 8 = 10
+7 + 7 = 14
+5 + 2 = 7
+8 + 2 = 10
+6 + 7 = 13
+4 + 5 = 9
+5 + 4 = 9
+1 + 6 = 7
+7 + 4 = 11
+4 + 3 = 7
+1 + 7 = 8
+2 + 6 = 8
+5 + 1 = 6
+10 + 5 = 15
+1 + 1 = 2
+9 + 6 = 15
+5 + 7 = 12
+5 + 1 = 6
+5 + 4 = 9
+2 + 9 = 11
+7 + 2 = 9
+2 + 10 = 12
+1 + 4 = 5
+5 + 7 = 12
+9 + 2 = 11
+1 + 2 = 3
+8 + 0 = 8
+3 + 1 = 4
+8 + 5 = 13
+1 + 2 = 3
+0 + 6 = 6
+1 + 9 = 10
+1 + 6 = 7
+7 + 4 = 11
+2 + 9 = 11
+7 + 6 = 13
+3 + 1 = 4
+6 + 5 = 11
+8 + 2 = 10
+2 + 10 = 12
+0 + 3 = 3
+9 + 4 = 13
+9 + 2 = 11
+1 + 9 = 10
+6 + 8 = 14
+2 + 2 = 4
+10 + 2 = 12
+5 + 6 = 11
+2 + 8 = 10
+7 + 9 = 16
+1 + 10 = 11
+1 + 1 = 2
+9 + 8 = 17
+3 + 0 = 3
+9 + 8 = 17
+0 + 7 = 7
+10 + 2 = 12
+4 + 4 = 8
+2 + 4 = 6
+7 + 6 = 13
+1 + 1 = 2
+2 + 1 = 3
+1 + 7 = 8
+8 + 3 = 11
+3 + 0 = 3
+1 + 3 = 4
+8 + 8 = 16
+0 + 7 = 7
+6 + 3 = 9
+3 + 6 = 9
+6 + 7 = 13
+7 + 8 = 15
+6 + 5 = 11
+5 + 7 = 12
+1 + 4 = 5
+8 + 2 = 10
+9 + 1 = 10
+1 + 8 = 9
+9 + 6 = 15
+2 + 4 = 6
+5 + 1 = 6
+9 + 8 = 17
+7 + 9 = 16
+7 + 1 = 8
+3 + 3 = 6
+8 + 8 = 16
+5 + 10 = 15
+0 + 4 = 4
+6 + 1 = 7
+9 + 2 = 11
+1 + 4 = 5
+9 + 10 = 19
+4 + 3 = 7
+5 + 10 = 15
+2 + 2 = 4
+6 + 9 = 15
+10 + 2 = 12
+10 + 9 = 19
+6 + 10 = 16
+7 + 9 = 16
+2 + 5 = 7
+2 + 9 = 11
+8 + 1 = 9
+5 + 5 = 10
+8 + 4 = 12
+3 + 6 = 9
+4 + 5 = 9
+7 + 8 = 15
+9 + 8 = 17
+9 + 7 = 16
+5 + 2 = 7
+5 + 6 = 11
+9 + 1 = 10
+6 + 7 = 13
+0 + 4 = 4
+4 + 8 = 12
+2 + 10 = 12
+9 + 9 = 18
+9 + 1 = 10
+6 + 5 = 11
+6 + 3 = 9
+1 + 1 = 2
+10 + 2 = 12
+2 + 3 = 5
+3 + 6 = 9
+1 + 7 = 8
+0 + 8 = 8
+2 + 3 = 5
+6 + 2 = 8
+7 + 8 = 15
+8 + 10 = 18
+4 + 8 = 12
+10 + 5 = 15
+7 + 8 = 15
+7 + 6 = 13
+3 + 1 = 4
+8 + 7 = 15
+6 + 2 = 8
+1 + 10 = 11
+3 + 1 = 4
+4 + 9 = 13
+5 + 6 = 11
+4 + 1 = 5
+0 + 9 = 9
+4 + 9 = 13
+8 + 8 = 16
+6 + 9 = 15
+8 + 2 = 10
+2 + 5 = 7
+7 + 2 = 9
+8 + 9 = 17
+8 + 2 = 10
+7 + 9 = 16
+5 + 2 = 7
+8 + 6 = 14
+9 + 7 = 16
+9 + 3 = 12
+6 + 5 = 11
+0 + 5 = 5
+9 + 5 = 14
+8 + 7 = 15
+8 + 6 = 14
+8 + 0 = 8
+2 + 9 = 11
+1 + 8 = 9
+0 + 8 = 8
+3 + 8 = 11
+10 + 0 = 10
+6 + 10 = 16
+6 + 4 = 10
+7 + 4 = 11
+3 + 0 = 3
+0 + 6 = 6
+7 + 3 = 10
+6 + 1 = 7
+2 + 9 = 11
+3 + 7 = 10
+2 + 5 = 7
+1 + 8 = 9
+7 + 3 = 10
+5 + 0 = 5
+9 + 2 = 11
+2 + 7 = 9
+0 + 8 = 8
+1 + 6 = 7
+2 + 9 = 11
+1 + 10 = 11
+5 + 0 = 5
+6 + 5 = 11
+6 + 9 = 15
+6 + 2 = 8
+5 + 4 = 9
+1 + 3 = 4
+1 + 3 = 4
+2 + 10 = 12
+4 + 9 = 13
+1 + 3 = 4
+8 + 4 = 12
+6 + 1 = 7
+10 + 2 = 12
+6 + 2 = 8
+9 + 10 = 19
+6 + 2 = 8
+3 + 8 = 11
+5 + 6 = 11
+3 + 4 = 7
+9 + 1 = 10
+6 + 0 = 6
+6 + 9 = 15
+0 + 2 = 2
+5 + 4 = 9
+10 + 3 = 13
+3 + 7 = 10
+5 + 9 = 14
+7 + 6 = 13
+6 + 9 = 15
+1 + 0 = 1
+4 + 2 = 6
+4 + 3 = 7
+3 + 1 = 4
+10 + 6 = 16
+7 + 10 = 17
+7 + 4 = 11
+8 + 8 = 16
+8 + 7 = 15
+8 + 6 = 14
+3 + 1 = 4
+5 + 5 = 10
+6 + 8 = 14
+6 + 2 = 8
+5 + 4 = 9
+10 + 3 = 13
+4 + 4 = 8
+5 + 2 = 7
+2 + 0 = 2
+1 + 2 = 3
+10 + 0 = 10
+6 + 9 = 15
+1 + 8 = 9
+1 + 8 = 9
+4 + 10 = 14
+1 + 6 = 7
+3 + 7 = 10
+3 + 8 = 11
+2 + 0 = 2
+2 + 5 = 7
+6 + 8 = 14
+6 + 5 = 11
+5 + 7 = 12
+2 + 10 = 12
+9 + 4 = 13
+4 + 1 = 5
+8 + 7 = 15
+4 + 1 = 5
+1 + 7 = 8
+7 + 8 = 15
+5 + 10 = 15
+10 + 3 = 13
+8 + 6 = 14
+1 + 5 = 6
+1 + 5 = 6
+4 + 6 = 10
+7 + 4 = 11
+8 + 10 = 18
+6 + 10 = 16
+6 + 6 = 12
+7 + 10 = 17
+2 + 7 = 9
+2 + 1 = 3
+5 + 10 = 15
+1 + 8 = 9
+9 + 3 = 12
+6 + 1 = 7
+4 + 4 = 8
+8 + 1 = 9
+6 + 4 = 10
+3 + 3 = 6
+6 + 1 = 7
+3 + 5 = 8
+4 + 3 = 7
+3 + 8 = 11
+9 + 9 = 18
+9 + 7 = 16
+1 + 4 = 5
+1 + 1 = 2
+7 + 9 = 16
+1 + 4 = 5
+7 + 6 = 13
+9 + 0 = 9
+8 + 9 = 17
+0 + 7 = 7
+3 + 2 = 5
+1 + 6 = 7
+10 + 6 = 16
+4 + 3 = 7
+8 + 7 = 15
+4 + 5 = 9
+2 + 8 = 10
+9 + 2 = 11
+3 + 6 = 9
+2 + 2 = 4
+7 + 2 = 9
+8 + 2 = 10
+8 + 8 = 16
+3 + 4 = 7
+1 + 4 = 5
+1 + 9 = 10
+3 + 2 = 5
+2 + 7 = 9
+0 + 7 = 7
+8 + 5 = 13
+5 + 1 = 6
+8 + 3 = 11
+9 + 5 = 14
+8 + 8 = 16
+9 + 9 = 18
+1 + 5 = 6
+2 + 4 = 6
+9 + 1 = 10
+2 + 8 = 10
+10 + 1 = 11
+4 + 1 = 5
+4 + 9 = 13
+4 + 7 = 11
+10 + 4 = 14
+8 + 7 = 15
+8 + 4 = 12
+9 + 9 = 18
+3 + 1 = 4
+4 + 4 = 8
+2 + 6 = 8
+3 + 5 = 8
+7 + 1 = 8
+8 + 1 = 9
+4 + 7 = 11
+1 + 7 = 8
+5 + 9 = 14
+4 + 8 = 12
+7 + 9 = 16
+10 + 8 = 18
+6 + 3 = 9
+8 + 8 = 16
+4 + 3 = 7
+6 + 4 = 10
+1 + 2 = 3
+8 + 2 = 10
+1 + 7 = 8
+5 + 0 = 5
+5 + 4 = 9
+6 + 8 = 14
+4 + 2 = 6
+3 + 10 = 13
+6 + 2 = 8
+0 + 1 = 1
+4 + 2 = 6
+5 + 3 = 8
+3 + 4 = 7
+4 + 9 = 13
+9 + 9 = 18
+3 + 3 = 6
+8 + 4 = 12
+10 + 6 = 16
+7 + 7 = 14
+4 + 5 = 9
+2 + 6 = 8
+3 + 4 = 7
+8 + 4 = 12
+5 + 1 = 6
+2 + 10 = 12
+9 + 4 = 13
+3 + 9 = 12
+4 + 4 = 8
+9 + 1 = 10
+8 + 5 = 13
+6 + 0 = 6
+0 + 5 = 5
+6 + 1 = 7
+1 + 7 = 8
+4 + 4 = 8
+5 + 9 = 14
+8 + 8 = 16
+4 + 6 = 10
+3 + 5 = 8
+3 + 0 = 3
+8 + 7 = 15
+5 + 8 = 13
+7 + 10 = 17
+5 + 7 = 12
+4 + 3 = 7
+3 + 5 = 8
+9 + 8 = 17
+1 + 1 = 2
diff --git a/data/question_files/arithmetic/addition_p0_0-100.dat b/data/question_files/arithmetic/addition_p0_0-100.dat
new file mode 100644
index 0000000..08b4ba7
--- /dev/null
+++ b/data/question_files/arithmetic/addition_p0_0-100.dat
@@ -0,0 +1,1000 @@
+41 + 94 = 135
+74 + 25 = 99
+30 + 83 = 113
+25 + 68 = 93
+48 + 59 = 107
+48 + 17 = 65
+66 + 46 = 112
+85 + 11 = 96
+2 + 19 = 21
+8 + 36 = 44
+2 + 0 = 2
+22 + 84 = 106
+7 + 79 = 86
+29 + 4 = 33
+12 + 92 = 104
+99 + 88 = 187
+16 + 57 = 73
+12 + 16 = 28
+20 + 12 = 32
+16 + 40 = 56
+62 + 45 = 107
+80 + 34 = 114
+43 + 70 = 113
+19 + 20 = 39
+30 + 11 = 41
+83 + 63 = 146
+24 + 30 = 54
+1 + 83 = 84
+89 + 28 = 117
+19 + 9 = 28
+60 + 61 = 121
+9 + 28 = 37
+2 + 6 = 8
+73 + 89 = 162
+14 + 40 = 54
+59 + 53 = 112
+63 + 97 = 160
+13 + 38 = 51
+9 + 76 = 85
+70 + 17 = 87
+10 + 42 = 52
+44 + 73 = 117
+58 + 8 = 66
+50 + 7 = 57
+66 + 3 = 69
+47 + 64 = 111
+37 + 98 = 135
+18 + 31 = 49
+73 + 1 = 74
+65 + 15 = 80
+38 + 22 = 60
+80 + 3 = 83
+85 + 95 = 180
+74 + 47 = 121
+82 + 85 = 167
+38 + 70 = 108
+38 + 36 = 74
+48 + 44 = 92
+70 + 24 = 94
+26 + 6 = 32
+27 + 63 = 90
+87 + 12 = 99
+71 + 50 = 121
+51 + 4 = 55
+96 + 87 = 183
+77 + 71 = 148
+56 + 13 = 69
+81 + 17 = 98
+54 + 26 = 80
+99 + 31 = 130
+32 + 59 = 91
+34 + 36 = 70
+37 + 27 = 64
+88 + 63 = 151
+1 + 96 = 97
+7 + 49 = 56
+99 + 14 = 113
+41 + 86 = 127
+20 + 14 = 34
+8 + 27 = 35
+35 + 13 = 48
+97 + 88 = 185
+39 + 86 = 125
+21 + 26 = 47
+50 + 44 = 94
+5 + 99 = 104
+53 + 79 = 132
+9 + 88 = 97
+60 + 4 = 64
+6 + 32 = 38
+97 + 17 = 114
+59 + 7 = 66
+12 + 43 = 55
+34 + 59 = 93
+16 + 47 = 63
+28 + 87 = 115
+55 + 83 = 138
+2 + 68 = 70
+38 + 98 = 136
+8 + 14 = 22
+60 + 57 = 117
+30 + 4 = 34
+20 + 45 = 65
+63 + 70 = 133
+56 + 72 = 128
+65 + 65 = 130
+94 + 64 = 158
+58 + 35 = 93
+29 + 51 = 80
+6 + 32 = 38
+39 + 86 = 125
+12 + 2 = 14
+23 + 16 = 39
+74 + 51 = 125
+41 + 91 = 132
+77 + 85 = 162
+29 + 77 = 106
+90 + 0 = 90
+3 + 42 = 45
+40 + 27 = 67
+10 + 19 = 29
+88 + 92 = 180
+76 + 76 = 152
+7 + 56 = 63
+41 + 18 = 59
+8 + 73 = 81
+14 + 7 = 21
+29 + 20 = 49
+8 + 4 = 12
+22 + 37 = 59
+78 + 13 = 91
+43 + 45 = 88
+86 + 21 = 107
+53 + 68 = 121
+79 + 28 = 107
+19 + 36 = 55
+84 + 33 = 117
+85 + 100 = 185
+90 + 97 = 187
+65 + 2 = 67
+40 + 39 = 79
+54 + 22 = 76
+82 + 9 = 91
+2 + 76 = 78
+98 + 85 = 183
+56 + 95 = 151
+72 + 50 = 122
+49 + 35 = 84
+60 + 75 = 135
+10 + 65 = 75
+92 + 46 = 138
+32 + 19 = 51
+53 + 7 = 60
+84 + 27 = 111
+38 + 69 = 107
+32 + 29 = 61
+5 + 95 = 100
+91 + 2 = 93
+50 + 65 = 115
+30 + 86 = 116
+28 + 60 = 88
+97 + 83 = 180
+70 + 21 = 91
+80 + 39 = 119
+5 + 20 = 25
+16 + 88 = 104
+87 + 37 = 124
+21 + 29 = 50
+71 + 44 = 115
+10 + 42 = 52
+69 + 60 = 129
+5 + 80 = 85
+63 + 87 = 150
+9 + 77 = 86
+59 + 32 = 91
+1 + 72 = 73
+13 + 33 = 46
+63 + 16 = 79
+3 + 59 = 62
+38 + 15 = 53
+18 + 61 = 79
+7 + 74 = 81
+88 + 26 = 114
+53 + 28 = 81
+94 + 40 = 134
+68 + 35 = 103
+98 + 63 = 161
+48 + 93 = 141
+92 + 98 = 190
+73 + 43 = 116
+13 + 4 = 17
+77 + 17 = 94
+82 + 19 = 101
+31 + 36 = 67
+12 + 23 = 35
+46 + 66 = 112
+53 + 61 = 114
+24 + 82 = 106
+12 + 50 = 62
+68 + 49 = 117
+76 + 60 = 136
+12 + 71 = 83
+6 + 45 = 51
+28 + 4 = 32
+65 + 22 = 87
+8 + 57 = 65
+91 + 68 = 159
+53 + 52 = 105
+13 + 74 = 87
+68 + 36 = 104
+76 + 41 = 117
+33 + 21 = 54
+67 + 38 = 105
+96 + 13 = 109
+29 + 2 = 31
+85 + 7 = 92
+78 + 92 = 170
+87 + 19 = 106
+80 + 11 = 91
+96 + 56 = 152
+71 + 78 = 149
+57 + 87 = 144
+27 + 29 = 56
+50 + 65 = 115
+93 + 87 = 180
+33 + 32 = 65
+87 + 67 = 154
+30 + 59 = 89
+100 + 82 = 182
+46 + 20 = 66
+62 + 35 = 97
+81 + 89 = 170
+78 + 98 = 176
+34 + 97 = 131
+82 + 30 = 112
+59 + 2 = 61
+35 + 16 = 51
+37 + 41 = 78
+51 + 73 = 124
+72 + 37 = 109
+42 + 12 = 54
+13 + 9 = 22
+63 + 40 = 103
+23 + 4 = 27
+90 + 28 = 118
+18 + 33 = 51
+25 + 56 = 81
+37 + 65 = 102
+10 + 61 = 71
+82 + 57 = 139
+73 + 50 = 123
+37 + 51 = 88
+21 + 8 = 29
+48 + 94 = 142
+97 + 23 = 120
+85 + 34 = 119
+35 + 53 = 88
+25 + 35 = 60
+4 + 18 = 22
+34 + 99 = 133
+90 + 92 = 182
+7 + 91 = 98
+33 + 43 = 76
+63 + 81 = 144
+20 + 45 = 65
+35 + 82 = 117
+86 + 100 = 186
+73 + 69 = 142
+62 + 54 = 116
+65 + 64 = 129
+22 + 61 = 83
+2 + 2 = 4
+13 + 17 = 30
+12 + 67 = 79
+25 + 91 = 116
+62 + 36 = 98
+97 + 75 = 172
+6 + 94 = 100
+92 + 34 = 126
+74 + 79 = 153
+55 + 4 = 59
+65 + 87 = 152
+63 + 65 = 128
+69 + 5 = 74
+18 + 37 = 55
+80 + 50 = 130
+5 + 84 = 89
+74 + 43 = 117
+96 + 68 = 164
+9 + 2 = 11
+45 + 61 = 106
+52 + 55 = 107
+45 + 3 = 48
+11 + 74 = 85
+23 + 33 = 56
+44 + 25 = 69
+0 + 64 = 64
+35 + 66 = 101
+17 + 67 = 84
+25 + 1 = 26
+51 + 57 = 108
+28 + 42 = 70
+46 + 40 = 86
+40 + 78 = 118
+16 + 71 = 87
+69 + 24 = 93
+15 + 64 = 79
+51 + 29 = 80
+84 + 55 = 139
+4 + 89 = 93
+74 + 10 = 84
+56 + 73 = 129
+92 + 49 = 141
+76 + 89 = 165
+21 + 39 = 60
+66 + 46 = 112
+9 + 48 = 57
+98 + 38 = 136
+65 + 82 = 147
+44 + 37 = 81
+59 + 65 = 124
+95 + 20 = 115
+84 + 69 = 153
+0 + 65 = 65
+59 + 40 = 99
+33 + 22 = 55
+1 + 75 = 76
+43 + 52 = 95
+44 + 57 = 101
+46 + 22 = 68
+6 + 41 = 47
+82 + 20 = 102
+49 + 90 = 139
+19 + 52 = 71
+16 + 82 = 98
+43 + 81 = 124
+49 + 91 = 140
+29 + 67 = 96
+35 + 14 = 49
+43 + 9 = 52
+51 + 93 = 144
+39 + 99 = 138
+60 + 35 = 95
+53 + 94 = 147
+63 + 28 = 91
+33 + 68 = 101
+24 + 39 = 63
+32 + 94 = 126
+49 + 46 = 95
+77 + 93 = 170
+38 + 70 = 108
+52 + 19 = 71
+64 + 42 = 106
+0 + 16 = 16
+12 + 77 = 89
+31 + 14 = 45
+89 + 52 = 141
+88 + 54 = 142
+74 + 86 = 160
+37 + 84 = 121
+0 + 55 = 55
+32 + 32 = 64
+51 + 20 = 71
+20 + 11 = 31
+64 + 42 = 106
+30 + 29 = 59
+23 + 56 = 79
+48 + 29 = 77
+98 + 29 = 127
+54 + 34 = 88
+40 + 71 = 111
+42 + 39 = 81
+12 + 42 = 54
+68 + 7 = 75
+75 + 39 = 114
+50 + 10 = 60
+6 + 99 = 105
+0 + 83 = 83
+51 + 39 = 90
+22 + 82 = 104
+60 + 98 = 158
+70 + 78 = 148
+76 + 90 = 166
+78 + 49 = 127
+31 + 37 = 68
+6 + 16 = 22
+77 + 39 = 116
+96 + 43 = 139
+16 + 98 = 114
+15 + 38 = 53
+21 + 49 = 70
+3 + 75 = 78
+66 + 67 = 133
+55 + 36 = 91
+58 + 79 = 137
+67 + 34 = 101
+49 + 44 = 93
+50 + 45 = 95
+40 + 73 = 113
+39 + 9 = 48
+50 + 7 = 57
+69 + 11 = 80
+20 + 65 = 85
+53 + 66 = 119
+16 + 10 = 26
+81 + 51 = 132
+86 + 21 = 107
+51 + 71 = 122
+43 + 92 = 135
+90 + 48 = 138
+28 + 16 = 44
+73 + 16 = 89
+73 + 4 = 77
+70 + 83 = 153
+19 + 98 = 117
+55 + 40 = 95
+51 + 46 = 97
+85 + 55 = 140
+42 + 98 = 140
+13 + 75 = 88
+31 + 94 = 125
+56 + 59 = 115
+14 + 47 = 61
+87 + 99 = 186
+45 + 10 = 55
+30 + 49 = 79
+98 + 89 = 187
+18 + 7 = 25
+85 + 71 = 156
+49 + 46 = 95
+73 + 38 = 111
+74 + 38 = 112
+34 + 17 = 51
+54 + 87 = 141
+10 + 54 = 64
+37 + 89 = 126
+42 + 14 = 56
+95 + 69 = 164
+13 + 95 = 108
+27 + 95 = 122
+7 + 45 = 52
+70 + 60 = 130
+63 + 25 = 88
+93 + 47 = 140
+29 + 77 = 106
+92 + 95 = 187
+83 + 24 = 107
+92 + 65 = 157
+45 + 10 = 55
+81 + 22 = 103
+49 + 42 = 91
+67 + 97 = 164
+39 + 3 = 42
+0 + 65 = 65
+49 + 10 = 59
+40 + 46 = 86
+17 + 67 = 84
+44 + 90 = 134
+82 + 30 = 112
+24 + 15 = 39
+7 + 54 = 61
+58 + 35 = 93
+38 + 65 = 103
+15 + 6 = 21
+84 + 39 = 123
+74 + 19 = 93
+27 + 47 = 74
+89 + 28 = 117
+6 + 94 = 100
+14 + 79 = 93
+31 + 42 = 73
+59 + 25 = 84
+29 + 60 = 89
+50 + 54 = 104
+40 + 94 = 134
+25 + 85 = 110
+42 + 32 = 74
+14 + 98 = 112
+34 + 60 = 94
+19 + 28 = 47
+4 + 79 = 83
+29 + 74 = 103
+53 + 14 = 67
+40 + 82 = 122
+94 + 19 = 113
+97 + 18 = 115
+50 + 88 = 138
+43 + 96 = 139
+46 + 45 = 91
+41 + 38 = 79
+29 + 58 = 87
+55 + 82 = 137
+87 + 56 = 143
+42 + 13 = 55
+92 + 96 = 188
+81 + 20 = 101
+87 + 38 = 125
+56 + 40 = 96
+2 + 20 = 22
+66 + 28 = 94
+95 + 74 = 169
+17 + 63 = 80
+9 + 91 = 100
+86 + 22 = 108
+52 + 96 = 148
+14 + 11 = 25
+2 + 1 = 3
+28 + 17 = 45
+40 + 23 = 63
+28 + 2 = 30
+70 + 38 = 108
+69 + 5 = 74
+26 + 8 = 34
+77 + 45 = 122
+20 + 80 = 100
+64 + 71 = 135
+2 + 31 = 33
+81 + 73 = 154
+26 + 74 = 100
+85 + 32 = 117
+26 + 26 = 52
+38 + 81 = 119
+10 + 97 = 107
+46 + 49 = 95
+15 + 75 = 90
+45 + 51 = 96
+21 + 85 = 106
+93 + 32 = 125
+40 + 57 = 97
+41 + 30 = 71
+74 + 41 = 115
+26 + 39 = 65
+15 + 70 = 85
+36 + 60 = 96
+24 + 67 = 91
+3 + 72 = 75
+86 + 59 = 145
+64 + 95 = 159
+3 + 60 = 63
+3 + 28 = 31
+49 + 26 = 75
+43 + 35 = 78
+3 + 21 = 24
+83 + 45 = 128
+16 + 83 = 99
+91 + 79 = 170
+19 + 26 = 45
+62 + 97 = 159
+62 + 95 = 157
+1 + 46 = 47
+60 + 82 = 142
+21 + 58 = 79
+45 + 84 = 129
+74 + 11 = 85
+25 + 28 = 53
+63 + 83 = 146
+28 + 70 = 98
+55 + 93 = 148
+9 + 27 = 36
+51 + 18 = 69
+46 + 7 = 53
+85 + 38 = 123
+49 + 5 = 54
+4 + 5 = 9
+26 + 50 = 76
+93 + 77 = 170
+19 + 17 = 36
+89 + 21 = 110
+58 + 94 = 152
+53 + 97 = 150
+13 + 95 = 108
+2 + 99 = 101
+72 + 24 = 96
+34 + 46 = 80
+91 + 3 = 94
+16 + 38 = 54
+32 + 43 = 75
+5 + 16 = 21
+25 + 66 = 91
+78 + 45 = 123
+94 + 42 = 136
+61 + 1 = 62
+62 + 13 = 75
+18 + 100 = 118
+79 + 15 = 94
+24 + 14 = 38
+63 + 20 = 83
+41 + 77 = 118
+18 + 77 = 95
+67 + 39 = 106
+100 + 50 = 150
+63 + 32 = 95
+68 + 20 = 88
+66 + 70 = 136
+33 + 92 = 125
+34 + 12 = 46
+83 + 91 = 174
+68 + 45 = 113
+87 + 42 = 129
+98 + 13 = 111
+75 + 33 = 108
+62 + 25 = 87
+26 + 9 = 35
+47 + 28 = 75
+33 + 41 = 74
+100 + 97 = 197
+36 + 54 = 90
+28 + 19 = 47
+46 + 99 = 145
+86 + 57 = 143
+64 + 85 = 149
+56 + 99 = 155
+67 + 32 = 99
+21 + 19 = 40
+50 + 42 = 92
+74 + 32 = 106
+43 + 49 = 92
+45 + 55 = 100
+22 + 44 = 66
+9 + 85 = 94
+68 + 57 = 125
+1 + 25 = 26
+50 + 20 = 70
+91 + 79 = 170
+45 + 87 = 132
+83 + 32 = 115
+37 + 30 = 67
+20 + 82 = 102
+93 + 65 = 158
+25 + 28 = 53
+47 + 59 = 106
+31 + 40 = 71
+51 + 63 = 114
+36 + 88 = 124
+61 + 90 = 151
+67 + 9 = 76
+87 + 87 = 174
+79 + 89 = 168
+98 + 43 = 141
+0 + 45 = 45
+9 + 55 = 64
+5 + 38 = 43
+45 + 21 = 66
+56 + 4 = 60
+37 + 74 = 111
+86 + 61 = 147
+69 + 79 = 148
+98 + 33 = 131
+55 + 24 = 79
+1 + 4 = 5
+68 + 60 = 128
+14 + 96 = 110
+51 + 22 = 73
+17 + 34 = 51
+59 + 68 = 127
+31 + 63 = 94
+37 + 35 = 72
+69 + 61 = 130
+21 + 19 = 40
+79 + 31 = 110
+25 + 95 = 120
+19 + 21 = 40
+44 + 96 = 140
+75 + 11 = 86
+6 + 74 = 80
+65 + 61 = 126
+18 + 76 = 94
+59 + 56 = 115
+16 + 6 = 22
+56 + 20 = 76
+95 + 53 = 148
+92 + 58 = 150
+87 + 86 = 173
+66 + 33 = 99
+96 + 64 = 160
+56 + 58 = 114
+53 + 65 = 118
+95 + 77 = 172
+58 + 4 = 62
+92 + 9 = 101
+98 + 36 = 134
+37 + 6 = 43
+59 + 68 = 127
+66 + 14 = 80
+53 + 52 = 105
+88 + 51 = 139
+45 + 57 = 102
+27 + 95 = 122
+47 + 70 = 117
+34 + 98 = 132
+30 + 72 = 102
+13 + 97 = 110
+83 + 30 = 113
+47 + 46 = 93
+37 + 78 = 115
+62 + 16 = 78
+44 + 47 = 91
+31 + 30 = 61
+73 + 59 = 132
+55 + 59 = 114
+53 + 22 = 75
+67 + 10 = 77
+53 + 7 = 60
+96 + 100 = 196
+23 + 33 = 56
+17 + 95 = 112
+76 + 94 = 170
+69 + 84 = 153
+55 + 44 = 99
+99 + 89 = 188
+34 + 18 = 52
+69 + 15 = 84
+70 + 100 = 170
+77 + 8 = 85
+79 + 8 = 87
+78 + 81 = 159
+51 + 30 = 81
+49 + 31 = 80
+11 + 82 = 93
+68 + 13 = 81
+32 + 75 = 107
+23 + 63 = 86
+89 + 74 = 163
+79 + 95 = 174
+14 + 96 = 110
+22 + 51 = 73
+16 + 49 = 65
+13 + 51 = 64
+7 + 74 = 81
+97 + 13 = 110
+35 + 46 = 81
+24 + 52 = 76
+13 + 20 = 33
+34 + 45 = 79
+81 + 53 = 134
+7 + 95 = 102
+24 + 38 = 62
+17 + 32 = 49
+29 + 52 = 81
+75 + 17 = 92
+16 + 52 = 68
+34 + 34 = 68
+38 + 60 = 98
+73 + 60 = 133
+90 + 67 = 157
+39 + 36 = 75
+2 + 19 = 21
+79 + 70 = 149
+58 + 51 = 109
+24 + 75 = 99
+40 + 43 = 83
+0 + 68 = 68
+13 + 90 = 103
+73 + 45 = 118
+33 + 78 = 111
+66 + 22 = 88
+86 + 48 = 134
+55 + 28 = 83
+27 + 7 = 34
+53 + 45 = 98
+1 + 52 = 53
+66 + 98 = 164
+23 + 28 = 51
+33 + 59 = 92
+68 + 12 = 80
+32 + 86 = 118
+51 + 20 = 71
+75 + 74 = 149
+80 + 50 = 130
+98 + 58 = 156
+89 + 99 = 188
+88 + 51 = 139
+13 + 38 = 51
+13 + 62 = 75
+76 + 87 = 163
+75 + 92 = 167
+76 + 98 = 174
+94 + 20 = 114
+32 + 60 = 92
+71 + 35 = 106
+81 + 9 = 90
+20 + 55 = 75
+9 + 38 = 47
+61 + 50 = 111
+4 + 8 = 12
+93 + 8 = 101
+59 + 46 = 105
+90 + 35 = 125
+11 + 97 = 108
+84 + 63 = 147
+83 + 6 = 89
+38 + 39 = 77
+77 + 56 = 133
+21 + 53 = 74
+8 + 55 = 63
+76 + 71 = 147
+93 + 53 = 146
+78 + 1 = 79
+54 + 54 = 108
+99 + 55 = 154
+36 + 0 = 36
+13 + 47 = 60
+42 + 11 = 53
+26 + 83 = 109
+15 + 12 = 27
+95 + 49 = 144
+5 + 98 = 103
+27 + 24 = 51
+4 + 25 = 29
+50 + 95 = 145
+25 + 53 = 78
+86 + 26 = 112
+24 + 36 = 60
+92 + 43 = 135
+95 + 40 = 135
+21 + 74 = 95
+84 + 27 = 111
+38 + 47 = 85
+71 + 79 = 150
+63 + 14 = 77
+52 + 37 = 89
+32 + 37 = 69
+94 + 32 = 126
+25 + 54 = 79
+32 + 23 = 55
+62 + 89 = 151
+43 + 24 = 67
+53 + 36 = 89
+43 + 54 = 97
+98 + 92 = 190
+19 + 55 = 74
+24 + 61 = 85
+53 + 98 = 151
+45 + 69 = 114
+89 + 38 = 127
+25 + 83 = 108
+45 + 26 = 71
+32 + 89 = 121
+61 + 30 = 91
+51 + 74 = 125
+15 + 94 = 109
+29 + 52 = 81
+1 + 2 = 3
+79 + 55 = 134
+71 + 57 = 128
+35 + 61 = 96
+71 + 34 = 105
+76 + 12 = 88
+41 + 54 = 95
+19 + 42 = 61
+97 + 80 = 177
+16 + 92 = 108
+95 + 74 = 169
+36 + 10 = 46
+47 + 67 = 114
+49 + 29 = 78
+5 + 91 = 96
+94 + 85 = 179
+2 + 77 = 79
+84 + 41 = 125
+27 + 19 = 46
+7 + 51 = 58
+10 + 16 = 26
+28 + 17 = 45
+51 + 64 = 115
+8 + 14 = 22
+42 + 63 = 105
+26 + 23 = 49
+99 + 58 = 157
+93 + 48 = 141
+55 + 3 = 58
+65 + 43 = 108
+57 + 21 = 78
+10 + 53 = 63
+57 + 6 = 63
+46 + 86 = 132
+85 + 50 = 135
+95 + 40 = 135
+92 + 73 = 165
+85 + 30 = 115
+1 + 68 = 69
+30 + 46 = 76
+81 + 46 = 127
+85 + 47 = 132
+97 + 45 = 142
+88 + 22 = 110
+70 + 40 = 110
+95 + 98 = 193
+99 + 12 = 111
+33 + 69 = 102
+0 + 47 = 47
+13 + 97 = 110
+9 + 100 = 109
+45 + 40 = 85
+87 + 82 = 169
+11 + 65 = 76
+51 + 5 = 56
+36 + 16 = 52
+78 + 11 = 89
+58 + 71 = 129
+39 + 11 = 50
+27 + 73 = 100
+13 + 63 = 76
+99 + 93 = 192
+54 + 26 = 80
+69 + 47 = 116
+68 + 95 = 163
+96 + 78 = 174
+68 + 9 = 77
+27 + 16 = 43
+8 + 37 = 45
+66 + 82 = 148
+39 + 89 = 128
+77 + 13 = 90
+38 + 89 = 127
+26 + 39 = 65
+18 + 74 = 92
+77 + 89 = 166
+22 + 15 = 37
+89 + 45 = 134
+60 + 6 = 66
+97 + 99 = 196
+74 + 4 = 78
+60 + 28 = 88
+83 + 40 = 123
+32 + 34 = 66
+25 + 56 = 81
+56 + 77 = 133
+16 + 60 = 76
+44 + 74 = 118
+67 + 78 = 145
+93 + 31 = 124
+54 + 43 = 97
+94 + 28 = 122
+73 + 3 = 76
+71 + 20 = 91
+93 + 9 = 102
+56 + 73 = 129
+16 + 41 = 57
+50 + 71 = 121
+27 + 26 = 53
+79 + 49 = 128
+79 + 32 = 111
+62 + 26 = 88
+77 + 49 = 126
+97 + 17 = 114
+8 + 14 = 22
+21 + 24 = 45
+33 + 42 = 75
+48 + 79 = 127
+6 + 86 = 92
+75 + 5 = 80
+57 + 79 = 136
+78 + 12 = 90
+0 + 83 = 83
+78 + 96 = 174
+30 + 47 = 77
+71 + 10 = 81
+93 + 33 = 126
+87 + 36 = 123
+78 + 59 = 137
+89 + 13 = 102
+49 + 35 = 84
+29 + 15 = 44
+62 + 43 = 105
+78 + 30 = 108
+90 + 89 = 179
+87 + 66 = 153
+80 + 1 = 81
+67 + 2 = 69
+16 + 88 = 104
+99 + 38 = 137
+54 + 62 = 116
+9 + 45 = 54
+76 + 82 = 158
+88 + 69 = 157
+24 + 88 = 112
+39 + 93 = 132
+38 + 90 = 128
+34 + 98 = 132
+5 + 75 = 80
+95 + 43 = 138
+31 + 35 = 66
+47 + 33 = 80
+52 + 16 = 68
+42 + 84 = 126
+4 + 48 = 52
+39 + 17 = 56
+42 + 25 = 67
+62 + 88 = 150
+87 + 94 = 181
+39 + 37 = 76
+92 + 83 = 175
+33 + 77 = 110
+73 + 1 = 74
+11 + 33 = 44
+8 + 24 = 32
+66 + 85 = 151
+3 + 89 = 92
+81 + 52 = 133
diff --git a/data/question_files/arithmetic/addsub_p0_-10-10.dat b/data/question_files/arithmetic/addsub_p0_-10-10.dat
new file mode 100644
index 0000000..6272920
--- /dev/null
+++ b/data/question_files/arithmetic/addsub_p0_-10-10.dat
@@ -0,0 +1,1000 @@
+-5 + -10 = -15
+-9 + 2 = -7
+-6 + -8 = -14
+-9 - 7 = -16
+-1 - -9 = 8
+1 + -4 = -3
+9 - 8 = 1
+-3 + -7 = -10
+4 + 6 = 10
+2 - 1 = 1
+9 + 1 = 10
+4 + 0 = 4
+-5 - -3 = -2
+-6 + 2 = -4
+-5 - -2 = -3
+0 + 3 = 3
+5 - 2 = 3
+-2 + 3 = 1
+8 - -8 = 16
+2 + 9 = 11
+1 + 8 = 9
+-8 - 5 = -13
+-7 + -5 = -12
+-1 + 3 = 2
+9 - 2 = 7
+4 - -4 = 8
+3 + 3 = 6
+5 + 7 = 12
+5 + 7 = 12
+3 + -1 = 2
+-8 - -2 = -6
+8 - -9 = 17
+-6 - -1 = -5
+8 - -1 = 9
+-1 + -6 = -7
+5 + -7 = -2
+9 - -10 = 19
+8 + 1 = 9
+-7 + 3 = -4
+-6 + -10 = -16
+8 + -9 = -1
+0 + 8 = 8
+-9 + 3 = -6
+2 - 6 = -4
+3 + -2 = 1
+8 + -6 = 2
+-4 + 9 = 5
+4 - -10 = 14
+6 + 1 = 7
+-7 - 10 = -17
+7 + 1 = 8
+-2 - 1 = -3
+-10 - -7 = -3
+6 - 1 = 5
+-2 - -1 = -1
+7 + -7 = 0
+6 - 1 = 5
+-5 - 4 = -9
+7 + 8 = 15
+-9 + -5 = -14
+-2 + -8 = -10
+0 - -1 = 1
+7 - -3 = 10
+1 + -2 = -1
+-8 - 0 = -8
+-1 + 8 = 7
+-6 + 2 = -4
+-4 + -9 = -13
+-7 + -5 = -12
+4 + 1 = 5
+-9 - -2 = -7
+7 + 3 = 10
+-8 + -10 = -18
+-10 - -8 = -2
+-5 - -1 = -4
+-8 + 6 = -2
+8 - -7 = 15
+-4 - -1 = -3
+-8 + -5 = -13
+-6 - 3 = -9
+-8 - 6 = -14
+1 - -7 = 8
+1 - -3 = 4
+-6 - 0 = -6
+-3 - 0 = -3
+5 + 1 = 6
+-4 + -3 = -7
+-1 + 1 = 0
+1 - -7 = 8
+-1 + 2 = 1
+9 + 8 = 17
+-8 + 10 = 2
+-7 + 7 = 0
+8 + -7 = 1
+1 - 3 = -2
+-2 - -1 = -1
+-2 + -1 = -3
+5 - 10 = -5
+3 - -7 = 10
+-4 + -8 = -12
+8 - 7 = 1
+9 - 3 = 6
+1 + -6 = -5
+-7 + -5 = -12
+-8 + 1 = -7
+0 + 8 = 8
+5 - 10 = -5
+2 + 6 = 8
+6 + -3 = 3
+1 - 8 = -7
+-4 + 1 = -3
+3 + -7 = -4
+5 + -7 = -2
+2 + 4 = 6
+5 - 0 = 5
+0 + 8 = 8
+9 - 2 = 7
+8 + -3 = 5
+2 + 9 = 11
+-1 + 7 = 6
+6 + -1 = 5
+2 + 7 = 9
+7 + 5 = 12
+2 + 0 = 2
+-8 + -5 = -13
+-4 + 4 = 0
+9 - -8 = 17
+6 - 2 = 4
+3 + -7 = -4
+9 - -1 = 10
+-6 + 4 = -2
+-1 + 9 = 8
+6 - 0 = 6
+-6 - -1 = -5
+4 - -2 = 6
+0 + -7 = -7
+2 + 3 = 5
+7 - 4 = 3
+-8 - 7 = -15
+-6 - 6 = -12
+3 + -6 = -3
+-5 + 0 = -5
+3 - -3 = 6
+4 + 2 = 6
+4 - -10 = 14
+-1 - -9 = 8
+-6 + -2 = -8
+3 + 6 = 9
+-6 + -1 = -7
+-5 + 10 = 5
+-6 - -8 = 2
+4 - 8 = -4
+-3 + 9 = 6
+8 - -9 = 17
+-10 - -3 = -7
+-8 + -8 = -16
+4 + -5 = -1
+-6 + -6 = -12
+-5 + -1 = -6
+2 + 1 = 3
+-5 + -10 = -15
+2 - -7 = 9
+3 - -8 = 11
+-8 - 3 = -11
+2 + 7 = 9
+6 + -6 = 0
+-6 + 9 = 3
+9 - 8 = 1
+-8 + -8 = -16
+-3 - 4 = -7
+9 + -4 = 5
+3 + -2 = 1
+-10 - -7 = -3
+4 - -4 = 8
+3 + -3 = 0
+1 + 8 = 9
+-3 - 7 = -10
+9 - -9 = 18
+3 - 5 = -2
+-5 - 8 = -13
+-8 + -9 = -17
+-6 - 0 = -6
+-5 - -9 = 4
+-9 + 7 = -2
+1 - 8 = -7
+9 - 4 = 5
+9 + -10 = -1
+-7 - 7 = -14
+2 - -8 = 10
+0 + 7 = 7
+6 - 7 = -1
+-9 - -8 = -1
+-10 - -5 = -5
+9 - 8 = 1
+1 - -8 = 9
+7 - -6 = 13
+-4 + -1 = -5
+5 - 7 = -2
+-1 - -3 = 2
+-2 - 0 = -2
+7 + -9 = -2
+-10 - 0 = -10
+-1 - -6 = 5
+9 - 7 = 2
+8 + 3 = 11
+6 - -10 = 16
+4 + 0 = 4
+-1 - 4 = -5
+8 - 3 = 5
+-5 - 3 = -8
+4 - 9 = -5
+9 + 5 = 14
+9 + -4 = 5
+0 + 10 = 10
+7 + -4 = 3
+-3 + 2 = -1
+6 - -5 = 11
+4 + -6 = -2
+9 + -1 = 8
+6 + 0 = 6
+0 + 5 = 5
+-2 + -8 = -10
+-6 - -9 = 3
+5 - -1 = 6
+-1 + 7 = 6
+4 - 10 = -6
+-10 + -6 = -16
+-9 + 1 = -8
+-8 - 4 = -12
+-2 - 4 = -6
+9 - -9 = 18
+-5 - -4 = -1
+-5 + 10 = 5
+-2 + -7 = -9
+10 - 2 = 8
+0 - 0 = 0
+-4 + -4 = -8
+5 - -3 = 8
+3 + 5 = 8
+-1 - -9 = 8
+-3 + 5 = 2
+3 - 4 = -1
+-7 + -8 = -15
+-4 + -4 = -8
+9 - -1 = 10
+8 + -9 = -1
+0 + -3 = -3
+10 + -1 = 9
+2 - 7 = -5
+0 + -2 = -2
+8 + -2 = 6
+6 - -9 = 15
+4 + -1 = 3
+-2 - -6 = 4
+-10 - 1 = -11
+-8 + 3 = -5
+-1 + 6 = 5
+9 - 0 = 9
+-1 + -2 = -3
+-3 - -1 = -2
+-4 - 8 = -12
+3 + -7 = -4
+9 - -1 = 10
+-4 - 6 = -10
+6 - -5 = 11
+4 + 1 = 5
+-3 - 4 = -7
+7 + 6 = 13
+-5 - 9 = -14
+-3 + -5 = -8
+5 + 6 = 11
+-2 + -9 = -11
+-5 - -8 = 3
+-4 + -7 = -11
+2 + 7 = 9
+0 + 6 = 6
+-2 - 5 = -7
+-4 + 3 = -1
+4 + 5 = 9
+7 - -9 = 16
+9 - 2 = 7
+6 + 6 = 12
+0 + -2 = -2
+4 - -8 = 12
+6 - 6 = 0
+10 - 4 = 6
+2 - -5 = 7
+-7 + 0 = -7
+-5 - 3 = -8
+-4 + -2 = -6
+8 + 6 = 14
+-10 - -2 = -8
+-8 - 0 = -8
+3 - 1 = 2
+1 + -7 = -6
+-5 - -9 = 4
+9 - 5 = 4
+5 + -8 = -3
+-6 + -1 = -7
+3 - 10 = -7
+8 - -6 = 14
+2 - 9 = -7
+5 + -8 = -3
+-3 + -3 = -6
+8 - -8 = 16
+-5 - -4 = -1
+9 - -7 = 16
+-9 + -1 = -10
+-9 + 4 = -5
+-3 - -1 = -2
+-7 - -5 = -2
+-4 + -10 = -14
+4 + -5 = -1
+6 + -1 = 5
+0 - 4 = -4
+-6 + 8 = 2
+-10 + 1 = -9
+-8 + 5 = -3
+1 - 10 = -9
+0 - -6 = 6
+-4 - -7 = 3
+6 + -4 = 2
+1 - -8 = 9
+-9 + 0 = -9
+-2 + 2 = 0
+-10 - 7 = -17
+10 + -4 = 6
+0 - -6 = 6
+7 + 3 = 10
+6 - 8 = -2
+6 + -7 = -1
+6 + -2 = 4
+-3 - -2 = -1
+-8 - -10 = 2
+-9 + -9 = -18
+-10 - 10 = -20
+6 - -6 = 12
+3 - 8 = -5
+-9 + -1 = -10
+-9 - -1 = -8
+-2 + 0 = -2
+10 + -4 = 6
+-5 - -1 = -4
+2 - 5 = -3
+0 + 5 = 5
+9 - 3 = 6
+5 + 6 = 11
+0 + 1 = 1
+-4 + -1 = -5
+-7 + -5 = -12
+3 - 0 = 3
+3 + -2 = 1
+-8 + -9 = -17
+6 + 8 = 14
+0 + 1 = 1
+-6 + 8 = 2
+4 + -3 = 1
+0 + 3 = 3
+-7 - 1 = -8
+7 + -6 = 1
+-7 + -6 = -13
+9 - -2 = 11
+-3 + -9 = -12
+0 + 1 = 1
+1 - 3 = -2
+-2 - -6 = 4
+1 - -9 = 10
+8 - -2 = 10
+8 + 6 = 14
+8 - 1 = 7
+-8 + 4 = -4
+-2 + -4 = -6
+-1 + 6 = 5
+2 + -9 = -7
+-6 + 10 = 4
+9 + -6 = 3
+-4 - 10 = -14
+7 + 4 = 11
+-5 + -2 = -7
+-3 + 8 = 5
+-7 - -6 = -1
+-3 + -6 = -9
+-8 + -2 = -10
+1 + 9 = 10
+7 + -9 = -2
+9 - -9 = 18
+1 - 1 = 0
+6 - 5 = 1
+8 - 5 = 3
+-9 - 0 = -9
+7 - 2 = 5
+-7 + 5 = -2
+0 + -7 = -7
+5 + -9 = -4
+5 + -7 = -2
+-7 - -8 = 1
+2 + 3 = 5
+5 + -1 = 4
+-9 + -9 = -18
+-5 + -10 = -15
+-2 + -5 = -7
+-6 + -7 = -13
+3 - -9 = 12
+9 - -1 = 10
+-1 - 7 = -8
+-10 + -2 = -12
+0 + 1 = 1
+7 - 3 = 4
+1 - 6 = -5
+-9 + 8 = -1
+-6 + -5 = -11
+-4 - -4 = 0
+8 - -1 = 9
+-1 + -4 = -5
+-6 - -5 = -1
+2 + 6 = 8
+-6 + -2 = -8
+-1 - -8 = 7
+2 - 9 = -7
+5 - 9 = -4
+8 + 6 = 14
+6 - -9 = 15
+-8 + 2 = -6
+-5 + -4 = -9
+0 - 4 = -4
+4 - -1 = 5
+0 + -4 = -4
+-2 + -4 = -6
+-2 + -4 = -6
+-7 - 10 = -17
+-9 + 1 = -8
+5 - 7 = -2
+9 - 1 = 8
+-2 + 2 = 0
+1 + 8 = 9
+5 + 10 = 15
+3 + 7 = 10
+-10 + -3 = -13
+4 + -9 = -5
+-7 + -1 = -8
+2 - -7 = 9
+-8 - -7 = -1
+-2 - 5 = -7
+-3 + -5 = -8
+-4 - -9 = 5
+-5 + 9 = 4
+-10 + -1 = -11
+2 - 2 = 0
+9 - 0 = 9
+2 - -4 = 6
+7 + -6 = 1
+-7 + 3 = -4
+8 - -9 = 17
+2 + 7 = 9
+-3 - -8 = 5
+7 + 6 = 13
+10 - 0 = 10
+5 + 8 = 13
+6 - 3 = 3
+6 + 3 = 9
+8 + 9 = 17
+1 - 3 = -2
+-3 - -5 = 2
+2 - 6 = -4
+4 - -5 = 9
+-5 + -6 = -11
+4 - -4 = 8
+-9 + 5 = -4
+5 - -7 = 12
+-6 + 1 = -5
+1 - 0 = 1
+3 + -1 = 2
+-4 - -3 = -1
+4 - -10 = 14
+-9 - 5 = -14
+-4 + 4 = 0
+0 + -4 = -4
+2 + 9 = 11
+-6 - 8 = -14
+-4 + -9 = -13
+3 - 4 = -1
+-3 + -7 = -10
+7 - 3 = 4
+-3 + 2 = -1
+4 - 3 = 1
+9 + -7 = 2
+0 + 8 = 8
+-5 - -3 = -2
+6 - -8 = 14
+-1 + -2 = -3
+-2 + 2 = 0
+-1 + -2 = -3
+1 - 9 = -8
+9 + -7 = 2
+-1 - 5 = -6
+0 + 0 = 0
+0 + -3 = -3
+-6 - 2 = -8
+-9 + -4 = -13
+-4 + -7 = -11
+1 + -6 = -5
+-5 + -2 = -7
+-10 + -2 = -12
+-3 + -6 = -9
+2 - -10 = 12
+1 - -6 = 7
+-8 + 8 = 0
+-4 - 5 = -9
+-9 + 0 = -9
+-7 + 6 = -1
+8 - 5 = 3
+9 - 10 = -1
+4 - 2 = 2
+-4 - 0 = -4
+-2 + 3 = 1
+9 - 1 = 8
+-1 - -5 = 4
+-7 - -1 = -6
+-5 + -9 = -14
+4 - 7 = -3
+-2 - 9 = -11
+1 - -7 = 8
+-3 + 1 = -2
+9 - -5 = 14
+-3 - -2 = -1
+8 - -3 = 11
+-9 + 6 = -3
+5 - -4 = 9
+0 + -2 = -2
+-8 - 1 = -9
+9 + -2 = 7
+-6 + 9 = 3
+-7 - 3 = -10
+-7 + -2 = -9
+-3 - -5 = 2
+-4 + -2 = -6
+7 + -6 = 1
+-4 + -9 = -13
+4 + 8 = 12
+-5 - -5 = 0
+9 + 4 = 13
+5 + -6 = -1
+-6 - -1 = -5
+-2 - 10 = -12
+-3 + 6 = 3
+-6 + 9 = 3
+-2 + 0 = -2
+10 + -8 = 2
+9 + 6 = 15
+-3 + 4 = 1
+-8 - -9 = 1
+10 + -3 = 7
+-3 - -7 = 4
+-2 + 8 = 6
+6 - -8 = 14
+4 + 0 = 4
+-5 + -1 = -6
+5 + -8 = -3
+-2 + -9 = -11
+4 + -10 = -6
+-3 + 1 = -2
+-2 - 8 = -10
+10 + -10 = 0
+3 - 1 = 2
+-9 - 5 = -14
+5 - 1 = 4
+-2 + 7 = 5
+-8 + 9 = 1
+-5 - 4 = -9
+7 - -1 = 8
+8 - 1 = 7
+-3 + 5 = 2
+-7 - 7 = -14
+4 - 9 = -5
+1 + -6 = -5
+-3 + 9 = 6
+1 + 1 = 2
+-9 + 6 = -3
+-1 - -10 = 9
+-1 - 2 = -3
+-4 - 10 = -14
+3 - -6 = 9
+6 - -4 = 10
+9 - 5 = 4
+-4 + -2 = -6
+-5 + 0 = -5
+-8 + -6 = -14
+-1 - 9 = -10
+-9 + 10 = 1
+7 + 8 = 15
+-4 + -4 = -8
+8 - -10 = 18
+1 - -4 = 5
+9 + -8 = 1
+7 + -5 = 2
+-3 + -2 = -5
+7 - -1 = 8
+3 - -7 = 10
+0 + -2 = -2
+-4 + 3 = -1
+-1 - 9 = -10
+-3 + -3 = -6
+0 - -6 = 6
+3 + 9 = 12
+-1 + -9 = -10
+-2 + 4 = 2
+8 + 0 = 8
+6 - -8 = 14
+0 + -4 = -4
+-5 - 10 = -15
+-8 - -5 = -3
+-2 - -5 = 3
+-1 - -9 = 8
+-1 - -3 = 2
+-6 - 3 = -9
+-3 + 4 = 1
+-6 + 10 = 4
+-7 + -6 = -13
+9 + 0 = 9
+2 + -1 = 1
+8 - 10 = -2
+9 - 3 = 6
+8 - 9 = -1
+-2 + -5 = -7
+-1 - 2 = -3
+8 - 2 = 6
+3 + 8 = 11
+5 - 0 = 5
+-5 - 5 = -10
+-7 - 7 = -14
+-8 - -10 = 2
+5 + -4 = 1
+7 - -5 = 12
+-6 + -2 = -8
+-3 + 4 = 1
+8 - 7 = 1
+4 + 2 = 6
+0 - -9 = 9
+-7 + -6 = -13
+-2 + 10 = 8
+6 + 6 = 12
+9 + -8 = 1
+0 - -4 = 4
+9 + -3 = 6
+-1 - -8 = 7
+-10 - 9 = -19
+-9 - 5 = -14
+6 + -8 = -2
+-2 + -7 = -9
+6 - 8 = -2
+7 - 0 = 7
+10 + -2 = 8
+8 + 4 = 12
+-5 + -6 = -11
+-10 - -9 = -1
+-7 - 1 = -8
+-5 - 1 = -6
+-6 - 2 = -8
+-5 - -5 = 0
+1 + -2 = -1
+-8 - 5 = -13
+-3 + -4 = -7
+-2 - -4 = 2
+0 - 8 = -8
+10 + -6 = 4
+-6 + 10 = 4
+-7 - -3 = -4
+8 - 4 = 4
+4 - 4 = 0
+7 + 4 = 11
+-6 - 7 = -13
+-2 + 4 = 2
+2 + 10 = 12
+0 + 9 = 9
+8 + 8 = 16
+-3 - 10 = -13
+-9 + 0 = -9
+-7 - 5 = -12
+-10 - -10 = 0
+9 - 9 = 0
+9 - 5 = 4
+-2 + -9 = -11
+10 - 10 = 0
+-10 + -6 = -16
+-3 + -2 = -5
+0 + -2 = -2
+-4 - -5 = 1
+2 + -8 = -6
+4 - 2 = 2
+1 - -9 = 10
+4 + -9 = -5
+3 + 7 = 10
+-1 - 8 = -9
+-2 + 6 = 4
+-4 - 9 = -13
+8 + -1 = 7
+-9 + 3 = -6
+3 + 1 = 4
+-9 - 5 = -14
+3 - 8 = -5
+-5 - -10 = 5
+-5 - -3 = -2
+7 - 4 = 3
+-9 - -1 = -8
+7 + -9 = -2
+-2 + -10 = -12
+7 - -6 = 13
+-3 - -6 = 3
+-9 + -5 = -14
+-1 + -3 = -4
+5 + 2 = 7
+-1 + -4 = -5
+0 + -3 = -3
+-1 - 5 = -6
+3 - 7 = -4
+8 + -3 = 5
+4 - 6 = -2
+-6 + 4 = -2
+9 + 1 = 10
+2 + 7 = 9
+9 + 0 = 9
+-2 + 7 = 5
+-4 + -3 = -7
+-3 + 3 = 0
+-6 - -4 = -2
+-1 - 4 = -5
+0 - 1 = -1
+5 - 9 = -4
+3 - 4 = -1
+7 - -7 = 14
+-1 + -6 = -7
+2 + -9 = -7
+-6 + 4 = -2
+1 - -1 = 2
+5 - 0 = 5
+-4 - 10 = -14
+-1 - 1 = -2
+-5 + 8 = 3
+5 - 8 = -3
+-8 + 7 = -1
+-8 + -7 = -15
+2 + 6 = 8
+9 - -3 = 12
+-8 + 4 = -4
+10 + 6 = 16
+3 + -9 = -6
+8 + -8 = 0
+3 - 9 = -6
+-3 + -6 = -9
+9 - 3 = 6
+5 - -8 = 13
+-9 + 3 = -6
+-3 + 0 = -3
+6 + -1 = 5
+8 + 10 = 18
+-8 - 9 = -17
+-8 + 10 = 2
+7 + 2 = 9
+4 - 5 = -1
+3 + -3 = 0
+8 + 5 = 13
+7 - 3 = 4
+3 + 2 = 5
+-4 + 9 = 5
+8 - 3 = 5
+5 + -8 = -3
+-6 - -2 = -4
+2 - 4 = -2
+9 - 2 = 7
+-8 + -3 = -11
+8 + 4 = 12
+-1 - -1 = 0
+9 - 9 = 0
+-8 - 5 = -13
+-3 - 0 = -3
+-9 - 0 = -9
+1 - 8 = -7
+7 + -2 = 5
+5 + 5 = 10
+-3 - -6 = 3
+2 + 3 = 5
+-5 + 9 = 4
+8 + 4 = 12
+-4 + -9 = -13
+8 + -7 = 1
+-5 - 1 = -6
+5 - 9 = -4
+-8 + -7 = -15
+6 - -5 = 11
+-1 - -5 = 4
+-5 - -10 = 5
+-6 - -3 = -3
+-4 - -1 = -3
+2 - 4 = -2
+-7 + -3 = -10
+9 - -3 = 12
+9 + 6 = 15
+-5 + 6 = 1
+6 - 1 = 5
+-5 - 0 = -5
+5 - -7 = 12
+-8 - -7 = -1
+-1 + -5 = -6
+3 + -4 = -1
+6 - -1 = 7
+-2 - -3 = 1
+-4 + -2 = -6
+-8 + 8 = 0
+-6 + 4 = -2
+-7 - -9 = 2
+-1 + 5 = 4
+-7 - -5 = -2
+-2 - -6 = 4
+-1 + -9 = -10
+-1 - -4 = 3
+1 + -7 = -6
+9 - -5 = 14
+-2 + -6 = -8
+-4 + 1 = -3
+10 + 5 = 15
+6 + 5 = 11
+1 - -4 = 5
+-5 - -9 = 4
+-5 - -1 = -4
+-4 - -5 = 1
+5 - 5 = 0
+7 - 7 = 0
+-9 + -3 = -12
+-9 + 5 = -4
+5 + -7 = -2
+-6 + -10 = -16
+8 - -7 = 15
+-5 - 6 = -11
+-8 - 5 = -13
+-8 - -7 = -1
+-5 + 3 = -2
+2 - 6 = -4
+7 + -4 = 3
+-10 + -1 = -11
+-1 - -6 = 5
+9 - -7 = 16
+-4 - -4 = 0
+3 + 7 = 10
+9 - -6 = 15
+3 - -5 = 8
+-5 + 2 = -3
+1 - 1 = 0
+8 + 3 = 11
+-9 + -7 = -16
+-2 - -8 = 6
+7 - -6 = 13
+4 + -1 = 3
+-1 + -5 = -6
+-3 + -3 = -6
+-10 - -5 = -5
+6 - -6 = 12
+0 + 10 = 10
+-3 - 2 = -5
+1 - 4 = -3
+-3 - -4 = 1
+-7 - 1 = -8
+7 - 7 = 0
+0 - 5 = -5
+-3 + 0 = -3
+3 + -1 = 2
+-6 - -2 = -4
+7 - -4 = 11
+0 + 3 = 3
+1 - -5 = 6
+-6 + -1 = -7
+8 + 10 = 18
+1 + -9 = -8
+-6 + -9 = -15
+-6 + -6 = -12
+-3 + -4 = -7
+-1 - 1 = -2
+-7 + 5 = -2
+8 + -2 = 6
+-2 + -1 = -3
+-9 - 0 = -9
+2 + 0 = 2
+-1 + 9 = 8
+8 - 9 = -1
+-5 - 3 = -8
+8 + -10 = -2
+5 - 7 = -2
+6 + 1 = 7
+-6 + 1 = -5
+7 - 9 = -2
+-3 + 3 = 0
+8 - -8 = 16
+-8 + -6 = -14
+-9 - 3 = -12
+7 - 9 = -2
+0 + -2 = -2
+7 - -8 = 15
+4 - 7 = -3
+5 + -7 = -2
+8 - 7 = 1
+2 + 5 = 7
+7 - 0 = 7
+5 - 5 = 0
+-8 - -7 = -1
+9 + -8 = 1
+0 + 2 = 2
+7 - 7 = 0
+-7 - 10 = -17
+-2 + 4 = 2
+-1 + 5 = 4
+-2 + 3 = 1
+9 + 2 = 11
+-3 + 5 = 2
+-9 - 0 = -9
+4 + -10 = -6
+-9 + -2 = -11
+-8 - -3 = -5
+-8 - -7 = -1
+-1 + -8 = -9
+-2 + -8 = -10
+-9 - 8 = -17
+-6 - -4 = -2
+-6 - 1 = -7
+-6 - 7 = -13
+4 + -8 = -4
+9 - -2 = 11
+-8 + -5 = -13
+4 - -5 = 9
+0 - 5 = -5
+4 - -7 = 11
+-7 + 8 = 1
+10 + 7 = 17
+8 - 9 = -1
+1 + 2 = 3
+0 + 0 = 0
+-9 + 3 = -6
+5 + -6 = -1
+-4 - -9 = 5
+10 + 3 = 13
+2 + 4 = 6
+-7 - -1 = -6
+4 + 9 = 13
+8 - -6 = 14
+-1 + 8 = 7
+8 + -1 = 7
+8 + 6 = 14
+4 + 2 = 6
+-4 - -10 = 6
+5 - 8 = -3
+0 - -5 = 5
+-2 + 7 = 5
+-9 - -5 = -4
+-7 - 1 = -8
+8 - 8 = 0
+-5 - -6 = 1
+6 + -5 = 1
+-9 - -6 = -3
+-4 + -9 = -13
+-7 + 4 = -3
+2 - 0 = 2
+10 + -7 = 3
+3 - -5 = 8
+-9 + -5 = -14
+-7 + -9 = -16
+-8 - 4 = -12
+-8 - 6 = -14
+-4 - -3 = -1
+1 + -10 = -9
+-4 + 9 = 5
+-1 - -7 = 6
+0 - 10 = -10
+-10 - -4 = -6
+-1 - -1 = 0
+-9 + 9 = 0
+-3 + 9 = 6
+-1 - 8 = -9
+0 - -4 = 4
+-4 + 0 = -4
+-7 + 5 = -2
+-4 + -4 = -8
+-8 - 6 = -14
+2 + -2 = 0
+1 - -9 = 10
+-2 - 2 = -4
+-7 - -2 = -5
+8 + -3 = 5
+-7 + 10 = 3
+2 - -9 = 11
+0 - -10 = 10
+-3 + -6 = -9
+-6 + 7 = 1
+7 - 2 = 5
+-2 + 0 = -2
+6 + -10 = -4
+-8 - 8 = -16
+7 - 9 = -2
+-8 + 7 = -1
+-3 - -6 = 3
+1 + -4 = -3
+-6 + 4 = -2
+6 - 6 = 0
diff --git a/data/question_files/arithmetic/addsub_p0_-100-100.dat b/data/question_files/arithmetic/addsub_p0_-100-100.dat
new file mode 100644
index 0000000..75c3d22
--- /dev/null
+++ b/data/question_files/arithmetic/addsub_p0_-100-100.dat
@@ -0,0 +1,1000 @@
+-765 - -269 = -496
+-115 - -995 = 880
+-571 + -171 = -742
+-262 + -826 = -1088
+-247 + -814 = -1061
+-856 - -947 = 91
+-880 + -792 = -1672
+-936 - -166 = -770
+-948 + -408 = -1356
+-652 - -416 = -236
+-642 + 2 = -640
+-105 + -661 = -766
+-647 + -915 = -1562
+-925 + -399 = -1324
+-227 + -201 = -428
+-17 + -836 = -853
+-629 + -520 = -1149
+-291 - -173 = -118
+-80 - -713 = 633
+-579 - 17 = -596
+-967 - -824 = -143
+-541 - -894 = 353
+-391 + -477 = -868
+-332 + -31 = -363
+-15 + -685 = -700
+-801 + -378 = -1179
+-830 + -705 = -1535
+-979 + 5 = -974
+-983 + -461 = -1444
+-943 + -802 = -1745
+-311 + -350 = -661
+-225 + -568 = -793
+-823 + -429 = -1252
+-527 + -972 = -1499
+-917 + -770 = -1687
+92 + -921 = -829
+-478 + -425 = -903
+-410 - -154 = -256
+-141 + -234 = -375
+33 + 83 = 116
+-679 + -529 = -1208
+-946 + -100 = -1046
+-446 + 62 = -384
+-830 + -234 = -1064
+-378 - 67 = -445
+-798 + -174 = -972
+-77 + -641 = -718
+-873 - -118 = -755
+-887 + -694 = -1581
+-388 + -420 = -808
+-67 + -240 = -307
+-624 - -554 = -70
+-748 + -285 = -1033
+-417 + -153 = -570
+44 + -534 = -490
+-411 + -215 = -626
+74 + -371 = -297
+-720 - -302 = -418
+-613 - -494 = -119
+-789 + 63 = -726
+-401 - -50 = -351
+-837 - -256 = -581
+-716 + 41 = -675
+-581 - -366 = -215
+-290 - -912 = 622
+-229 - -538 = 309
+81 + 21 = 102
+-494 - -451 = -43
+88 + -136 = -48
+-240 - -8 = -232
+-773 + -793 = -1566
+-965 + -457 = -1422
+-841 + -450 = -1291
+-653 - 35 = -688
+-197 + -416 = -613
+-632 - -507 = -125
+-804 - -703 = -101
+-257 - -236 = -21
+-995 + -796 = -1791
+-501 + -72 = -573
+-243 + -162 = -405
+-610 - 8 = -618
+96 - -524 = 620
+-258 + -319 = -577
+-497 + -196 = -693
+-824 + -470 = -1294
+-497 - -291 = -206
+53 - -613 = 666
+-220 + -248 = -468
+-503 - -659 = 156
+-928 + -890 = -1818
+-607 + -924 = -1531
+-566 + -243 = -809
+-691 - -471 = -220
+-418 - -589 = 171
+-381 + -707 = -1088
+-425 - -723 = 298
+-606 + -661 = -1267
+-990 - -992 = 2
+-371 + 28 = -343
+-148 - -433 = 285
+-660 - -209 = -451
+-154 + -859 = -1013
+-644 - -452 = -192
+-55 + -694 = -749
+-698 + -428 = -1126
+-36 - -420 = 384
+-602 - -92 = -510
+-883 - -213 = -670
+-13 - -221 = 208
+-556 - -39 = -517
+-565 - -264 = -301
+-363 - -47 = -316
+-303 + -556 = -859
+-516 - -485 = -31
+-157 - -897 = 740
+-959 + -730 = -1689
+-477 - -557 = 80
+-402 - -287 = -115
+-421 + -901 = -1322
+-768 - -865 = 97
+-691 - -871 = 180
+-860 + -195 = -1055
+-619 + -688 = -1307
+-993 - -426 = -567
+1 - -662 = 663
+-407 + 20 = -387
+99 - -30 = 129
+-124 + -96 = -220
+-969 - -660 = -309
+-182 + -449 = -631
+-924 - -189 = -735
+-189 + -874 = -1063
+-333 - -194 = -139
+-658 - -353 = -305
+-581 - -241 = -340
+-540 + -341 = -881
+-200 - -690 = 490
+-374 + -320 = -694
+29 + -964 = -935
+-2 + -930 = -932
+-376 + 65 = -311
+-424 + -387 = -811
+-455 + -771 = -1226
+-618 + -998 = -1616
+71 - -597 = 668
+-23 + -683 = -706
+-71 + 56 = -15
+-673 + -640 = -1313
+-957 - -222 = -735
+-32 + -734 = -766
+-65 - -994 = 929
+-224 + -973 = -1197
+-221 - -616 = 395
+-313 - -546 = 233
+-993 - -764 = -229
+-501 - -102 = -399
+-201 - -660 = 459
+-946 + -495 = -1441
+-800 + -135 = -935
+-365 - -487 = 122
+-836 + -128 = -964
+-88 - -440 = 352
+-99 + 63 = -36
+-832 + -732 = -1564
+-759 - -501 = -258
+-211 + -970 = -1181
+-8 - -68 = 60
+-796 - 58 = -854
+-245 + -458 = -703
+-528 + -483 = -1011
+-180 - -442 = 262
+77 - -393 = 470
+-790 + -401 = -1191
+-907 - -272 = -635
+-621 + -890 = -1511
+-248 - -618 = 370
+-968 + -669 = -1637
+-884 - -743 = -141
+-624 - -953 = 329
+-14 - -379 = 365
+-126 + -429 = -555
+-210 - -943 = 733
+2 + -369 = -367
+-336 + -662 = -998
+-860 + -925 = -1785
+-128 - -417 = 289
+-8 + -590 = -598
+-935 + -345 = -1280
+-309 - -503 = 194
+-826 - -344 = -482
+-623 + -510 = -1133
+-418 + -874 = -1292
+-630 - -50 = -580
+-630 + -645 = -1275
+-511 + -872 = -1383
+-697 - -442 = -255
+-206 + -423 = -629
+-603 + -381 = -984
+-916 - -522 = -394
+-796 - -773 = -23
+-690 + -509 = -1199
+-134 - -712 = 578
+-159 + -650 = -809
+-180 - -216 = 36
+-153 - -532 = 379
+-970 - -785 = -185
+-131 + -580 = -711
+-211 - -14 = -197
+-181 - -76 = -105
+-507 + -85 = -592
+-141 + -278 = -419
+-717 + -840 = -1557
+-201 - -139 = -62
+-267 + -599 = -866
+-390 + -601 = -991
+-278 + -349 = -627
+-241 + -878 = -1119
+-332 - -809 = 477
+-810 + -306 = -1116
+-822 + -660 = -1482
+53 + -630 = -577
+-941 - -726 = -215
+-793 - -714 = -79
+-680 - -402 = -278
+-702 - -823 = 121
+-859 - -61 = -798
+-920 - -797 = -123
+84 + -764 = -680
+-216 + -505 = -721
+-563 + -865 = -1428
+29 + -218 = -189
+-977 + -891 = -1868
+-81 + 0 = -81
+-634 - -241 = -393
+2 + -411 = -409
+-328 - -655 = 327
+-830 + -204 = -1034
+-298 + -357 = -655
+-475 + -379 = -854
+-84 + -913 = -997
+24 - -466 = 490
+-645 + -363 = -1008
+-496 - -97 = -399
+-967 + -768 = -1735
+-31 + -391 = -422
+-584 + -569 = -1153
+-943 - -680 = -263
+-811 - -50 = -761
+-363 - -867 = 504
+-920 - -412 = -508
+-830 - 81 = -911
+-740 + -800 = -1540
+-974 + -66 = -1040
+-283 - -334 = 51
+-51 - -174 = 123
+-700 - -974 = 274
+-692 + 64 = -628
+-7 - -554 = 547
+-506 + -869 = -1375
+-143 + -901 = -1044
+-471 + -545 = -1016
+-627 - 20 = -647
+-732 + -675 = -1407
+-662 - -395 = -267
+-370 - -427 = 57
+88 + -636 = -548
+-362 + -803 = -1165
+76 - -600 = 676
+-921 + -372 = -1293
+-351 - -899 = 548
+-270 - -877 = 607
+-533 - -295 = -238
+48 - -804 = 852
+-411 + -725 = -1136
+90 - -678 = 768
+-373 + -708 = -1081
+-369 + -616 = -985
+91 - -911 = 1002
+97 + -400 = -303
+-326 + -466 = -792
+-522 + -913 = -1435
+-879 + -272 = -1151
+-410 + -202 = -612
+-889 - 0 = -889
+-456 + -814 = -1270
+-263 - -971 = 708
+-485 + -361 = -846
+-912 - -568 = -344
+-402 + -495 = -897
+-608 - -13 = -595
+-152 - -228 = 76
+-288 - -452 = 164
+74 + -537 = -463
+-920 - -340 = -580
+-491 + -838 = -1329
+6 + -620 = -614
+-63 + -342 = -405
+-427 - -268 = -159
+46 + -722 = -676
+23 + -465 = -442
+-26 + -845 = -871
+-771 - -540 = -231
+-418 - -491 = 73
+-765 + -175 = -940
+-590 + -257 = -847
+-255 - -635 = 380
+-491 + -796 = -1287
+-271 + -453 = -724
+-430 + 56 = -374
+-688 - -633 = -55
+-919 - -176 = -743
+-619 - -21 = -598
+-469 + -882 = -1351
+-3 + -936 = -939
+-136 - -927 = 791
+-329 - -38 = -291
+-242 - -534 = 292
+-178 + -312 = -490
+-217 - -956 = 739
+-914 - -277 = -637
+-468 - -474 = 6
+-282 - -846 = 564
+-62 - -350 = 288
+-290 + -705 = -995
+-332 + -340 = -672
+17 + -457 = -440
+-888 - -495 = -393
+-890 + -315 = -1205
+-130 + -147 = -277
+56 + -705 = -649
+-977 + -324 = -1301
+-525 - -426 = -99
+-463 + 0 = -463
+-873 + -314 = -1187
+-431 - -5 = -426
+-912 + -553 = -1465
+-851 - -279 = -572
+-714 + -791 = -1505
+-616 - -241 = -375
+-204 + -404 = -608
+-147 - -111 = -36
+100 + -448 = -348
+-15 + -494 = -509
+-232 + -826 = -1058
+-101 + -121 = -222
+-597 - -116 = -481
+-269 - 17 = -286
+-531 - -905 = 374
+-43 - -939 = 896
+-943 - -718 = -225
+-513 - 63 = -576
+-353 - -981 = 628
+-217 + -856 = -1073
+-914 + -438 = -1352
+-849 + -313 = -1162
+-199 + 88 = -111
+-819 + -981 = -1800
+82 + -219 = -137
+-443 - -389 = -54
+-42 + -295 = -337
+-876 - -667 = -209
+-791 - -189 = -602
+-454 + -112 = -566
+-78 + -172 = -250
+-846 + -223 = -1069
+-730 - -544 = -186
+-536 + -403 = -939
+-773 + -884 = -1657
+-269 - -785 = 516
+-607 - -762 = 155
+-304 + -959 = -1263
+-297 - -664 = 367
+-535 + 86 = -449
+-684 - -656 = -28
+-603 - -515 = -88
+-201 - -97 = -104
+-624 - -123 = -501
+-424 - -822 = 398
+-527 - -719 = 192
+-316 + -950 = -1266
+-479 + -727 = -1206
+-924 + -939 = -1863
+-812 + 13 = -799
+54 - -785 = 839
+-408 + -327 = -735
+-307 + -633 = -940
+-157 - -913 = 756
+-418 - -884 = 466
+-723 - -369 = -354
+-289 - -260 = -29
+82 + -380 = -298
+-280 - -450 = 170
+-83 - -620 = 537
+-499 + -112 = -611
+-512 + -548 = -1060
+-964 + -888 = -1852
+-146 - -546 = 400
+-864 + 10 = -854
+-452 + -980 = -1432
+-383 + -748 = -1131
+-623 + -965 = -1588
+-702 - -405 = -297
+-45 - -487 = 442
+-75 + -456 = -531
+-226 - -992 = 766
+-545 - -571 = 26
+-394 - 28 = -422
+-922 + -62 = -984
+-914 - -819 = -95
+-841 + -654 = -1495
+81 + -647 = -566
+-321 - 15 = -336
+-926 - -180 = -746
+100 + -705 = -605
+-541 + -146 = -687
+-323 - -324 = 1
+-550 - -567 = 17
+-999 + -570 = -1569
+-143 - -559 = 416
+-951 + -98 = -1049
+-610 + -198 = -808
+31 - -568 = 599
+-402 - -919 = 517
+-882 + -383 = -1265
+-984 - -487 = -497
+-544 - -913 = 369
+-403 - -913 = 510
+-732 - -65 = -667
+-693 - -725 = 32
+-426 + -462 = -888
+-82 - -817 = 735
+-236 + -352 = -588
+-413 + -733 = -1146
+62 + -699 = -637
+-872 + -153 = -1025
+-354 - -819 = 465
+-542 - 83 = -625
+-217 - -36 = -181
+-750 - -236 = -514
+-833 + -34 = -867
+64 + -31 = 33
+-642 + -945 = -1587
+-102 - -398 = 296
+-421 - -824 = 403
+-479 + -63 = -542
+-880 - -265 = -615
+-710 + -985 = -1695
+-333 - -375 = 42
+-264 + -221 = -485
+-469 - -747 = 278
+-465 + -668 = -1133
+64 - -609 = 673
+-655 + -773 = -1428
+-45 - -975 = 930
+-947 + -681 = -1628
+-968 + -297 = -1265
+-556 - 6 = -562
+-921 + -650 = -1571
+96 - -914 = 1010
+34 - -242 = 276
+-677 - -187 = -490
+-269 - -371 = 102
+-338 - -628 = 290
+6 + -945 = -939
+-845 + -414 = -1259
+-983 - -624 = -359
+-764 - -390 = -374
+-170 - -571 = 401
+-536 - -495 = -41
+-474 - 32 = -506
+-735 + -327 = -1062
+-153 - -307 = 154
+2 - -883 = 885
+-163 - -574 = 411
+-46 + -117 = -163
+-951 - -873 = -78
+15 + -375 = -360
+-871 + -270 = -1141
+-826 + -555 = -1381
+-684 - -941 = 257
+-775 + -899 = -1674
+66 + -453 = -387
+-482 - -626 = 144
+-49 - -849 = 800
+-402 - -398 = -4
+75 + -737 = -662
+-923 - -787 = -136
+-34 + -254 = -288
+-405 + -856 = -1261
+-933 + -701 = -1634
+-385 - -548 = 163
+-851 - -3 = -848
+-262 - -684 = 422
+-548 - -915 = 367
+10 + -958 = -948
+-997 - -857 = -140
+-928 + -344 = -1272
+-637 - -408 = -229
+-206 + -127 = -333
+-792 + -767 = -1559
+-639 + -768 = -1407
+-566 + -462 = -1028
+-434 - -194 = -240
+-875 - -994 = 119
+-844 + -383 = -1227
+-437 - -264 = -173
+-778 + -474 = -1252
+-760 + -522 = -1282
+10 + -774 = -764
+-661 + -955 = -1616
+-551 + -144 = -695
+-889 + -276 = -1165
+-283 - -920 = 637
+-374 - 84 = -458
+-34 + -569 = -603
+-590 - -773 = 183
+-499 - -196 = -303
+-141 - -655 = 514
+-41 - -879 = 838
+-658 - -470 = -188
+-853 + -894 = -1747
+-919 - -456 = -463
+-459 + 11 = -448
+-613 - -359 = -254
+-646 + -447 = -1093
+-410 - -592 = 182
+-93 + -811 = -904
+-35 - -532 = 497
+-975 + -995 = -1970
+-970 + -850 = -1820
+-649 + -836 = -1485
+83 - -946 = 1029
+-816 - -122 = -694
+-105 + -683 = -788
+-633 - -146 = -487
+-911 + -825 = -1736
+-332 + -920 = -1252
+-505 - 2 = -507
+-515 - -663 = 148
+-487 - -604 = 117
+-763 - -49 = -714
+75 - -193 = 268
+-290 + -745 = -1035
+-484 + 72 = -412
+-364 - -895 = 531
+-756 - -672 = -84
+-874 + -912 = -1786
+-159 + -613 = -772
+-710 - -532 = -178
+-739 - -883 = 144
+-466 + -447 = -913
+-70 + -495 = -565
+-893 + -941 = -1834
+-732 + -819 = -1551
+-292 - -874 = 582
+18 - -304 = 322
+-556 + -988 = -1544
+-992 - 31 = -1023
+-468 - -481 = 13
+-289 + -149 = -438
+-879 + -874 = -1753
+-185 + -716 = -901
+-648 - -738 = 90
+-489 - 8 = -497
+-957 + -898 = -1855
+-178 - -573 = 395
+-292 + -729 = -1021
+-180 + -312 = -492
+-136 - -8 = -128
+-982 - -444 = -538
+-537 - -907 = 370
+85 + -526 = -441
+-48 - -106 = 58
+-724 - -189 = -535
+-464 - -805 = 341
+-498 - -704 = 206
+-969 - -504 = -465
+-821 + -924 = -1745
+-347 - 99 = -446
+-807 + -697 = -1504
+-409 + 93 = -316
+-948 + -294 = -1242
+-401 - -262 = -139
+-838 - -673 = -165
+-915 + -976 = -1891
+-238 + -48 = -286
+-583 + -84 = -667
+-477 + -290 = -767
+-251 - -152 = -99
+-966 - -747 = -219
+-761 - -480 = -281
+-556 - -813 = 257
+-852 + 30 = -822
+-846 + -603 = -1449
+-167 + -795 = -962
+-45 - 55 = -100
+-460 + -107 = -567
+-495 - -342 = -153
+-640 - -572 = -68
+-710 - -738 = 28
+-753 + -806 = -1559
+18 - -469 = 487
+-433 + -174 = -607
+-791 + -878 = -1669
+-799 - -743 = -56
+46 + 10 = 56
+-252 - -617 = 365
+-33 + -135 = -168
+-43 + -941 = -984
+-779 + -199 = -978
+-352 + -896 = -1248
+-243 + -997 = -1240
+-572 - -624 = 52
+-430 - -740 = 310
+-998 - -482 = -516
+-1 + -379 = -380
+91 + -783 = -692
+-461 - -315 = -146
+-248 + -562 = -810
+-48 + -231 = -279
+-220 - -137 = -83
+74 - -474 = 548
+-900 - -196 = -704
+-822 + -195 = -1017
+-682 + -751 = -1433
+-564 - -88 = -476
+-23 + 79 = 56
+53 + 51 = 104
+-72 - -980 = 908
+-170 + -44 = -214
+1 - -102 = 103
+-489 + -812 = -1301
+-422 + -902 = -1324
+-25 + -361 = -386
+-619 - -652 = 33
+-344 + -727 = -1071
+-608 - -860 = 252
+-567 - -465 = -102
+-632 + -894 = -1526
+-241 - -29 = -212
+-693 - -203 = -490
+-846 + -513 = -1359
+-951 - -411 = -540
+-765 - -933 = 168
+-847 - -53 = -794
+-309 - -218 = -91
+-189 + -205 = -394
+-944 - -285 = -659
+-284 - -619 = 335
+-5 + -722 = -727
+-490 + -876 = -1366
+-117 + -641 = -758
+-403 - -721 = 318
+11 + -295 = -284
+-206 - -792 = 586
+-986 - -693 = -293
+-327 - -344 = 17
+-228 + -775 = -1003
+-10 + -235 = -245
+-430 - 82 = -512
+-172 - -153 = -19
+-403 + -86 = -489
+-185 - -430 = 245
+-255 + -453 = -708
+-278 - -582 = 304
+-767 - -873 = 106
+61 + -126 = -65
+-365 - -875 = 510
+-356 + -148 = -504
+-905 - -236 = -669
+-139 - -617 = 478
+-350 - -242 = -108
+-946 + -775 = -1721
+-747 - -962 = 215
+-816 - -220 = -596
+-940 - 17 = -957
+-371 - -79 = -292
+-834 - -527 = -307
+16 + -489 = -473
+-812 + -232 = -1044
+-31 + -673 = -704
+71 + 83 = 154
+40 + -276 = -236
+-21 + -615 = -636
+-701 + -237 = -938
+48 - -905 = 953
+-767 + -238 = -1005
+-510 - -925 = 415
+-74 + -206 = -280
+-392 - 62 = -454
+28 + -78 = -50
+-93 + -581 = -674
+-578 - -993 = 415
+-307 - -74 = -233
+-283 - -510 = 227
+-942 - -452 = -490
+-28 - -481 = 453
+-248 - 92 = -340
+-364 + -390 = -754
+-304 - -299 = -5
+-79 + -785 = -864
+-275 + -602 = -877
+-212 - 51 = -263
+-530 - -628 = 98
+-326 + -577 = -903
+-315 + -553 = -868
+62 + -554 = -492
+-162 - -910 = 748
+99 + -429 = -330
+-228 - 3 = -231
+-11 - -801 = 790
+-41 + -624 = -665
+-957 - -76 = -881
+-628 - -36 = -592
+-773 + -452 = -1225
+-964 - 80 = -1044
+-815 - -792 = -23
+-196 - -550 = 354
+-968 + -586 = -1554
+-54 - -331 = 277
+46 + -204 = -158
+-605 - -564 = -41
+-423 - -200 = -223
+-28 - -786 = 758
+-981 - -296 = -685
+-845 - -334 = -511
+-216 + -421 = -637
+-709 - -480 = -229
+-76 + -921 = -997
+-606 - -971 = 365
+-602 - -568 = -34
+52 + -577 = -525
+-200 + -28 = -228
+-627 + -859 = -1486
+-532 + -66 = -598
+-968 - -186 = -782
+-740 + -862 = -1602
+17 - -382 = 399
+-839 + -313 = -1152
+-479 - -687 = 208
+-243 - -883 = 640
+85 - -581 = 666
+-951 - -848 = -103
+-718 - -855 = 137
+-675 - -821 = 146
+-348 - -515 = 167
+-558 + -983 = -1541
+-298 - -696 = 398
+-207 - -340 = 133
+-368 - -904 = 536
+-753 + -703 = -1456
+-49 - -171 = 122
+-878 - -684 = -194
+-975 + -880 = -1855
+-246 - -9 = -237
+-847 + -60 = -907
+-279 + -207 = -486
+-4 - -294 = 290
+-900 - -777 = -123
+-912 - -976 = 64
+-781 - -514 = -267
+-62 - -515 = 453
+-65 - -781 = 716
+-709 + -468 = -1177
+-968 - -305 = -663
+-286 + -25 = -311
+-554 - -883 = 329
+-911 + -669 = -1580
+-821 + -601 = -1422
+-605 - -551 = -54
+-724 - -84 = -640
+64 + -40 = 24
+-128 + -403 = -531
+-314 - -392 = 78
+-153 + -903 = -1056
+-793 - -417 = -376
+-654 - -606 = -48
+-509 + -492 = -1001
+-28 - -401 = 373
+-452 - -388 = -64
+45 + -909 = -864
+-912 + -498 = -1410
+-305 - -981 = 676
+-446 - -295 = -151
+-496 - -840 = 344
+-729 - -947 = 218
+-381 - -407 = 26
+-617 + -900 = -1517
+-687 + -271 = -958
+-716 + 74 = -642
+-649 + -643 = -1292
+-326 - -525 = 199
+-4 - -531 = 527
+-807 + -204 = -1011
+-875 - -802 = -73
+-990 - -272 = -718
+-113 - -403 = 290
+-365 - -640 = 275
+-385 + -178 = -563
+-34 - -654 = 620
+-226 + -465 = -691
+-475 + -361 = -836
+-559 + -279 = -838
+-274 - -968 = 694
+-76 - -856 = 780
+-811 + -811 = -1622
+-636 - -744 = 108
+77 + -120 = -43
+-217 + -129 = -346
+-153 + 22 = -131
+-80 - -962 = 882
+-435 - -665 = 230
+-240 + -797 = -1037
+-373 - -95 = -278
+-245 + 74 = -171
+-632 - -504 = -128
+-882 + -235 = -1117
+-674 + 63 = -611
+-814 - -915 = 101
+-918 - -602 = -316
+-229 - -138 = -91
+20 + -125 = -105
+68 - -602 = 670
+-833 - -349 = -484
+-535 + -442 = -977
+-119 - -198 = 79
+-464 - -564 = 100
+-389 - -602 = 213
+87 + -436 = -349
+-418 - -761 = 343
+-5 - -510 = 505
+-916 + -21 = -937
+-343 + -542 = -885
+-513 - -58 = -455
+-488 - -183 = -305
+-531 + 84 = -447
+-404 + 12 = -392
+-768 + -144 = -912
+-447 - -194 = -253
+-938 - -199 = -739
+-915 + -393 = -1308
+-692 + -111 = -803
+-755 + -321 = -1076
+-548 - -294 = -254
+-521 + -847 = -1368
+-716 - -404 = -312
+-257 + -438 = -695
+-648 - -114 = -534
+-127 - -391 = 264
+-434 + -288 = -722
+-83 - -10 = -73
+40 - -589 = 629
+-587 - -81 = -506
+-74 + -817 = -891
+-301 + -953 = -1254
+-990 + -546 = -1536
+-542 - -528 = -14
+-325 + -303 = -628
+-555 - -139 = -416
+-457 - -292 = -165
+-408 + 1 = -407
+85 + -705 = -620
+-72 - -978 = 906
+76 + -350 = -274
+-767 - -906 = 139
+-466 + -240 = -706
+-676 - 100 = -776
+-513 + -77 = -590
+87 + -794 = -707
+-630 - -225 = -405
+-204 - -532 = 328
+-494 - -473 = -21
+-106 - -124 = 18
+-288 + 81 = -207
+-465 + -833 = -1298
+-51 + -183 = -234
+-893 - -378 = -515
+-489 - -577 = 88
+-803 - -322 = -481
+-776 - -758 = -18
+-833 - -458 = -375
+-239 + 43 = -196
+-919 + -986 = -1905
+-983 + -969 = -1952
+-450 - 38 = -488
+-526 + -965 = -1491
+-406 - -644 = 238
+-45 + -342 = -387
+-668 + -739 = -1407
+-198 + -396 = -594
+-482 - -806 = 324
+-935 + -758 = -1693
+-123 + -55 = -178
+-879 - -624 = -255
+43 + -823 = -780
+-88 - -689 = 601
+-516 - -54 = -462
+-117 + -189 = -306
+-330 + -834 = -1164
+-146 - -769 = 623
+-376 - -416 = 40
+-696 + -931 = -1627
+-795 + 81 = -714
+-632 + -264 = -896
+-831 - -142 = -689
+-649 + -989 = -1638
+-627 + -485 = -1112
+-656 + -824 = -1480
+-712 + -408 = -1120
+-350 - -720 = 370
+-367 + -327 = -694
+-775 + -134 = -909
+-512 - 20 = -532
+-392 + -715 = -1107
+-694 + -406 = -1100
+-20 - -250 = 230
+-143 - -563 = 420
+-179 + 5 = -174
+-4 + -278 = -282
+-122 + -781 = -903
+-962 - -597 = -365
+-13 - -424 = 411
+-566 - -980 = 414
+-498 + 16 = -482
+-606 - -789 = 183
+-720 + -322 = -1042
+-657 - -575 = -82
+-583 + -66 = -649
+20 - -677 = 697
+-272 - -137 = -135
+-301 - -28 = -273
+-976 - -613 = -363
+-939 - -553 = -386
+-621 - -547 = -74
+-155 - -164 = 9
+48 + -298 = -250
+-45 - -697 = 652
+-487 - -312 = -175
+-986 + -913 = -1899
+-197 - -988 = 791
+-57 + -344 = -401
+-229 + -57 = -286
+-483 + -322 = -805
+71 - 79 = -8
+-175 - -573 = 398
+-932 + -172 = -1104
+-364 + -878 = -1242
+-617 + -50 = -667
+-533 + -985 = -1518
+-444 - -417 = -27
+-48 + -845 = -893
+66 - -187 = 253
+-304 - -398 = 94
+-212 + -566 = -778
+-340 - -652 = 312
+87 + -68 = 19
+-817 + -545 = -1362
+-826 + -433 = -1259
+-887 - -487 = -400
+-346 - -840 = 494
+-813 - -664 = -149
+-963 - -409 = -554
+-412 - -548 = 136
+-134 - -930 = 796
+-218 - -189 = -29
+-664 - -306 = -358
+-857 + -855 = -1712
+57 - -720 = 777
+-30 + -998 = -1028
+-679 - -372 = -307
+-838 - -415 = -423
+-91 + 31 = -60
+-230 - -913 = 683
+-713 + -928 = -1641
+-464 + -545 = -1009
+-89 + -653 = -742
+-541 - -103 = -438
+-403 - 69 = -472
+-832 + -530 = -1362
+-550 + -259 = -809
+-258 + -634 = -892
+-554 + -293 = -847
+-255 + -376 = -631
+-600 - -495 = -105
+-169 + -872 = -1041
+-477 - -759 = 282
+-680 - -473 = -207
+-918 + -115 = -1033
+-967 - 78 = -1045
+94 + -918 = -824
+-153 - -722 = 569
+92 + -953 = -861
+-690 + -942 = -1632
+-831 + -502 = -1333
+-892 - -43 = -849
+-588 + -540 = -1128
+-431 - -985 = 554
+-135 + -91 = -226
+77 + -961 = -884
diff --git a/data/question_files/arithmetic/addsub_p0_0-10.dat b/data/question_files/arithmetic/addsub_p0_0-10.dat
new file mode 100644
index 0000000..d9610c9
--- /dev/null
+++ b/data/question_files/arithmetic/addsub_p0_0-10.dat
@@ -0,0 +1,1000 @@
+4 + 9 = 13
+6 + 1 = 7
+2 + 9 = 11
+8 + 6 = 14
+10 - 6 = 4
+5 + 6 = 11
+5 - 2 = 3
+9 + 8 = 17
+4 + 10 = 14
+8 + 6 = 14
+2 + 6 = 8
+5 + 4 = 9
+6 - 3 = 3
+8 + 6 = 14
+4 + 8 = 12
+9 - 7 = 2
+0 + 4 = 4
+7 + 6 = 13
+7 + 3 = 10
+2 + 4 = 6
+9 + 7 = 16
+3 + 6 = 9
+6 - 4 = 2
+2 + 3 = 5
+8 + 4 = 12
+5 + 5 = 10
+2 + 2 = 4
+8 + 5 = 13
+6 + 2 = 8
+10 + 9 = 19
+4 + 4 = 8
+6 + 1 = 7
+1 + 10 = 11
+4 - 2 = 2
+5 + 6 = 11
+6 - 4 = 2
+2 + 8 = 10
+6 - 2 = 4
+7 + 3 = 10
+3 + 2 = 5
+1 + 4 = 5
+9 + 8 = 17
+3 - 1 = 2
+9 - 5 = 4
+6 + 9 = 15
+6 + 6 = 12
+7 - 0 = 7
+9 + 2 = 11
+0 + 6 = 6
+10 - 4 = 6
+6 + 8 = 14
+3 - 2 = 1
+7 + 6 = 13
+5 + 5 = 10
+9 - 7 = 2
+9 - 1 = 8
+6 + 6 = 12
+9 - 8 = 1
+1 + 6 = 7
+6 - 5 = 1
+1 + 8 = 9
+9 - 8 = 1
+9 + 6 = 15
+9 + 6 = 15
+5 + 2 = 7
+1 + 3 = 4
+1 + 6 = 7
+6 + 1 = 7
+1 + 1 = 2
+4 + 5 = 9
+3 + 6 = 9
+7 - 4 = 3
+8 + 5 = 13
+9 - 6 = 3
+6 + 1 = 7
+3 + 4 = 7
+10 + 6 = 16
+4 + 1 = 5
+7 - 3 = 4
+1 + 5 = 6
+6 - 3 = 3
+0 + 3 = 3
+8 - 6 = 2
+8 + 4 = 12
+10 - 3 = 7
+4 + 8 = 12
+3 - 1 = 2
+8 + 3 = 11
+3 + 0 = 3
+2 - 1 = 1
+8 - 0 = 8
+1 + 3 = 4
+4 + 6 = 10
+5 + 6 = 11
+10 + 3 = 13
+10 + 6 = 16
+9 + 1 = 10
+3 + 3 = 6
+9 - 4 = 5
+3 - 2 = 1
+9 - 8 = 1
+8 + 6 = 14
+1 + 4 = 5
+8 + 2 = 10
+10 - 5 = 5
+8 - 2 = 6
+6 + 3 = 9
+1 + 5 = 6
+7 - 5 = 2
+8 - 5 = 3
+4 + 3 = 7
+8 - 4 = 4
+2 + 1 = 3
+9 + 2 = 11
+9 + 1 = 10
+0 + 9 = 9
+10 - 6 = 4
+3 + 7 = 10
+6 + 8 = 14
+10 - 5 = 5
+1 + 7 = 8
+8 - 2 = 6
+2 + 2 = 4
+6 - 4 = 2
+4 + 8 = 12
+6 + 2 = 8
+0 + 5 = 5
+4 + 8 = 12
+10 - 2 = 8
+10 - 8 = 2
+7 - 3 = 4
+9 - 1 = 8
+5 + 5 = 10
+5 + 3 = 8
+9 + 5 = 14
+2 + 3 = 5
+7 - 6 = 1
+3 - 2 = 1
+8 - 3 = 5
+5 + 5 = 10
+9 - 5 = 4
+6 - 4 = 2
+4 - 0 = 4
+6 + 7 = 13
+2 + 9 = 11
+6 - 5 = 1
+6 - 5 = 1
+8 + 2 = 10
+4 + 5 = 9
+2 + 6 = 8
+0 + 6 = 6
+4 + 0 = 4
+5 - 4 = 1
+6 - 1 = 5
+5 - 0 = 5
+9 + 7 = 16
+9 + 9 = 18
+9 - 8 = 1
+1 + 5 = 6
+9 + 2 = 11
+9 - 3 = 6
+8 + 0 = 8
+3 + 3 = 6
+8 + 5 = 13
+1 + 9 = 10
+4 + 4 = 8
+2 + 2 = 4
+5 - 4 = 1
+7 - 1 = 6
+4 + 1 = 5
+6 + 1 = 7
+9 + 8 = 17
+5 - 4 = 1
+5 + 4 = 9
+4 - 2 = 2
+6 + 1 = 7
+2 + 9 = 11
+9 - 6 = 3
+4 - 1 = 3
+3 + 4 = 7
+3 + 5 = 8
+1 + 9 = 10
+9 - 6 = 3
+6 + 0 = 6
+8 - 2 = 6
+9 - 5 = 4
+8 + 3 = 11
+0 + 2 = 2
+7 - 3 = 4
+2 + 4 = 6
+1 - 0 = 1
+2 + 6 = 8
+5 - 3 = 2
+3 - 0 = 3
+8 - 3 = 5
+2 + 3 = 5
+4 + 4 = 8
+9 - 4 = 5
+6 - 1 = 5
+3 + 8 = 11
+6 + 3 = 9
+5 - 2 = 3
+10 + 3 = 13
+5 - 4 = 1
+3 + 1 = 4
+2 + 8 = 10
+1 + 5 = 6
+5 + 9 = 14
+5 + 5 = 10
+5 + 2 = 7
+3 + 5 = 8
+6 + 4 = 10
+5 + 6 = 11
+4 - 1 = 3
+6 - 5 = 1
+9 - 1 = 8
+9 + 6 = 15
+2 + 9 = 11
+8 + 1 = 9
+5 - 2 = 3
+1 + 0 = 1
+8 + 4 = 12
+6 - 1 = 5
+6 - 1 = 5
+1 + 6 = 7
+7 + 1 = 8
+9 - 0 = 9
+9 + 4 = 13
+7 + 10 = 17
+7 + 7 = 14
+10 - 1 = 9
+10 - 8 = 2
+6 + 5 = 11
+1 + 4 = 5
+9 + 8 = 17
+5 + 8 = 13
+4 - 2 = 2
+0 + 7 = 7
+9 - 1 = 8
+3 + 1 = 4
+4 + 1 = 5
+9 + 2 = 11
+4 - 3 = 1
+3 + 1 = 4
+7 + 8 = 15
+8 + 9 = 17
+4 + 0 = 4
+4 + 0 = 4
+7 + 7 = 14
+5 + 4 = 9
+9 - 7 = 2
+2 + 1 = 3
+7 + 4 = 11
+8 - 4 = 4
+3 + 1 = 4
+9 - 2 = 7
+0 + 8 = 8
+8 - 4 = 4
+8 + 10 = 18
+6 + 8 = 14
+8 + 8 = 16
+6 + 8 = 14
+5 + 9 = 14
+10 + 5 = 15
+4 + 3 = 7
+10 - 9 = 1
+1 + 8 = 9
+4 - 3 = 1
+6 + 4 = 10
+4 + 1 = 5
+9 - 8 = 1
+5 + 1 = 6
+9 - 8 = 1
+2 + 3 = 5
+7 - 6 = 1
+9 - 1 = 8
+4 + 2 = 6
+5 + 4 = 9
+9 - 0 = 9
+7 + 6 = 13
+9 + 9 = 18
+4 + 6 = 10
+0 + 3 = 3
+6 - 5 = 1
+4 + 4 = 8
+4 + 3 = 7
+2 + 1 = 3
+0 + 1 = 1
+5 + 4 = 9
+10 - 1 = 9
+4 + 1 = 5
+5 + 5 = 10
+9 + 3 = 12
+10 + 8 = 18
+7 + 4 = 11
+6 - 1 = 5
+10 + 8 = 18
+7 - 6 = 1
+8 - 6 = 2
+9 + 1 = 10
+5 + 8 = 13
+10 + 8 = 18
+1 + 3 = 4
+7 + 2 = 9
+0 + 5 = 5
+3 + 1 = 4
+9 - 2 = 7
+10 + 3 = 13
+7 + 2 = 9
+8 + 9 = 17
+6 - 0 = 6
+6 + 1 = 7
+8 - 2 = 6
+4 + 2 = 6
+3 + 6 = 9
+2 + 5 = 7
+6 - 4 = 2
+9 - 8 = 1
+4 + 2 = 6
+2 + 1 = 3
+2 + 9 = 11
+3 + 4 = 7
+1 + 3 = 4
+1 + 2 = 3
+3 + 10 = 13
+5 - 1 = 4
+8 + 9 = 17
+8 - 4 = 4
+1 + 7 = 8
+7 + 1 = 8
+10 - 8 = 2
+8 - 6 = 2
+8 - 1 = 7
+5 + 1 = 6
+8 + 2 = 10
+6 + 5 = 11
+4 + 4 = 8
+5 + 5 = 10
+9 + 5 = 14
+6 + 7 = 13
+5 + 2 = 7
+9 + 9 = 18
+5 + 1 = 6
+1 + 5 = 6
+1 + 6 = 7
+1 + 2 = 3
+7 - 4 = 3
+3 - 2 = 1
+9 + 1 = 10
+10 - 4 = 6
+9 + 3 = 12
+7 + 0 = 7
+6 + 2 = 8
+6 + 3 = 9
+1 + 2 = 3
+5 + 3 = 8
+7 + 8 = 15
+8 + 7 = 15
+4 + 0 = 4
+7 + 10 = 17
+10 - 7 = 3
+6 + 1 = 7
+1 + 1 = 2
+9 - 4 = 5
+8 + 8 = 16
+4 + 1 = 5
+6 + 6 = 12
+4 + 3 = 7
+8 - 1 = 7
+5 + 1 = 6
+5 + 6 = 11
+3 + 3 = 6
+6 - 1 = 5
+6 - 4 = 2
+6 - 2 = 4
+2 + 9 = 11
+8 - 0 = 8
+6 + 4 = 10
+7 + 8 = 15
+4 + 6 = 10
+10 + 3 = 13
+7 + 3 = 10
+8 - 6 = 2
+9 - 3 = 6
+3 + 0 = 3
+8 + 1 = 9
+0 + 8 = 8
+0 + 9 = 9
+8 + 3 = 11
+9 + 5 = 14
+2 + 6 = 8
+8 - 2 = 6
+5 + 5 = 10
+2 + 3 = 5
+10 - 5 = 5
+9 - 0 = 9
+7 + 0 = 7
+2 + 1 = 3
+7 + 4 = 11
+4 - 1 = 3
+6 - 1 = 5
+2 - 1 = 1
+7 - 6 = 1
+5 + 8 = 13
+9 - 8 = 1
+3 + 1 = 4
+10 + 9 = 19
+5 + 1 = 6
+1 + 2 = 3
+2 - 0 = 2
+2 + 3 = 5
+5 + 4 = 9
+7 - 3 = 4
+0 + 8 = 8
+1 + 1 = 2
+6 + 3 = 9
+7 + 9 = 16
+5 + 2 = 7
+8 + 10 = 18
+2 + 1 = 3
+3 + 5 = 8
+2 + 0 = 2
+7 + 9 = 16
+9 + 7 = 16
+4 + 5 = 9
+6 - 1 = 5
+4 + 9 = 13
+4 + 1 = 5
+1 + 8 = 9
+4 + 10 = 14
+5 - 4 = 1
+1 + 7 = 8
+5 + 5 = 10
+9 + 10 = 19
+8 - 4 = 4
+8 - 2 = 6
+4 + 0 = 4
+8 + 5 = 13
+5 + 7 = 12
+10 + 10 = 20
+5 + 10 = 15
+10 + 2 = 12
+8 + 8 = 16
+9 + 2 = 11
+5 - 3 = 2
+5 + 2 = 7
+10 + 4 = 14
+7 - 3 = 4
+5 - 4 = 1
+4 + 3 = 7
+5 + 3 = 8
+6 + 3 = 9
+6 - 5 = 1
+8 - 0 = 8
+2 + 9 = 11
+3 + 6 = 9
+2 + 6 = 8
+5 - 2 = 3
+7 - 4 = 3
+6 + 3 = 9
+3 + 1 = 4
+10 + 0 = 10
+6 + 1 = 7
+5 - 2 = 3
+8 + 5 = 13
+2 - 0 = 2
+8 + 1 = 9
+9 + 2 = 11
+7 + 3 = 10
+10 + 6 = 16
+2 + 2 = 4
+8 - 2 = 6
+7 + 4 = 11
+7 - 3 = 4
+1 + 8 = 9
+3 + 7 = 10
+1 + 1 = 2
+3 + 9 = 12
+9 - 1 = 8
+0 + 2 = 2
+1 + 6 = 7
+5 + 3 = 8
+1 + 8 = 9
+9 + 4 = 13
+9 + 8 = 17
+3 + 3 = 6
+3 - 1 = 2
+5 + 9 = 14
+8 - 2 = 6
+4 + 10 = 14
+7 + 4 = 11
+1 + 9 = 10
+4 - 1 = 3
+1 + 9 = 10
+9 - 8 = 1
+6 - 5 = 1
+1 + 3 = 4
+8 - 1 = 7
+7 - 2 = 5
+7 + 6 = 13
+1 + 10 = 11
+3 + 1 = 4
+7 + 2 = 9
+9 + 9 = 18
+10 - 5 = 5
+10 + 8 = 18
+3 + 0 = 3
+5 - 1 = 4
+3 + 7 = 10
+1 + 6 = 7
+0 + 5 = 5
+2 + 2 = 4
+0 + 1 = 1
+7 + 1 = 8
+7 + 8 = 15
+10 + 1 = 11
+9 - 5 = 4
+7 + 4 = 11
+9 + 8 = 17
+9 - 5 = 4
+10 + 4 = 14
+10 + 5 = 15
+2 + 2 = 4
+6 + 8 = 14
+10 - 1 = 9
+1 + 3 = 4
+8 + 8 = 16
+8 + 4 = 12
+9 + 9 = 18
+9 - 2 = 7
+4 + 6 = 10
+5 + 8 = 13
+5 - 1 = 4
+5 + 3 = 8
+7 + 1 = 8
+2 + 2 = 4
+10 + 3 = 13
+8 + 4 = 12
+6 + 8 = 14
+1 + 8 = 9
+4 - 2 = 2
+2 + 3 = 5
+4 + 0 = 4
+5 + 3 = 8
+8 + 0 = 8
+9 + 2 = 11
+4 + 6 = 10
+7 + 2 = 9
+1 + 8 = 9
+10 + 9 = 19
+4 + 8 = 12
+5 + 7 = 12
+7 - 5 = 2
+1 + 4 = 5
+0 + 2 = 2
+9 + 0 = 9
+1 + 4 = 5
+3 - 0 = 3
+4 + 6 = 10
+9 - 4 = 5
+7 + 4 = 11
+1 + 5 = 6
+8 + 0 = 8
+1 + 6 = 7
+5 + 5 = 10
+5 - 4 = 1
+9 - 5 = 4
+2 + 7 = 9
+9 - 8 = 1
+7 - 6 = 1
+2 + 10 = 12
+3 + 7 = 10
+3 + 8 = 11
+3 + 7 = 10
+2 + 7 = 9
+2 + 5 = 7
+5 + 9 = 14
+9 + 9 = 18
+9 + 10 = 19
+6 + 9 = 15
+5 + 0 = 5
+3 + 8 = 11
+3 + 8 = 11
+3 + 0 = 3
+8 + 3 = 11
+2 + 8 = 10
+2 + 4 = 6
+8 + 3 = 11
+5 + 2 = 7
+1 + 3 = 4
+7 + 9 = 16
+3 + 2 = 5
+1 + 9 = 10
+9 + 9 = 18
+9 + 8 = 17
+1 + 3 = 4
+8 + 9 = 17
+10 - 7 = 3
+5 - 2 = 3
+6 + 5 = 11
+5 + 10 = 15
+7 + 9 = 16
+9 + 1 = 10
+6 - 2 = 4
+9 + 4 = 13
+7 + 5 = 12
+6 + 9 = 15
+6 + 2 = 8
+9 + 7 = 16
+7 - 4 = 3
+9 - 7 = 2
+10 + 3 = 13
+9 - 3 = 6
+8 + 7 = 15
+8 + 1 = 9
+4 - 1 = 3
+5 - 4 = 1
+8 - 4 = 4
+9 + 3 = 12
+2 + 8 = 10
+10 + 1 = 11
+7 + 9 = 16
+1 + 10 = 11
+7 + 7 = 14
+3 + 1 = 4
+2 + 2 = 4
+5 - 2 = 3
+2 + 4 = 6
+0 + 8 = 8
+9 + 3 = 12
+4 + 6 = 10
+4 - 1 = 3
+9 + 2 = 11
+8 + 4 = 12
+1 + 3 = 4
+4 - 1 = 3
+5 - 4 = 1
+4 + 4 = 8
+5 + 6 = 11
+9 - 1 = 8
+9 + 6 = 15
+7 + 6 = 13
+6 - 3 = 3
+2 + 1 = 3
+3 - 2 = 1
+8 + 7 = 15
+0 + 6 = 6
+0 + 7 = 7
+3 + 8 = 11
+4 + 9 = 13
+10 - 2 = 8
+4 + 1 = 5
+5 - 2 = 3
+6 - 1 = 5
+8 - 2 = 6
+8 + 4 = 12
+6 + 7 = 13
+9 + 7 = 16
+9 + 8 = 17
+5 + 6 = 11
+8 + 4 = 12
+3 + 9 = 12
+1 + 1 = 2
+7 - 5 = 2
+8 - 1 = 7
+9 - 3 = 6
+9 - 4 = 5
+4 - 3 = 1
+7 - 1 = 6
+9 - 4 = 5
+1 + 3 = 4
+3 + 2 = 5
+9 + 1 = 10
+5 + 9 = 14
+10 - 2 = 8
+6 + 6 = 12
+9 - 6 = 3
+5 + 4 = 9
+3 - 1 = 2
+5 + 7 = 12
+4 + 7 = 11
+4 + 4 = 8
+0 + 9 = 9
+5 - 3 = 2
+0 + 10 = 10
+10 - 9 = 1
+6 + 0 = 6
+9 - 5 = 4
+8 + 2 = 10
+6 - 0 = 6
+10 + 9 = 19
+3 + 8 = 11
+6 - 5 = 1
+0 + 4 = 4
+5 + 8 = 13
+8 + 2 = 10
+5 + 3 = 8
+9 + 5 = 14
+3 + 1 = 4
+6 - 1 = 5
+7 - 3 = 4
+5 + 0 = 5
+4 + 0 = 4
+9 + 10 = 19
+6 + 1 = 7
+6 - 3 = 3
+4 + 8 = 12
+7 - 6 = 1
+2 - 0 = 2
+8 - 2 = 6
+3 - 0 = 3
+2 + 6 = 8
+4 - 3 = 1
+5 + 3 = 8
+8 - 2 = 6
+4 + 2 = 6
+5 + 8 = 13
+7 - 0 = 7
+8 - 4 = 4
+10 - 8 = 2
+4 - 1 = 3
+9 + 4 = 13
+1 + 5 = 6
+6 + 8 = 14
+8 - 1 = 7
+6 + 9 = 15
+4 + 7 = 11
+2 + 4 = 6
+8 + 3 = 11
+6 + 2 = 8
+4 - 3 = 1
+6 + 2 = 8
+4 + 1 = 5
+2 + 2 = 4
+3 + 6 = 9
+10 + 1 = 11
+8 - 3 = 5
+3 + 8 = 11
+8 + 7 = 15
+8 + 2 = 10
+5 + 6 = 11
+6 - 3 = 3
+5 + 0 = 5
+1 + 8 = 9
+0 + 6 = 6
+5 + 6 = 11
+2 - 1 = 1
+4 + 8 = 12
+4 + 8 = 12
+3 + 3 = 6
+4 + 3 = 7
+10 + 3 = 13
+7 + 2 = 9
+0 + 7 = 7
+9 + 1 = 10
+6 - 2 = 4
+2 + 3 = 5
+2 + 0 = 2
+2 + 5 = 7
+9 - 6 = 3
+9 + 8 = 17
+8 + 4 = 12
+4 + 8 = 12
+2 + 4 = 6
+9 - 2 = 7
+2 + 0 = 2
+10 - 9 = 1
+3 - 2 = 1
+6 + 4 = 10
+5 + 5 = 10
+6 + 3 = 9
+9 - 8 = 1
+7 + 5 = 12
+6 + 10 = 16
+8 + 9 = 17
+8 + 3 = 11
+7 - 4 = 3
+10 + 5 = 15
+7 + 10 = 17
+9 + 4 = 13
+9 - 3 = 6
+7 + 2 = 9
+3 + 5 = 8
+6 + 9 = 15
+9 + 0 = 9
+5 - 0 = 5
+6 - 4 = 2
+8 - 1 = 7
+9 - 4 = 5
+0 + 2 = 2
+5 + 6 = 11
+8 - 2 = 6
+8 + 1 = 9
+2 + 1 = 3
+6 + 0 = 6
+0 + 9 = 9
+3 + 8 = 11
+3 + 5 = 8
+8 - 5 = 3
+8 + 0 = 8
+7 + 0 = 7
+3 + 2 = 5
+7 + 8 = 15
+9 + 3 = 12
+4 - 1 = 3
+8 + 0 = 8
+4 - 1 = 3
+8 - 3 = 5
+10 + 2 = 12
+7 + 10 = 17
+1 + 7 = 8
+8 - 6 = 2
+2 + 3 = 5
+6 + 9 = 15
+1 + 7 = 8
+9 - 6 = 3
+6 + 5 = 11
+4 + 1 = 5
+0 + 5 = 5
+8 - 6 = 2
+4 + 2 = 6
+6 - 4 = 2
+8 + 3 = 11
+1 + 4 = 5
+5 + 0 = 5
+7 + 6 = 13
+4 + 5 = 9
+5 - 3 = 2
+5 + 9 = 14
+3 + 9 = 12
+0 + 5 = 5
+10 + 6 = 16
+2 + 0 = 2
+6 + 7 = 13
+5 - 1 = 4
+8 + 7 = 15
+9 + 4 = 13
+10 - 3 = 7
+10 - 7 = 3
+6 - 2 = 4
+7 + 4 = 11
+8 - 3 = 5
+1 + 6 = 7
+1 + 2 = 3
+9 + 8 = 17
+7 - 2 = 5
+8 + 8 = 16
+1 - 0 = 1
+4 + 6 = 10
+8 + 3 = 11
+2 + 4 = 6
+10 + 8 = 18
+8 + 2 = 10
+2 + 9 = 11
+7 - 4 = 3
+6 + 3 = 9
+4 - 3 = 1
+8 + 3 = 11
+1 + 9 = 10
+4 + 6 = 10
+1 - 0 = 1
+6 - 4 = 2
+10 - 2 = 8
+8 + 7 = 15
+6 + 1 = 7
+8 + 7 = 15
+5 + 8 = 13
+8 + 1 = 9
+9 + 2 = 11
+2 + 7 = 9
+1 + 1 = 2
+10 - 8 = 2
+3 + 2 = 5
+8 - 4 = 4
+7 - 0 = 7
+6 + 1 = 7
+8 + 10 = 18
+9 + 3 = 12
+6 + 3 = 9
+6 + 4 = 10
+2 + 2 = 4
+5 + 2 = 7
+9 + 6 = 15
+7 + 4 = 11
+1 - 0 = 1
+10 - 7 = 3
+6 + 8 = 14
+9 - 7 = 2
+5 + 6 = 11
+1 + 3 = 4
+1 + 4 = 5
+7 + 2 = 9
+3 + 4 = 7
+9 - 2 = 7
+5 - 4 = 1
+7 + 5 = 12
+9 - 2 = 7
+10 + 5 = 15
+2 + 6 = 8
+6 + 1 = 7
+5 + 1 = 6
+5 + 2 = 7
+5 + 10 = 15
+5 + 6 = 11
+4 + 4 = 8
+4 + 4 = 8
+7 - 2 = 5
+8 + 8 = 16
+3 + 3 = 6
+3 + 2 = 5
+7 + 8 = 15
+8 - 6 = 2
+9 + 3 = 12
+4 + 9 = 13
+7 - 5 = 2
+9 - 8 = 1
+3 + 4 = 7
+9 + 4 = 13
+3 - 1 = 2
+5 - 0 = 5
+4 + 1 = 5
+9 - 1 = 8
+8 - 6 = 2
+6 - 5 = 1
+5 + 7 = 12
+5 - 3 = 2
+0 + 5 = 5
+10 - 1 = 9
+10 - 4 = 6
+2 + 6 = 8
+5 - 3 = 2
+7 + 8 = 15
+8 - 2 = 6
+5 + 7 = 12
+8 - 2 = 6
+10 + 2 = 12
+10 - 7 = 3
+7 + 8 = 15
+5 + 9 = 14
+3 + 8 = 11
+7 + 0 = 7
+5 + 6 = 11
+9 - 8 = 1
+9 + 7 = 16
+0 + 3 = 3
+7 - 2 = 5
+3 + 4 = 7
+7 + 3 = 10
+10 + 3 = 13
+3 + 3 = 6
+0 + 8 = 8
+8 - 4 = 4
+8 + 7 = 15
+3 + 3 = 6
+5 + 5 = 10
+6 + 7 = 13
+7 - 6 = 1
+4 - 1 = 3
+10 - 7 = 3
+3 + 5 = 8
+1 + 6 = 7
+6 + 5 = 11
+7 - 4 = 3
+9 + 1 = 10
+3 - 2 = 1
+3 + 8 = 11
+9 - 3 = 6
+9 + 1 = 10
+9 - 2 = 7
+3 + 8 = 11
+6 + 9 = 15
+5 + 3 = 8
+8 - 6 = 2
+9 + 3 = 12
+4 + 5 = 9
+0 + 4 = 4
+2 + 3 = 5
+7 + 5 = 12
+8 + 0 = 8
+6 + 6 = 12
+2 + 9 = 11
+8 + 10 = 18
+5 - 2 = 3
+7 - 1 = 6
+10 + 9 = 19
+5 - 4 = 1
+5 - 3 = 2
+7 + 3 = 10
+3 - 2 = 1
+10 - 3 = 7
+9 - 5 = 4
+3 + 1 = 4
+9 + 7 = 16
+8 - 6 = 2
+6 + 3 = 9
+8 + 2 = 10
+4 + 4 = 8
+1 + 9 = 10
+5 - 3 = 2
+3 + 2 = 5
diff --git a/data/question_files/arithmetic/addsub_p0_0-100.dat b/data/question_files/arithmetic/addsub_p0_0-100.dat
new file mode 100644
index 0000000..aef97e3
--- /dev/null
+++ b/data/question_files/arithmetic/addsub_p0_0-100.dat
@@ -0,0 +1,1000 @@
+92 - 78 = 14
+82 + 96 = 178
+46 - 34 = 12
+79 - 63 = 16
+20 + 24 = 44
+11 + 15 = 26
+26 + 19 = 45
+90 + 51 = 141
+51 + 13 = 64
+90 + 41 = 131
+18 + 91 = 109
+76 + 59 = 135
+85 - 53 = 32
+91 + 92 = 183
+61 + 90 = 151
+16 + 68 = 84
+77 - 68 = 9
+55 + 65 = 120
+11 + 50 = 61
+66 + 0 = 66
+51 - 9 = 42
+73 + 97 = 170
+84 + 54 = 138
+49 + 84 = 133
+10 + 48 = 58
+4 + 33 = 37
+39 + 52 = 91
+72 - 57 = 15
+64 + 62 = 126
+93 + 1 = 94
+23 + 85 = 108
+44 + 49 = 93
+65 + 25 = 90
+1 + 83 = 84
+0 + 73 = 73
+52 + 85 = 137
+57 - 48 = 9
+55 + 84 = 139
+20 + 60 = 80
+69 - 20 = 49
+35 + 16 = 51
+89 + 91 = 180
+24 - 23 = 1
+24 + 54 = 78
+6 + 87 = 93
+6 + 51 = 57
+24 + 26 = 50
+48 + 58 = 106
+10 + 82 = 92
+75 + 46 = 121
+25 - 11 = 14
+48 + 46 = 94
+67 + 9 = 76
+32 + 65 = 97
+74 - 49 = 25
+86 - 80 = 6
+81 - 72 = 9
+66 + 62 = 128
+89 + 99 = 188
+41 - 34 = 7
+45 + 17 = 62
+21 - 10 = 11
+68 - 18 = 50
+54 + 22 = 76
+64 - 46 = 18
+3 + 52 = 55
+86 - 67 = 19
+64 - 35 = 29
+26 + 48 = 74
+92 + 96 = 188
+8 + 87 = 95
+26 - 6 = 20
+98 + 18 = 116
+63 + 90 = 153
+89 - 51 = 38
+63 - 51 = 12
+78 - 64 = 14
+18 + 24 = 42
+29 + 61 = 90
+43 + 77 = 120
+17 - 4 = 13
+88 - 42 = 46
+47 + 65 = 112
+89 + 18 = 107
+82 + 97 = 179
+29 + 66 = 95
+57 + 82 = 139
+96 + 19 = 115
+97 - 1 = 96
+5 + 47 = 52
+82 + 75 = 157
+81 + 59 = 140
+26 + 61 = 87
+95 + 71 = 166
+49 - 7 = 42
+49 + 40 = 89
+58 - 18 = 40
+67 + 35 = 102
+96 - 36 = 60
+66 - 12 = 54
+91 + 56 = 147
+38 + 59 = 97
+40 + 64 = 104
+10 + 99 = 109
+18 - 15 = 3
+31 + 54 = 85
+37 + 50 = 87
+46 + 80 = 126
+74 + 89 = 163
+91 + 19 = 110
+90 + 36 = 126
+52 + 18 = 70
+73 - 58 = 15
+16 + 96 = 112
+55 + 91 = 146
+16 + 30 = 46
+11 + 49 = 60
+14 + 32 = 46
+17 + 51 = 68
+96 + 40 = 136
+56 - 39 = 17
+2 + 23 = 25
+39 - 0 = 39
+76 + 57 = 133
+80 + 27 = 107
+66 + 67 = 133
+69 + 81 = 150
+24 + 42 = 66
+35 - 23 = 12
+16 + 9 = 25
+53 + 17 = 70
+21 + 43 = 64
+64 + 66 = 130
+76 + 22 = 98
+69 + 81 = 150
+17 + 72 = 89
+4 + 86 = 90
+85 - 48 = 37
+95 - 87 = 8
+75 - 66 = 9
+64 + 64 = 128
+42 + 89 = 131
+91 + 8 = 99
+48 + 17 = 65
+6 + 99 = 105
+2 + 14 = 16
+1 + 68 = 69
+28 - 18 = 10
+23 - 12 = 11
+95 + 33 = 128
+73 - 15 = 58
+22 - 9 = 13
+13 + 91 = 104
+22 + 88 = 110
+93 + 1 = 94
+16 + 10 = 26
+64 + 19 = 83
+95 - 23 = 72
+100 + 49 = 149
+71 + 88 = 159
+9 + 4 = 13
+94 + 81 = 175
+51 - 44 = 7
+56 + 52 = 108
+14 - 8 = 6
+23 + 47 = 70
+18 + 4 = 22
+10 + 91 = 101
+67 - 54 = 13
+48 - 30 = 18
+59 + 55 = 114
+13 + 70 = 83
+81 + 73 = 154
+62 + 65 = 127
+50 - 38 = 12
+84 - 2 = 82
+14 + 14 = 28
+2 + 92 = 94
+81 - 73 = 8
+66 + 24 = 90
+72 + 75 = 147
+79 - 78 = 1
+78 - 64 = 14
+95 - 18 = 77
+96 + 22 = 118
+22 + 33 = 55
+17 + 9 = 26
+52 - 3 = 49
+57 + 100 = 157
+34 + 49 = 83
+68 + 36 = 104
+26 + 76 = 102
+56 + 62 = 118
+11 + 55 = 66
+50 - 48 = 2
+4 + 8 = 12
+27 + 42 = 69
+47 + 30 = 77
+39 - 28 = 11
+64 - 29 = 35
+23 + 42 = 65
+95 - 18 = 77
+44 - 35 = 9
+39 + 82 = 121
+38 + 90 = 128
+90 - 3 = 87
+99 - 19 = 80
+78 - 77 = 1
+38 + 92 = 130
+85 - 76 = 9
+27 + 92 = 119
+71 - 23 = 48
+85 + 49 = 134
+48 + 89 = 137
+89 - 52 = 37
+92 - 0 = 92
+17 - 3 = 14
+73 - 25 = 48
+82 + 87 = 169
+49 + 69 = 118
+77 + 70 = 147
+22 + 50 = 72
+100 + 43 = 143
+22 - 11 = 11
+98 - 31 = 67
+83 + 91 = 174
+89 + 26 = 115
+71 - 24 = 47
+65 - 3 = 62
+99 - 67 = 32
+1 + 82 = 83
+40 - 11 = 29
+97 - 13 = 84
+85 + 34 = 119
+64 + 19 = 83
+74 + 23 = 97
+23 + 32 = 55
+44 + 17 = 61
+30 - 21 = 9
+11 + 83 = 94
+91 + 18 = 109
+49 + 56 = 105
+89 + 15 = 104
+87 - 61 = 26
+80 - 6 = 74
+15 + 71 = 86
+18 + 65 = 83
+55 + 31 = 86
+54 - 48 = 6
+100 - 58 = 42
+26 + 84 = 110
+97 + 52 = 149
+6 + 63 = 69
+80 + 31 = 111
+7 + 96 = 103
+33 + 41 = 74
+91 + 97 = 188
+78 + 54 = 132
+44 - 36 = 8
+34 + 71 = 105
+84 + 42 = 126
+36 + 83 = 119
+99 - 9 = 90
+98 - 85 = 13
+58 - 33 = 25
+90 + 54 = 144
+93 - 87 = 6
+72 - 30 = 42
+80 + 22 = 102
+83 - 30 = 53
+12 + 71 = 83
+45 - 10 = 35
+46 + 72 = 118
+85 - 15 = 70
+29 + 53 = 82
+82 - 60 = 22
+85 - 21 = 64
+58 + 85 = 143
+51 + 66 = 117
+5 + 44 = 49
+67 + 14 = 81
+68 + 98 = 166
+90 - 18 = 72
+42 + 67 = 109
+31 + 26 = 57
+98 + 41 = 139
+67 + 47 = 114
+96 - 27 = 69
+31 + 74 = 105
+24 + 36 = 60
+73 + 12 = 85
+39 + 10 = 49
+92 - 28 = 64
+38 + 36 = 74
+95 - 52 = 43
+46 + 1 = 47
+43 + 59 = 102
+35 + 69 = 104
+58 - 29 = 29
+34 - 10 = 24
+16 + 42 = 58
+99 - 38 = 61
+18 + 55 = 73
+82 + 16 = 98
+97 + 90 = 187
+13 + 87 = 100
+20 + 3 = 23
+79 + 7 = 86
+50 + 87 = 137
+65 + 76 = 141
+69 + 90 = 159
+65 + 13 = 78
+6 + 57 = 63
+99 - 46 = 53
+4 + 8 = 12
+6 + 14 = 20
+38 + 86 = 124
+50 + 73 = 123
+73 - 56 = 17
+33 - 2 = 31
+99 + 71 = 170
+22 + 34 = 56
+65 + 72 = 137
+11 + 87 = 98
+91 - 73 = 18
+78 - 66 = 12
+65 - 52 = 13
+54 + 85 = 139
+78 + 34 = 112
+4 + 53 = 57
+82 + 46 = 128
+92 + 44 = 136
+91 + 54 = 145
+38 + 61 = 99
+16 + 52 = 68
+59 + 44 = 103
+84 - 45 = 39
+66 + 19 = 85
+84 + 56 = 140
+54 - 26 = 28
+29 + 49 = 78
+53 - 16 = 37
+21 + 35 = 56
+33 + 7 = 40
+84 + 94 = 178
+49 + 57 = 106
+35 + 52 = 87
+65 + 77 = 142
+99 + 45 = 144
+88 - 3 = 85
+98 - 93 = 5
+30 - 16 = 14
+76 - 45 = 31
+50 - 30 = 20
+61 - 56 = 5
+96 + 84 = 180
+41 + 6 = 47
+94 + 53 = 147
+24 + 55 = 79
+46 + 54 = 100
+93 + 22 = 115
+88 + 97 = 185
+89 + 38 = 127
+74 + 55 = 129
+77 + 99 = 176
+98 - 38 = 60
+100 + 25 = 125
+66 + 50 = 116
+29 + 62 = 91
+81 + 63 = 144
+91 + 47 = 138
+78 + 77 = 155
+31 + 96 = 127
+76 + 56 = 132
+31 + 70 = 101
+74 - 35 = 39
+70 + 27 = 97
+64 + 1 = 65
+79 + 49 = 128
+46 + 21 = 67
+77 + 2 = 79
+85 + 64 = 149
+39 + 0 = 39
+59 + 6 = 65
+11 + 19 = 30
+74 + 50 = 124
+47 - 22 = 25
+3 + 89 = 92
+88 + 76 = 164
+81 + 7 = 88
+89 - 59 = 30
+70 + 77 = 147
+48 + 69 = 117
+89 - 48 = 41
+89 + 30 = 119
+64 + 12 = 76
+27 + 31 = 58
+43 - 23 = 20
+67 - 34 = 33
+97 - 28 = 69
+46 - 16 = 30
+82 - 18 = 64
+84 - 45 = 39
+90 + 24 = 114
+21 + 52 = 73
+56 - 21 = 35
+36 + 32 = 68
+63 + 36 = 99
+2 + 51 = 53
+34 + 67 = 101
+69 - 28 = 41
+34 + 29 = 63
+15 + 100 = 115
+27 + 90 = 117
+40 - 9 = 31
+55 - 25 = 30
+95 - 23 = 72
+69 - 33 = 36
+54 + 99 = 153
+78 - 2 = 76
+7 + 13 = 20
+85 - 27 = 58
+83 + 25 = 108
+56 - 10 = 46
+83 - 12 = 71
+21 + 49 = 70
+64 - 58 = 6
+44 + 98 = 142
+99 - 78 = 21
+33 + 83 = 116
+93 + 42 = 135
+96 + 66 = 162
+30 - 27 = 3
+73 - 37 = 36
+98 - 20 = 78
+27 + 31 = 58
+86 + 88 = 174
+22 + 87 = 109
+78 - 31 = 47
+23 + 75 = 98
+47 + 57 = 104
+55 + 57 = 112
+42 + 54 = 96
+61 + 64 = 125
+79 - 77 = 2
+67 + 80 = 147
+35 - 30 = 5
+47 + 14 = 61
+91 - 45 = 46
+85 - 1 = 84
+63 + 55 = 118
+24 + 4 = 28
+57 + 61 = 118
+59 - 31 = 28
+3 + 25 = 28
+10 + 10 = 20
+93 + 71 = 164
+50 + 28 = 78
+34 + 88 = 122
+18 - 11 = 7
+34 + 89 = 123
+34 - 22 = 12
+93 - 37 = 56
+92 - 42 = 50
+76 + 19 = 95
+79 + 71 = 150
+11 + 27 = 38
+24 + 51 = 75
+8 + 43 = 51
+99 + 64 = 163
+93 - 8 = 85
+95 + 63 = 158
+47 - 6 = 41
+55 + 8 = 63
+7 + 91 = 98
+88 + 7 = 95
+71 + 88 = 159
+29 + 99 = 128
+58 + 21 = 79
+35 + 51 = 86
+21 + 61 = 82
+23 + 97 = 120
+17 + 45 = 62
+89 + 94 = 183
+26 - 20 = 6
+3 + 84 = 87
+79 + 41 = 120
+30 - 10 = 20
+67 - 17 = 50
+72 - 45 = 27
+53 + 79 = 132
+31 + 33 = 64
+15 + 100 = 115
+95 + 37 = 132
+45 + 33 = 78
+75 + 17 = 92
+22 + 65 = 87
+71 - 25 = 46
+62 - 44 = 18
+19 - 1 = 18
+43 - 32 = 11
+8 + 68 = 76
+57 + 6 = 63
+8 + 49 = 57
+11 + 61 = 72
+87 + 18 = 105
+84 + 0 = 84
+32 + 96 = 128
+84 + 12 = 96
+95 - 50 = 45
+86 + 44 = 130
+28 + 61 = 89
+8 + 96 = 104
+78 + 97 = 175
+64 - 27 = 37
+25 + 71 = 96
+68 - 32 = 36
+49 + 74 = 123
+8 + 74 = 82
+64 + 53 = 117
+55 - 53 = 2
+80 + 87 = 167
+48 + 82 = 130
+9 + 48 = 57
+18 + 85 = 103
+73 - 38 = 35
+48 - 23 = 25
+29 + 32 = 61
+93 + 92 = 185
+92 - 18 = 74
+7 + 61 = 68
+43 - 31 = 12
+78 - 1 = 77
+59 - 13 = 46
+40 + 52 = 92
+69 - 31 = 38
+21 - 19 = 2
+86 + 18 = 104
+74 + 46 = 120
+6 + 22 = 28
+85 - 62 = 23
+38 - 7 = 31
+94 + 47 = 141
+23 + 94 = 117
+41 + 3 = 44
+93 - 72 = 21
+38 + 100 = 138
+33 - 32 = 1
+88 + 88 = 176
+8 + 67 = 75
+98 - 39 = 59
+85 - 52 = 33
+58 + 85 = 143
+22 + 39 = 61
+80 + 46 = 126
+14 + 44 = 58
+84 - 17 = 67
+41 - 19 = 22
+45 - 9 = 36
+67 + 29 = 96
+23 + 74 = 97
+60 + 21 = 81
+85 - 82 = 3
+25 + 26 = 51
+43 - 18 = 25
+6 + 9 = 15
+98 - 52 = 46
+58 - 10 = 48
+45 - 8 = 37
+41 + 41 = 82
+6 + 97 = 103
+96 - 29 = 67
+84 + 58 = 142
+71 + 1 = 72
+100 - 47 = 53
+31 + 82 = 113
+42 + 7 = 49
+95 + 4 = 99
+58 + 87 = 145
+38 + 87 = 125
+24 + 30 = 54
+75 + 19 = 94
+38 - 7 = 31
+5 + 69 = 74
+56 + 87 = 143
+19 + 80 = 99
+38 + 29 = 67
+97 - 76 = 21
+20 + 30 = 50
+64 - 56 = 8
+71 + 72 = 143
+94 - 44 = 50
+57 + 58 = 115
+66 - 3 = 63
+58 + 7 = 65
+97 - 35 = 62
+74 + 64 = 138
+19 + 35 = 54
+60 - 4 = 56
+40 - 29 = 11
+99 + 8 = 107
+68 + 42 = 110
+86 + 84 = 170
+52 + 51 = 103
+39 + 1 = 40
+93 + 53 = 146
+42 + 72 = 114
+97 - 92 = 5
+16 + 35 = 51
+89 + 29 = 118
+29 + 15 = 44
+89 + 85 = 174
+54 - 44 = 10
+73 - 54 = 19
+77 - 65 = 12
+19 + 64 = 83
+84 + 39 = 123
+70 + 37 = 107
+7 + 80 = 87
+57 - 1 = 56
+79 - 52 = 27
+24 + 90 = 114
+32 + 71 = 103
+90 + 34 = 124
+91 - 78 = 13
+91 + 91 = 182
+11 + 94 = 105
+90 - 14 = 76
+56 + 16 = 72
+95 + 14 = 109
+89 + 9 = 98
+57 - 53 = 4
+94 - 74 = 20
+75 + 74 = 149
+98 - 28 = 70
+6 + 16 = 22
+87 - 58 = 29
+75 + 47 = 122
+46 + 4 = 50
+80 + 11 = 91
+64 + 64 = 128
+67 + 57 = 124
+21 + 35 = 56
+77 - 1 = 76
+37 - 26 = 11
+63 + 45 = 108
+61 + 8 = 69
+22 + 10 = 32
+67 + 21 = 88
+1 + 14 = 15
+46 + 12 = 58
+5 + 76 = 81
+74 + 44 = 118
+22 + 42 = 64
+94 - 83 = 11
+22 + 5 = 27
+99 - 3 = 96
+54 - 30 = 24
+72 + 62 = 134
+55 + 60 = 115
+79 - 10 = 69
+71 - 15 = 56
+16 + 16 = 32
+64 + 29 = 93
+80 + 67 = 147
+80 + 61 = 141
+8 + 58 = 66
+95 + 71 = 166
+54 - 33 = 21
+23 + 74 = 97
+6 + 68 = 74
+28 - 11 = 17
+66 - 33 = 33
+5 - 4 = 1
+35 + 60 = 95
+20 + 26 = 46
+29 + 13 = 42
+34 + 40 = 74
+24 + 4 = 28
+81 - 32 = 49
+89 - 14 = 75
+11 + 5 = 16
+93 + 26 = 119
+31 + 53 = 84
+63 - 48 = 15
+63 - 7 = 56
+17 + 76 = 93
+86 - 10 = 76
+38 + 48 = 86
+26 + 1 = 27
+18 + 92 = 110
+39 - 26 = 13
+23 + 29 = 52
+33 + 95 = 128
+5 + 88 = 93
+74 + 22 = 96
+27 + 93 = 120
+52 + 69 = 121
+78 - 20 = 58
+84 + 72 = 156
+37 + 87 = 124
+28 + 54 = 82
+45 + 50 = 95
+59 + 57 = 116
+11 + 36 = 47
+67 - 23 = 44
+3 + 8 = 11
+46 + 21 = 67
+39 + 65 = 104
+12 + 43 = 55
+17 - 11 = 6
+77 - 64 = 13
+96 + 3 = 99
+15 + 8 = 23
+96 - 84 = 12
+48 + 14 = 62
+81 + 11 = 92
+91 - 42 = 49
+95 - 15 = 80
+9 + 39 = 48
+62 - 11 = 51
+82 + 19 = 101
+19 + 100 = 119
+81 + 7 = 88
+59 + 70 = 129
+91 - 82 = 9
+15 + 86 = 101
+100 - 63 = 37
+90 + 75 = 165
+59 + 26 = 85
+43 + 86 = 129
+75 - 58 = 17
+77 + 57 = 134
+65 - 59 = 6
+31 + 86 = 117
+34 + 33 = 67
+94 - 22 = 72
+64 + 29 = 93
+85 + 8 = 93
+40 + 9 = 49
+52 - 50 = 2
+32 - 9 = 23
+87 + 94 = 181
+67 + 10 = 77
+97 - 70 = 27
+96 - 28 = 68
+57 - 25 = 32
+52 - 23 = 29
+79 + 52 = 131
+21 + 43 = 64
+27 + 11 = 38
+8 + 64 = 72
+27 + 16 = 43
+8 + 15 = 23
+24 + 98 = 122
+24 + 3 = 27
+72 - 69 = 3
+63 + 90 = 153
+27 + 79 = 106
+29 + 84 = 113
+2 + 72 = 74
+93 + 3 = 96
+83 - 74 = 9
+81 - 9 = 72
+11 + 85 = 96
+34 + 71 = 105
+74 - 58 = 16
+13 + 7 = 20
+55 + 32 = 87
+22 - 9 = 13
+8 + 26 = 34
+79 + 49 = 128
+30 + 29 = 59
+84 - 77 = 7
+51 - 41 = 10
+7 + 88 = 95
+45 + 14 = 59
+87 + 49 = 136
+75 + 92 = 167
+48 + 59 = 107
+87 - 81 = 6
+47 + 2 = 49
+72 - 24 = 48
+79 - 71 = 8
+77 + 77 = 154
+88 + 84 = 172
+49 + 44 = 93
+10 + 59 = 69
+69 + 39 = 108
+39 - 24 = 15
+61 + 81 = 142
+93 - 78 = 15
+69 + 68 = 137
+95 + 28 = 123
+68 - 44 = 24
+52 + 43 = 95
+42 + 61 = 103
+68 - 3 = 65
+84 - 32 = 52
+74 + 43 = 117
+38 + 21 = 59
+58 + 89 = 147
+59 - 1 = 58
+15 + 28 = 43
+33 + 78 = 111
+94 + 40 = 134
+56 - 10 = 46
+32 + 19 = 51
+87 + 49 = 136
+69 + 7 = 76
+39 + 94 = 133
+87 + 80 = 167
+18 + 76 = 94
+88 - 30 = 58
+97 + 65 = 162
+84 - 41 = 43
+57 - 32 = 25
+24 + 13 = 37
+46 + 58 = 104
+88 + 33 = 121
+58 - 35 = 23
+11 + 52 = 63
+69 - 50 = 19
+40 - 17 = 23
+73 + 97 = 170
+28 + 32 = 60
+7 + 23 = 30
+70 - 42 = 28
+16 + 85 = 101
+30 + 26 = 56
+66 + 67 = 133
+87 + 97 = 184
+53 - 30 = 23
+72 - 29 = 43
+63 + 43 = 106
+71 - 20 = 51
+61 - 45 = 16
+95 + 86 = 181
+83 - 64 = 19
+77 + 13 = 90
+65 - 44 = 21
+61 + 97 = 158
+62 - 51 = 11
+46 - 29 = 17
+74 - 55 = 19
+71 + 50 = 121
+39 - 16 = 23
+70 + 63 = 133
+12 + 16 = 28
+97 + 49 = 146
+43 + 56 = 99
+38 + 33 = 71
+23 + 32 = 55
+99 - 45 = 54
+68 - 50 = 18
+97 + 89 = 186
+96 + 10 = 106
+55 + 48 = 103
+39 - 37 = 2
+99 + 71 = 170
+53 + 86 = 139
+99 - 6 = 93
+2 + 59 = 61
+82 - 1 = 81
+51 + 93 = 144
+38 + 17 = 55
+38 + 59 = 97
+97 - 19 = 78
+78 - 51 = 27
+58 - 49 = 9
+60 + 96 = 156
+81 - 70 = 11
+0 + 29 = 29
+67 + 91 = 158
+29 + 33 = 62
+71 - 27 = 44
+81 - 13 = 68
+31 - 12 = 19
+31 - 1 = 30
+85 - 47 = 38
+69 + 7 = 76
+9 + 80 = 89
+64 - 53 = 11
+78 - 43 = 35
+64 + 84 = 148
+98 - 76 = 22
+18 - 7 = 11
+5 + 15 = 20
+58 + 65 = 123
+51 + 11 = 62
+19 + 69 = 88
+97 + 58 = 155
+51 - 8 = 43
+71 - 64 = 7
+41 - 27 = 14
+80 + 16 = 96
+84 + 68 = 152
+78 - 31 = 47
+40 + 70 = 110
+38 - 25 = 13
+9 + 60 = 69
+63 + 36 = 99
+4 + 1 = 5
+94 - 60 = 34
+81 - 27 = 54
+50 + 29 = 79
+61 + 59 = 120
+64 - 8 = 56
+69 + 34 = 103
+35 + 46 = 81
+43 - 25 = 18
+47 + 72 = 119
+1 + 97 = 98
+68 - 19 = 49
+41 + 19 = 60
+55 - 37 = 18
+21 + 47 = 68
+77 - 68 = 9
+12 + 10 = 22
+54 + 85 = 139
+43 + 53 = 96
+73 - 15 = 58
+90 + 43 = 133
+79 - 1 = 78
+75 - 30 = 45
+95 - 56 = 39
+47 - 36 = 11
+13 + 68 = 81
+99 + 49 = 148
+20 - 5 = 15
+67 - 15 = 52
+37 + 63 = 100
+17 + 16 = 33
+54 - 22 = 32
+31 + 7 = 38
+32 + 46 = 78
+52 - 4 = 48
+58 + 41 = 99
+6 + 14 = 20
+73 - 55 = 18
+100 + 28 = 128
+82 - 27 = 55
+34 + 3 = 37
+5 + 67 = 72
+44 + 66 = 110
+26 + 44 = 70
+68 - 31 = 37
+98 - 88 = 10
+29 + 41 = 70
+12 + 56 = 68
+49 - 16 = 33
+79 - 52 = 27
+58 + 98 = 156
+93 - 17 = 76
+49 + 8 = 57
+21 + 86 = 107
+43 - 31 = 12
+15 + 83 = 98
+93 - 1 = 92
+69 + 95 = 164
+25 - 10 = 15
+16 + 84 = 100
+94 + 65 = 159
+85 - 23 = 62
+69 + 88 = 157
+51 + 79 = 130
+79 + 27 = 106
+55 + 26 = 81
+19 + 35 = 54
+2 + 32 = 34
+79 + 41 = 120
+80 + 94 = 174
+99 - 70 = 29
+54 + 96 = 150
+14 + 38 = 52
+64 + 70 = 134
+39 + 13 = 52
+74 - 66 = 8
+11 + 16 = 27
+96 + 8 = 104
+86 + 55 = 141
+87 - 75 = 12
+98 + 95 = 193
+96 + 28 = 124
+88 - 57 = 31
+38 + 40 = 78
+14 + 33 = 47
+81 + 78 = 159
+15 + 11 = 26
+17 + 3 = 20
+53 - 9 = 44
+42 - 18 = 24
+42 - 8 = 34
+35 + 12 = 47
+33 + 62 = 95
+20 + 11 = 31
+52 + 79 = 131
+3 + 63 = 66
+86 + 78 = 164
+79 + 76 = 155
diff --git a/data/question_files/arithmetic/allops_p0_0-10.dat b/data/question_files/arithmetic/allops_p0_0-10.dat
new file mode 100644
index 0000000..38ceb53
--- /dev/null
+++ b/data/question_files/arithmetic/allops_p0_0-10.dat
@@ -0,0 +1,1000 @@
+40 / 10 = 4
+35 / 5 = 7
+63 / 9 = 7
+3 + 7 = 10
+1 + 6 = 7
+3 + 0 = 3
+8 + 9 = 17
+4 - 3 = 1
+5 + 0 = 5
+7 / 7 = 1
+12 / 2 = 6
+9 - 1 = 8
+6 / 2 = 3
+42 / 6 = 7
+9 - 1 = 8
+9 / 9 = 1
+2 x 5 = 10
+3 + 8 = 11
+1 x 5 = 5
+27 / 9 = 3
+7 - 6 = 1
+4 - 1 = 3
+9 x 9 = 81
+6 x 2 = 12
+1 + 3 = 4
+7 - 6 = 1
+70 / 7 = 10
+21 / 3 = 7
+7 x 8 = 56
+2 / 1 = 2
+36 / 6 = 6
+6 x 3 = 18
+27 / 3 = 9
+10 + 10 = 20
+1 x 3 = 3
+2 x 3 = 6
+7 + 6 = 13
+6 x 6 = 36
+5 + 7 = 12
+3 x 3 = 9
+36 / 9 = 4
+9 / 9 = 1
+8 + 2 = 10
+1 + 8 = 9
+14 / 2 = 7
+9 + 7 = 16
+9 - 5 = 4
+8 + 9 = 17
+8 x 9 = 72
+7 / 1 = 7
+28 / 4 = 7
+2 x 3 = 6
+5 - 1 = 4
+16 / 4 = 4
+1 x 9 = 9
+1 + 10 = 11
+9 x 2 = 18
+30 / 5 = 6
+7 x 8 = 56
+6 x 1 = 6
+8 - 2 = 6
+4 - 0 = 4
+5 x 4 = 20
+6 + 0 = 6
+8 x 3 = 24
+2 + 8 = 10
+3 - 1 = 2
+4 + 10 = 14
+1 x 7 = 7
+7 + 4 = 11
+7 - 6 = 1
+4 x 4 = 16
+3 - 2 = 1
+7 x 7 = 49
+10 + 8 = 18
+3 / 1 = 3
+0 + 6 = 6
+9 + 9 = 18
+3 - 1 = 2
+7 - 1 = 6
+7 - 4 = 3
+8 - 3 = 5
+72 / 9 = 8
+7 - 1 = 6
+9 + 2 = 11
+30 / 3 = 10
+10 / 5 = 2
+6 / 3 = 2
+1 + 2 = 3
+9 x 2 = 18
+6 / 2 = 3
+3 x 5 = 15
+7 x 9 = 63
+2 / 2 = 1
+9 / 3 = 3
+9 / 1 = 9
+27 / 9 = 3
+10 - 6 = 4
+14 / 7 = 2
+54 / 9 = 6
+0 + 2 = 2
+6 + 0 = 6
+7 + 1 = 8
+9 x 2 = 18
+0 + 2 = 2
+9 x 1 = 9
+5 + 5 = 10
+6 + 10 = 16
+14 / 7 = 2
+64 / 8 = 8
+3 x 6 = 18
+8 / 8 = 1
+56 / 8 = 7
+8 x 7 = 56
+8 - 4 = 4
+4 x 4 = 16
+4 x 3 = 12
+42 / 6 = 7
+4 + 5 = 9
+5 x 5 = 25
+6 x 2 = 12
+1 x 8 = 8
+8 - 3 = 5
+4 / 2 = 2
+6 x 4 = 24
+3 x 4 = 12
+7 + 4 = 11
+7 + 5 = 12
+49 / 7 = 7
+36 / 4 = 9
+30 / 5 = 6
+9 - 1 = 8
+9 - 0 = 9
+9 + 2 = 11
+5 + 7 = 12
+15 / 3 = 5
+1 + 3 = 4
+6 + 1 = 7
+10 / 1 = 10
+9 / 9 = 1
+24 / 3 = 8
+9 x 3 = 27
+9 + 3 = 12
+20 / 2 = 10
+36 / 6 = 6
+4 x 7 = 28
+8 x 4 = 32
+28 / 4 = 7
+40 / 4 = 10
+5 + 9 = 14
+10 x 1 = 10
+45 / 9 = 5
+6 + 0 = 6
+8 / 1 = 8
+5 x 9 = 45
+1 x 2 = 2
+6 / 2 = 3
+0 + 7 = 7
+7 + 4 = 11
+30 / 6 = 5
+8 x 4 = 32
+5 x 1 = 5
+5 - 4 = 1
+5 + 5 = 10
+60 / 10 = 6
+4 x 7 = 28
+10 + 6 = 16
+2 + 1 = 3
+6 - 1 = 5
+42 / 7 = 6
+5 + 2 = 7
+9 - 4 = 5
+2 x 6 = 12
+1 / 1 = 1
+90 / 9 = 10
+8 + 6 = 14
+21 / 7 = 3
+10 + 8 = 18
+1 x 1 = 1
+0 + 5 = 5
+4 + 3 = 7
+7 + 7 = 14
+7 x 4 = 28
+10 - 0 = 10
+5 - 4 = 1
+2 x 3 = 6
+56 / 8 = 7
+0 + 5 = 5
+1 x 2 = 2
+1 x 8 = 8
+3 x 2 = 6
+6 + 5 = 11
+4 + 3 = 7
+6 x 8 = 48
+30 / 5 = 6
+5 + 6 = 11
+56 / 7 = 8
+5 / 1 = 5
+4 + 9 = 13
+12 / 2 = 6
+7 - 2 = 5
+7 - 2 = 5
+1 + 7 = 8
+2 + 8 = 10
+30 / 10 = 3
+16 / 2 = 8
+9 x 4 = 36
+5 - 3 = 2
+54 / 9 = 6
+45 / 5 = 9
+3 x 2 = 6
+4 x 5 = 20
+14 / 2 = 7
+2 x 1 = 2
+3 + 2 = 5
+49 / 7 = 7
+9 x 4 = 36
+2 x 1 = 2
+3 x 1 = 3
+1 + 8 = 9
+4 + 2 = 6
+4 / 2 = 2
+8 + 1 = 9
+8 x 8 = 64
+30 / 5 = 6
+48 / 6 = 8
+5 - 0 = 5
+9 / 9 = 1
+5 x 7 = 35
+6 / 2 = 3
+8 - 5 = 3
+10 / 2 = 5
+3 + 6 = 9
+2 + 6 = 8
+9 + 2 = 11
+6 + 8 = 14
+2 x 5 = 10
+10 / 5 = 2
+5 / 5 = 1
+7 + 10 = 17
+7 + 8 = 15
+12 / 2 = 6
+3 + 2 = 5
+9 - 3 = 6
+10 + 7 = 17
+5 x 4 = 20
+6 x 8 = 48
+8 - 4 = 4
+4 - 1 = 3
+1 x 7 = 7
+1 x 4 = 4
+20 / 5 = 4
+2 x 7 = 14
+8 - 1 = 7
+16 / 2 = 8
+3 x 4 = 12
+4 - 3 = 1
+4 + 2 = 6
+16 / 4 = 4
+6 - 4 = 2
+24 / 8 = 3
+3 / 3 = 1
+5 + 8 = 13
+10 x 6 = 60
+4 / 4 = 1
+4 + 6 = 10
+1 - 0 = 1
+18 / 9 = 2
+1 x 3 = 3
+1 + 3 = 4
+18 / 3 = 6
+6 x 7 = 42
+9 x 9 = 81
+0 + 2 = 2
+10 + 8 = 18
+27 / 3 = 9
+70 / 10 = 7
+4 x 3 = 12
+8 - 0 = 8
+72 / 9 = 8
+2 + 9 = 11
+7 - 0 = 7
+36 / 6 = 6
+5 + 1 = 6
+9 - 8 = 1
+4 - 2 = 2
+2 / 1 = 2
+6 x 6 = 36
+0 + 6 = 6
+6 x 10 = 60
+3 x 6 = 18
+9 - 3 = 6
+9 + 6 = 15
+8 + 5 = 13
+10 x 2 = 20
+9 - 5 = 4
+20 / 5 = 4
+6 / 3 = 2
+5 + 3 = 8
+81 / 9 = 9
+7 x 7 = 49
+5 + 3 = 8
+4 - 0 = 4
+10 - 7 = 3
+1 + 9 = 10
+45 / 5 = 9
+6 x 3 = 18
+20 / 2 = 10
+2 + 1 = 3
+6 + 3 = 9
+9 - 7 = 2
+7 - 2 = 5
+7 - 2 = 5
+60 / 10 = 6
+60 / 6 = 10
+9 + 2 = 11
+16 / 4 = 4
+4 + 6 = 10
+20 / 5 = 4
+5 - 4 = 1
+0 + 6 = 6
+6 x 10 = 60
+63 / 7 = 9
+10 + 10 = 20
+8 x 4 = 32
+4 / 1 = 4
+1 + 3 = 4
+8 - 5 = 3
+3 x 5 = 15
+0 + 2 = 2
+1 x 9 = 9
+5 x 5 = 25
+1 x 5 = 5
+2 x 7 = 14
+9 + 1 = 10
+3 x 9 = 27
+5 + 9 = 14
+70 / 10 = 7
+5 x 7 = 35
+8 / 2 = 4
+8 + 10 = 18
+9 + 6 = 15
+6 / 3 = 2
+7 + 6 = 13
+42 / 7 = 6
+30 / 5 = 6
+36 / 6 = 6
+10 - 5 = 5
+16 / 4 = 4
+7 / 1 = 7
+18 / 2 = 9
+3 + 4 = 7
+8 x 8 = 64
+2 + 9 = 11
+6 - 4 = 2
+3 + 2 = 5
+8 / 8 = 1
+5 / 5 = 1
+5 x 4 = 20
+7 + 5 = 12
+80 / 10 = 8
+8 + 1 = 9
+1 x 9 = 9
+4 + 1 = 5
+9 + 3 = 12
+9 x 2 = 18
+42 / 6 = 7
+8 x 8 = 64
+1 + 0 = 1
+6 + 4 = 10
+5 x 4 = 20
+6 + 1 = 7
+15 / 3 = 5
+8 - 4 = 4
+3 + 8 = 11
+3 + 9 = 12
+6 + 1 = 7
+10 + 10 = 20
+6 / 6 = 1
+2 x 8 = 16
+6 / 2 = 3
+10 - 1 = 9
+6 x 2 = 12
+40 / 8 = 5
+1 + 4 = 5
+9 - 6 = 3
+5 + 1 = 6
+10 + 2 = 12
+5 x 1 = 5
+2 + 5 = 7
+7 + 5 = 12
+7 / 1 = 7
+7 + 7 = 14
+6 x 2 = 12
+2 + 9 = 11
+8 + 3 = 11
+1 x 9 = 9
+4 + 8 = 12
+7 / 1 = 7
+64 / 8 = 8
+9 + 1 = 10
+2 x 6 = 12
+1 x 3 = 3
+6 / 6 = 1
+42 / 7 = 6
+8 / 2 = 4
+7 / 7 = 1
+2 x 3 = 6
+18 / 6 = 3
+9 - 0 = 9
+5 / 1 = 5
+7 + 8 = 15
+10 - 3 = 7
+8 / 2 = 4
+9 / 3 = 3
+1 x 6 = 6
+5 + 2 = 7
+36 / 6 = 6
+30 / 5 = 6
+3 + 9 = 12
+2 + 7 = 9
+7 - 4 = 3
+9 / 1 = 9
+5 + 4 = 9
+7 x 7 = 49
+40 / 8 = 5
+4 / 4 = 1
+9 + 8 = 17
+1 x 10 = 10
+6 - 1 = 5
+6 + 1 = 7
+4 x 3 = 12
+4 x 7 = 28
+2 + 8 = 10
+7 x 5 = 35
+35 / 5 = 7
+18 / 3 = 6
+1 + 5 = 6
+3 / 3 = 1
+21 / 7 = 3
+7 - 6 = 1
+9 x 5 = 45
+40 / 8 = 5
+27 / 3 = 9
+6 x 5 = 30
+6 / 1 = 6
+4 x 9 = 36
+9 - 0 = 9
+8 + 9 = 17
+2 + 4 = 6
+3 x 7 = 21
+8 x 7 = 56
+63 / 9 = 7
+3 + 2 = 5
+10 + 9 = 19
+6 / 2 = 3
+6 / 6 = 1
+3 x 6 = 18
+5 + 5 = 10
+48 / 6 = 8
+5 + 2 = 7
+4 + 3 = 7
+36 / 4 = 9
+5 x 9 = 45
+6 + 0 = 6
+8 / 4 = 2
+24 / 6 = 4
+36 / 9 = 4
+6 - 1 = 5
+9 - 7 = 2
+9 + 8 = 17
+8 x 3 = 24
+32 / 4 = 8
+9 + 9 = 18
+7 - 4 = 3
+9 - 6 = 3
+40 / 8 = 5
+24 / 8 = 3
+3 x 6 = 18
+16 / 2 = 8
+20 / 5 = 4
+3 x 8 = 24
+5 - 2 = 3
+42 / 6 = 7
+1 + 5 = 6
+8 / 1 = 8
+5 + 4 = 9
+6 + 9 = 15
+1 x 8 = 8
+9 + 9 = 18
+15 / 5 = 3
+9 + 4 = 13
+1 x 3 = 3
+6 x 9 = 54
+10 x 8 = 80
+6 x 2 = 12
+1 + 8 = 9
+4 / 1 = 4
+9 x 2 = 18
+4 + 4 = 8
+1 x 1 = 1
+8 + 3 = 11
+5 + 3 = 8
+5 x 8 = 40
+7 x 1 = 7
+4 - 2 = 2
+32 / 8 = 4
+45 / 5 = 9
+5 - 0 = 5
+8 + 8 = 16
+3 + 9 = 12
+6 + 3 = 9
+9 x 5 = 45
+10 x 7 = 70
+10 / 10 = 1
+8 + 5 = 13
+9 x 7 = 63
+5 x 7 = 35
+30 / 6 = 5
+6 x 9 = 54
+10 / 5 = 2
+20 / 4 = 5
+12 / 3 = 4
+36 / 9 = 4
+9 x 6 = 54
+6 - 1 = 5
+42 / 6 = 7
+10 / 2 = 5
+4 + 1 = 5
+1 + 5 = 6
+1 x 6 = 6
+8 x 9 = 72
+8 + 3 = 11
+4 x 6 = 24
+6 / 2 = 3
+3 / 1 = 3
+8 + 4 = 12
+6 x 3 = 18
+2 + 2 = 4
+10 x 1 = 10
+7 + 3 = 10
+7 + 8 = 15
+6 - 2 = 4
+9 + 3 = 12
+2 + 5 = 7
+36 / 9 = 4
+9 x 6 = 54
+1 x 6 = 6
+3 + 5 = 8
+2 + 1 = 3
+9 / 3 = 3
+1 + 8 = 9
+9 / 3 = 3
+8 x 10 = 80
+3 + 8 = 11
+9 + 6 = 15
+8 - 5 = 3
+1 x 9 = 9
+1 x 2 = 2
+6 + 5 = 11
+6 x 10 = 60
+7 - 5 = 2
+30 / 10 = 3
+9 - 5 = 4
+6 + 4 = 10
+4 + 7 = 11
+4 x 9 = 36
+2 - 1 = 1
+8 x 2 = 16
+16 / 8 = 2
+9 - 4 = 5
+4 x 9 = 36
+1 x 9 = 9
+6 x 3 = 18
+18 / 6 = 3
+6 - 1 = 5
+42 / 7 = 6
+9 - 8 = 1
+3 x 6 = 18
+10 x 9 = 90
+60 / 10 = 6
+3 + 3 = 6
+6 x 4 = 24
+0 + 2 = 2
+14 / 2 = 7
+7 / 1 = 7
+10 x 9 = 90
+36 / 4 = 9
+6 + 3 = 9
+9 - 7 = 2
+10 x 6 = 60
+7 x 5 = 35
+5 + 0 = 5
+10 - 4 = 6
+8 - 4 = 4
+4 x 9 = 36
+2 + 6 = 8
+5 + 7 = 12
+24 / 3 = 8
+7 + 4 = 11
+3 - 2 = 1
+6 + 7 = 13
+1 x 7 = 7
+10 + 6 = 16
+9 + 5 = 14
+72 / 9 = 8
+0 + 3 = 3
+3 + 9 = 12
+5 - 4 = 1
+24 / 8 = 3
+10 x 7 = 70
+7 x 1 = 7
+8 / 1 = 8
+3 + 4 = 7
+1 + 9 = 10
+40 / 8 = 5
+2 x 4 = 8
+8 x 9 = 72
+5 - 4 = 1
+28 / 4 = 7
+5 + 2 = 7
+5 / 5 = 1
+8 + 10 = 18
+36 / 9 = 4
+9 - 3 = 6
+9 + 9 = 18
+6 - 0 = 6
+36 / 9 = 4
+1 x 3 = 3
+7 + 3 = 10
+9 + 7 = 16
+3 + 5 = 8
+3 x 4 = 12
+2 x 1 = 2
+2 x 7 = 14
+27 / 9 = 3
+9 x 3 = 27
+1 x 3 = 3
+28 / 4 = 7
+6 / 2 = 3
+36 / 4 = 9
+14 / 2 = 7
+7 x 9 = 63
+15 / 5 = 3
+6 - 3 = 3
+9 - 6 = 3
+6 x 5 = 30
+7 + 7 = 14
+2 + 7 = 9
+4 + 2 = 6
+9 x 3 = 27
+8 x 9 = 72
+4 + 9 = 13
+8 - 4 = 4
+3 + 3 = 6
+30 / 3 = 10
+4 + 0 = 4
+9 / 1 = 9
+10 / 1 = 10
+12 / 3 = 4
+7 - 4 = 3
+48 / 6 = 8
+3 x 8 = 24
+1 - 0 = 1
+24 / 8 = 3
+6 - 3 = 3
+5 + 9 = 14
+8 / 1 = 8
+30 / 6 = 5
+1 / 1 = 1
+5 + 8 = 13
+6 x 9 = 54
+5 + 7 = 12
+5 + 6 = 11
+8 + 7 = 15
+8 / 2 = 4
+10 + 2 = 12
+8 - 5 = 3
+1 x 6 = 6
+10 + 7 = 17
+10 x 2 = 20
+6 - 4 = 2
+9 - 2 = 7
+10 - 6 = 4
+12 / 2 = 6
+0 + 3 = 3
+6 / 2 = 3
+6 + 0 = 6
+6 / 1 = 6
+14 / 2 = 7
+90 / 9 = 10
+9 x 2 = 18
+9 x 6 = 54
+32 / 4 = 8
+9 - 1 = 8
+6 x 2 = 12
+5 x 8 = 40
+2 x 5 = 10
+4 x 8 = 32
+4 x 1 = 4
+24 / 3 = 8
+8 / 2 = 4
+2 x 5 = 10
+3 / 3 = 1
+10 x 8 = 80
+7 + 1 = 8
+7 - 2 = 5
+5 / 1 = 5
+3 + 3 = 6
+56 / 8 = 7
+4 x 1 = 4
+5 + 2 = 7
+5 + 2 = 7
+10 + 1 = 11
+4 + 9 = 13
+9 - 4 = 5
+3 + 10 = 13
+54 / 6 = 9
+8 - 6 = 2
+4 + 1 = 5
+5 + 9 = 14
+70 / 10 = 7
+8 - 3 = 5
+63 / 7 = 9
+7 - 2 = 5
+3 / 1 = 3
+6 x 4 = 24
+2 + 4 = 6
+3 / 3 = 1
+16 / 4 = 4
+9 + 0 = 9
+4 x 5 = 20
+50 / 10 = 5
+4 x 4 = 16
+40 / 8 = 5
+45 / 5 = 9
+2 + 5 = 7
+5 - 3 = 2
+35 / 5 = 7
+2 / 2 = 1
+24 / 6 = 4
+10 - 1 = 9
+5 x 1 = 5
+6 - 2 = 4
+5 + 10 = 15
+6 x 8 = 48
+8 + 8 = 16
+7 - 5 = 2
+8 + 7 = 15
+4 x 9 = 36
+8 + 5 = 13
+25 / 5 = 5
+6 - 1 = 5
+5 x 6 = 30
+3 x 4 = 12
+4 x 1 = 4
+15 / 3 = 5
+1 x 9 = 9
+2 + 5 = 7
+7 + 6 = 13
+30 / 6 = 5
+7 - 5 = 2
+42 / 6 = 7
+4 x 5 = 20
+2 + 10 = 12
+6 x 1 = 6
+4 + 5 = 9
+10 - 2 = 8
+30 / 6 = 5
+15 / 5 = 3
+7 x 8 = 56
+4 + 4 = 8
+4 + 10 = 14
+9 + 5 = 14
+5 + 7 = 12
+8 x 10 = 80
+0 + 3 = 3
+0 + 5 = 5
+7 + 8 = 15
+9 - 2 = 7
+10 x 2 = 20
+1 + 10 = 11
+9 / 1 = 9
+18 / 6 = 3
+8 + 6 = 14
+7 - 4 = 3
+1 / 1 = 1
+9 + 5 = 14
+10 x 7 = 70
+1 / 1 = 1
+16 / 4 = 4
+2 + 4 = 6
+10 + 10 = 20
+2 x 9 = 18
+8 - 6 = 2
+4 x 2 = 8
+10 / 1 = 10
+6 - 4 = 2
+10 x 3 = 30
+3 - 2 = 1
+2 + 2 = 4
+6 x 5 = 30
+8 + 8 = 16
+4 + 3 = 7
+4 x 9 = 36
+7 - 5 = 2
+10 x 10 = 100
+10 - 1 = 9
+60 / 6 = 10
+3 + 1 = 4
+8 - 1 = 7
+5 / 5 = 1
+10 x 6 = 60
+2 x 6 = 12
+10 - 0 = 10
+8 / 4 = 2
+7 x 5 = 35
+6 + 5 = 11
+2 + 1 = 3
+3 - 0 = 3
+4 x 2 = 8
+1 - 0 = 1
+5 x 8 = 40
+9 - 1 = 8
+6 x 8 = 48
+7 x 4 = 28
+7 - 5 = 2
+2 x 7 = 14
+3 / 1 = 3
+7 + 8 = 15
+7 / 1 = 7
+7 x 7 = 49
+9 x 5 = 45
+5 + 9 = 14
+7 + 0 = 7
+4 + 5 = 9
+4 + 4 = 8
+3 x 1 = 3
+36 / 4 = 9
+9 x 3 = 27
+1 x 8 = 8
+4 - 2 = 2
+4 x 6 = 24
+7 x 6 = 42
+9 + 7 = 16
+60 / 10 = 6
+8 / 2 = 4
+3 x 5 = 15
+4 x 9 = 36
+40 / 5 = 8
+5 + 9 = 14
+3 x 3 = 9
+4 x 7 = 28
+4 + 8 = 12
+9 x 10 = 90
+6 + 3 = 9
+9 - 2 = 7
+1 + 8 = 9
+24 / 8 = 3
+12 / 4 = 3
+24 / 6 = 4
+8 x 9 = 72
+5 + 10 = 15
+5 x 7 = 35
+8 - 2 = 6
+3 x 9 = 27
+9 x 1 = 9
+6 + 7 = 13
+40 / 4 = 10
+8 x 1 = 8
+1 - 0 = 1
+1 + 6 = 7
+7 + 3 = 10
+2 + 8 = 10
+6 x 6 = 36
+1 + 8 = 9
+5 / 1 = 5
+8 + 0 = 8
+20 / 5 = 4
+7 x 8 = 56
+9 + 8 = 17
+7 / 7 = 1
+10 / 2 = 5
+3 + 10 = 13
+2 + 9 = 11
+1 + 7 = 8
+5 - 2 = 3
+28 / 4 = 7
+1 x 2 = 2
+9 x 1 = 9
+4 x 8 = 32
+1 + 3 = 4
+36 / 6 = 6
+36 / 4 = 9
+2 + 6 = 8
+4 / 1 = 4
+6 + 6 = 12
+21 / 7 = 3
+8 + 3 = 11
+9 + 0 = 9
+4 x 9 = 36
+1 x 8 = 8
+3 + 1 = 4
+5 + 9 = 14
+3 - 2 = 1
+5 - 4 = 1
+36 / 9 = 4
+4 / 4 = 1
+40 / 8 = 5
+2 x 7 = 14
+4 x 7 = 28
+5 x 4 = 20
+5 x 8 = 40
+27 / 9 = 3
+9 - 5 = 4
+2 + 8 = 10
+3 + 2 = 5
+3 + 6 = 9
+5 + 7 = 12
+8 + 1 = 9
+9 + 1 = 10
+6 x 1 = 6
+7 x 8 = 56
+5 - 4 = 1
+9 x 3 = 27
+9 x 9 = 81
+64 / 8 = 8
+8 / 4 = 2
+9 + 7 = 16
+10 - 9 = 1
+4 + 1 = 5
+1 x 1 = 1
+7 + 7 = 14
+9 x 6 = 54
+2 + 5 = 7
+8 - 0 = 8
+16 / 2 = 8
+16 / 2 = 8
+1 / 1 = 1
+6 x 7 = 42
+1 x 8 = 8
+4 + 10 = 14
+4 x 1 = 4
+12 / 2 = 6
+16 / 2 = 8
+20 / 5 = 4
+8 + 3 = 11
+49 / 7 = 7
+2 + 9 = 11
+7 + 9 = 16
+8 / 8 = 1
+10 x 3 = 30
+4 + 5 = 9
+36 / 9 = 4
+6 - 3 = 3
+4 + 2 = 6
+6 x 8 = 48
+16 / 8 = 2
+4 + 4 = 8
+2 - 0 = 2
+5 x 4 = 20
+2 x 9 = 18
+30 / 5 = 6
+3 / 3 = 1
+27 / 3 = 9
+9 - 1 = 8
+0 + 5 = 5
+7 + 3 = 10
+24 / 3 = 8
+3 + 6 = 9
+9 x 1 = 9
+8 - 6 = 2
+7 + 9 = 16
+90 / 10 = 9
+27 / 3 = 9
+4 + 2 = 6
+9 x 1 = 9
+9 + 8 = 17
+1 + 9 = 10
+63 / 7 = 9
+5 x 5 = 25
+1 x 3 = 3
+6 - 4 = 2
+6 x 3 = 18
+7 x 6 = 42
+6 + 8 = 14
+10 + 5 = 15
+40 / 10 = 4
+18 / 3 = 6
+1 / 1 = 1
+6 + 10 = 16
+7 + 8 = 15
+3 + 7 = 10
+8 x 5 = 40
+40 / 10 = 4
+3 x 5 = 15
+3 + 9 = 12
+8 x 9 = 72
+24 / 8 = 3
+6 x 1 = 6
diff --git a/data/question_files/arithmetic/allops_p0_0-100.dat b/data/question_files/arithmetic/allops_p0_0-100.dat
new file mode 100644
index 0000000..a81f61b
--- /dev/null
+++ b/data/question_files/arithmetic/allops_p0_0-100.dat
@@ -0,0 +1,1000 @@
+7802 / 83 = 94
+44 - 4 = 40
+8544 / 96 = 89
+58 + 18 = 76
+5015 / 59 = 85
+1 + 4 = 5
+71 x 6 = 426
+39 + 38 = 77
+1 x 95 = 95
+50 / 5 = 10
+35 + 17 = 52
+90 - 65 = 25
+62 x 40 = 2480
+3840 / 96 = 40
+82 - 4 = 78
+59 + 46 = 105
+93 x 11 = 1023
+36 - 22 = 14
+3478 / 94 = 37
+10 + 84 = 94
+100 / 5 = 20
+64 - 42 = 22
+6 + 93 = 99
+13 + 68 = 81
+87 - 9 = 78
+15 + 11 = 26
+76 - 58 = 18
+65 - 1 = 64
+50 x 1 = 50
+2800 / 80 = 35
+49 - 18 = 31
+24 - 9 = 15
+55 x 38 = 2090
+80 - 59 = 21
+3416 / 61 = 56
+37 + 65 = 102
+43 + 44 = 87
+12 + 23 = 35
+5 + 21 = 26
+968 / 44 = 22
+91 + 92 = 183
+83 - 44 = 39
+7347 / 79 = 93
+3936 / 96 = 41
+44 + 51 = 95
+4221 / 67 = 63
+97 - 44 = 53
+89 - 10 = 79
+44 x 59 = 2596
+736 / 8 = 92
+79 - 73 = 6
+56 x 51 = 2856
+86 + 0 = 86
+31 + 80 = 111
+62 + 49 = 111
+61 + 4 = 65
+4272 / 89 = 48
+73 / 1 = 73
+35 - 12 = 23
+61 x 56 = 3416
+33 x 53 = 1749
+91 + 96 = 187
+648 / 9 = 72
+97 + 70 = 167
+66 x 76 = 5016
+94 - 9 = 85
+31 x 5 = 155
+15 x 29 = 435
+0 + 17 = 17
+2880 / 36 = 80
+59 x 14 = 826
+876 / 12 = 73
+88 / 22 = 4
+10 + 37 = 47
+2656 / 32 = 83
+5 + 28 = 33
+44 + 22 = 66
+208 / 52 = 4
+35 x 84 = 2940
+260 / 26 = 10
+1972 / 58 = 34
+59 x 45 = 2655
+52 + 13 = 65
+12 + 12 = 24
+44 + 39 = 83
+52 x 27 = 1404
+35 + 69 = 104
+9 + 82 = 91
+63 - 61 = 2
+1960 / 20 = 98
+80 + 16 = 96
+93 - 14 = 79
+61 + 1 = 62
+11 + 5 = 16
+25 x 42 = 1050
+3108 / 84 = 37
+11 x 33 = 363
+184 / 8 = 23
+16 x 15 = 240
+6734 / 91 = 74
+1836 / 36 = 51
+85 x 19 = 1615
+16 x 58 = 928
+20 x 60 = 1200
+45 x 22 = 990
+71 - 45 = 26
+89 + 65 = 154
+59 x 44 = 2596
+18 x 62 = 1116
+28 x 97 = 2716
+4116 / 42 = 98
+88 / 8 = 11
+85 + 10 = 95
+88 x 69 = 6072
+35 x 53 = 1855
+16 - 12 = 4
+66 + 60 = 126
+82 + 15 = 97
+78 - 34 = 44
+2989 / 61 = 49
+88 - 56 = 32
+2686 / 34 = 79
+5684 / 98 = 58
+87 + 57 = 144
+90 + 53 = 143
+63 x 37 = 2331
+3 x 84 = 252
+59 + 24 = 83
+1088 / 34 = 32
+704 / 64 = 11
+64 x 87 = 5568
+82 x 48 = 3936
+49 x 96 = 4704
+71 x 51 = 3621
+3784 / 43 = 88
+73 + 46 = 119
+14 x 66 = 924
+10 x 90 = 900
+41 x 55 = 2255
+5056 / 79 = 64
+3432 / 66 = 52
+6 + 59 = 65
+49 x 67 = 3283
+585 / 9 = 65
+55 + 98 = 153
+66 x 55 = 3630
+1513 / 17 = 89
+6 + 9 = 15
+82 + 45 = 127
+1700 / 68 = 25
+57 x 46 = 2622
+41 + 51 = 92
+55 - 7 = 48
+13 + 52 = 65
+34 x 80 = 2720
+89 + 71 = 160
+231 / 7 = 33
+86 x 21 = 1806
+95 - 77 = 18
+72 x 64 = 4608
+36 + 83 = 119
+71 x 20 = 1420
+2596 / 44 = 59
+95 - 85 = 10
+73 + 36 = 109
+32 + 39 = 71
+4828 / 68 = 71
+19 + 22 = 41
+80 x 96 = 7680
+78 - 24 = 54
+55 + 75 = 130
+75 - 49 = 26
+0 + 8 = 8
+56 / 56 = 1
+81 + 41 = 122
+3 + 44 = 47
+94 + 75 = 169
+5829 / 67 = 87
+42 + 64 = 106
+51 - 21 = 30
+61 - 50 = 11
+2112 / 64 = 33
+64 x 46 = 2944
+7220 / 95 = 76
+64 x 59 = 3776
+2304 / 36 = 64
+14 + 2 = 16
+81 - 45 = 36
+3 x 89 = 267
+43 - 6 = 37
+24 x 87 = 2088
+14 + 11 = 25
+2560 / 64 = 40
+8 + 2 = 10
+69 - 52 = 17
+792 / 11 = 72
+65 + 88 = 153
+5 + 13 = 18
+18 / 9 = 2
+14 x 37 = 518
+22 + 96 = 118
+73 x 79 = 5767
+54 - 9 = 45
+12 / 2 = 6
+88 - 46 = 42
+41 + 33 = 74
+98 / 2 = 49
+76 x 17 = 1292
+70 x 80 = 5600
+70 - 15 = 55
+30 + 20 = 50
+41 - 39 = 2
+9 + 19 = 28
+42 + 66 = 108
+63 + 66 = 129
+9212 / 98 = 94
+1748 / 92 = 19
+28 + 96 = 124
+2 + 82 = 84
+79 x 13 = 1027
+104 / 2 = 52
+69 / 1 = 69
+69 x 33 = 2277
+96 x 85 = 8160
+19 + 44 = 63
+819 / 39 = 21
+59 - 25 = 34
+459 / 17 = 27
+78 - 66 = 12
+98 + 12 = 110
+77 - 61 = 16
+17 + 70 = 87
+86 + 20 = 106
+71 x 71 = 5041
+12 x 83 = 996
+29 + 1 = 30
+76 - 69 = 7
+35 + 5 = 40
+1258 / 34 = 37
+76 + 45 = 121
+82 + 31 = 113
+1680 / 48 = 35
+76 - 34 = 42
+3104 / 97 = 32
+153 / 3 = 51
+54 x 42 = 2268
+891 / 99 = 9
+1848 / 56 = 33
+80 x 9 = 720
+90 - 63 = 27
+54 - 19 = 35
+6804 / 81 = 84
+45 + 34 = 79
+67 x 24 = 1608
+1720 / 86 = 20
+4558 / 53 = 86
+100 + 73 = 173
+51 x 26 = 1326
+94 x 55 = 5170
+42 + 72 = 114
+34 + 4 = 38
+69 x 73 = 5037
+7623 / 99 = 77
+97 - 39 = 58
+1216 / 38 = 32
+36 x 17 = 612
+59 + 63 = 122
+7221 / 83 = 87
+4 + 46 = 50
+28 x 79 = 2212
+14 x 55 = 770
+2808 / 72 = 39
+7140 / 85 = 84
+83 - 74 = 9
+3410 / 55 = 62
+94 + 92 = 186
+520 / 40 = 13
+70 x 90 = 6300
+300 / 20 = 15
+100 + 21 = 121
+49 x 93 = 4557
+14 + 73 = 87
+94 - 69 = 25
+4320 / 60 = 72
+504 / 7 = 72
+71 x 39 = 2769
+420 / 12 = 35
+92 + 55 = 147
+330 / 15 = 22
+2888 / 38 = 76
+6 x 34 = 204
+67 x 55 = 3685
+924 / 28 = 33
+42 - 6 = 36
+96 x 73 = 7008
+528 / 33 = 16
+1360 / 40 = 34
+33 - 1 = 32
+48 x 84 = 4032
+294 / 7 = 42
+29 - 21 = 8
+1890 / 21 = 90
+70 x 56 = 3920
+5472 / 57 = 96
+10 + 50 = 60
+1302 / 21 = 62
+1334 / 29 = 46
+24 + 89 = 113
+100 + 21 = 121
+2573 / 83 = 31
+46 + 6 = 52
+936 / 18 = 52
+88 - 28 = 60
+91 - 16 = 75
+195 / 15 = 13
+3400 / 85 = 40
+378 / 7 = 54
+42 + 33 = 75
+38 x 18 = 684
+85 x 62 = 5270
+25 - 16 = 9
+91 - 84 = 7
+50 - 19 = 31
+45 + 37 = 82
+74 + 54 = 128
+100 / 20 = 5
+61 x 51 = 3111
+1260 / 36 = 35
+7 x 31 = 217
+64 - 31 = 33
+65 x 3 = 195
+4 + 66 = 70
+54 + 14 = 68
+3780 / 60 = 63
+54 - 22 = 32
+15 + 90 = 105
+86 x 37 = 3182
+3 + 48 = 51
+3876 / 57 = 68
+34 x 75 = 2550
+2867 / 61 = 47
+8 x 98 = 784
+2890 / 34 = 85
+63 - 62 = 1
+43 + 53 = 96
+30 / 6 = 5
+1078 / 77 = 14
+2574 / 26 = 99
+77 x 61 = 4697
+24 x 41 = 984
+30 x 80 = 2400
+6600 / 75 = 88
+7743 / 87 = 89
+2881 / 67 = 43
+50 x 86 = 4300
+93 x 34 = 3162
+1722 / 21 = 82
+88 / 4 = 22
+49 x 84 = 4116
+99 - 26 = 73
+54 x 63 = 3402
+45 + 74 = 119
+27 x 20 = 540
+91 - 90 = 1
+2108 / 31 = 68
+1225 / 35 = 35
+1003 / 17 = 59
+53 + 13 = 66
+94 + 6 = 100
+21 x 39 = 819
+880 / 16 = 55
+52 - 13 = 39
+88 - 17 = 71
+86 x 33 = 2838
+44 x 29 = 1276
+67 + 20 = 87
+95 - 2 = 93
+48 - 27 = 21
+81 x 17 = 1377
+43 x 48 = 2064
+67 + 35 = 102
+37 + 32 = 69
+36 x 91 = 3276
+57 x 48 = 2736
+17 x 76 = 1292
+25 x 20 = 500
+75 - 22 = 53
+56 + 66 = 122
+15 x 71 = 1065
+61 + 63 = 124
+55 x 90 = 4950
+27 - 17 = 10
+91 - 24 = 67
+6586 / 74 = 89
+30 - 11 = 19
+129 / 3 = 43
+100 + 17 = 117
+78 + 41 = 119
+47 - 6 = 41
+98 - 60 = 38
+31 - 11 = 20
+10 + 56 = 66
+48 - 7 = 41
+2288 / 52 = 44
+2940 / 84 = 35
+34 x 24 = 816
+80 + 37 = 117
+32 - 9 = 23
+1679 / 73 = 23
+43 x 6 = 258
+95 x 18 = 1710
+2496 / 39 = 64
+3760 / 80 = 47
+43 x 50 = 2150
+1274 / 26 = 49
+4216 / 68 = 62
+43 x 53 = 2279
+736 / 23 = 32
+27 + 80 = 107
+80 + 70 = 150
+504 / 36 = 14
+73 x 69 = 5037
+67 x 1 = 67
+51 x 6 = 306
+8460 / 94 = 90
+93 - 53 = 40
+17 x 17 = 289
+18 + 18 = 36
+24 + 92 = 116
+83 + 46 = 129
+27 + 57 = 84
+31 x 71 = 2201
+96 + 44 = 140
+66 x 9 = 594
+7396 / 86 = 86
+29 - 16 = 13
+16 + 68 = 84
+1 + 33 = 34
+47 + 61 = 108
+96 + 97 = 193
+3910 / 46 = 85
+71 - 51 = 20
+63 - 39 = 24
+912 / 48 = 19
+837 / 93 = 9
+62 + 99 = 161
+45 + 64 = 109
+82 - 9 = 73
+43 + 57 = 100
+67 + 92 = 159
+1904 / 34 = 56
+71 x 99 = 7029
+64 + 97 = 161
+44 / 4 = 11
+50 x 57 = 2850
+71 x 5 = 355
+46 - 33 = 13
+2403 / 27 = 89
+27 x 32 = 864
+48 x 29 = 1392
+2870 / 35 = 82
+2808 / 52 = 54
+45 + 56 = 101
+1581 / 51 = 31
+71 + 82 = 153
+92 - 4 = 88
+36 + 64 = 100
+75 x 11 = 825
+78 - 29 = 49
+88 + 29 = 117
+567 / 27 = 21
+47 x 18 = 846
+4 x 68 = 272
+49 x 30 = 1470
+13 x 8 = 104
+39 + 6 = 45
+39 x 41 = 1599
+100 x 81 = 8100
+96 + 93 = 189
+85 + 33 = 118
+45 x 96 = 4320
+58 + 7 = 65
+69 x 16 = 1104
+62 x 63 = 3906
+4914 / 63 = 78
+2144 / 32 = 67
+56 x 69 = 3864
+96 + 39 = 135
+37 x 3 = 111
+40 x 35 = 1400
+40 x 5 = 200
+25 x 52 = 1300
+39 x 36 = 1404
+89 x 5 = 445
+94 + 8 = 102
+924 / 33 = 28
+62 + 46 = 108
+86 - 47 = 39
+74 x 98 = 7252
+19 - 3 = 16
+34 + 89 = 123
+100 - 21 = 79
+4140 / 60 = 69
+69 + 93 = 162
+27 x 90 = 2430
+1740 / 58 = 30
+47 + 62 = 109
+93 - 60 = 33
+1595 / 29 = 55
+10 - 4 = 6
+34 + 56 = 90
+3 + 80 = 83
+48 x 71 = 3408
+36 + 56 = 92
+31 + 44 = 75
+4005 / 45 = 89
+72 + 46 = 118
+1320 / 24 = 55
+41 + 27 = 68
+85 - 15 = 70
+42 x 10 = 420
+92 - 91 = 1
+10 + 84 = 94
+7566 / 78 = 97
+27 + 51 = 78
+59 x 84 = 4956
+23 + 7 = 30
+66 x 61 = 4026
+4056 / 52 = 78
+68 x 100 = 6800
+50 - 33 = 17
+43 x 25 = 1075
+38 x 47 = 1786
+32 + 31 = 63
+65 + 72 = 137
+86 + 59 = 145
+352 / 16 = 22
+7 x 84 = 588
+42 x 74 = 3108
+36 x 49 = 1764
+5658 / 82 = 69
+46 - 36 = 10
+75 + 40 = 115
+46 + 15 = 61
+32 + 70 = 102
+78 + 17 = 95
+87 x 14 = 1218
+99 - 6 = 93
+95 + 50 = 145
+63 - 50 = 13
+66 x 75 = 4950
+6 x 75 = 450
+79 + 57 = 136
+21 + 34 = 55
+88 + 44 = 132
+18 + 38 = 56
+5510 / 95 = 58
+63 - 3 = 60
+6390 / 71 = 90
+132 / 3 = 44
+43 + 5 = 48
+66 x 71 = 4686
+93 - 90 = 3
+4608 / 96 = 48
+28 + 76 = 104
+770 / 10 = 77
+75 x 19 = 1425
+70 x 39 = 2730
+54 + 30 = 84
+75 x 34 = 2550
+168 / 42 = 4
+4165 / 85 = 49
+50 x 12 = 600
+357 / 7 = 51
+82 - 30 = 52
+2150 / 86 = 25
+40 / 40 = 1
+89 - 81 = 8
+60 + 49 = 109
+344 / 4 = 86
+33 + 48 = 81
+23 x 22 = 506
+783 / 9 = 87
+1568 / 16 = 98
+55 + 85 = 140
+18 + 16 = 34
+74 x 10 = 740
+26 + 56 = 82
+4 x 29 = 116
+96 x 57 = 5472
+67 x 7 = 469
+98 x 38 = 3724
+3772 / 41 = 92
+87 + 4 = 91
+37 x 42 = 1554
+792 / 99 = 8
+67 + 54 = 121
+10 + 40 = 50
+2520 / 70 = 36
+2832 / 59 = 48
+79 - 69 = 10
+4004 / 52 = 77
+3149 / 47 = 67
+58 x 48 = 2784
+43 + 36 = 79
+96 - 31 = 65
+46 - 32 = 14
+23 + 28 = 51
+814 / 74 = 11
+30 + 36 = 66
+65 - 2 = 63
+86 - 4 = 82
+27 x 86 = 2322
+2074 / 34 = 61
+3 + 48 = 51
+3555 / 45 = 79
+80 - 20 = 60
+79 - 25 = 54
+5859 / 93 = 63
+76 + 54 = 130
+105 / 35 = 3
+82 x 65 = 5330
+71 + 89 = 160
+71 - 45 = 26
+20 + 50 = 70
+82 x 54 = 4428
+6 + 77 = 83
+6 - 1 = 5
+71 - 70 = 1
+54 x 92 = 4968
+69 x 10 = 690
+51 - 43 = 8
+89 - 82 = 7
+77 + 23 = 100
+77 x 79 = 6083
+1425 / 15 = 95
+60 - 1 = 59
+624 / 12 = 52
+4116 / 98 = 42
+75 + 8 = 83
+2277 / 99 = 23
+69 + 75 = 144
+54 x 96 = 5184
+84 + 90 = 174
+37 x 97 = 3589
+76 x 50 = 3800
+8 x 17 = 136
+23 + 29 = 52
+59 + 62 = 121
+99 - 84 = 15
+100 - 6 = 94
+1885 / 65 = 29
+90 + 31 = 121
+3 x 96 = 288
+3150 / 42 = 75
+5467 / 77 = 71
+450 / 75 = 6
+2090 / 22 = 95
+53 x 32 = 1696
+5 x 9 = 45
+25 x 19 = 475
+2772 / 28 = 99
+95 x 19 = 1805
+37 + 61 = 98
+2254 / 98 = 23
+29 x 53 = 1537
+74 + 39 = 113
+40 + 43 = 83
+80 x 59 = 4720
+99 x 53 = 5247
+6800 / 85 = 80
+50 x 27 = 1350
+7452 / 92 = 81
+79 + 89 = 168
+14 + 62 = 76
+60 - 17 = 43
+810 / 10 = 81
+31 - 7 = 24
+7 x 26 = 182
+88 x 53 = 4664
+87 x 21 = 1827
+92 + 68 = 160
+182 / 26 = 7
+36 + 50 = 86
+71 + 88 = 159
+80 - 62 = 18
+88 + 22 = 110
+3834 / 54 = 71
+88 x 85 = 7480
+13 + 76 = 89
+682 / 31 = 22
+98 + 62 = 160
+100 + 38 = 138
+68 + 28 = 96
+1476 / 36 = 41
+18 + 8 = 26
+90 x 89 = 8010
+40 - 2 = 38
+832 / 52 = 16
+73 + 33 = 106
+81 / 3 = 27
+95 - 47 = 48
+61 - 46 = 15
+3318 / 79 = 42
+4 x 44 = 176
+85 + 40 = 125
+58 - 6 = 52
+17 - 13 = 4
+57 + 2 = 59
+6 - 2 = 4
+11 + 17 = 28
+4284 / 84 = 51
+70 - 1 = 69
+21 + 79 = 100
+20 x 80 = 1600
+58 x 50 = 2900
+897 / 13 = 69
+69 x 60 = 4140
+90 + 35 = 125
+73 + 81 = 154
+1656 / 46 = 36
+55 x 82 = 4510
+2720 / 40 = 68
+50 x 89 = 4450
+68 - 1 = 67
+3569 / 83 = 43
+88 x 6 = 528
+70 x 52 = 3640
+33 + 45 = 78
+4 x 67 = 268
+89 + 57 = 146
+55 x 98 = 5390
+59 x 4 = 236
+1440 / 30 = 48
+22 - 17 = 5
+78 + 99 = 177
+3182 / 74 = 43
+99 x 25 = 2475
+8 + 19 = 27
+42 x 51 = 2142
+7 + 90 = 97
+52 x 98 = 5096
+1674 / 54 = 31
+1176 / 21 = 56
+12 - 3 = 9
+1513 / 89 = 17
+62 x 68 = 4216
+93 + 23 = 116
+72 x 80 = 5760
+68 - 14 = 54
+35 x 18 = 630
+45 + 18 = 63
+46 x 60 = 2760
+38 x 56 = 2128
+47 x 28 = 1316
+48 - 30 = 18
+2318 / 61 = 38
+6888 / 82 = 84
+99 + 67 = 166
+85 x 91 = 7735
+50 x 4 = 200
+7 - 6 = 1
+76 + 88 = 164
+2304 / 72 = 32
+3 + 69 = 72
+99 - 28 = 71
+98 + 43 = 141
+7081 / 73 = 97
+56 + 29 = 85
+80 x 65 = 5200
+81 + 45 = 126
+70 + 85 = 155
+672 / 42 = 16
+62 - 5 = 57
+7 + 52 = 59
+5621 / 73 = 77
+33 + 79 = 112
+80 + 90 = 170
+34 + 88 = 122
+42 x 69 = 2898
+13 x 55 = 715
+93 + 69 = 162
+99 + 54 = 153
+46 x 48 = 2208
+86 x 17 = 1462
+81 - 43 = 38
+7238 / 94 = 77
+66 x 25 = 1650
+99 x 14 = 1386
+2784 / 87 = 32
+2100 / 75 = 28
+92 x 93 = 8556
+63 - 59 = 4
+97 x 26 = 2522
+83 x 99 = 8217
+1281 / 61 = 21
+71 + 45 = 116
+75 - 13 = 62
+4386 / 86 = 51
+43 x 41 = 1763
+72 x 85 = 6120
+30 - 22 = 8
+64 + 1 = 65
+68 + 14 = 82
+59 + 60 = 119
+63 - 43 = 20
+612 / 68 = 9
+1591 / 43 = 37
+1258 / 34 = 37
+35 - 22 = 13
+1363 / 29 = 47
+7238 / 94 = 77
+95 - 11 = 84
+2070 / 45 = 46
+64 - 4 = 60
+80 - 63 = 17
+91 x 89 = 8099
+322 / 7 = 46
+92 x 15 = 1380
+64 - 45 = 19
+44 - 39 = 5
+1 + 97 = 98
+94 x 50 = 4700
+6930 / 99 = 70
+70 - 19 = 51
+16 + 84 = 100
+497 / 71 = 7
+45 + 60 = 105
+29 + 15 = 44
+1081 / 47 = 23
+77 - 58 = 19
+6 + 66 = 72
+2160 / 80 = 27
+71 + 51 = 122
+2850 / 57 = 50
+2720 / 32 = 85
+59 - 8 = 51
+2278 / 67 = 34
+720 / 10 = 72
+264 / 4 = 66
+2320 / 80 = 29
+890 / 89 = 10
+16 x 49 = 784
+17 x 53 = 901
+1656 / 36 = 46
+16 x 80 = 1280
+660 / 60 = 11
+49 x 21 = 1029
+83 + 16 = 99
+32 x 63 = 2016
+68 + 37 = 105
+2079 / 21 = 99
+390 / 13 = 30
+27 + 6 = 33
+15 / 3 = 5
+58 x 70 = 4060
+50 x 79 = 3950
+3204 / 36 = 89
+87 x 30 = 2610
+85 x 61 = 5185
+96 + 11 = 107
+17 + 88 = 105
+49 + 41 = 90
+66 + 45 = 111
+1736 / 31 = 56
+94 + 84 = 178
+46 + 56 = 102
+26 + 32 = 58
+665 / 95 = 7
+1880 / 47 = 40
+80 - 0 = 80
+40 + 87 = 127
+72 + 32 = 104
+97 + 7 = 104
+600 / 30 = 20
+29 x 32 = 928
+38 x 53 = 2014
+35 - 21 = 14
+49 - 39 = 10
+9118 / 97 = 94
+10 + 1 = 11
+59 x 93 = 5487
+8 x 24 = 192
+76 - 57 = 19
+90 x 64 = 5760
+81 + 83 = 164
+156 / 39 = 4
+4686 / 66 = 71
+560 / 56 = 10
+35 x 21 = 735
+94 x 66 = 6204
+22 + 90 = 112
+1150 / 25 = 46
+47 x 95 = 4465
+82 + 60 = 142
+9 x 7 = 63
+1505 / 43 = 35
+30 x 56 = 1680
+1368 / 24 = 57
+51 x 78 = 3978
+34 + 49 = 83
+1820 / 28 = 65
+57 + 34 = 91
+855 / 9 = 95
+95 x 81 = 7695
+47 - 16 = 31
+31 + 18 = 49
+72 + 72 = 144
+81 x 34 = 2754
+76 - 64 = 12
+82 - 40 = 42
+2156 / 77 = 28
+52 x 2 = 104
+42 x 74 = 3108
+99 - 25 = 74
+35 - 34 = 1
+4026 / 66 = 61
+44 - 18 = 26
+68 x 18 = 1224
+72 + 40 = 112
+1722 / 41 = 42
+41 x 38 = 1558
+3363 / 57 = 59
+2312 / 34 = 68
+56 x 68 = 3808
+72 x 48 = 3456
+79 + 40 = 119
+2088 / 58 = 36
+7 x 9 = 63
+3 + 21 = 24
+49 - 46 = 3
+1472 / 23 = 64
+7 + 40 = 47
+756 / 18 = 42
+30 + 58 = 88
+95 + 52 = 147
+60 + 53 = 113
+44 + 7 = 51
+65 + 61 = 126
+41 x 50 = 2050
+41 - 14 = 27
+76 x 86 = 6536
+69 x 2 = 138
+702 / 54 = 13
+1242 / 46 = 27
+83 / 1 = 83
+30 + 15 = 45
+5 + 28 = 33
+264 / 11 = 24
+15 + 98 = 113
+5658 / 69 = 82
+2280 / 38 = 60
+42 + 20 = 62
+2173 / 53 = 41
+84 + 15 = 99
+73 - 10 = 63
+68 + 36 = 104
+65 + 52 = 117
+59 + 34 = 93
+80 + 22 = 102
+81 + 62 = 143
+6 x 35 = 210
+73 - 36 = 37
+15 x 73 = 1095
+58 - 0 = 58
+94 + 70 = 164
+47 x 15 = 705
+66 + 53 = 119
+98 + 74 = 172
+52 + 23 = 75
+3726 / 69 = 54
+44 x 12 = 528
+56 + 71 = 127
+2400 / 40 = 60
+17 + 69 = 86
+1012 / 44 = 23
+900 / 36 = 25
+30 + 18 = 48
+418 / 19 = 22
+77 + 45 = 122
+234 / 3 = 78
+80 - 59 = 21
+4284 / 84 = 51
+61 - 36 = 25
+92 x 17 = 1564
+95 x 32 = 3040
+55 + 25 = 80
+68 - 42 = 26
+900 / 50 = 18
+108 / 3 = 36
+8463 / 93 = 91
+1230 / 82 = 15
+94 + 88 = 182
+53 + 69 = 122
+6 x 93 = 558
+4216 / 68 = 62
+95 + 42 = 137
+2686 / 79 = 34
+36 + 42 = 78
+41 + 8 = 49
diff --git a/data/question_files/arithmetic/allops_p1_0-10.dat b/data/question_files/arithmetic/allops_p1_0-10.dat
new file mode 100644
index 0000000..86d1bee
--- /dev/null
+++ b/data/question_files/arithmetic/allops_p1_0-10.dat
@@ -0,0 +1,1000 @@
+(3 + 3) x 8 = 48
+6 - 5 = 1
+20 / 10 = 2
+5 - 2 = 3
+(9 - 4) x 2 = 10
+10 - 4 = 6
+10 x (8 - 6) = 20
+2 x (6 - 3) = 6
+(8 + 9) x 5 = 85
+2 - 0 = 2
+9 + 9 = 18
+81 / 9 = 9
+7 - 2 = 5
+1 + 7 = 8
+8 / (1 + 1) = 4
+7 + 6 = 13
+(2 + 5) x 9 = 63
+9 + 4 = 13
+6 + 8 = 14
+2 + 5 = 7
+(8 + 1) x 10 = 90
+8 + 1 = 9
+90 / (10 + 0) = 9
+6 / 3 = 2
+6 x (2 + 10) = 72
+1 - 0 = 1
+4 x 1 = 4
+5 - 4 = 1
+16 / (5 + 3) = 2
+(9 - 3) x 8 = 48
+3 + 6 = 9
+36 / 9 = 4
+18 / 3 = 6
+4 + 2 = 6
+4 + 5 = 9
+7 - 2 = 5
+4 + 8 = 12
+12 / 2 = 6
+4 + 7 = 11
+0 + 2 = 2
+(7 + 1) x 5 = 40
+(3 + 7) x 6 = 60
+1 / (2 - 1) = 1
+6 x (7 + 3) = 60
+8 - 6 = 2
+4 + 9 = 13
+1 x (10 - 8) = 2
+1 x (2 + 4) = 6
+7 - 2 = 5
+3 + 2 = 5
+3 / 1 = 3
+(4 + 2) x 5 = 30
+(7 - 5) x 9 = 18
+2 + 4 = 6
+(0 + 2) x (6 - 2) = 8
+30 / (8 - 3) = 6
+4 + 9 = 13
+8 x 9 = 72
+7 + 5 = 12
+6 / 2 = 3
+4 + 6 = 10
+8 - 6 = 2
+7 + 5 = 12
+5 + 8 = 13
+0 + 9 = 9
+5 + 5 = 10
+6 + 7 = 13
+9 + 1 = 10
+35 / 7 = 5
+6 + 9 = 15
+7 + 2 = 9
+10 - 7 = 3
+9 + 4 = 13
+10 + 8 = 18
+2 x (10 - 1) = 18
+(7 + 8) x 4 = 60
+8 - 1 = 7
+20 / (8 - 6) = 10
+2 - 1 = 1
+3 - 1 = 2
+10 / (7 - 5) = 5
+6 + 7 = 13
+16 / 4 = 4
+5 + 0 = 5
+1 x 2 = 2
+0 + 2 = 2
+4 + 3 = 7
+4 + 7 = 11
+24 / 8 = 3
+8 x 6 = 48
+10 + 5 = 15
+5 + 6 = 11
+9 + 3 = 12
+(9 + 8) x 2 = 34
+5 x 9 = 45
+35 / (2 + 3) = 7
+91 / (8 + 5) = 7
+4 / (2 - 1) = 4
+64 / 8 = 8
+10 + 7 = 17
+18 / (1 + 5) = 3
+2 + 8 = 10
+6 - 1 = 5
+1 + 2 = 3
+(7 - 1) x (1 + 5) = 36
+80 / (9 - 1) = 10
+16 / (4 + 4) = 2
+20 / 5 = 4
+25 / (4 + 1) = 5
+(6 + 2) x (4 + 0) = 32
+45 / (1 + 8) = 5
+2 + 2 = 4
+1 x (1 + 0) = 1
+28 / 4 = 7
+5 - 3 = 2
+81 / (7 + 2) = 9
+6 + 3 = 9
+5 x (4 + 2) = 30
+64 / 8 = 8
+5 + 3 = 8
+8 - 1 = 7
+120 / (9 + 6) = 8
+24 / 4 = 6
+9 + 5 = 14
+9 + 8 = 17
+3 + 0 = 3
+6 + 9 = 15
+10 + 8 = 18
+6 + 9 = 15
+10 - 0 = 10
+(7 - 6) x 8 = 8
+36 / 9 = 4
+9 - 5 = 4
+6 - 3 = 3
+21 / (5 + 2) = 3
+4 + 8 = 12
+4 + 3 = 7
+9 x (1 + 6) = 63
+24 / 8 = 3
+5 / 1 = 5
+105 / (6 + 9) = 7
+90 / (9 + 9) = 5
+5 - 1 = 4
+28 / 4 = 7
+8 / 1 = 8
+72 / 8 = 9
+63 / 7 = 9
+7 - 4 = 3
+(1 + 8) x 2 = 18
+40 / (3 + 7) = 4
+12 / (1 + 1) = 6
+2 / 1 = 2
+(9 + 8) x (5 + 2) = 119
+10 + 9 = 19
+(2 + 5) x 6 = 42
+4 + 5 = 9
+80 / 8 = 10
+2 x (4 + 3) = 14
+3 + 9 = 12
+5 - 1 = 4
+(4 + 4) x (4 - 1) = 24
+2 + 6 = 8
+4 + 5 = 9
+6 + 8 = 14
+1 + 5 = 6
+7 + 1 = 8
+4 + 9 = 13
+42 / 6 = 7
+9 + 3 = 12
+90 / 10 = 9
+6 + 1 = 7
+4 + 0 = 4
+1 + 10 = 11
+9 - 7 = 2
+2 x 9 = 18
+3 x (3 + 5) = 24
+24 / 8 = 3
+(9 + 10) x (9 + 3) = 228
+6 + 9 = 15
+8 x (5 + 2) = 56
+2 + 1 = 3
+1 x 2 = 2
+10 - 2 = 8
+6 / (10 - 4) = 1
+14 / 7 = 2
+4 x (2 + 2) = 16
+4 x 5 = 20
+63 / (4 + 5) = 7
+10 / (2 + 3) = 2
+8 - 4 = 4
+(4 - 3) x (5 + 6) = 11
+3 + 8 = 11
+(4 + 5) x (5 - 4) = 9
+4 - 2 = 2
+(6 + 0) x 2 = 12
+7 / (2 - 1) = 7
+32 / 4 = 8
+8 x (1 + 6) = 56
+2 - 1 = 1
+3 + 2 = 5
+(1 - 0) x (6 + 0) = 6
+7 + 9 = 16
+5 - 1 = 4
+4 / 4 = 1
+6 x (2 + 4) = 36
+108 / (8 + 4) = 9
+3 + 8 = 11
+117 / (8 + 5) = 9
+10 / (8 + 2) = 1
+16 / 8 = 2
+5 + 3 = 8
+5 + 2 = 7
+(1 + 6) x (7 - 3) = 28
+(3 + 0) x 10 = 30
+60 / (10 - 4) = 10
+21 / 7 = 3
+8 - 4 = 4
+48 / 6 = 8
+(2 + 4) x (5 - 4) = 6
+9 + 5 = 14
+(1 + 3) x 10 = 40
+7 - 1 = 6
+80 / 10 = 8
+6 - 4 = 2
+9 + 10 = 19
+7 - 2 = 5
+7 + 5 = 12
+10 - 4 = 6
+20 / 4 = 5
+(5 + 5) x (3 + 5) = 80
+56 / (10 - 3) = 8
+6 + 9 = 15
+40 / (4 + 1) = 8
+(8 + 9) x (9 + 0) = 153
+49 / 7 = 7
+2 + 4 = 6
+(8 - 2) x (7 + 2) = 54
+7 + 4 = 11
+2 x 7 = 14
+0 + 6 = 6
+(5 + 3) x 3 = 24
+6 x 6 = 36
+1 + 3 = 4
+(5 + 1) x (3 + 9) = 72
+(9 - 2) x 6 = 42
+10 + 1 = 11
+40 / 10 = 4
+2 + 5 = 7
+4 - 3 = 1
+5 x 6 = 30
+8 - 1 = 7
+3 + 6 = 9
+8 + 2 = 10
+10 x (1 + 1) = 20
+5 / 1 = 5
+72 / (1 + 7) = 9
+8 - 1 = 7
+80 / 10 = 8
+112 / (4 + 10) = 8
+(7 - 1) x (6 + 10) = 96
+7 - 3 = 4
+12 / 2 = 6
+5 + 2 = 7
+51 / (8 + 9) = 3
+4 + 2 = 6
+6 + 4 = 10
+10 - 5 = 5
+10 / (8 + 2) = 1
+8 + 7 = 15
+9 + 6 = 15
+4 + 5 = 9
+5 + 5 = 10
+8 x (5 - 3) = 16
+1 / (3 - 2) = 1
+(3 + 8) x (4 + 2) = 66
+1 x (9 + 9) = 18
+5 + 0 = 5
+40 / (3 + 2) = 8
+1 x 2 = 2
+7 x 5 = 35
+8 / 2 = 4
+9 x 5 = 45
+10 / 2 = 5
+7 - 1 = 6
+12 / 4 = 3
+33 / (9 + 2) = 3
+10 - 8 = 2
+56 / 7 = 8
+(3 + 2) x 6 = 30
+8 + 4 = 12
+130 / (9 + 4) = 10
+9 + 8 = 17
+5 x (7 + 5) = 60
+8 + 8 = 16
+(2 + 1) x (6 + 0) = 18
+48 / 6 = 8
+3 + 5 = 8
+4 x (5 - 3) = 8
+7 - 5 = 2
+36 / (4 + 8) = 3
+10 + 7 = 17
+7 - 4 = 3
+2 + 2 = 4
+20 / (4 + 1) = 4
+35 / 7 = 5
+70 / (3 + 7) = 7
+1 x (8 - 3) = 5
+9 / 1 = 9
+3 + 1 = 4
+0 + 8 = 8
+2 + 8 = 10
+1 + 2 = 3
+(1 + 8) x (10 - 6) = 36
+12 / (2 + 4) = 2
+10 - 5 = 5
+4 - 3 = 1
+153 / (9 + 8) = 9
+2 / 1 = 2
+80 / (3 + 7) = 8
+4 / 1 = 4
+9 x (8 + 9) = 153
+5 - 2 = 3
+3 + 9 = 12
+7 - 3 = 4
+1 x (2 + 6) = 8
+6 x 2 = 12
+5 - 4 = 1
+22 / (2 + 9) = 2
+14 / 7 = 2
+6 + 9 = 15
+(8 + 2) x 2 = 20
+8 + 5 = 13
+8 + 1 = 9
+(9 - 3) x (7 + 9) = 96
+6 x 2 = 12
+50 / 5 = 10
+5 + 4 = 9
+6 / 1 = 6
+0 + 10 = 10
+2 x (7 + 10) = 34
+12 / 2 = 6
+6 + 9 = 15
+24 / (1 + 7) = 3
+3 x 6 = 18
+9 - 4 = 5
+6 + 3 = 9
+4 + 9 = 13
+63 / 9 = 7
+3 x 3 = 9
+3 x 10 = 30
+4 x 9 = 36
+6 x 1 = 6
+4 + 7 = 11
+10 / 5 = 2
+4 + 0 = 4
+1 + 3 = 4
+9 + 9 = 18
+117 / (5 + 8) = 9
+7 x (7 + 3) = 70
+5 x 9 = 45
+5 + 0 = 5
+60 / (7 + 8) = 4
+6 - 0 = 6
+5 x 6 = 30
+8 + 1 = 9
+(1 + 4) x 2 = 10
+1 + 6 = 7
+10 - 4 = 6
+96 / (3 + 9) = 8
+7 + 8 = 15
+2 + 6 = 8
+1 + 7 = 8
+60 / (7 + 5) = 5
+6 + 7 = 13
+2 + 7 = 9
+5 - 3 = 2
+12 / (3 - 1) = 6
+6 - 4 = 2
+(9 - 7) x 4 = 8
+64 / (5 + 3) = 8
+7 + 8 = 15
+(6 - 5) x (8 - 4) = 4
+7 - 1 = 6
+(9 - 7) x (8 + 9) = 34
+56 / 7 = 8
+7 + 9 = 16
+7 x 8 = 56
+4 - 1 = 3
+9 - 3 = 6
+36 / (2 + 2) = 9
+2 + 2 = 4
+6 + 7 = 13
+2 - 1 = 1
+40 / 5 = 8
+0 + 9 = 9
+1 x (9 + 6) = 15
+(4 - 0) x (3 + 3) = 24
+10 + 5 = 15
+15 / 5 = 3
+1 x 7 = 7
+36 / 9 = 4
+2 - 0 = 2
+2 + 8 = 10
+91 / (8 + 5) = 7
+16 / 2 = 8
+6 - 0 = 6
+7 / (4 - 3) = 7
+14 / (1 + 6) = 2
+7 x (3 + 2) = 35
+9 / (10 - 7) = 3
+10 - 8 = 2
+4 x 5 = 20
+10 - 7 = 3
+7 - 1 = 6
+8 - 3 = 5
+1 + 10 = 11
+7 x 9 = 63
+9 - 7 = 2
+8 + 2 = 10
+128 / (10 + 6) = 8
+75 / (8 + 7) = 5
+4 + 9 = 13
+18 / 3 = 6
+80 / (4 + 4) = 10
+0 + 5 = 5
+45 / (8 + 1) = 5
+7 - 2 = 5
+9 x 10 = 90
+27 / 3 = 9
+2 x 6 = 12
+8 + 4 = 12
+3 + 6 = 9
+2 + 7 = 9
+9 + 6 = 15
+4 + 3 = 7
+4 + 1 = 5
+72 / 9 = 8
+28 / (8 - 4) = 7
+9 - 3 = 6
+6 - 1 = 5
+8 + 4 = 12
+3 + 3 = 6
+1 / (8 - 7) = 1
+9 x 5 = 45
+1 + 0 = 1
+72 / 9 = 8
+9 / 9 = 1
+80 / 8 = 10
+(8 + 2) x (4 + 2) = 60
+6 + 8 = 14
+4 + 1 = 5
+1 + 6 = 7
+3 x (9 - 2) = 21
+2 x 10 = 20
+7 + 4 = 11
+128 / (9 + 7) = 8
+(6 - 1) x (5 + 4) = 45
+5 + 3 = 8
+8 x (4 + 8) = 96
+28 / 7 = 4
+9 - 6 = 3
+5 - 3 = 2
+10 / (1 + 9) = 1
+63 / 9 = 7
+6 + 0 = 6
+56 / 8 = 7
+14 / (6 + 1) = 2
+8 + 10 = 18
+(2 + 6) x (0 + 7) = 56
+8 / (1 + 1) = 4
+7 + 0 = 7
+4 / 2 = 2
+30 / (9 - 4) = 6
+1 / 1 = 1
+4 x (4 + 0) = 16
+6 - 1 = 5
+5 + 7 = 12
+(8 + 3) x 7 = 77
+6 x 3 = 18
+1 x 3 = 3
+(6 + 6) x 7 = 84
+2 x (2 + 8) = 20
+10 + 7 = 17
+2 + 0 = 2
+(6 + 8) x (7 - 6) = 14
+35 / (3 + 4) = 5
+0 + 9 = 9
+1 x (7 + 8) = 15
+4 - 1 = 3
+5 x 5 = 25
+24 / 6 = 4
+(9 - 7) x (2 + 6) = 16
+7 + 9 = 16
+39 / (3 + 10) = 3
+4 - 3 = 1
+9 / 1 = 9
+7 / 1 = 7
+2 + 6 = 8
+7 - 4 = 3
+16 / (2 + 6) = 2
+5 + 5 = 10
+(7 + 7) x 4 = 56
+0 + 7 = 7
+(5 + 2) x 2 = 14
+36 / 6 = 6
+18 / 9 = 2
+(2 + 3) x (7 - 2) = 25
+1 + 7 = 8
+(0 + 6) x 4 = 24
+4 x 2 = 8
+3 + 8 = 11
+3 + 3 = 6
+4 + 10 = 14
+42 / 7 = 6
+24 / 8 = 3
+6 - 1 = 5
+9 + 7 = 16
+(6 + 4) x (1 + 4) = 50
+9 x 2 = 18
+9 - 5 = 4
+24 / 4 = 6
+8 - 5 = 3
+6 / 3 = 2
+3 / 3 = 1
+(9 - 4) x 9 = 45
+6 x 3 = 18
+7 + 8 = 15
+8 / (9 - 5) = 2
+16 / (10 - 2) = 2
+2 + 5 = 7
+(0 + 2) x (7 - 5) = 4
+36 / 4 = 9
+24 / 6 = 4
+(9 - 2) x (6 - 2) = 28
+21 / (2 + 5) = 3
+49 / (8 - 1) = 7
+28 / (6 + 1) = 4
+(3 + 2) x 3 = 15
+10 - 5 = 5
+1 x 3 = 3
+6 + 7 = 13
+10 + 3 = 13
+35 / 7 = 5
+5 - 2 = 3
+3 + 3 = 6
+0 + 3 = 3
+24 / (1 + 7) = 3
+1 x (3 + 9) = 12
+3 + 4 = 7
+95 / (10 + 9) = 5
+(7 - 2) x (8 + 1) = 45
+9 - 3 = 6
+8 + 6 = 14
+6 + 0 = 6
+9 + 8 = 17
+4 - 3 = 1
+(3 + 5) x (8 + 8) = 128
+7 x 8 = 56
+2 + 9 = 11
+(8 + 8) x (3 - 2) = 16
+(9 - 3) x (9 - 6) = 18
+1 + 6 = 7
+3 x 10 = 30
+64 / 8 = 8
+8 + 6 = 14
+9 + 3 = 12
+(6 + 9) x 3 = 45
+8 - 5 = 3
+9 x 4 = 36
+4 + 0 = 4
+32 / (8 + 8) = 2
+6 + 9 = 15
+9 x (2 + 9) = 99
+5 + 3 = 8
+3 + 3 = 6
+4 + 3 = 7
+4 - 0 = 4
+2 + 4 = 6
+40 / 10 = 4
+36 / (7 + 5) = 3
+3 + 7 = 10
+2 + 4 = 6
+8 / (0 + 1) = 8
+4 + 8 = 12
+25 / (8 - 3) = 5
+(2 + 8) x (2 + 9) = 110
+5 - 0 = 5
+60 / (5 + 10) = 4
+6 / (10 - 7) = 2
+3 / (3 - 2) = 3
+7 / 1 = 7
+4 - 1 = 3
+6 + 1 = 7
+6 + 9 = 15
+54 / 6 = 9
+9 / 1 = 9
+4 - 2 = 2
+8 + 3 = 11
+16 / 2 = 8
+10 x 9 = 90
+5 + 3 = 8
+3 + 4 = 7
+6 + 8 = 14
+9 x 7 = 63
+5 / (6 - 1) = 1
+8 x 10 = 80
+64 / 8 = 8
+4 + 0 = 4
+2 + 6 = 8
+1 x 5 = 5
+45 / (5 + 4) = 5
+72 / (7 + 5) = 6
+1 + 5 = 6
+(7 + 2) x (1 + 3) = 36
+2 - 1 = 1
+3 - 0 = 3
+24 / 3 = 8
+3 / (7 - 4) = 1
+(4 - 1) x 1 = 3
+30 / (4 + 2) = 5
+36 / (4 - 0) = 9
+24 / (7 + 5) = 2
+4 / (8 - 4) = 1
+3 + 9 = 12
+10 - 4 = 6
+9 / 9 = 1
+36 / (3 + 1) = 9
+3 + 0 = 3
+2 + 8 = 10
+1 + 4 = 5
+15 / 5 = 3
+5 + 9 = 14
+5 + 2 = 7
+4 + 6 = 10
+3 + 7 = 10
+24 / (8 - 2) = 4
+45 / 9 = 5
+8 - 2 = 6
+8 / (3 + 1) = 2
+6 + 7 = 13
+7 + 0 = 7
+8 - 6 = 2
+9 - 3 = 6
+90 / 10 = 9
+(2 + 0) x 6 = 12
+(3 - 0) x 1 = 3
+21 / 3 = 7
+(8 - 3) x 10 = 50
+99 / (8 + 3) = 9
+7 / (4 - 3) = 7
+9 - 0 = 9
+3 x 9 = 27
+9 + 3 = 12
+3 + 7 = 10
+36 / 6 = 6
+16 / 4 = 4
+3 + 8 = 11
+9 - 2 = 7
+35 / (3 + 4) = 5
+81 / 9 = 9
+14 / 2 = 7
+4 - 1 = 3
+10 + 7 = 17
+9 - 6 = 3
+3 - 2 = 1
+2 + 2 = 4
+6 / 1 = 6
+55 / (9 + 2) = 5
+8 - 5 = 3
+5 + 6 = 11
+9 + 3 = 12
+4 x 6 = 24
+3 + 3 = 6
+6 x (6 + 5) = 66
+2 + 5 = 7
+24 / (6 - 2) = 6
+8 x (10 - 0) = 80
+5 + 3 = 8
+3 - 2 = 1
+8 - 6 = 2
+1 + 4 = 5
+5 x (9 - 6) = 15
+6 + 4 = 10
+3 + 0 = 3
+6 + 5 = 11
+9 - 5 = 4
+22 / (9 + 2) = 2
+49 / (9 - 2) = 7
+28 / (3 + 1) = 7
+5 / 5 = 1
+8 - 6 = 2
+2 + 8 = 10
+5 + 6 = 11
+1 + 8 = 9
+8 + 4 = 12
+10 + 3 = 13
+2 x (3 + 1) = 8
+8 + 3 = 11
+(7 + 9) x 6 = 96
+7 + 1 = 8
+10 / (5 - 4) = 10
+22 / (7 + 4) = 2
+2 x (3 + 8) = 22
+4 x (5 + 1) = 24
+30 / 6 = 5
+91 / (5 + 8) = 7
+54 / 6 = 9
+10 / (10 + 0) = 1
+6 + 4 = 10
+30 / 10 = 3
+9 x (10 + 5) = 135
+32 / 4 = 8
+(3 + 5) x 8 = 64
+2 + 10 = 12
+3 + 3 = 6
+(4 + 6) x 1 = 10
+7 x (2 + 9) = 77
+9 x 5 = 45
+8 - 1 = 7
+6 - 3 = 3
+9 / 1 = 9
+5 - 1 = 4
+40 / (2 + 2) = 10
+3 + 7 = 10
+(6 + 2) x 7 = 56
+7 + 10 = 17
+2 - 0 = 2
+(10 - 6) x (3 - 1) = 8
+(8 - 4) x (3 + 9) = 48
+(4 - 3) x 2 = 2
+5 + 4 = 9
+(1 + 6) x (8 - 7) = 7
+8 - 4 = 4
+(6 + 7) x (9 - 2) = 91
+3 / 3 = 1
+9 + 4 = 13
+1 + 3 = 4
+8 + 1 = 9
+7 + 6 = 13
+(2 + 7) x (8 + 4) = 108
+6 x (10 - 9) = 6
+(6 - 3) x (6 - 3) = 9
+9 + 6 = 15
+40 / (2 + 6) = 5
+1 + 5 = 6
+9 - 0 = 9
+1 + 7 = 8
+(10 - 3) x (5 + 7) = 84
+(6 + 9) x 7 = 105
+4 + 6 = 10
+6 + 8 = 14
+(10 + 4) x 8 = 112
+34 / (9 + 8) = 2
+9 - 2 = 7
+8 + 4 = 12
+5 x 8 = 40
+2 + 0 = 2
+2 + 7 = 9
+1 + 1 = 2
+90 / (8 + 7) = 6
+8 + 8 = 16
+1 - 0 = 1
+(3 + 10) x 8 = 104
+5 - 3 = 2
+6 x 8 = 48
+7 - 1 = 6
+4 + 5 = 9
+9 - 3 = 6
+5 - 1 = 4
+15 / (9 - 6) = 5
+(9 + 7) x 8 = 128
+70 / 10 = 7
+9 x 7 = 63
+7 - 5 = 2
+4 + 0 = 4
+10 - 5 = 5
+9 + 1 = 10
+7 - 4 = 3
+7 + 2 = 9
+9 + 5 = 14
+6 + 6 = 12
+6 + 6 = 12
+30 / (1 + 4) = 6
+42 / 6 = 7
+(1 + 6) x 10 = 70
+(8 + 4) x 4 = 48
+9 x (1 - 0) = 9
+45 / 5 = 9
+(5 + 0) x (7 + 4) = 55
+20 / 4 = 5
+2 + 7 = 9
+(4 + 2) x (5 - 1) = 24
+90 / (8 + 2) = 9
+(9 + 5) x 6 = 84
+9 + 2 = 11
+7 - 3 = 4
+2 + 3 = 5
+8 x 8 = 64
+24 / 3 = 8
+2 + 3 = 5
+50 / 10 = 5
+8 x (5 + 9) = 112
+(8 - 6) x 2 = 4
+7 - 6 = 1
+32 / 4 = 8
+3 / 1 = 3
+64 / (6 + 10) = 4
+6 - 0 = 6
+5 + 4 = 9
+(4 + 8) x (9 - 5) = 48
+7 x (9 + 8) = 119
+(6 - 4) x 6 = 12
+3 + 1 = 4
+3 + 7 = 10
+9 - 5 = 4
+12 / (4 + 8) = 1
+10 + 4 = 14
+1 + 0 = 1
+2 + 3 = 5
+3 x (9 + 2) = 33
+3 + 3 = 6
+8 - 3 = 5
+3 x (4 + 2) = 18
+5 + 1 = 6
+16 / (1 + 1) = 8
+8 + 3 = 11
+3 + 6 = 9
+(10 + 9) x 3 = 57
+40 / 5 = 8
+2 / (7 - 5) = 1
+9 - 6 = 3
+8 / (9 - 7) = 4
+4 / 4 = 1
+6 / (4 + 2) = 1
+(2 + 1) x (6 - 4) = 6
+42 / (10 - 3) = 6
+5 x (3 + 0) = 15
+11 / (8 + 3) = 1
+5 + 4 = 9
+8 + 1 = 9
+9 x (7 + 0) = 63
+3 x 3 = 9
+6 - 1 = 5
+9 + 3 = 12
+28 / (10 - 6) = 7
+3 + 0 = 3
+8 / (6 - 5) = 8
+0 + 8 = 8
+0 + 7 = 7
+9 - 3 = 6
+5 + 6 = 11
+6 - 1 = 5
+80 / 8 = 10
+76 / (10 + 9) = 4
+3 + 2 = 5
+7 + 6 = 13
+(10 - 5) x 2 = 10
+56 / 8 = 7
+2 - 1 = 1
+(1 + 7) x 6 = 48
+7 x (9 + 5) = 98
+10 + 10 = 20
+9 + 9 = 18
+30 / (6 - 0) = 5
+8 x 6 = 48
+18 / (8 - 6) = 9
+1 x 1 = 1
+7 - 2 = 5
+(6 - 5) x (8 + 9) = 17
+(9 - 1) x 2 = 16
+(3 + 0) x (2 + 5) = 21
+48 / (7 + 1) = 6
+21 / 7 = 3
+2 / (5 - 3) = 1
+42 / (7 + 7) = 3
+(8 + 10) x (1 + 4) = 90
+56 / 7 = 8
+77 / (2 + 9) = 7
+2 x (6 + 2) = 16
+9 x 1 = 9
+35 / (9 - 4) = 7
+9 + 6 = 15
+1 / (1 + 0) = 1
+4 - 1 = 3
+12 / (4 + 8) = 1
+9 + 5 = 14
+10 - 5 = 5
+5 - 2 = 3
+10 / 1 = 10
+6 - 5 = 1
+28 / (8 - 4) = 7
+2 + 9 = 11
+10 / 1 = 10
+6 - 4 = 2
+9 / 3 = 3
+8 - 4 = 4
+4 - 2 = 2
+9 x 10 = 90
+1 + 9 = 10
+10 / (6 - 5) = 10
+8 + 8 = 16
+12 / 4 = 3
+8 + 2 = 10
+2 + 7 = 9
+9 / (5 + 4) = 1
+6 x (3 + 8) = 66
+(4 + 10) x 2 = 28
+(5 + 2) x (7 - 6) = 7
+9 - 4 = 5
+4 - 2 = 2
+30 / 6 = 5
+18 / 3 = 6
+(7 - 2) x 3 = 15
+(8 + 6) x 6 = 84
+3 + 0 = 3
+9 - 1 = 8
+48 / (9 + 7) = 3
+(2 + 0) x 3 = 6
+90 / (6 + 9) = 6
+10 + 3 = 13
+(10 + 9) x (3 + 3) = 114
+4 + 2 = 6
+(6 + 1) x 8 = 56
+10 / 2 = 5
+30 / (9 - 3) = 5
+1 + 4 = 5
+5 x (0 + 7) = 35
+1 / (2 - 1) = 1
+4 + 8 = 12
+(6 + 1) x (8 + 9) = 119
+3 - 0 = 3
+10 + 8 = 18
+16 / (9 + 7) = 1
+7 x 3 = 21
+(1 + 6) x (4 + 4) = 56
+(5 + 9) x 9 = 126
+32 / 4 = 8
+8 + 6 = 14
+8 + 7 = 15
+16 / (7 + 9) = 1
+10 x 6 = 60
+6 / 3 = 2
+8 - 2 = 6
+3 - 1 = 2
+10 - 7 = 3
+9 / 3 = 3
+(10 - 1) x (6 + 4) = 90
+9 - 4 = 5
+14 / 7 = 2
+9 + 10 = 19
+32 / 4 = 8
+3 + 8 = 11
+7 + 6 = 13
+48 / (5 + 7) = 4
+3 + 5 = 8
+9 - 6 = 3
+(8 - 1) x (7 - 0) = 49
+5 + 3 = 8
+8 - 1 = 7
+3 + 8 = 11
+24 / 4 = 6
+9 - 1 = 8
+(7 - 6) x 3 = 3
+2 + 3 = 5
+9 + 10 = 19
+8 - 2 = 6
+(7 - 1) x 1 = 6
+8 + 9 = 17
+8 + 4 = 12
+10 - 7 = 3
+7 - 3 = 4
+1 + 1 = 2
+7 + 2 = 9
+9 - 2 = 7
+8 + 7 = 15
+45 / (5 + 4) = 5
+5 + 3 = 8
+10 x (9 - 0) = 90
+4 + 2 = 6
+6 / 1 = 6
+(7 + 4) x (9 + 1) = 110
+6 + 3 = 9
+8 / (6 - 4) = 4
+(6 - 1) x (2 + 0) = 10
+(5 + 7) x (9 + 2) = 132
+24 / 8 = 3
+6 x (9 - 4) = 30
+7 x (8 + 6) = 98
+6 - 2 = 4
+1 x (0 + 9) = 9
+2 + 1 = 3
+126 / (6 + 8) = 9
+36 / 4 = 9
+(8 + 1) x (2 + 6) = 72
+(3 + 4) x 4 = 28
+5 / 5 = 1
+8 + 3 = 11
+(4 + 1) x 6 = 30
+7 / (8 - 1) = 1
+8 x 6 = 48
diff --git a/data/question_files/arithmetic/allops_p1_0-100.dat b/data/question_files/arithmetic/allops_p1_0-100.dat
new file mode 100644
index 0000000..b644fb8
--- /dev/null
+++ b/data/question_files/arithmetic/allops_p1_0-100.dat
@@ -0,0 +1,1000 @@
+45 + 63 = 108
+44 + 58 = 102
+14 + 56 = 70
+17 - 3 = 14
+1760 / 20 = 88
+23 + 80 = 103
+62 - 40 = 22
+95 - 34 = 61
+19 + 4 = 23
+2091 / (74 - 33) = 51
+7826 / 91 = 86
+(34 + 41) x 72 = 5400
+90 - 82 = 8
+4250 / 85 = 50
+36 - 35 = 1
+81 - 15 = 66
+350 / 14 = 25
+200 / 50 = 4
+744 / 62 = 12
+11808 / (78 + 66) = 82
+27 + 26 = 53
+96 - 12 = 84
+(35 + 9) x (45 - 1) = 1936
+3040 / 40 = 76
+94 - 87 = 7
+92 + 12 = 104
+75 + 68 = 143
+96 - 28 = 68
+41 x (30 + 58) = 3608
+72 - 67 = 5
+66 + 69 = 135
+16 - 11 = 5
+8778 / (63 + 70) = 66
+1408 / 16 = 88
+4290 / (94 - 39) = 78
+4 x 99 = 396
+51 x (79 - 49) = 1530
+2562 / (64 + 58) = 21
+54 - 41 = 13
+2739 / 33 = 83
+(15 + 94) x (33 - 4) = 3161
+44 + 53 = 97
+24 + 71 = 95
+2666 / 86 = 31
+19 + 72 = 91
+13 + 71 = 84
+1275 / 75 = 17
+9794 / (37 + 81) = 83
+34 - 24 = 10
+36 x (47 + 21) = 2448
+90 + 12 = 102
+4080 / (6 + 79) = 48
+3690 / 82 = 45
+15 + 75 = 90
+112 / 4 = 28
+40 / 1 = 40
+3840 / (54 - 14) = 96
+62 x (48 - 22) = 1612
+68 + 20 = 88
+21 x (43 + 61) = 2184
+28 + 1 = 29
+1258 / 74 = 17
+93 x 23 = 2139
+34 x 48 = 1632
+65 + 47 = 112
+21 + 14 = 35
+63 + 36 = 99
+3723 / (81 - 8) = 51
+27 + 40 = 67
+392 / (76 - 62) = 28
+0 + 69 = 69
+52 x (97 + 0) = 5044
+3720 / (84 - 22) = 60
+2380 / 85 = 28
+1216 / 32 = 38
+82 + 14 = 96
+97 + 1 = 98
+50 / (51 - 49) = 25
+48 + 84 = 132
+299 / 13 = 23
+56 - 48 = 8
+38 + 48 = 86
+72 + 79 = 151
+1548 / (64 - 46) = 86
+(30 + 99) x 58 = 7482
+2046 / 66 = 31
+59 + 37 = 96
+(63 - 61) x 22 = 44
+1904 / (50 - 16) = 56
+(66 + 38) x 57 = 5928
+(78 + 69) x 70 = 10290
+152 / (13 + 6) = 8
+79 + 60 = 139
+8 x (98 + 80) = 1424
+(47 + 10) x 95 = 5415
+1650 / 55 = 30
+11 x 51 = 561
+78 - 56 = 22
+(5 + 72) x 87 = 6699
+1892 / (37 - 15) = 86
+4389 / (81 - 4) = 57
+53 - 0 = 53
+92 + 75 = 167
+57 x 84 = 4788
+42 - 15 = 27
+(8 + 6) x (35 + 99) = 1876
+986 / 29 = 34
+(72 + 0) x 41 = 2952
+33 x 15 = 495
+57 + 75 = 132
+(58 + 25) x 84 = 6972
+67 x (82 - 31) = 3417
+7055 / 85 = 83
+168 / 2 = 84
+98 + 37 = 135
+45 + 28 = 73
+74 + 53 = 127
+(21 + 54) x (69 + 3) = 5400
+(27 + 99) x (10 - 1) = 1134
+99 + 62 = 161
+1178 / 38 = 31
+83 x (99 + 7) = 8798
+6840 / (75 + 77) = 45
+3905 / (41 + 30) = 55
+2268 / 84 = 27
+84 + 97 = 181
+94 x 49 = 4606
+(92 - 79) x (26 - 16) = 130
+17298 / (93 + 93) = 93
+91 x (79 - 34) = 4095
+2775 / 75 = 37
+91 - 14 = 77
+14 + 2 = 16
+10976 / (24 + 88) = 98
+89 + 69 = 158
+93 + 34 = 127
+8140 / (90 + 20) = 74
+(71 - 68) x 87 = 261
+56 + 96 = 152
+(87 - 23) x (52 + 78) = 8320
+69 - 33 = 36
+4140 / (68 + 47) = 36
+(46 + 58) x (2 + 69) = 7384
+1 + 16 = 17
+2200 / 88 = 25
+660 / 12 = 55
+(31 + 52) x 41 = 3403
+10 + 24 = 34
+21 x 94 = 1974
+595 / 17 = 35
+17 + 73 = 90
+13 + 4 = 17
+32 + 7 = 39
+1 + 51 = 52
+92 + 39 = 131
+160 / 10 = 16
+6776 / (98 + 23) = 56
+33 - 22 = 11
+3649 / 41 = 89
+47 - 31 = 16
+42 + 98 = 140
+17 + 55 = 72
+65 - 5 = 60
+4059 / 41 = 99
+87 - 16 = 71
+(14 + 4) x 7 = 126
+25 + 46 = 71
+437 / (27 - 4) = 19
+392 / 49 = 8
+(10 + 17) x 2 = 54
+55 - 18 = 37
+(88 - 11) x 50 = 3850
+73 - 21 = 52
+3082 / (74 + 60) = 23
+1248 / (87 - 35) = 24
+(0 + 64) x (14 + 79) = 5952
+19 + 53 = 72
+5896 / 88 = 67
+58 + 76 = 134
+92 / (61 - 60) = 92
+53 + 21 = 74
+62 + 79 = 141
+7722 / 78 = 99
+(2 + 38) x (84 - 56) = 1120
+26 - 8 = 18
+(21 - 7) x (84 - 61) = 322
+30 + 77 = 107
+26 + 30 = 56
+94 - 20 = 74
+94 x (22 - 14) = 752
+92 - 61 = 31
+(60 + 71) x (17 + 92) = 14279
+97 + 45 = 142
+38 + 99 = 137
+2684 / (18 + 43) = 44
+949 / (78 - 5) = 13
+(2 + 27) x 29 = 841
+10 + 42 = 52
+37 + 52 = 89
+80 + 15 = 95
+3168 / 99 = 32
+(92 - 59) x 7 = 231
+4176 / (65 - 17) = 87
+(68 + 99) x (66 + 94) = 26720
+39 x (17 + 63) = 3120
+2115 / 45 = 47
+(8 + 28) x 61 = 2196
+86 + 41 = 127
+195 / (59 + 6) = 3
+3 x 93 = 279
+4730 / 55 = 86
+(9 + 37) x 59 = 2714
+78 - 62 = 16
+656 / 8 = 82
+4 + 85 = 89
+99 + 84 = 183
+83 + 59 = 142
+6497 / 89 = 73
+14 + 67 = 81
+5913 / (23 + 58) = 73
+18142 / (97 + 96) = 94
+(5 + 49) x (96 + 7) = 5562
+144 / 9 = 16
+34 x (84 + 39) = 4182
+53 x 53 = 2809
+71 - 28 = 43
+13 x 8 = 104
+19 + 61 = 80
+1848 / 56 = 33
+8190 / (98 + 97) = 42
+2800 / (80 + 60) = 20
+51 x (52 + 35) = 4437
+4028 / 53 = 76
+5120 / 80 = 64
+5232 / (53 + 56) = 48
+10 + 78 = 88
+(71 - 21) x (3 + 81) = 4200
+78 + 60 = 138
+7905 / (23 + 62) = 93
+81 x 84 = 6804
+81 + 98 = 179
+43 + 39 = 82
+9 + 41 = 50
+120 / 5 = 24
+22 + 93 = 115
+80 + 68 = 148
+52 + 80 = 132
+11 + 27 = 38
+94 x (60 - 53) = 658
+272 / 8 = 34
+1827 / (14 + 15) = 63
+5060 / (77 + 33) = 46
+(43 + 41) x (48 - 41) = 588
+1 x 51 = 51
+91 + 17 = 108
+891 / (28 - 17) = 81
+42 + 90 = 132
+(10 + 45) x (52 - 37) = 825
+506 / (94 - 48) = 11
+49 + 63 = 112
+(1 + 5) x 92 = 552
+(34 + 16) x 94 = 4700
+4 x 43 = 172
+65 + 45 = 110
+30 + 53 = 83
+99 - 75 = 24
+(22 + 48) x 16 = 1120
+88 x 53 = 4664
+(40 + 62) x (96 - 23) = 7446
+140 / (17 - 10) = 20
+6201 / (40 + 77) = 53
+27 - 18 = 9
+5208 / 84 = 62
+34 + 92 = 126
+(67 - 53) x 90 = 1260
+11 x 10 = 110
+1665 / 45 = 37
+81 - 7 = 74
+979 / 11 = 89
+59 - 44 = 15
+73 x 37 = 2701
+91 x (51 - 15) = 3276
+63 - 40 = 23
+91 + 88 = 179
+25 x 86 = 2150
+60 - 39 = 21
+21 + 65 = 86
+5002 / (25 + 97) = 41
+45 x (10 + 14) = 1080
+56 x 14 = 784
+2881 / (55 + 12) = 43
+79 x 69 = 5451
+26 + 43 = 69
+494 / 26 = 19
+36 x (38 + 17) = 1980
+(1 + 44) x (34 - 22) = 540
+648 / 8 = 81
+7 + 41 = 48
+3772 / 41 = 92
+72 + 53 = 125
+96 - 26 = 70
+89 + 4 = 93
+30 / 30 = 1
+5684 / (26 + 72) = 58
+99 - 21 = 78
+54 + 94 = 148
+(80 - 48) x (40 + 64) = 3328
+95 x 30 = 2850
+16 x (26 + 19) = 720
+81 - 52 = 29
+69 x (81 + 5) = 5934
+4988 / (94 - 8) = 58
+18 + 1 = 19
+(79 + 87) x (30 + 77) = 17762
+18 + 44 = 62
+(51 + 34) x 61 = 5185
+(38 + 8) x (63 - 0) = 2898
+282 / (57 + 84) = 2
+1159 / (12 + 49) = 19
+(90 - 57) x 26 = 858
+60 + 55 = 115
+1258 / 34 = 37
+78 / 3 = 26
+4 + 72 = 76
+59 + 70 = 129
+890 / (93 - 4) = 10
+1 + 83 = 84
+(91 + 36) x 56 = 7112
+768 / 24 = 32
+(20 + 37) x (77 + 80) = 8949
+(63 - 32) x (80 + 49) = 3999
+38 - 36 = 2
+54 - 34 = 20
+76 + 13 = 89
+15 - 8 = 7
+640 / (40 + 40) = 8
+2037 / 97 = 21
+99 x 33 = 3267
+4 + 78 = 82
+82 x 100 = 8200
+6045 / 65 = 93
+1617 / 77 = 21
+7 + 7 = 14
+(63 + 44) x 42 = 4494
+59 + 96 = 155
+96 + 80 = 176
+(8 + 48) x 48 = 2688
+752 / 8 = 94
+3822 / 39 = 98
+(27 + 8) x (59 + 95) = 5390
+84 / (76 - 48) = 3
+1674 / (52 + 10) = 27
+44 + 81 = 125
+10 - 9 = 1
+28 - 15 = 13
+722 / (72 - 34) = 19
+16154 / (99 + 98) = 82
+88 + 58 = 146
+62 - 42 = 20
+94 + 15 = 109
+84 - 44 = 40
+3264 / (41 + 27) = 48
+1880 / 47 = 40
+95 + 48 = 143
+9702 / 98 = 99
+25 + 20 = 45
+28 + 91 = 119
+89 + 80 = 169
+(8 - 2) x 32 = 192
+3 x (83 + 8) = 273
+88 + 85 = 173
+93 + 27 = 120
+14 x 37 = 518
+3900 / (80 - 41) = 100
+3440 / 40 = 86
+(88 - 40) x 95 = 4560
+13 + 0 = 13
+87 + 61 = 148
+23 + 99 = 122
+82 + 47 = 129
+24 + 95 = 119
+(72 + 97) x 54 = 9126
+85 - 0 = 85
+83 + 9 = 92
+38 + 46 = 84
+49 + 19 = 68
+234 / (38 - 29) = 26
+4 + 36 = 40
+3267 / 33 = 99
+85 + 49 = 134
+73 / (71 - 70) = 73
+88 + 6 = 94
+(37 + 83) x 32 = 3840
+13068 / (42 + 90) = 99
+4380 / 73 = 60
+70 + 14 = 84
+(11 + 37) x (28 - 19) = 432
+86 - 16 = 70
+97 - 65 = 32
+(13 + 19) x 91 = 2912
+19 + 87 = 106
+4 x 92 = 368
+13 + 20 = 33
+57 / 3 = 19
+30 - 2 = 28
+46 - 39 = 7
+2015 / 65 = 31
+14256 / (68 + 76) = 99
+64 - 21 = 43
+(75 + 47) x 13 = 1586
+90 - 49 = 41
+3752 / (1 + 55) = 67
+32 x (68 + 71) = 4448
+4698 / 87 = 54
+(84 - 53) x 81 = 2511
+2673 / 81 = 33
+2409 / 73 = 33
+20 + 95 = 115
+(46 - 2) x (14 + 93) = 4708
+43 x (98 + 93) = 8213
+87 + 46 = 133
+87 - 37 = 50
+28 + 69 = 97
+72 + 75 = 147
+98 x (49 + 50) = 9702
+1908 / 53 = 36
+1 x (68 - 28) = 40
+76 - 68 = 8
+(52 + 86) x 98 = 13524
+51 x 42 = 2142
+83 - 41 = 42
+56 - 19 = 37
+65 + 94 = 159
+7 x 24 = 168
+58 - 5 = 53
+58 + 85 = 143
+84 - 57 = 27
+55 x (46 - 7) = 2145
+(99 - 95) x 25 = 100
+8232 / (63 + 21) = 98
+42 + 30 = 72
+39 x 33 = 1287
+2142 / 42 = 51
+100 x (15 + 88) = 10300
+66 / 11 = 6
+6174 / (17 + 46) = 98
+1740 / 87 = 20
+6076 / (11 + 51) = 98
+(32 - 1) x 96 = 2976
+1305 / 15 = 87
+1326 / 17 = 78
+6958 / (65 + 33) = 71
+74 x 41 = 3034
+(20 + 12) x 29 = 928
+1311 / (82 - 25) = 23
+80 + 85 = 165
+63 + 11 = 74
+6732 / (62 + 70) = 51
+2457 / 39 = 63
+26 + 48 = 74
+1305 / 87 = 15
+2100 / 30 = 70
+33 + 87 = 120
+85 + 89 = 174
+(45 + 36) x (14 + 61) = 6075
+1 + 78 = 79
+38 + 12 = 50
+1566 / 18 = 87
+78 + 77 = 155
+434 / 14 = 31
+(69 - 17) x (49 + 39) = 4576
+75 + 92 = 167
+42 + 30 = 72
+60 - 25 = 35
+45 - 34 = 11
+80 - 35 = 45
+(87 + 77) x 79 = 12956
+(51 + 33) x 58 = 4872
+1596 / (93 - 72) = 76
+(29 + 11) x (10 + 98) = 4320
+(59 - 57) x 52 = 104
+44 x (33 + 22) = 2420
+95 - 59 = 36
+39 x 12 = 468
+(31 - 29) x 36 = 72
+11988 / (82 + 80) = 74
+82 + 65 = 147
+60 + 78 = 138
+20 x 99 = 1980
+(64 + 6) x (77 - 56) = 1470
+15 + 66 = 81
+87 - 26 = 61
+(38 - 33) x 62 = 310
+87 + 80 = 167
+5670 / 90 = 63
+89 + 30 = 119
+(60 + 6) x 24 = 1584
+16 + 56 = 72
+85 + 70 = 155
+40 x 8 = 320
+41 x (82 + 56) = 5658
+99 - 38 = 61
+70 - 12 = 58
+(69 + 37) x 30 = 3180
+3300 / (80 + 70) = 22
+99 - 80 = 19
+14 x 10 = 140
+61 x (71 + 71) = 8662
+(43 - 34) x (6 + 70) = 684
+828 / 92 = 9
+93 - 23 = 70
+3876 / 51 = 76
+5395 / (43 + 40) = 65
+(4 + 50) x 87 = 4698
+47 - 20 = 27
+2960 / 80 = 37
+(29 + 69) x (14 + 97) = 10878
+17 + 60 = 77
+26 + 17 = 43
+27 + 7 = 34
+7584 / 79 = 96
+28 + 8 = 36
+15 x 81 = 1215
+84 + 43 = 127
+42 + 84 = 126
+1674 / 54 = 31
+1012 / (49 - 27) = 46
+7821 / 99 = 79
+85 + 17 = 102
+867 / 17 = 51
+92 x (35 + 15) = 4600
+73 x (78 + 12) = 6570
+84 + 46 = 130
+3080 / (10 + 60) = 44
+37 - 32 = 5
+(84 - 33) x 87 = 4437
+39 + 95 = 134
+6210 / 69 = 90
+88 + 7 = 95
+416 / 8 = 52
+25 + 7 = 32
+83 - 62 = 21
+67 - 61 = 6
+80 / 16 = 5
+76 + 25 = 101
+10000 / (49 + 76) = 80
+1050 / 35 = 30
+7 x (96 - 75) = 147
+(8 + 90) x 44 = 4312
+62 + 77 = 139
+97 - 95 = 2
+(87 + 27) x 40 = 4560
+22 + 97 = 119
+89 - 16 = 73
+38 + 49 = 87
+56 - 44 = 12
+936 / (3 + 21) = 39
+(22 + 56) x 7 = 546
+69 + 31 = 100
+14872 / (77 + 92) = 88
+65 + 66 = 131
+1166 / (65 - 43) = 53
+14 x 7 = 98
+36 x (64 + 30) = 3384
+31 - 22 = 9
+43 x (61 + 99) = 6880
+41 / 1 = 41
+39 + 22 = 61
+8 + 0 = 8
+(43 - 20) x (53 + 4) = 1311
+27 x 81 = 2187
+1122 / 34 = 33
+5 + 99 = 104
+610 / 10 = 61
+(34 + 80) x 3 = 342
+95 - 6 = 89
+96 + 68 = 164
+(94 + 64) x (91 - 58) = 5214
+50 - 8 = 42
+(70 + 77) x 23 = 3381
+11438 / (87 + 46) = 86
+874 / 46 = 19
+2112 / (48 - 26) = 96
+(98 + 30) x 33 = 4224
+86 x (81 - 77) = 344
+80 - 13 = 67
+2 + 54 = 56
+(40 + 71) x 69 = 7659
+(17 + 60) x (86 - 49) = 2849
+99 / 9 = 11
+6194 / (74 + 89) = 38
+68 - 45 = 23
+51 x (1 + 14) = 765
+52 x 97 = 5044
+69 + 90 = 159
+75 + 16 = 91
+3900 / 60 = 65
+(60 - 5) x (43 - 36) = 385
+684 / (16 + 2) = 38
+6885 / (54 + 81) = 51
+(16 + 59) x 14 = 1050
+(73 + 28) x (60 - 28) = 3232
+80 + 5 = 85
+(54 - 15) x (76 - 50) = 1014
+1386 / 42 = 33
+21 + 67 = 88
+37 + 96 = 133
+11136 / (90 + 84) = 64
+50 + 23 = 73
+75 x 76 = 5700
+25 x 51 = 1275
+99 x (15 + 17) = 3168
+(3 + 54) x (41 - 10) = 1767
+1720 / 43 = 40
+(15 - 5) x 73 = 730
+(2 + 65) x 51 = 3417
+49 - 22 = 27
+7161 / (2 + 75) = 93
+12 + 92 = 104
+1358 / 97 = 14
+(63 + 7) x (31 + 96) = 8890
+(67 + 60) x 39 = 4953
+54 + 68 = 122
+24 + 2 = 26
+3318 / 42 = 79
+36 + 51 = 87
+2480 / 62 = 40
+2366 / 26 = 91
+21 + 95 = 116
+3895 / 41 = 95
+50 x 35 = 1750
+3384 / 94 = 36
+25 + 94 = 119
+22 + 64 = 86
+(98 - 24) x (83 + 97) = 13320
+43 + 12 = 55
+(7 + 57) x (79 + 91) = 10880
+6324 / (16 + 86) = 62
+3692 / (83 - 31) = 71
+26 + 24 = 50
+5720 / (17 + 48) = 88
+(39 + 21) x 85 = 5100
+432 / (31 - 4) = 16
+62 + 97 = 159
+12369 / (64 + 69) = 93
+63 x 16 = 1008
+324 / (26 + 82) = 3
+51 + 82 = 133
+6 + 67 = 73
+94 + 33 = 127
+1189 / (85 - 44) = 29
+11303 / (77 + 50) = 89
+16 x 47 = 752
+95 - 40 = 55
+38 x (74 - 50) = 912
+15 + 92 = 107
+18 + 30 = 48
+73 + 9 = 82
+99 + 63 = 162
+34 x (93 - 7) = 2924
+57 + 54 = 111
+1 + 21 = 22
+(78 + 10) x 54 = 4752
+66 x 71 = 4686
+33 x (54 - 30) = 792
+76 + 68 = 144
+(88 - 87) x 28 = 28
+82 + 5 = 87
+(4 + 65) x (56 + 13) = 4761
+85 - 4 = 81
+42 + 61 = 103
+86 - 48 = 38
+34 / 34 = 1
+20 + 71 = 91
+60 x (81 + 94) = 10500
+19 - 4 = 15
+84 x 21 = 1764
+870 / (76 - 66) = 87
+650 / (53 - 28) = 26
+34 + 86 = 120
+98 x (96 + 61) = 15386
+48 + 75 = 123
+17 + 80 = 97
+1488 / 31 = 48
+7245 / (73 + 32) = 69
+94 - 68 = 26
+66 x (94 + 14) = 7128
+32 x 65 = 2080
+55 x (84 + 18) = 5610
+52 + 98 = 150
+87 + 5 = 92
+14 + 12 = 26
+225 / (78 - 33) = 5
+4752 / (82 - 10) = 66
+1428 / (38 + 30) = 21
+78 - 22 = 56
+59 x (52 + 32) = 4956
+50 + 34 = 84
+24 x 17 = 408
+1548 / 43 = 36
+90 + 26 = 116
+63 - 33 = 30
+85 + 34 = 119
+94 - 23 = 71
+1998 / 27 = 74
+38 + 51 = 89
+66 - 44 = 22
+5 + 14 = 19
+79 - 51 = 28
+92 - 83 = 9
+8360 / 95 = 88
+76 x 52 = 3952
+18 - 6 = 12
+74 + 80 = 154
+320 / 80 = 4
+97 x 54 = 5238
+12560 / (86 + 71) = 80
+3888 / 54 = 72
+60 x 89 = 5340
+86 x 37 = 3182
+92 x 22 = 2024
+63 x (61 + 64) = 7875
+58 x (93 - 77) = 928
+3630 / (77 - 22) = 66
+(93 - 81) x (54 - 20) = 408
+2664 / (69 + 42) = 24
+1376 / 16 = 86
+72 - 71 = 1
+18 - 13 = 5
+858 / (93 - 54) = 22
+1188 / 54 = 22
+79 + 74 = 153
+47 - 45 = 2
+45 + 6 = 51
+56 - 53 = 3
+63 - 12 = 51
+(34 + 2) x 73 = 2628
+33 x (85 - 81) = 132
+43 x (74 + 9) = 3569
+65 + 52 = 117
+42 + 84 = 126
+3910 / 46 = 85
+(74 + 10) x 20 = 1680
+97 + 32 = 129
+92 + 7 = 99
+9 x 72 = 648
+48 + 17 = 65
+7 x (14 + 95) = 763
+42 + 46 = 88
+40 + 98 = 138
+(12 + 3) x 100 = 1500
+(35 - 26) x (66 + 47) = 1017
+56 - 39 = 17
+76 x (68 + 79) = 11172
+(12 + 48) x (100 - 64) = 2160
+6499 / (46 + 21) = 97
+5 + 76 = 81
+7878 / (47 + 54) = 78
+67 x (54 + 12) = 4422
+87 x 11 = 957
+62 x (78 + 18) = 5952
+73 x (53 + 24) = 5621
+3400 / 68 = 50
+2968 / 53 = 56
+70 + 19 = 89
+164 / (16 - 12) = 41
+96 + 42 = 138
+69 + 98 = 167
+6 x 75 = 450
+7954 / (24 + 73) = 82
+957 / 33 = 29
+3180 / (99 + 60) = 20
+7030 / 74 = 95
+45 x (80 - 47) = 1485
+17 + 6 = 23
+38 + 14 = 52
+92 - 36 = 56
+13 + 31 = 44
+2442 / (98 - 65) = 74
+87 x (41 + 75) = 10092
+17 + 41 = 58
+44 x 78 = 3432
+360 / (46 - 36) = 36
+76 x 42 = 3192
+93 x 10 = 930
+84 + 80 = 164
+49 + 2 = 51
+(61 + 46) x 70 = 7490
+33 - 30 = 3
+44 + 98 = 142
+94 x 2 = 188
+11280 / (23 + 97) = 94
+71 - 37 = 34
+20 + 59 = 79
+69 / 1 = 69
+(87 + 41) x (61 - 28) = 4224
+1740 / 29 = 60
+96 - 2 = 94
+74 + 28 = 102
+56 + 35 = 91
+6080 / 80 = 76
+2 + 83 = 85
+5346 / (32 + 49) = 66
+3773 / 49 = 77
+742 / (81 - 28) = 14
+(98 - 83) x 85 = 1275
+63 - 45 = 18
+51 - 6 = 45
+30 x (42 + 80) = 3660
+3 x (71 - 31) = 120
+3175 / (52 + 75) = 25
+81 - 5 = 76
+2052 / (64 + 50) = 18
+76 + 1 = 77
+83 - 76 = 7
+78 + 94 = 172
+979 / 11 = 89
+72 + 73 = 145
+79 + 56 = 135
+46 - 22 = 24
+9676 / (92 + 72) = 59
+2632 / (28 + 0) = 94
+25 - 8 = 17
+(57 + 24) x 47 = 3807
+89 + 94 = 183
+25 + 66 = 91
+24 x (43 + 28) = 1704
+2 + 4 = 6
+38 + 18 = 56
+10 + 43 = 53
+18 + 97 = 115
+9 x 60 = 540
+8883 / (56 + 85) = 63
+5828 / (93 + 1) = 62
+1372 / (29 - 1) = 49
+87 + 61 = 148
+96 + 42 = 138
+2940 / (5 + 93) = 30
+40 + 41 = 81
+(56 - 23) x (75 - 70) = 165
+(70 + 86) x (67 + 52) = 18564
+23 + 30 = 53
+37 x 94 = 3478
+61 - 17 = 44
+2451 / 57 = 43
+2077 / (38 - 7) = 67
+36 x (54 + 16) = 2520
+41 x 46 = 1886
+6 + 43 = 49
+2976 / 48 = 62
+82 - 57 = 25
+13 + 61 = 74
+426 / 71 = 6
+34 / 2 = 17
+86 - 34 = 52
+87 + 9 = 96
+71 - 57 = 14
+7742 / (32 + 66) = 79
+89 + 32 = 121
+31 x (37 + 76) = 3503
+40 + 81 = 121
+50 - 10 = 40
+89 - 13 = 76
+26 + 35 = 61
+(42 - 6) x 19 = 684
+4672 / 64 = 73
+58 - 14 = 44
+0 + 43 = 43
+23 + 28 = 51
+30 x 39 = 1170
+63 - 60 = 3
+67 x (3 + 67) = 4690
+5684 / (73 + 25) = 58
+(24 + 27) x 43 = 2193
+85 - 82 = 3
+86 - 26 = 60
+46 + 24 = 70
+39 x 46 = 1794
+58 x (61 + 100) = 9338
+1584 / 24 = 66
+13 + 51 = 64
+98 - 65 = 33
+288 / (14 - 6) = 36
+82 - 4 = 78
+4559 / (64 - 17) = 97
+30 + 83 = 113
+86 + 47 = 133
+(23 + 5) x 30 = 840
+80 + 98 = 178
+(33 - 20) x 3 = 39
+27 - 7 = 20
+76 - 54 = 22
+(20 + 37) x 34 = 1938
+3328 / (73 - 9) = 52
+2976 / (11 + 37) = 62
+53 + 13 = 66
+53 - 29 = 24
+980 / 49 = 20
+3666 / 39 = 94
+20 + 41 = 61
+95 + 30 = 125
+4624 / (90 - 22) = 68
+30 + 56 = 86
+(78 + 11) x 18 = 1602
+1591 / (40 - 3) = 43
+33 + 43 = 76
+24 - 0 = 24
+5382 / 69 = 78
+94 - 26 = 68
+81 - 51 = 30
+(79 + 95) x (33 + 34) = 11658
+6375 / 85 = 75
+56 - 7 = 49
+(57 + 69) x (39 - 1) = 4788
+44 + 78 = 122
+348 / (88 + 28) = 3
+3920 / (79 - 23) = 70
+53 x (40 + 33) = 3869
+83 + 66 = 149
+2070 / 46 = 45
+51 x (59 + 39) = 4998
+4731 / (73 + 10) = 57
+(38 + 18) x 88 = 4928
+16 + 58 = 74
+38 x (34 - 8) = 988
+86 + 21 = 107
+47 + 69 = 116
+39 + 75 = 114
+91 + 48 = 139
+222 / 37 = 6
+(15 + 28) x (50 + 78) = 5504
+(76 - 15) x (46 - 22) = 1464
+21 x 25 = 525
+78 - 63 = 15
+88 - 60 = 28
+(34 - 14) x (74 + 63) = 2740
+3300 / (36 + 8) = 75
+1872 / 52 = 36
+1558 / 19 = 82
+20 + 76 = 96
+1276 / 58 = 22
+91 + 95 = 186
+59 - 4 = 55
+4130 / (95 - 36) = 70
+12888 / (84 + 95) = 72
+4 + 85 = 89
+72 x 98 = 7056
+86 + 46 = 132
+5472 / 72 = 76
+2296 / 82 = 28
+46 - 38 = 8
+20 + 28 = 48
+(38 + 55) x 57 = 5301
+17028 / (81 + 91) = 99
+32 + 100 = 132
+(6 + 31) x 98 = 3626
+87 + 25 = 112
+83 - 25 = 58
+96 + 79 = 175
+23 + 9 = 32
+58 + 14 = 72
+9504 / (33 + 75) = 88
+8036 / 98 = 82
+(85 + 68) x (94 + 19) = 17289
+322 / 7 = 46
+3744 / (85 + 71) = 24
+6035 / (1 + 70) = 85
+4 x 94 = 376
+510 / (100 - 94) = 85
+51 - 31 = 20
+65 + 35 = 100
+24 + 3 = 27
+80 - 63 = 17
+24 + 66 = 90
+65 + 59 = 124
+92 + 47 = 139
+46 + 22 = 68
+1353 / (1 + 40) = 33
+69 x 62 = 4278
+52 + 50 = 102
+75 x (91 + 47) = 10350
+73 + 91 = 164
+63 - 30 = 33
+5000 / (50 + 50) = 50
+(33 + 94) x 17 = 2159
+(23 + 66) x (76 + 34) = 9790
+66 - 27 = 39
+25 - 14 = 11
+47 x 21 = 987
+918 / (29 - 2) = 34
+(15 + 86) x (39 + 33) = 7272
+(24 + 86) x (67 + 17) = 9240
+6 + 75 = 81
+99 + 26 = 125
+95 x 7 = 665
+(80 - 20) x (12 + 89) = 6060
+37 - 1 = 36
+(75 + 89) x 30 = 4920
+1696 / 32 = 53
+62 x 68 = 4216
diff --git a/data/question_files/arithmetic/division_p0_-10-10.dat b/data/question_files/arithmetic/division_p0_-10-10.dat
new file mode 100644
index 0000000..a481835
--- /dev/null
+++ b/data/question_files/arithmetic/division_p0_-10-10.dat
@@ -0,0 +1,1000 @@
+-36 / -4 = 9
+72 / 9 = 8
+21 / -7 = -3
+8 / -1 = -8
+-50 / -5 = 10
+-8 / -1 = 8
+30 / 6 = 5
+16 / -8 = -2
+40 / -5 = -8
+45 / 9 = 5
+-60 / 6 = -10
+32 / -8 = -4
+-20 / 10 = -2
+50 / 10 = 5
+20 / -10 = -2
+21 / -7 = -3
+0 / -9 = 0
+-24 / -6 = 4
+-63 / -7 = 9
+-12 / 2 = -6
+90 / 9 = 10
+10 / 1 = 10
+27 / 3 = 9
+-45 / 5 = -9
+49 / 7 = 7
+3 / 3 = 1
+21 / -7 = -3
+-50 / 5 = -10
+-24 / -6 = 4
+54 / 9 = 6
+10 / -1 = -10
+30 / -6 = -5
+18 / 6 = 3
+-24 / -6 = 4
+5 / 5 = 1
+90 / 9 = 10
+-20 / -10 = 2
+-6 / 3 = -2
+-9 / -1 = 9
+-16 / -8 = 2
+-40 / -8 = 5
+-36 / 6 = -6
+-6 / 2 = -3
+49 / 7 = 7
+8 / -1 = -8
+20 / 4 = 5
+-4 / -4 = 1
+0 / 1 = 0
+-54 / -9 = 6
+10 / 5 = 2
+14 / 2 = 7
+-24 / -6 = 4
+27 / -9 = -3
+-9 / -9 = 1
+-80 / -10 = 8
+-21 / 7 = -3
+28 / -4 = -7
+-9 / -9 = 1
+-6 / -3 = 2
+24 / -4 = -6
+28 / 7 = 4
+-42 / 7 = -6
+30 / 5 = 6
+-30 / -6 = 5
+63 / -9 = -7
+72 / -8 = -9
+-28 / -7 = 4
+100 / -10 = -10
+-5 / -1 = 5
+27 / -9 = -3
+9 / 1 = 9
+8 / -4 = -2
+-56 / -8 = 7
+-60 / 6 = -10
+16 / 2 = 8
+-14 / -2 = 7
+-9 / 9 = -1
+-18 / -9 = 2
+64 / -8 = -8
+-12 / 2 = -6
+-15 / -5 = 3
+-12 / -6 = 2
+15 / 3 = 5
+-8 / -1 = 8
+3 / -1 = -3
+32 / -4 = -8
+9 / 1 = 9
+-18 / -3 = 6
+-15 / 3 = -5
+-8 / 1 = -8
+12 / -3 = -4
+-21 / -7 = 3
+-24 / 8 = -3
+21 / -7 = -3
+-36 / 6 = -6
+-36 / -4 = 9
+10 / 10 = 1
+36 / -9 = -4
+80 / -10 = -8
+0 / -1 = 0
+-56 / 7 = -8
+-49 / -7 = 7
+-27 / -3 = 9
+8 / -4 = -2
+0 / -9 = 0
+-25 / -5 = 5
+35 / -5 = -7
+6 / -2 = -3
+4 / -2 = -2
+-4 / -1 = 4
+-8 / 1 = -8
+54 / -9 = -6
+60 / -10 = -6
+12 / 4 = 3
+7 / 1 = 7
+20 / 2 = 10
+64 / -8 = -8
+-40 / -10 = 4
+81 / -9 = -9
+-16 / -2 = 8
+8 / -8 = -1
+45 / 9 = 5
+-30 / 6 = -5
+-21 / -7 = 3
+-36 / -6 = 6
+-21 / -3 = 7
+-18 / -3 = 6
+-48 / -8 = 6
+-6 / -2 = 3
+-4 / 4 = -1
+40 / -4 = -10
+4 / -1 = -4
+63 / -7 = -9
+0 / 4 = 0
+-50 / -10 = 5
+10 / 10 = 1
+42 / 6 = 7
+28 / 4 = 7
+-36 / -9 = 4
+-18 / 2 = -9
+63 / -9 = -7
+0 / -9 = 0
+-32 / -4 = 8
+45 / -5 = -9
+5 / 1 = 5
+-5 / 1 = -5
+5 / 1 = 5
+14 / -2 = -7
+-35 / 7 = -5
+30 / 10 = 3
+7 / -1 = -7
+36 / -6 = -6
+-40 / 8 = -5
+20 / -2 = -10
+-15 / 5 = -3
+10 / -10 = -1
+-5 / -1 = 5
+2 / 2 = 1
+10 / -5 = -2
+0 / 4 = 0
+24 / -3 = -8
+-24 / 4 = -6
+0 / -9 = 0
+6 / -3 = -2
+-54 / -9 = 6
+6 / 3 = 2
+0 / 7 = 0
+-2 / 1 = -2
+-32 / -8 = 4
+-8 / -4 = 2
+8 / -4 = -2
+-21 / -7 = 3
+-24 / -3 = 8
+64 / -8 = -8
+40 / -8 = -5
+48 / 8 = 6
+18 / 9 = 2
+8 / 2 = 4
+8 / -4 = -2
+0 / -1 = 0
+-4 / 4 = -1
+27 / 9 = 3
+14 / -2 = -7
+20 / 4 = 5
+25 / 5 = 5
+4 / 1 = 4
+-35 / -5 = 7
+-42 / -6 = 7
+-9 / 9 = -1
+10 / -5 = -2
+72 / -8 = -9
+36 / 9 = 4
+0 / -7 = 0
+5 / 1 = 5
+-6 / -2 = 3
+45 / 9 = 5
+7 / -1 = -7
+-6 / 6 = -1
+12 / -6 = -2
+-7 / 7 = -1
+6 / 6 = 1
+90 / 9 = 10
+-35 / 7 = -5
+35 / 7 = 5
+45 / 9 = 5
+-27 / 9 = -3
+18 / -6 = -3
+-20 / 10 = -2
+-72 / 9 = -8
+5 / -1 = -5
+3 / -1 = -3
+-56 / -8 = 7
+48 / -6 = -8
+100 / 10 = 10
+-27 / 9 = -3
+18 / 9 = 2
+-15 / 5 = -3
+28 / -7 = -4
+-8 / -2 = 4
+25 / -5 = -5
+-24 / 3 = -8
+16 / -2 = -8
+48 / 8 = 6
+-63 / -9 = 7
+56 / 7 = 8
+0 / -2 = 0
+-24 / 4 = -6
+15 / -5 = -3
+48 / 6 = 8
+-14 / 7 = -2
+24 / -3 = -8
+3 / 3 = 1
+-9 / 1 = -9
+0 / -9 = 0
+14 / 7 = 2
+12 / 6 = 2
+-10 / -10 = 1
+0 / -7 = 0
+54 / -9 = -6
+-18 / -3 = 6
+-36 / -9 = 4
+-4 / 1 = -4
+-12 / 4 = -3
+-12 / -6 = 2
+-56 / 7 = -8
+-25 / -5 = 5
+48 / 6 = 8
+42 / 7 = 6
+56 / 8 = 7
+8 / -2 = -4
+-40 / -8 = 5
+-4 / 4 = -1
+-12 / -2 = 6
+0 / 7 = 0
+-5 / 1 = -5
+9 / -9 = -1
+30 / -5 = -6
+-35 / 5 = -7
+63 / 9 = 7
+24 / 4 = 6
+0 / 8 = 0
+-28 / 4 = -7
+12 / 6 = 2
+12 / 4 = 3
+-50 / -5 = 10
+5 / -5 = -1
+-10 / -5 = 2
+-4 / 2 = -2
+-24 / 6 = -4
+-20 / -4 = 5
+-10 / -2 = 5
+56 / -8 = -7
+9 / 9 = 1
+-63 / -7 = 9
+0 / 3 = 0
+36 / 6 = 6
+40 / 10 = 4
+6 / -6 = -1
+45 / 5 = 9
+-40 / 8 = -5
+-42 / -6 = 7
+100 / -10 = -10
+32 / 4 = 8
+-27 / 9 = -3
+-72 / 8 = -9
+-6 / 3 = -2
+72 / -9 = -8
+-5 / 1 = -5
+-15 / 3 = -5
+-90 / -9 = 10
+-14 / 7 = -2
+7 / -7 = -1
+-72 / -8 = 9
+6 / 1 = 6
+-8 / -4 = 2
+-16 / 2 = -8
+-49 / -7 = 7
+-36 / 6 = -6
+-15 / -3 = 5
+24 / -8 = -3
+48 / 6 = 8
+16 / 8 = 2
+-9 / 1 = -9
+-50 / 5 = -10
+-20 / -4 = 5
+-40 / -8 = 5
+12 / -3 = -4
+54 / 9 = 6
+-18 / -3 = 6
+-21 / 7 = -3
+0 / -6 = 0
+90 / -9 = -10
+-36 / 6 = -6
+-20 / -5 = 4
+-21 / 3 = -7
+-30 / -6 = 5
+27 / -9 = -3
+4 / -1 = -4
+-56 / 8 = -7
+5 / -5 = -1
+-54 / -6 = 9
+-16 / 8 = -2
+-48 / -6 = 8
+9 / 3 = 3
+-24 / -3 = 8
+-5 / 1 = -5
+28 / 4 = 7
+-16 / -4 = 4
+-36 / 6 = -6
+-40 / 8 = -5
+-7 / -7 = 1
+-72 / 9 = -8
+32 / -8 = -4
+-12 / 2 = -6
+0 / 3 = 0
+14 / 7 = 2
+49 / -7 = -7
+-25 / -5 = 5
+-18 / 9 = -2
+-49 / 7 = -7
+16 / -8 = -2
+-42 / 6 = -7
+0 / 4 = 0
+-54 / 6 = -9
+16 / 4 = 4
+9 / -9 = -1
+2 / 2 = 1
+-63 / 9 = -7
+28 / -4 = -7
+-40 / -8 = 5
+-40 / 10 = -4
+-1 / -1 = 1
+-21 / 7 = -3
+6 / 1 = 6
+-70 / -10 = 7
+-35 / -7 = 5
+56 / -7 = -8
+63 / 7 = 9
+12 / 3 = 4
+-24 / -8 = 3
+-1 / 1 = -1
+6 / 6 = 1
+0 / 5 = 0
+9 / -3 = -3
+0 / -5 = 0
+12 / 3 = 4
+-10 / 2 = -5
+-9 / 1 = -9
+-10 / 2 = -5
+32 / 8 = 4
+3 / -1 = -3
+7 / 7 = 1
+28 / -4 = -7
+30 / 5 = 6
+8 / 2 = 4
+-42 / -7 = 6
+-72 / 8 = -9
+-54 / -9 = 6
+-15 / 5 = -3
+-56 / 8 = -7
+27 / 3 = 9
+-9 / 1 = -9
+-3 / -1 = 3
+-40 / 4 = -10
+-48 / 6 = -8
+27 / 9 = 3
+2 / -2 = -1
+-42 / -6 = 7
+21 / 7 = 3
+18 / 3 = 6
+32 / -4 = -8
+7 / -1 = -7
+-6 / 2 = -3
+24 / 3 = 8
+-14 / 7 = -2
+0 / -10 = 0
+-63 / 7 = -9
+45 / 9 = 5
+-6 / -2 = 3
+72 / 9 = 8
+-6 / -2 = 3
+18 / -6 = -3
+18 / 3 = 6
+32 / 8 = 4
+8 / -2 = -4
+-16 / -8 = 2
+-2 / 2 = -1
+-24 / -8 = 3
+28 / 4 = 7
+-8 / -8 = 1
+-9 / -1 = 9
+-45 / 5 = -9
+-27 / 3 = -9
+-3 / -1 = 3
+30 / -6 = -5
+21 / 7 = 3
+-4 / 4 = -1
+16 / 8 = 2
+-10 / 2 = -5
+-4 / -1 = 4
+50 / 5 = 10
+8 / 2 = 4
+-14 / -2 = 7
+8 / 2 = 4
+24 / 6 = 4
+-27 / -9 = 3
+14 / 7 = 2
+-16 / -2 = 8
+-18 / 2 = -9
+-2 / 2 = -1
+-49 / -7 = 7
+-12 / 2 = -6
+15 / 5 = 3
+-6 / -3 = 2
+15 / 5 = 3
+0 / -4 = 0
+90 / 9 = 10
+-4 / 4 = -1
+63 / -9 = -7
+-60 / -10 = 6
+-25 / 5 = -5
+3 / 3 = 1
+-20 / -5 = 4
+-72 / 9 = -8
+24 / 3 = 8
+-7 / 7 = -1
+48 / 8 = 6
+6 / 6 = 1
+3 / -3 = -1
+20 / -4 = -5
+9 / -3 = -3
+-2 / 2 = -1
+-56 / 7 = -8
+24 / 6 = 4
+-64 / 8 = -8
+2 / 2 = 1
+-12 / 2 = -6
+-16 / 4 = -4
+60 / -10 = -6
+-9 / 1 = -9
+20 / 2 = 10
+6 / 1 = 6
+-25 / -5 = 5
+0 / 6 = 0
+20 / -2 = -10
+-8 / -8 = 1
+4 / 2 = 2
+21 / 7 = 3
+-45 / 5 = -9
+-12 / -2 = 6
+-54 / 9 = -6
+4 / -2 = -2
+-24 / -6 = 4
+40 / -8 = -5
+63 / 7 = 9
+-15 / -3 = 5
+27 / 3 = 9
+0 / 1 = 0
+30 / 6 = 5
+3 / -3 = -1
+16 / 4 = 4
+12 / -4 = -3
+-8 / -4 = 2
+20 / -10 = -2
+7 / 7 = 1
+-14 / 7 = -2
+-7 / 1 = -7
+30 / 3 = 10
+49 / 7 = 7
+-40 / 8 = -5
+9 / -3 = -3
+-5 / 1 = -5
+18 / 2 = 9
+-20 / 5 = -4
+-28 / -7 = 4
+-12 / 6 = -2
+-6 / 1 = -6
+80 / -8 = -10
+-64 / 8 = -8
+5 / 1 = 5
+24 / -4 = -6
+1 / -1 = -1
+6 / -1 = -6
+-40 / -10 = 4
+-81 / -9 = 9
+-54 / 9 = -6
+-50 / 10 = -5
+45 / 5 = 9
+-28 / 7 = -4
+0 / -3 = 0
+-72 / -8 = 9
+-8 / 1 = -8
+-45 / -9 = 5
+8 / -1 = -8
+16 / 4 = 4
+-50 / -5 = 10
+18 / 6 = 3
+54 / -9 = -6
+4 / 2 = 2
+0 / -2 = 0
+-16 / 8 = -2
+-90 / -9 = 10
+8 / 4 = 2
+8 / -2 = -4
+0 / -4 = 0
+4 / 4 = 1
+-4 / -4 = 1
+-42 / 6 = -7
+0 / 6 = 0
+-12 / -3 = 4
+-10 / 10 = -1
+-4 / -2 = 2
+-24 / 6 = -4
+-30 / 5 = -6
+-30 / -5 = 6
+-36 / -6 = 6
+-81 / -9 = 9
+-21 / -7 = 3
+-10 / 2 = -5
+-12 / 3 = -4
+-48 / 8 = -6
+42 / 6 = 7
+9 / 9 = 1
+0 / 2 = 0
+-35 / 7 = -5
+-28 / 7 = -4
+40 / -5 = -8
+30 / 5 = 6
+-40 / 8 = -5
+-36 / -9 = 4
+-42 / -6 = 7
+-18 / -2 = 9
+-90 / -10 = 9
+-4 / -2 = 2
+-9 / -9 = 1
+10 / 5 = 2
+42 / -6 = -7
+-40 / -4 = 10
+-80 / 10 = -8
+-36 / -9 = 4
+45 / -9 = -5
+80 / 8 = 10
+54 / -6 = -9
+5 / -1 = -5
+-40 / -5 = 8
+21 / 3 = 7
+16 / 2 = 8
+6 / 1 = 6
+4 / 4 = 1
+-8 / -2 = 4
+24 / -4 = -6
+-24 / -8 = 3
+0 / 2 = 0
+21 / 3 = 7
+-45 / -9 = 5
+3 / 3 = 1
+0 / -2 = 0
+9 / 3 = 3
+-12 / 3 = -4
+-35 / 7 = -5
+35 / 5 = 7
+-8 / -1 = 8
+27 / -3 = -9
+-5 / 1 = -5
+15 / -3 = -5
+-21 / 3 = -7
+36 / -6 = -6
+63 / 7 = 9
+-18 / 2 = -9
+0 / -9 = 0
+21 / -3 = -7
+24 / 4 = 6
+-30 / -6 = 5
+45 / 9 = 5
+7 / 7 = 1
+27 / -9 = -3
+36 / 6 = 6
+-72 / -9 = 8
+-21 / 3 = -7
+-10 / 1 = -10
+9 / -1 = -9
+32 / 8 = 4
+63 / -7 = -9
+16 / 4 = 4
+36 / -6 = -6
+-20 / 5 = -4
+5 / -5 = -1
+-24 / 4 = -6
+-4 / 2 = -2
+10 / 10 = 1
+81 / -9 = -9
+2 / 2 = 1
+7 / 7 = 1
+-8 / -8 = 1
+-16 / 4 = -4
+-40 / 10 = -4
+-4 / 2 = -2
+-18 / -6 = 3
+50 / -5 = -10
+-70 / -10 = 7
+0 / -8 = 0
+70 / 7 = 10
+-27 / 9 = -3
+54 / -9 = -6
+-12 / 6 = -2
+-40 / 5 = -8
+-6 / -3 = 2
+-7 / -1 = 7
+15 / 3 = 5
+-72 / 9 = -8
+8 / 1 = 8
+-5 / -1 = 5
+8 / -1 = -8
+45 / 5 = 9
+-30 / 6 = -5
+-4 / -4 = 1
+-56 / 7 = -8
+0 / 7 = 0
+8 / 4 = 2
+36 / -9 = -4
+14 / -2 = -7
+-14 / 2 = -7
+42 / 6 = 7
+3 / -1 = -3
+-36 / 9 = -4
+5 / -5 = -1
+-36 / -9 = 4
+21 / -7 = -3
+-9 / 9 = -1
+-30 / -5 = 6
+-5 / -1 = 5
+72 / 9 = 8
+7 / 7 = 1
+18 / -2 = -9
+48 / 6 = 8
+24 / -4 = -6
+10 / -2 = -5
+70 / 7 = 10
+-5 / 5 = -1
+7 / -7 = -1
+50 / 10 = 5
+-5 / 5 = -1
+-81 / 9 = -9
+30 / 5 = 6
+45 / 9 = 5
+-6 / -3 = 2
+9 / -9 = -1
+-16 / 4 = -4
+-45 / -5 = 9
+-16 / -2 = 8
+14 / 2 = 7
+-48 / 8 = -6
+0 / -3 = 0
+27 / -9 = -3
+16 / -4 = -4
+-32 / 8 = -4
+-15 / -3 = 5
+-8 / -8 = 1
+56 / -8 = -7
+12 / 6 = 2
+-10 / -10 = 1
+12 / -3 = -4
+-10 / -2 = 5
+-18 / -6 = 3
+56 / 8 = 7
+-63 / 7 = -9
+-60 / 10 = -6
+0 / -4 = 0
+0 / -10 = 0
+-45 / -9 = 5
+24 / 3 = 8
+0 / 8 = 0
+36 / -4 = -9
+0 / -2 = 0
+63 / -7 = -9
+36 / -4 = -9
+81 / -9 = -9
+40 / -8 = -5
+35 / 7 = 5
+32 / -4 = -8
+18 / 2 = 9
+-12 / -2 = 6
+0 / -9 = 0
+-12 / 6 = -2
+-6 / -2 = 3
+40 / 8 = 5
+-16 / -8 = 2
+10 / 5 = 2
+0 / 3 = 0
+30 / 6 = 5
+48 / 6 = 8
+30 / 10 = 3
+24 / 3 = 8
+7 / 7 = 1
+-32 / 4 = -8
+16 / -8 = -2
+32 / -4 = -8
+16 / 2 = 8
+4 / -4 = -1
+-36 / 9 = -4
+-8 / 8 = -1
+5 / 5 = 1
+16 / -8 = -2
+60 / 6 = 10
+-6 / -2 = 3
+-72 / 9 = -8
+-90 / 9 = -10
+20 / -10 = -2
+0 / -4 = 0
+-7 / -1 = 7
+42 / -6 = -7
+-8 / -1 = 8
+24 / -6 = -4
+45 / 9 = 5
+-7 / -7 = 1
+0 / 9 = 0
+-21 / -7 = 3
+70 / 10 = 7
+-12 / 2 = -6
+35 / 5 = 7
+63 / -9 = -7
+56 / -7 = -8
+64 / -8 = -8
+0 / -1 = 0
+-12 / 3 = -4
+-72 / -9 = 8
+-49 / 7 = -7
+-64 / -8 = 8
+-1 / 1 = -1
+-18 / -6 = 3
+50 / -10 = -5
+-6 / -2 = 3
+1 / 1 = 1
+54 / 6 = 9
+-21 / 7 = -3
+0 / -3 = 0
+6 / -2 = -3
+42 / 7 = 6
+6 / -3 = -2
+27 / 3 = 9
+-4 / 2 = -2
+-50 / -5 = 10
+24 / 6 = 4
+-12 / -4 = 3
+-15 / 5 = -3
+-42 / -6 = 7
+-5 / -5 = 1
+8 / 1 = 8
+-63 / -7 = 9
+27 / -3 = -9
+7 / -1 = -7
+15 / -5 = -3
+-36 / 4 = -9
+-42 / -6 = 7
+80 / 8 = 10
+-16 / 4 = -4
+40 / -10 = -4
+4 / -1 = -4
+9 / 9 = 1
+-54 / -6 = 9
+30 / 6 = 5
+-45 / -9 = 5
+-8 / -8 = 1
+24 / 8 = 3
+72 / 9 = 8
+-63 / -7 = 9
+-15 / 3 = -5
+-30 / -10 = 3
+-20 / -4 = 5
+-32 / -8 = 4
+35 / -5 = -7
+0 / 9 = 0
+16 / -4 = -4
+-24 / 4 = -6
+-15 / 5 = -3
+35 / 7 = 5
+36 / -9 = -4
+32 / -8 = -4
+2 / 2 = 1
+-16 / 8 = -2
+3 / -3 = -1
+-30 / 5 = -6
+40 / 8 = 5
+-60 / 10 = -6
+6 / -1 = -6
+70 / -7 = -10
+-24 / -8 = 3
+-42 / -6 = 7
+14 / 7 = 2
+-48 / -6 = 8
+-6 / -3 = 2
+-32 / 4 = -8
+-4 / -1 = 4
+40 / -4 = -10
+30 / -6 = -5
+60 / -6 = -10
+-10 / 5 = -2
+27 / -3 = -9
+-8 / -1 = 8
+7 / -1 = -7
+16 / 8 = 2
+-24 / -6 = 4
+6 / 6 = 1
+42 / -7 = -6
+1 / 1 = 1
+-63 / -7 = 9
+30 / 5 = 6
+1 / 1 = 1
+-10 / 5 = -2
+-56 / -7 = 8
+35 / 5 = 7
+-30 / 6 = -5
+63 / -7 = -9
+72 / 8 = 9
+24 / 3 = 8
+-35 / 5 = -7
+18 / -3 = -6
+-2 / -2 = 1
+90 / 10 = 9
+81 / 9 = 9
+40 / -5 = -8
+0 / 9 = 0
+-10 / 10 = -1
+-28 / 4 = -7
+-21 / -7 = 3
+72 / 8 = 9
+-18 / -2 = 9
+50 / -10 = -5
+-48 / -6 = 8
+50 / 5 = 10
+-8 / 4 = -2
+3 / -1 = -3
+-10 / -1 = 10
+-12 / -6 = 2
+1 / -1 = -1
+-4 / 2 = -2
+60 / -10 = -6
+-64 / -8 = 8
+9 / 3 = 3
+27 / 3 = 9
+28 / 4 = 7
+-2 / -1 = 2
+60 / -10 = -6
+56 / -8 = -7
+-5 / -1 = 5
+63 / 7 = 9
+56 / -8 = -7
+-15 / -3 = 5
+-64 / -8 = 8
+-35 / 5 = -7
+-4 / 2 = -2
+-35 / -7 = 5
+4 / -2 = -2
+21 / 7 = 3
+-12 / 6 = -2
+10 / -5 = -2
+-56 / -8 = 7
+0 / 4 = 0
+-48 / 8 = -6
+45 / -9 = -5
+100 / -10 = -10
+24 / -8 = -3
+81 / -9 = -9
+-24 / -8 = 3
+-4 / -4 = 1
+-30 / 3 = -10
+32 / 4 = 8
+-80 / -10 = 8
+8 / 1 = 8
+-20 / -4 = 5
+-30 / 6 = -5
+-8 / -1 = 8
+-6 / 6 = -1
+-24 / -6 = 4
+56 / -8 = -7
+30 / 5 = 6
+-2 / -1 = 2
+16 / -8 = -2
+-49 / 7 = -7
+7 / 7 = 1
+-4 / -4 = 1
+24 / 8 = 3
+-40 / -5 = 8
+-10 / 10 = -1
+-21 / -7 = 3
+49 / 7 = 7
+-70 / -10 = 7
+54 / 6 = 9
+-21 / 7 = -3
+-28 / 7 = -4
+0 / -1 = 0
+-7 / 1 = -7
+9 / -9 = -1
+-27 / -9 = 3
+-6 / 3 = -2
+-90 / 10 = -9
+7 / 1 = 7
+24 / -3 = -8
+-10 / 2 = -5
+-32 / -4 = 8
+-18 / -6 = 3
+0 / -3 = 0
+54 / 6 = 9
+12 / -3 = -4
+-8 / -8 = 1
+10 / 2 = 5
+-56 / 7 = -8
+-50 / -5 = 10
+-40 / 5 = -8
+-50 / 10 = -5
+49 / -7 = -7
+30 / -5 = -6
+-14 / 7 = -2
+64 / -8 = -8
+-12 / 2 = -6
+9 / 9 = 1
+60 / -6 = -10
+0 / 9 = 0
+36 / 6 = 6
+8 / -8 = -1
+0 / -7 = 0
+12 / 6 = 2
+-45 / 9 = -5
+36 / 9 = 4
+-80 / -8 = 10
+-5 / -5 = 1
+40 / -8 = -5
+-9 / -1 = 9
+54 / -9 = -6
+16 / 8 = 2
+56 / -7 = -8
+-56 / 8 = -7
+-12 / -3 = 4
+-50 / 5 = -10
+-90 / 9 = -10
+-18 / -3 = 6
+24 / 8 = 3
+-18 / -9 = 2
+-27 / 3 = -9
+-49 / 7 = -7
+-2 / 2 = -1
+21 / -3 = -7
+-72 / -8 = 9
+18 / 2 = 9
+28 / 4 = 7
+-18 / -9 = 2
+12 / 4 = 3
+12 / 6 = 2
+70 / -10 = -7
+18 / -3 = -6
+-30 / 5 = -6
+-7 / 1 = -7
+70 / 7 = 10
+72 / -9 = -8
+-5 / -5 = 1
+-36 / 9 = -4
+-2 / 2 = -1
+42 / -6 = -7
+18 / 9 = 2
+16 / -2 = -8
+-81 / 9 = -9
+42 / 7 = 6
+28 / 4 = 7
+-6 / -2 = 3
+24 / -4 = -6
+-8 / -1 = 8
+-80 / 8 = -10
+-24 / 4 = -6
+36 / 9 = 4
+4 / -2 = -2
+63 / 9 = 7
+-28 / 7 = -4
+-7 / -7 = 1
+-56 / 7 = -8
+-27 / 9 = -3
+-14 / -2 = 7
+6 / -3 = -2
+12 / 2 = 6
+14 / -2 = -7
+32 / -8 = -4
diff --git a/data/question_files/arithmetic/division_p0_-100-100.dat b/data/question_files/arithmetic/division_p0_-100-100.dat
new file mode 100644
index 0000000..73e6fda
--- /dev/null
+++ b/data/question_files/arithmetic/division_p0_-100-100.dat
@@ -0,0 +1,1000 @@
+-720 / -16 = 45
+0 / -83 = 0
+2618 / 77 = 34
+1650 / 50 = 33
+1254 / -22 = -57
+-3355 / -55 = 61
+-3080 / 56 = -55
+2960 / -74 = -40
+-308 / 7 = -44
+4536 / -81 = -56
+-74 / -1 = 74
+-6882 / -74 = 93
+595 / 17 = 35
+-2610 / 30 = -87
+442 / -26 = -17
+-2585 / -55 = 47
+-1188 / 18 = -66
+7470 / -90 = -83
+97 / 1 = 97
+-6633 / 67 = -99
+4060 / -58 = -70
+3081 / 79 = 39
+-2805 / -33 = 85
+-164 / 2 = -82
+2204 / -58 = -38
+3953 / -67 = -59
+-2080 / 52 = -40
+-4440 / 74 = -60
+-3649 / 41 = -89
+-3726 / -81 = 46
+6966 / -86 = -81
+0 / 72 = 0
+1080 / 27 = 40
+1386 / 33 = 42
+2268 / 54 = 42
+-320 / -40 = 8
+1224 / 36 = 34
+-6831 / 69 = -99
+455 / 35 = 13
+25 / 25 = 1
+936 / 24 = 39
+-1081 / 47 = -23
+-6300 / 75 = -84
+2414 / 34 = 71
+138 / 69 = 2
+-713 / -31 = 23
+-6603 / -71 = 93
+540 / 54 = 10
+-5130 / 57 = -90
+4186 / -91 = -46
+-1106 / -79 = 14
+1420 / 71 = 20
+-300 / 12 = -25
+-616 / -56 = 11
+2673 / -27 = -99
+-4416 / -96 = 46
+1079 / -83 = -13
+-7560 / 90 = -84
+3640 / -52 = -70
+2400 / 100 = 24
+-2415 / 69 = -35
+4779 / 59 = 81
+3312 / 92 = 36
+-5355 / -63 = 85
+160 / -2 = -80
+-168 / -14 = 12
+4704 / 56 = 84
+2622 / -46 = -57
+2350 / -25 = -94
+-5780 / -68 = 85
+-3698 / -43 = 86
+1869 / -89 = -21
+-714 / -21 = 34
+-288 / 9 = -32
+-2898 / -42 = 69
+1600 / 25 = 64
+459 / -9 = -51
+-2024 / -88 = 23
+-1320 / 15 = -88
+-1116 / 62 = -18
+-66 / -6 = 11
+900 / 36 = 25
+3654 / -63 = -58
+2944 / 46 = 64
+-684 / -38 = 18
+1494 / 18 = 83
+4293 / -53 = -81
+-7056 / 84 = -84
+-7426 / 79 = -94
+375 / -75 = -5
+-1377 / -81 = 17
+736 / -32 = -23
+1012 / -46 = -22
+-6732 / 99 = -68
+-2848 / -89 = 32
+-456 / 24 = -19
+-4617 / -57 = 81
+-192 / -16 = 12
+-185 / 37 = -5
+1566 / -54 = -29
+-2397 / -51 = 47
+-957 / -33 = 29
+4704 / 56 = 84
+-8075 / -95 = 85
+-7520 / 94 = -80
+1428 / -34 = -42
+3828 / 58 = 66
+2112 / -96 = -22
+92 / 1 = 92
+-2160 / 36 = -60
+-310 / -10 = 31
+-774 / -86 = 9
+4158 / -66 = -63
+-2236 / -52 = 43
+3416 / -61 = -56
+-697 / -17 = 41
+2464 / -77 = -32
+-1768 / 52 = -34
+-1340 / -67 = 20
+0 / 18 = 0
+-1248 / -32 = 39
+-4104 / -57 = 72
+-5561 / -83 = 67
+-4753 / 49 = -97
+1944 / -54 = -36
+-576 / 6 = -96
+1944 / -72 = -27
+427 / 61 = 7
+2331 / 63 = 37
+-2079 / -63 = 33
+-8645 / -95 = 91
+2400 / 30 = 80
+765 / -15 = -51
+3526 / -41 = -86
+231 / 33 = 7
+3250 / -65 = -50
+-5183 / 71 = -73
+240 / 16 = 15
+-2600 / 26 = -100
+4950 / -50 = -99
+3266 / 46 = 71
+6853 / -77 = -89
+3570 / -70 = -51
+294 / 6 = 49
+2016 / -42 = -48
+-527 / 31 = -17
+-34 / -34 = 1
+-470 / 47 = -10
+-1440 / -72 = 20
+-3239 / -79 = 41
+-228 / 57 = -4
+-2280 / -76 = 30
+-3036 / 66 = -46
+-1140 / -57 = 20
+-2460 / -82 = 30
+-70 / -2 = 35
+6640 / -83 = -80
+-3312 / -69 = 48
+124 / 31 = 4
+-6 / 3 = -2
+-9310 / -98 = 95
+-9024 / 94 = -96
+-288 / 32 = -9
+-3720 / -93 = 40
+3337 / -47 = -71
+-870 / -30 = 29
+667 / -29 = -23
+-460 / -23 = 20
+2320 / -40 = -58
+975 / -25 = -39
+1386 / -22 = -63
+6806 / -83 = -82
+-8624 / 98 = -88
+5335 / -55 = -97
+360 / 90 = 4
+-2520 / 45 = -56
+-1925 / 55 = -35
+-1680 / 35 = -48
+55 / 11 = 5
+-1649 / -17 = 97
+44 / -11 = -4
+-40 / 2 = -20
+638 / -29 = -22
+210 / -10 = -21
+78 / -2 = -39
+-2184 / 56 = -39
+4730 / 86 = 55
+-1088 / 32 = -34
+3431 / -47 = -73
+5888 / -64 = -92
+-700 / -28 = 25
+-616 / -8 = 77
+1700 / -34 = -50
+-936 / 72 = -13
+3870 / -45 = -86
+-360 / -20 = 18
+-1518 / 33 = -46
+-296 / 4 = -74
+5626 / 58 = 97
+5500 / -55 = -100
+-2145 / 33 = -65
+-360 / -24 = 15
+-2225 / 89 = -25
+3515 / -37 = -95
+-192 / -16 = 12
+-270 / 3 = -90
+4582 / 58 = 79
+5478 / -66 = -83
+-2418 / 39 = -62
+4675 / -55 = -85
+-6399 / -79 = 81
+-2850 / -38 = 75
+4095 / 65 = 63
+-5643 / -57 = 99
+2280 / -38 = -60
+1407 / -21 = -67
+4753 / 49 = 97
+25 / 1 = 25
+598 / -13 = -46
+-4002 / -58 = 69
+-9021 / 93 = -97
+8148 / 84 = 97
+-6237 / 77 = -81
+-3081 / -39 = 79
+-1922 / 62 = -31
+-553 / -79 = 7
+3015 / 45 = 67
+8064 / -84 = -96
+-5208 / 84 = -62
+6880 / -80 = -86
+-4900 / 50 = -98
+-304 / 76 = -4
+1890 / 42 = 45
+-666 / -9 = 74
+3025 / -55 = -55
+-4960 / -80 = 62
+8645 / 91 = 95
+-5994 / -74 = 81
+280 / -4 = -70
+4675 / -85 = -55
+-8800 / -100 = 88
+-190 / 19 = -10
+-4488 / -88 = 51
+-1054 / 62 = -17
+1365 / -21 = -65
+923 / -71 = -13
+1196 / -13 = -92
+-730 / -10 = 73
+-403 / -31 = 13
+-3185 / -49 = 65
+-240 / 80 = -3
+-4712 / 76 = -62
+216 / -18 = -12
+-378 / -18 = 21
+3354 / 39 = 86
+-7826 / -86 = 91
+4785 / -55 = -87
+-256 / 8 = -32
+4080 / 80 = 51
+-2960 / -80 = 37
+-1612 / 62 = -26
+-891 / 33 = -27
+-1404 / 78 = -18
+138 / 3 = 46
+972 / 12 = 81
+8370 / -93 = -90
+7650 / 85 = 90
+-1932 / -84 = 23
+495 / 5 = 99
+-3248 / -58 = 56
+-1056 / 66 = -16
+-384 / -64 = 6
+-4416 / 92 = -48
+5607 / 89 = 63
+414 / -18 = -23
+680 / -68 = -10
+-6732 / -68 = 99
+-2475 / -45 = 55
+2964 / 38 = 78
+162 / -3 = -54
+1140 / -60 = -19
+2870 / 35 = 82
+3315 / -51 = -65
+525 / 25 = 21
+581 / -7 = -83
+3038 / 98 = 31
+1440 / 48 = 30
+-9120 / -95 = 96
+-5856 / -96 = 61
+-2688 / -28 = 96
+4400 / -50 = -88
+1666 / -98 = -17
+-2800 / 70 = -40
+2300 / 23 = 100
+568 / -8 = -71
+-9312 / 96 = -97
+-4760 / -70 = 68
+-3105 / 69 = -45
+3136 / -32 = -98
+532 / -38 = -14
+1180 / -20 = -59
+1281 / -21 = -61
+-9108 / 99 = -92
+-1008 / -16 = 63
+-270 / 10 = -27
+-559 / 13 = -43
+8188 / 89 = 92
+-4032 / 48 = -84
+-2077 / 31 = -67
+-26 / 1 = -26
+3570 / 70 = 51
+950 / -95 = -10
+1794 / 23 = 78
+-792 / -24 = 33
+64 / -4 = -16
+-8148 / 97 = -84
+6408 / 72 = 89
+3888 / 48 = 81
+3268 / -38 = -86
+-5488 / 98 = -56
+-3201 / -33 = 97
+840 / 14 = 60
+-6424 / -73 = 88
+135 / -9 = -15
+1066 / -13 = -82
+2898 / -69 = -42
+4606 / -47 = -98
+-4320 / 60 = -72
+305 / -61 = -5
+1128 / 12 = 94
+5225 / -55 = -95
+3864 / -42 = -92
+-756 / 27 = -28
+-3192 / -76 = 42
+408 / 8 = 51
+-135 / -45 = 3
+1209 / 93 = 13
+1584 / -44 = -36
+-1120 / 40 = -28
+552 / 46 = 12
+264 / -4 = -66
+-4732 / 91 = -52
+-2914 / -31 = 94
+-720 / 40 = -18
+-175 / 35 = -5
+301 / -7 = -43
+7920 / 88 = 90
+-2816 / -32 = 88
+5187 / -57 = -91
+-708 / 59 = -12
+-2628 / -73 = 36
+9702 / -99 = -98
+-468 / -36 = 13
+-7560 / -90 = 84
+-6596 / 68 = -97
+-9118 / 97 = -94
+-2765 / 35 = -79
+-600 / 60 = -10
+1496 / -22 = -68
+-2580 / -86 = 30
+8010 / -90 = -89
+-945 / 21 = -45
+-1178 / 38 = -31
+572 / -13 = -44
+-1386 / 63 = -22
+4970 / -71 = -70
+-1176 / -24 = 49
+-435 / 15 = -29
+-3996 / -54 = 74
+-868 / 62 = -14
+1485 / -27 = -55
+3536 / 52 = 68
+-1419 / 43 = -33
+2850 / -95 = -30
+-2691 / -39 = 69
+-1168 / 73 = -16
+3404 / -92 = -37
+500 / 5 = 100
+-512 / 32 = -16
+1551 / 33 = 47
+-2905 / -83 = 35
+-110 / -2 = 55
+-272 / 4 = -68
+4664 / 88 = 53
+-6675 / 75 = -89
+-2196 / 61 = -36
+2046 / 33 = 62
+2144 / -67 = -32
+2064 / -86 = -24
+575 / 23 = 25
+-2068 / 94 = -22
+-2116 / -23 = 92
+-3608 / -88 = 41
+682 / 22 = 31
+7470 / 90 = 83
+-2048 / 64 = -32
+-2883 / -31 = 93
+-5096 / 98 = -52
+-76 / 2 = -38
+-7920 / 90 = -88
+464 / 16 = 29
+779 / -41 = -19
+-265 / 5 = -53
+-4180 / -76 = 55
+1472 / -32 = -46
+980 / -20 = -49
+-529 / -23 = 23
+972 / -27 = -36
+1404 / -27 = -52
+-3350 / -67 = 50
+2002 / -26 = -77
+-1785 / 35 = -51
+2128 / -28 = -76
+783 / -27 = -29
+1632 / 17 = 96
+6016 / -64 = -94
+4930 / 58 = 85
+756 / 21 = 36
+2542 / 62 = 41
+-3990 / 95 = -42
+-5925 / -75 = 79
+1457 / 47 = 31
+-1925 / 25 = -77
+-1652 / -28 = 59
+-158 / 79 = -2
+-2100 / 42 = -50
+1078 / 98 = 11
+2262 / 58 = 39
+3588 / -92 = -39
+-3400 / 68 = -50
+-140 / -28 = 5
+-2225 / 89 = -25
+2752 / -86 = -32
+-540 / -54 = 10
+-416 / -8 = 52
+-616 / -8 = 77
+-2640 / -40 = 66
+1044 / 36 = 29
+-4356 / -44 = 99
+344 / -86 = -4
+-1265 / 23 = -55
+2520 / 35 = 72
+-4880 / 80 = -61
+5916 / 87 = 68
+4047 / 57 = 71
+2993 / 41 = 73
+-24 / -1 = 24
+-475 / 5 = -95
+-5467 / 77 = -71
+-1638 / -39 = 42
+372 / -4 = -93
+1300 / 20 = 65
+-1484 / -53 = 28
+-3250 / 50 = -65
+-4656 / -97 = 48
+-4284 / 68 = -63
+819 / 9 = 91
+-2014 / 53 = -38
+3690 / -82 = -45
+4482 / 54 = 83
+-54 / -18 = 3
+-576 / 9 = -64
+1660 / 20 = 83
+-946 / 22 = -43
+2688 / 84 = 32
+-5472 / -96 = 57
+923 / -13 = -71
+1460 / 73 = 20
+-300 / -12 = 25
+-672 / 7 = -96
+3520 / 40 = 88
+2376 / 27 = 88
+-3034 / 41 = -74
+3160 / -79 = -40
+6120 / -85 = -72
+1617 / 33 = 49
+1034 / -47 = -22
+1850 / 37 = 50
+5544 / -77 = -72
+351 / -13 = -27
+4557 / -49 = -93
+-5148 / 99 = -52
+7134 / -82 = -87
+2800 / -80 = -35
+2716 / 28 = 97
+-5880 / -98 = 60
+-1638 / -26 = 63
+-1247 / -29 = 43
+-5684 / 58 = -98
+-1242 / -18 = 69
+-2496 / 39 = -64
+-8648 / 92 = -94
+-9310 / -98 = 95
+-720 / 30 = -24
+2553 / -69 = -37
+2193 / -51 = -43
+-1144 / 26 = -44
+-1708 / 61 = -28
+-330 / 66 = -5
+2970 / 55 = 54
+1104 / 16 = 69
+1140 / 30 = 38
+-260 / 5 = -52
+2288 / 52 = 44
+285 / 57 = 5
+6716 / -92 = -73
+800 / 40 = 20
+7238 / 77 = 94
+-1242 / 69 = -18
+5760 / -72 = -80
+-7081 / -73 = 97
+-2160 / 72 = -30
+-6004 / 79 = -76
+-2366 / 91 = -26
+6630 / -78 = -85
+-2050 / -25 = 82
+1200 / 80 = 15
+975 / -75 = -13
+-6762 / 69 = -98
+1332 / 18 = 74
+2650 / 53 = 50
+2205 / -49 = -45
+-5152 / 56 = -92
+132 / 22 = 6
+-3360 / 35 = -96
+-185 / -5 = 37
+5244 / -57 = -92
+736 / -23 = -32
+3471 / -39 = -89
+4452 / 84 = 53
+-2254 / -98 = 23
+-3550 / -50 = 71
+-5852 / 77 = -76
+1296 / -48 = -27
+4888 / -94 = -52
+-2093 / 23 = -91
+-1736 / -28 = 62
+2844 / 36 = 79
+-7209 / 89 = -81
+-3168 / -96 = 33
+6942 / 78 = 89
+1920 / -60 = -32
+-799 / 17 = -47
+884 / 34 = 26
+-1100 / -55 = 20
+1600 / 40 = 40
+7047 / 81 = 87
+-2176 / 68 = -32
+-4697 / -77 = 61
+-6750 / 75 = -90
+2760 / -69 = -40
+-3150 / -90 = 35
+1261 / 13 = 97
+38 / -2 = -19
+2528 / -79 = -32
+8366 / 94 = 89
+3298 / 97 = 34
+5751 / -81 = -71
+-1464 / 24 = -61
+-1596 / -21 = 76
+1495 / 65 = 23
+-2484 / 54 = -46
+-578 / 17 = -34
+7296 / -96 = -76
+4500 / -75 = -60
+1122 / 33 = 34
+6138 / -99 = -62
+-1144 / -52 = 22
+2808 / 52 = 54
+-5160 / 86 = -60
+4275 / 45 = 95
+2870 / 41 = 70
+-2754 / -81 = 34
+385 / -55 = -7
+7968 / -83 = -96
+-4819 / -79 = 61
+6474 / -83 = -78
+378 / -54 = -7
+-2262 / -29 = 78
+954 / 18 = 53
+-9702 / -99 = 98
+-2115 / -47 = 45
+-9600 / 100 = -96
+3276 / 63 = 52
+-616 / 44 = -14
+-1241 / 73 = -17
+0 / 5 = 0
+-392 / -14 = 28
+4420 / -85 = -52
+-5246 / -86 = 61
+-5304 / -78 = 68
+-3192 / -42 = 76
+2220 / -30 = -74
+-54 / -27 = 2
+-498 / -83 = 6
+-5727 / 83 = -69
+-456 / 6 = -76
+5000 / -100 = -50
+-6942 / -89 = 78
+897 / -69 = -13
+1974 / 21 = 94
+174 / 29 = 6
+8455 / -89 = -95
+-3000 / 50 = -60
+-6248 / 71 = -88
+418 / -38 = -11
+2210 / 34 = 65
+1365 / -65 = -21
+3813 / 93 = 41
+5976 / 72 = 83
+1701 / 27 = 63
+-1792 / 64 = -28
+-1140 / -12 = 95
+-6120 / 72 = -85
+-1056 / 12 = -88
+640 / -8 = -80
+4312 / 44 = 98
+-40 / -40 = 1
+2523 / -29 = -87
+-1764 / -36 = 49
+3332 / 34 = 98
+1190 / 70 = 17
+-2950 / 59 = -50
+-1914 / -66 = 29
+1056 / -96 = -11
+2277 / 69 = 33
+-2496 / 32 = -78
+416 / -13 = -32
+-7826 / 91 = -86
+3330 / -90 = -37
+-3150 / 50 = -63
+2541 / -77 = -33
+-1320 / -20 = 66
+1776 / -24 = -74
+4539 / -89 = -51
+-6555 / -69 = 95
+-3456 / 72 = -48
+7905 / 85 = 93
+-1120 / -40 = 28
+-5076 / 54 = -94
+5312 / -64 = -83
+-2046 / -22 = 93
+6138 / 99 = 62
+-4465 / 95 = -47
+-28 / 4 = -7
+-2652 / 51 = -52
+4312 / 49 = 88
+4374 / 54 = 81
+-60 / -20 = 3
+1060 / -53 = -20
+-3813 / -93 = 41
+-8910 / 99 = -90
+-2064 / -86 = 24
+5544 / -77 = -72
+3 / -3 = -1
+1683 / -17 = -99
+-660 / -15 = 44
+-3192 / -57 = 56
+-1680 / -20 = 84
+2142 / 51 = 42
+-120 / -4 = 30
+3864 / 84 = 46
+76 / 4 = 19
+-5400 / -60 = 90
+100 / -5 = -20
+-195 / 65 = -3
+-3256 / -44 = 74
+-210 / -3 = 70
+-961 / -31 = 31
+-1296 / -18 = 72
+462 / -66 = -7
+672 / 16 = 42
+-3685 / 67 = -55
+2250 / 30 = 75
+-450 / 30 = -15
+-1960 / 28 = -70
+3672 / 54 = 68
+6461 / -91 = -71
+3840 / -60 = -64
+6160 / 70 = 88
+3484 / 67 = 52
+3440 / 40 = 86
+-1656 / -69 = 24
+-4224 / -64 = 66
+-396 / 12 = -33
+-1848 / 44 = -42
+2184 / -39 = -56
+-4536 / -81 = 56
+-144 / -2 = 72
+-2940 / -60 = 49
+207 / 23 = 9
+2755 / -29 = -95
+38 / -38 = -1
+-7280 / 91 = -80
+77 / 11 = 7
+-468 / 9 = -52
+5904 / 72 = 82
+-915 / -61 = 15
+637 / -91 = -7
+2336 / 32 = 73
+-1232 / -14 = 88
+5320 / 56 = 95
+680 / -10 = -68
+-3128 / 46 = -68
+-1054 / -62 = 17
+-1848 / -24 = 77
+968 / -44 = -22
+1221 / -37 = -33
+1240 / -40 = -31
+-2025 / 27 = -75
+1560 / 60 = 26
+7820 / 92 = 85
+-1938 / -38 = 51
+150 / 15 = 10
+-378 / 42 = -9
+574 / 82 = 7
+4368 / 78 = 56
+-1060 / -20 = 53
+1785 / -21 = -85
+-1566 / -54 = 29
+1344 / -56 = -24
+2772 / -44 = -63
+-594 / 99 = -6
+-1972 / -34 = 58
+-3465 / 99 = -35
+-5162 / 58 = -89
+1342 / -61 = -22
+1314 / -18 = -73
+3640 / -56 = -65
+4125 / 75 = 55
+-3528 / 42 = -84
+190 / 5 = 38
+-1302 / 93 = -14
+-5544 / 72 = -77
+-7425 / 99 = -75
+3008 / -94 = -32
+-900 / -100 = 9
+3239 / -41 = -79
+1008 / 36 = 28
+-7298 / 89 = -82
+340 / -10 = -34
+4392 / 72 = 61
+-1248 / -48 = 26
+2214 / -41 = -54
+5694 / 78 = 73
+3036 / -46 = -66
+-1240 / -20 = 62
+5278 / -58 = -91
+-9120 / 96 = -95
+-4257 / -99 = 43
+-1560 / -40 = 39
+1813 / -49 = -37
+2784 / 32 = 87
+540 / -15 = -36
+-588 / 42 = -14
+-3735 / 45 = -83
+-5418 / -86 = 63
+-12 / -12 = 1
+3321 / 41 = 81
+6090 / 70 = 87
+-800 / -25 = 32
+4557 / -49 = -93
+-2144 / -32 = 67
+1188 / -27 = -44
+-3864 / 56 = -69
+-1860 / -60 = 31
+-1904 / -56 = 34
+1862 / -19 = -98
+166 / 2 = 83
+-3686 / 97 = -38
+-2565 / 45 = -57
+1428 / -28 = -51
+-288 / -36 = 8
+1400 / 20 = 70
+-594 / 9 = -66
+5670 / -81 = -70
+-306 / 51 = -6
+4730 / 55 = 86
+-2912 / -32 = 91
+3102 / -33 = -94
+-2700 / 30 = -90
+-27 / 27 = -1
+-484 / 44 = -11
+2405 / -65 = -37
+4089 / 87 = 47
+-333 / 37 = -9
+-3534 / -62 = 57
+11 / 1 = 11
+-2336 / 73 = -32
+350 / -25 = -14
+-2816 / 88 = -32
+264 / -11 = -24
+903 / 43 = 21
+-6468 / -98 = 66
+546 / 91 = 6
+1128 / -24 = -47
+1280 / 64 = 20
+-8730 / 90 = -97
+-819 / 13 = -63
+1140 / 30 = 38
+3720 / 60 = 62
+845 / -13 = -65
+-1120 / -32 = 35
+777 / 37 = 21
+-360 / 40 = -9
+-957 / -29 = 33
+-1608 / -67 = 24
+-3237 / 83 = -39
+1176 / 14 = 84
+500 / -10 = -50
+2128 / -76 = -28
+2583 / -41 = -63
+-172 / -43 = 4
+69 / -23 = -3
+-1080 / -27 = 40
+3024 / -36 = -84
+1312 / -32 = -41
+-5880 / -70 = 84
+371 / 7 = 53
+5808 / -66 = -88
+5168 / 76 = 68
+1292 / 17 = 76
+912 / -12 = -76
+-2816 / 88 = -32
+630 / -9 = -70
+6204 / 94 = 66
+-7680 / 80 = -96
+-1185 / -15 = 79
+675 / -15 = -45
+-2538 / -54 = 47
+1178 / 31 = 38
+-3416 / -56 = 61
+-6486 / 94 = -69
+1548 / 36 = 43
+-7326 / -99 = 74
+1846 / 71 = 26
+-2392 / 92 = -26
+-810 / 9 = -90
+-3354 / -78 = 43
+3280 / -80 = -41
+194 / -97 = -2
+-8514 / -99 = 86
+780 / 15 = 52
+297 / -9 = -33
+-2336 / 73 = -32
+-738 / 9 = -82
+0 / 6 = 0
+-1920 / -64 = 30
+3159 / -39 = -81
+-1794 / -39 = 46
+-4704 / 49 = -96
+-639 / -71 = 9
+-342 / -38 = 9
+322 / -23 = -14
+-50 / 1 = -50
+-1680 / 20 = -84
+-85 / 5 = -17
+2314 / 26 = 89
+1296 / -72 = -18
+310 / 5 = 62
+-630 / -70 = 9
+792 / 99 = 8
+3381 / -69 = -49
+-2100 / -25 = 84
+2262 / -58 = -39
+3952 / 52 = 76
+2542 / 82 = 31
+1088 / 16 = 68
+-3420 / -45 = 76
+-2516 / -68 = 37
+800 / -20 = -40
+2079 / -33 = -63
+714 / -21 = -34
+35 / -35 = -1
+4275 / 57 = 75
+-3010 / 86 = -35
+6256 / 92 = 68
+-2688 / -48 = 56
+1476 / 36 = 41
+3060 / 45 = 68
+-6600 / 66 = -100
+3498 / -66 = -53
+-2457 / 27 = -91
+-902 / -11 = 82
+-480 / 32 = -15
+1278 / -18 = -71
+679 / -7 = -97
+-8740 / 95 = -92
+2494 / -43 = -58
+-8827 / -97 = 91
+1610 / 23 = 70
+-924 / 44 = -21
+-3648 / -57 = 64
+4940 / -65 = -76
+-4234 / 58 = -73
+128 / 32 = 4
+-602 / 7 = -86
+-6396 / -82 = 78
+-4047 / -57 = 71
+86 / -2 = -43
+3312 / -46 = -72
+-1411 / -17 = 83
+-200 / -40 = 5
+-600 / 30 = -20
+776 / -97 = -8
+-2438 / -53 = 46
+468 / -9 = -52
+8170 / -95 = -86
+1710 / 90 = 19
+-15 / -1 = 15
+-2880 / 36 = -80
+-1312 / -32 = 41
+5478 / 66 = 83
+-7268 / -92 = 79
+1488 / 31 = 48
+-2627 / 71 = -37
+37 / -37 = -1
+3192 / -42 = -76
+132 / -6 = -22
+176 / 2 = 88
+4224 / -88 = -48
+-847 / -77 = 11
+-2240 / 28 = -80
+564 / -12 = -47
+-828 / -9 = 92
+1160 / -20 = -58
+-6237 / 77 = -81
+-770 / 55 = -14
+-1680 / -60 = 28
+-2772 / -44 = 63
+-2754 / -81 = 34
+6831 / 69 = 99
+68 / -17 = -4
+4180 / -44 = -95
+-4819 / -61 = 79
+144 / 9 = 16
+7812 / 93 = 84
+-4690 / -70 = 67
+-378 / -14 = 27
+1775 / -71 = -25
+-2916 / -36 = 81
+6688 / -88 = -76
+1880 / -94 = -20
+-1287 / 39 = -33
+-450 / -18 = 25
+3588 / 46 = 78
+-432 / -12 = 36
+6882 / 74 = 93
+1218 / 58 = 21
+-4032 / -84 = 48
+1599 / -41 = -39
+-7310 / -85 = 86
+4560 / 48 = 95
+6417 / 93 = 69
+322 / 7 = 46
+-255 / -15 = 17
+-594 / 99 = -6
+4731 / -83 = -57
+-540 / 18 = -30
+936 / 12 = 78
+700 / 70 = 10
+-165 / -33 = 5
+-8316 / 84 = -99
+-1512 / 24 = -63
+-1085 / 35 = -31
+-3600 / -48 = 75
+-3081 / 39 = -79
+3128 / 92 = 34
+2277 / -69 = -33
+-714 / -51 = 14
+660 / 11 = 60
+-1408 / 16 = -88
+-1150 / -23 = 50
+1792 / -32 = -56
+2400 / -50 = -48
+166 / 2 = 83
+540 / 90 = 6
+42 / 7 = 6
+-612 / -36 = 17
+-9801 / -99 = 99
+-5796 / -92 = 63
+-2565 / -57 = 45
+-450 / -30 = 15
+-1533 / -21 = 73
+2842 / 58 = 49
+4140 / -90 = -46
+230 / 5 = 46
+-464 / -8 = 58
+3360 / 60 = 56
+-2150 / -25 = 86
+3420 / 36 = 95
+-540 / 12 = -45
+-168 / 28 = -6
+3834 / 54 = 71
+950 / -38 = -25
+64 / -16 = -4
+833 / 17 = 49
+-3290 / -94 = 35
+3910 / 46 = 85
+-2254 / -46 = 49
diff --git a/data/question_files/arithmetic/division_p0_0-10.dat b/data/question_files/arithmetic/division_p0_0-10.dat
new file mode 100644
index 0000000..96bb391
--- /dev/null
+++ b/data/question_files/arithmetic/division_p0_0-10.dat
@@ -0,0 +1,1000 @@
+81 / 9 = 9
+20 / 10 = 2
+50 / 10 = 5
+28 / 7 = 4
+9 / 9 = 1
+2 / 1 = 2
+15 / 5 = 3
+7 / 7 = 1
+30 / 6 = 5
+36 / 6 = 6
+15 / 5 = 3
+8 / 8 = 1
+63 / 7 = 9
+48 / 6 = 8
+6 / 6 = 1
+2 / 1 = 2
+27 / 9 = 3
+56 / 7 = 8
+24 / 3 = 8
+7 / 1 = 7
+16 / 8 = 2
+18 / 2 = 9
+20 / 2 = 10
+48 / 8 = 6
+72 / 8 = 9
+72 / 8 = 9
+21 / 3 = 7
+12 / 2 = 6
+40 / 8 = 5
+90 / 10 = 9
+45 / 9 = 5
+63 / 9 = 7
+42 / 6 = 7
+49 / 7 = 7
+24 / 8 = 3
+45 / 5 = 9
+8 / 1 = 8
+64 / 8 = 8
+48 / 8 = 6
+72 / 9 = 8
+6 / 1 = 6
+6 / 1 = 6
+5 / 5 = 1
+81 / 9 = 9
+20 / 10 = 2
+6 / 6 = 1
+63 / 9 = 7
+24 / 6 = 4
+8 / 8 = 1
+56 / 7 = 8
+70 / 10 = 7
+36 / 4 = 9
+9 / 9 = 1
+21 / 7 = 3
+24 / 3 = 8
+45 / 5 = 9
+16 / 8 = 2
+15 / 5 = 3
+40 / 4 = 10
+24 / 8 = 3
+16 / 2 = 8
+8 / 2 = 4
+30 / 3 = 10
+5 / 5 = 1
+42 / 6 = 7
+5 / 1 = 5
+8 / 8 = 1
+30 / 10 = 3
+40 / 5 = 8
+16 / 8 = 2
+12 / 3 = 4
+6 / 6 = 1
+24 / 4 = 6
+16 / 8 = 2
+18 / 6 = 3
+72 / 9 = 8
+18 / 2 = 9
+8 / 2 = 4
+5 / 1 = 5
+7 / 7 = 1
+80 / 10 = 8
+3 / 1 = 3
+70 / 10 = 7
+20 / 5 = 4
+20 / 5 = 4
+18 / 9 = 2
+1 / 1 = 1
+48 / 6 = 8
+50 / 5 = 10
+10 / 10 = 1
+50 / 5 = 10
+30 / 5 = 6
+48 / 8 = 6
+21 / 3 = 7
+56 / 8 = 7
+10 / 5 = 2
+90 / 10 = 9
+7 / 1 = 7
+56 / 7 = 8
+20 / 5 = 4
+35 / 5 = 7
+24 / 4 = 6
+4 / 2 = 2
+49 / 7 = 7
+3 / 1 = 3
+24 / 3 = 8
+18 / 9 = 2
+24 / 8 = 3
+12 / 4 = 3
+49 / 7 = 7
+60 / 10 = 6
+70 / 7 = 10
+7 / 1 = 7
+36 / 6 = 6
+16 / 2 = 8
+24 / 8 = 3
+6 / 3 = 2
+6 / 6 = 1
+1 / 1 = 1
+9 / 1 = 9
+25 / 5 = 5
+9 / 9 = 1
+15 / 3 = 5
+24 / 6 = 4
+10 / 2 = 5
+56 / 7 = 8
+30 / 6 = 5
+18 / 3 = 6
+2 / 1 = 2
+9 / 1 = 9
+25 / 5 = 5
+18 / 6 = 3
+2 / 2 = 1
+36 / 9 = 4
+10 / 10 = 1
+63 / 9 = 7
+30 / 3 = 10
+54 / 9 = 6
+10 / 10 = 1
+24 / 6 = 4
+35 / 7 = 5
+3 / 1 = 3
+72 / 8 = 9
+3 / 3 = 1
+90 / 10 = 9
+25 / 5 = 5
+30 / 3 = 10
+5 / 1 = 5
+49 / 7 = 7
+1 / 1 = 1
+20 / 4 = 5
+7 / 7 = 1
+80 / 8 = 10
+35 / 5 = 7
+24 / 6 = 4
+12 / 6 = 2
+28 / 7 = 4
+20 / 5 = 4
+2 / 2 = 1
+24 / 4 = 6
+21 / 7 = 3
+42 / 6 = 7
+4 / 4 = 1
+30 / 5 = 6
+10 / 5 = 2
+25 / 5 = 5
+14 / 2 = 7
+27 / 9 = 3
+42 / 6 = 7
+60 / 6 = 10
+24 / 3 = 8
+15 / 5 = 3
+6 / 1 = 6
+15 / 5 = 3
+4 / 1 = 4
+10 / 2 = 5
+7 / 7 = 1
+4 / 2 = 2
+42 / 6 = 7
+9 / 9 = 1
+6 / 6 = 1
+21 / 7 = 3
+16 / 2 = 8
+20 / 5 = 4
+56 / 7 = 8
+8 / 8 = 1
+20 / 5 = 4
+10 / 5 = 2
+72 / 8 = 9
+4 / 4 = 1
+36 / 9 = 4
+4 / 1 = 4
+12 / 4 = 3
+25 / 5 = 5
+30 / 3 = 10
+72 / 9 = 8
+9 / 3 = 3
+27 / 3 = 9
+56 / 7 = 8
+50 / 10 = 5
+15 / 3 = 5
+28 / 4 = 7
+20 / 2 = 10
+16 / 2 = 8
+14 / 2 = 7
+63 / 7 = 9
+12 / 4 = 3
+21 / 3 = 7
+35 / 5 = 7
+24 / 6 = 4
+72 / 8 = 9
+12 / 6 = 2
+35 / 7 = 5
+56 / 7 = 8
+20 / 4 = 5
+56 / 8 = 7
+25 / 5 = 5
+32 / 4 = 8
+48 / 6 = 8
+12 / 2 = 6
+36 / 4 = 9
+18 / 3 = 6
+3 / 1 = 3
+6 / 6 = 1
+21 / 7 = 3
+8 / 8 = 1
+8 / 8 = 1
+28 / 4 = 7
+7 / 1 = 7
+18 / 6 = 3
+3 / 1 = 3
+27 / 3 = 9
+30 / 5 = 6
+6 / 6 = 1
+49 / 7 = 7
+70 / 10 = 7
+8 / 8 = 1
+42 / 7 = 6
+5 / 5 = 1
+7 / 7 = 1
+9 / 3 = 3
+3 / 3 = 1
+9 / 1 = 9
+42 / 6 = 7
+24 / 6 = 4
+35 / 7 = 5
+16 / 2 = 8
+80 / 8 = 10
+4 / 4 = 1
+10 / 1 = 10
+36 / 4 = 9
+27 / 3 = 9
+42 / 7 = 6
+18 / 3 = 6
+32 / 4 = 8
+18 / 2 = 9
+40 / 8 = 5
+8 / 2 = 4
+63 / 7 = 9
+27 / 9 = 3
+12 / 2 = 6
+48 / 6 = 8
+40 / 5 = 8
+18 / 6 = 3
+32 / 8 = 4
+9 / 1 = 9
+8 / 8 = 1
+27 / 9 = 3
+35 / 5 = 7
+72 / 9 = 8
+24 / 6 = 4
+48 / 6 = 8
+9 / 9 = 1
+25 / 5 = 5
+54 / 6 = 9
+48 / 8 = 6
+40 / 10 = 4
+54 / 6 = 9
+4 / 4 = 1
+9 / 3 = 3
+36 / 4 = 9
+36 / 9 = 4
+81 / 9 = 9
+60 / 6 = 10
+42 / 6 = 7
+40 / 5 = 8
+30 / 3 = 10
+24 / 8 = 3
+72 / 8 = 9
+54 / 6 = 9
+90 / 10 = 9
+63 / 7 = 9
+24 / 4 = 6
+4 / 4 = 1
+30 / 5 = 6
+20 / 5 = 4
+12 / 2 = 6
+45 / 5 = 9
+9 / 3 = 3
+3 / 1 = 3
+18 / 6 = 3
+42 / 7 = 6
+14 / 7 = 2
+12 / 6 = 2
+5 / 1 = 5
+56 / 7 = 8
+4 / 2 = 2
+16 / 4 = 4
+48 / 6 = 8
+16 / 2 = 8
+10 / 2 = 5
+30 / 3 = 10
+16 / 2 = 8
+49 / 7 = 7
+32 / 8 = 4
+4 / 1 = 4
+9 / 1 = 9
+3 / 1 = 3
+64 / 8 = 8
+16 / 8 = 2
+27 / 9 = 3
+21 / 7 = 3
+9 / 9 = 1
+30 / 6 = 5
+4 / 2 = 2
+10 / 1 = 10
+4 / 1 = 4
+4 / 4 = 1
+56 / 7 = 8
+32 / 4 = 8
+8 / 1 = 8
+20 / 4 = 5
+81 / 9 = 9
+20 / 4 = 5
+36 / 9 = 4
+9 / 3 = 3
+32 / 4 = 8
+36 / 6 = 6
+63 / 9 = 7
+6 / 1 = 6
+100 / 10 = 10
+35 / 7 = 5
+28 / 7 = 4
+24 / 4 = 6
+63 / 7 = 9
+8 / 2 = 4
+30 / 5 = 6
+42 / 7 = 6
+8 / 4 = 2
+20 / 4 = 5
+20 / 10 = 2
+7 / 1 = 7
+45 / 9 = 5
+42 / 7 = 6
+40 / 8 = 5
+36 / 6 = 6
+54 / 9 = 6
+4 / 4 = 1
+28 / 4 = 7
+21 / 3 = 7
+24 / 3 = 8
+3 / 3 = 1
+90 / 9 = 10
+2 / 2 = 1
+2 / 2 = 1
+8 / 1 = 8
+63 / 7 = 9
+10 / 5 = 2
+42 / 7 = 6
+27 / 3 = 9
+63 / 9 = 7
+16 / 8 = 2
+32 / 8 = 4
+70 / 10 = 7
+40 / 5 = 8
+72 / 9 = 8
+56 / 8 = 7
+6 / 2 = 3
+30 / 10 = 3
+45 / 5 = 9
+48 / 6 = 8
+35 / 7 = 5
+56 / 7 = 8
+63 / 9 = 7
+81 / 9 = 9
+16 / 4 = 4
+25 / 5 = 5
+30 / 3 = 10
+24 / 4 = 6
+15 / 5 = 3
+1 / 1 = 1
+21 / 3 = 7
+7 / 7 = 1
+9 / 9 = 1
+45 / 9 = 5
+9 / 9 = 1
+18 / 9 = 2
+8 / 2 = 4
+24 / 8 = 3
+48 / 8 = 6
+18 / 2 = 9
+21 / 7 = 3
+27 / 3 = 9
+14 / 2 = 7
+1 / 1 = 1
+12 / 4 = 3
+18 / 9 = 2
+42 / 6 = 7
+21 / 7 = 3
+3 / 3 = 1
+8 / 8 = 1
+6 / 3 = 2
+54 / 9 = 6
+60 / 10 = 6
+24 / 6 = 4
+36 / 4 = 9
+54 / 9 = 6
+6 / 2 = 3
+8 / 2 = 4
+63 / 9 = 7
+40 / 5 = 8
+6 / 1 = 6
+2 / 1 = 2
+14 / 2 = 7
+28 / 7 = 4
+64 / 8 = 8
+24 / 8 = 3
+27 / 3 = 9
+8 / 4 = 2
+12 / 4 = 3
+21 / 3 = 7
+12 / 6 = 2
+36 / 6 = 6
+70 / 7 = 10
+28 / 7 = 4
+20 / 2 = 10
+10 / 5 = 2
+54 / 6 = 9
+50 / 10 = 5
+25 / 5 = 5
+24 / 3 = 8
+54 / 9 = 6
+5 / 5 = 1
+56 / 7 = 8
+6 / 6 = 1
+28 / 7 = 4
+21 / 7 = 3
+54 / 9 = 6
+16 / 4 = 4
+12 / 3 = 4
+36 / 6 = 6
+9 / 9 = 1
+4 / 1 = 4
+45 / 9 = 5
+27 / 9 = 3
+12 / 2 = 6
+36 / 4 = 9
+12 / 6 = 2
+36 / 4 = 9
+72 / 8 = 9
+36 / 6 = 6
+12 / 3 = 4
+56 / 7 = 8
+36 / 6 = 6
+18 / 6 = 3
+20 / 5 = 4
+7 / 1 = 7
+50 / 5 = 10
+49 / 7 = 7
+5 / 1 = 5
+35 / 5 = 7
+100 / 10 = 10
+27 / 9 = 3
+63 / 9 = 7
+30 / 5 = 6
+80 / 8 = 10
+32 / 4 = 8
+63 / 7 = 9
+63 / 7 = 9
+32 / 4 = 8
+12 / 6 = 2
+50 / 5 = 10
+56 / 8 = 7
+42 / 7 = 6
+18 / 3 = 6
+36 / 4 = 9
+9 / 9 = 1
+35 / 7 = 5
+18 / 9 = 2
+30 / 3 = 10
+9 / 3 = 3
+14 / 7 = 2
+32 / 8 = 4
+36 / 4 = 9
+30 / 5 = 6
+70 / 10 = 7
+20 / 4 = 5
+27 / 9 = 3
+32 / 8 = 4
+45 / 9 = 5
+14 / 7 = 2
+8 / 1 = 8
+2 / 2 = 1
+21 / 7 = 3
+60 / 10 = 6
+28 / 7 = 4
+4 / 2 = 2
+16 / 8 = 2
+36 / 9 = 4
+12 / 3 = 4
+36 / 9 = 4
+18 / 9 = 2
+40 / 10 = 4
+9 / 1 = 9
+12 / 3 = 4
+9 / 1 = 9
+12 / 2 = 6
+24 / 3 = 8
+20 / 5 = 4
+12 / 2 = 6
+14 / 7 = 2
+14 / 2 = 7
+60 / 10 = 6
+4 / 1 = 4
+45 / 5 = 9
+24 / 3 = 8
+2 / 2 = 1
+20 / 5 = 4
+3 / 3 = 1
+5 / 5 = 1
+36 / 6 = 6
+21 / 7 = 3
+56 / 8 = 7
+16 / 2 = 8
+56 / 7 = 8
+24 / 4 = 6
+16 / 2 = 8
+81 / 9 = 9
+40 / 4 = 10
+10 / 2 = 5
+80 / 8 = 10
+15 / 3 = 5
+48 / 6 = 8
+24 / 3 = 8
+40 / 10 = 4
+8 / 2 = 4
+36 / 6 = 6
+28 / 7 = 4
+4 / 1 = 4
+28 / 4 = 7
+30 / 5 = 6
+6 / 1 = 6
+63 / 7 = 9
+36 / 9 = 4
+8 / 1 = 8
+36 / 9 = 4
+54 / 6 = 9
+21 / 3 = 7
+8 / 8 = 1
+24 / 4 = 6
+12 / 3 = 4
+15 / 5 = 3
+42 / 7 = 6
+36 / 9 = 4
+8 / 1 = 8
+30 / 6 = 5
+20 / 5 = 4
+30 / 10 = 3
+56 / 8 = 7
+49 / 7 = 7
+14 / 7 = 2
+56 / 8 = 7
+12 / 6 = 2
+10 / 5 = 2
+36 / 9 = 4
+48 / 6 = 8
+56 / 7 = 8
+90 / 9 = 10
+56 / 8 = 7
+4 / 4 = 1
+18 / 2 = 9
+54 / 6 = 9
+4 / 1 = 4
+81 / 9 = 9
+18 / 6 = 3
+12 / 6 = 2
+12 / 3 = 4
+40 / 8 = 5
+3 / 1 = 3
+15 / 5 = 3
+60 / 6 = 10
+35 / 5 = 7
+7 / 1 = 7
+7 / 7 = 1
+10 / 5 = 2
+18 / 9 = 2
+8 / 4 = 2
+15 / 5 = 3
+63 / 7 = 9
+21 / 7 = 3
+72 / 8 = 9
+48 / 8 = 6
+32 / 8 = 4
+21 / 7 = 3
+48 / 6 = 8
+81 / 9 = 9
+8 / 1 = 8
+6 / 2 = 3
+12 / 2 = 6
+6 / 3 = 2
+21 / 7 = 3
+72 / 8 = 9
+56 / 8 = 7
+36 / 6 = 6
+12 / 4 = 3
+24 / 3 = 8
+28 / 4 = 7
+9 / 1 = 9
+42 / 6 = 7
+24 / 8 = 3
+30 / 6 = 5
+12 / 2 = 6
+15 / 3 = 5
+20 / 2 = 10
+40 / 5 = 8
+35 / 7 = 5
+10 / 1 = 10
+36 / 9 = 4
+10 / 2 = 5
+36 / 4 = 9
+54 / 9 = 6
+8 / 2 = 4
+63 / 7 = 9
+7 / 7 = 1
+30 / 6 = 5
+50 / 10 = 5
+15 / 5 = 3
+18 / 6 = 3
+45 / 5 = 9
+30 / 3 = 10
+4 / 4 = 1
+18 / 2 = 9
+5 / 1 = 5
+36 / 6 = 6
+63 / 9 = 7
+18 / 2 = 9
+15 / 5 = 3
+36 / 6 = 6
+6 / 6 = 1
+28 / 7 = 4
+36 / 4 = 9
+40 / 5 = 8
+30 / 6 = 5
+12 / 4 = 3
+16 / 4 = 4
+28 / 4 = 7
+24 / 6 = 4
+7 / 1 = 7
+40 / 4 = 10
+36 / 9 = 4
+7 / 7 = 1
+21 / 7 = 3
+48 / 8 = 6
+30 / 6 = 5
+1 / 1 = 1
+14 / 2 = 7
+60 / 10 = 6
+18 / 3 = 6
+2 / 1 = 2
+56 / 8 = 7
+18 / 6 = 3
+6 / 2 = 3
+16 / 4 = 4
+4 / 2 = 2
+40 / 8 = 5
+21 / 7 = 3
+18 / 2 = 9
+32 / 8 = 4
+9 / 9 = 1
+12 / 2 = 6
+5 / 5 = 1
+72 / 8 = 9
+20 / 4 = 5
+32 / 8 = 4
+12 / 4 = 3
+7 / 1 = 7
+8 / 8 = 1
+28 / 4 = 7
+36 / 6 = 6
+70 / 10 = 7
+2 / 2 = 1
+5 / 5 = 1
+30 / 5 = 6
+90 / 9 = 10
+24 / 8 = 3
+14 / 2 = 7
+56 / 8 = 7
+28 / 7 = 4
+12 / 4 = 3
+64 / 8 = 8
+42 / 7 = 6
+45 / 5 = 9
+9 / 9 = 1
+60 / 10 = 6
+1 / 1 = 1
+4 / 1 = 4
+16 / 4 = 4
+32 / 4 = 8
+18 / 6 = 3
+5 / 5 = 1
+36 / 6 = 6
+12 / 2 = 6
+12 / 4 = 3
+54 / 9 = 6
+63 / 7 = 9
+14 / 7 = 2
+4 / 2 = 2
+32 / 4 = 8
+63 / 9 = 7
+16 / 2 = 8
+6 / 6 = 1
+63 / 7 = 9
+35 / 5 = 7
+21 / 7 = 3
+1 / 1 = 1
+30 / 6 = 5
+8 / 2 = 4
+35 / 7 = 5
+72 / 9 = 8
+12 / 6 = 2
+18 / 3 = 6
+4 / 4 = 1
+54 / 9 = 6
+6 / 1 = 6
+10 / 5 = 2
+27 / 9 = 3
+35 / 7 = 5
+14 / 7 = 2
+21 / 7 = 3
+12 / 6 = 2
+21 / 7 = 3
+12 / 4 = 3
+30 / 6 = 5
+4 / 1 = 4
+8 / 1 = 8
+56 / 7 = 8
+14 / 2 = 7
+36 / 9 = 4
+9 / 1 = 9
+20 / 2 = 10
+7 / 7 = 1
+42 / 7 = 6
+12 / 6 = 2
+40 / 10 = 4
+15 / 3 = 5
+4 / 1 = 4
+6 / 1 = 6
+14 / 2 = 7
+6 / 6 = 1
+35 / 5 = 7
+7 / 1 = 7
+7 / 1 = 7
+35 / 7 = 5
+6 / 2 = 3
+25 / 5 = 5
+64 / 8 = 8
+36 / 9 = 4
+32 / 4 = 8
+2 / 1 = 2
+40 / 5 = 8
+8 / 1 = 8
+8 / 1 = 8
+9 / 3 = 3
+3 / 3 = 1
+81 / 9 = 9
+8 / 8 = 1
+2 / 2 = 1
+5 / 5 = 1
+18 / 6 = 3
+35 / 7 = 5
+42 / 7 = 6
+36 / 6 = 6
+24 / 4 = 6
+32 / 8 = 4
+40 / 10 = 4
+36 / 6 = 6
+21 / 3 = 7
+56 / 7 = 8
+16 / 8 = 2
+7 / 7 = 1
+12 / 4 = 3
+8 / 4 = 2
+90 / 10 = 9
+2 / 2 = 1
+54 / 9 = 6
+64 / 8 = 8
+36 / 6 = 6
+24 / 3 = 8
+72 / 8 = 9
+14 / 2 = 7
+6 / 1 = 6
+8 / 4 = 2
+5 / 5 = 1
+8 / 4 = 2
+32 / 8 = 4
+40 / 5 = 8
+40 / 10 = 4
+24 / 3 = 8
+30 / 6 = 5
+24 / 3 = 8
+9 / 9 = 1
+20 / 5 = 4
+18 / 6 = 3
+36 / 4 = 9
+56 / 7 = 8
+16 / 4 = 4
+1 / 1 = 1
+12 / 2 = 6
+40 / 5 = 8
+30 / 6 = 5
+12 / 3 = 4
+28 / 4 = 7
+9 / 3 = 3
+18 / 9 = 2
+8 / 4 = 2
+16 / 4 = 4
+5 / 5 = 1
+12 / 4 = 3
+12 / 2 = 6
+18 / 6 = 3
+9 / 3 = 3
+60 / 10 = 6
+4 / 4 = 1
+45 / 5 = 9
+3 / 1 = 3
+8 / 4 = 2
+9 / 3 = 3
+72 / 9 = 8
+40 / 5 = 8
+42 / 6 = 7
+42 / 7 = 6
+3 / 1 = 3
+20 / 4 = 5
+40 / 10 = 4
+48 / 6 = 8
+30 / 10 = 3
+8 / 2 = 4
+25 / 5 = 5
+28 / 7 = 4
+35 / 7 = 5
+5 / 5 = 1
+6 / 6 = 1
+15 / 5 = 3
+8 / 1 = 8
+12 / 3 = 4
+8 / 2 = 4
+8 / 8 = 1
+70 / 7 = 10
+63 / 9 = 7
+42 / 7 = 6
+45 / 5 = 9
+40 / 4 = 10
+1 / 1 = 1
+45 / 5 = 9
+3 / 1 = 3
+35 / 7 = 5
+40 / 10 = 4
+2 / 1 = 2
+5 / 5 = 1
+42 / 6 = 7
+8 / 4 = 2
+54 / 9 = 6
+40 / 5 = 8
+72 / 8 = 9
+3 / 3 = 1
+49 / 7 = 7
+54 / 6 = 9
+14 / 7 = 2
+18 / 3 = 6
+20 / 5 = 4
+56 / 8 = 7
+15 / 5 = 3
+25 / 5 = 5
+21 / 7 = 3
+12 / 4 = 3
+18 / 2 = 9
+36 / 4 = 9
+6 / 1 = 6
+36 / 9 = 4
+2 / 1 = 2
+80 / 10 = 8
+9 / 9 = 1
+6 / 1 = 6
+12 / 3 = 4
+12 / 3 = 4
+40 / 8 = 5
+8 / 4 = 2
+18 / 9 = 2
+18 / 9 = 2
+16 / 2 = 8
+36 / 4 = 9
+18 / 2 = 9
+6 / 2 = 3
+10 / 2 = 5
+28 / 7 = 4
+63 / 7 = 9
+8 / 2 = 4
+8 / 4 = 2
+16 / 8 = 2
+3 / 3 = 1
+63 / 9 = 7
+7 / 1 = 7
+9 / 9 = 1
+8 / 8 = 1
+90 / 9 = 10
+8 / 4 = 2
+72 / 8 = 9
+1 / 1 = 1
+24 / 8 = 3
+45 / 5 = 9
+6 / 6 = 1
+4 / 2 = 2
+40 / 8 = 5
+18 / 9 = 2
+8 / 2 = 4
+25 / 5 = 5
+6 / 6 = 1
+8 / 4 = 2
+36 / 4 = 9
+81 / 9 = 9
+81 / 9 = 9
+35 / 5 = 7
+36 / 6 = 6
+36 / 4 = 9
+4 / 2 = 2
+40 / 5 = 8
+20 / 5 = 4
+49 / 7 = 7
+3 / 3 = 1
+56 / 7 = 8
+15 / 5 = 3
+20 / 4 = 5
+24 / 8 = 3
+35 / 5 = 7
+10 / 1 = 10
+18 / 2 = 9
+32 / 8 = 4
+35 / 7 = 5
+21 / 7 = 3
+7 / 1 = 7
+36 / 9 = 4
+18 / 3 = 6
+21 / 3 = 7
+12 / 2 = 6
+80 / 8 = 10
+35 / 7 = 5
+8 / 8 = 1
+9 / 1 = 9
+9 / 3 = 3
+45 / 5 = 9
+12 / 4 = 3
+3 / 1 = 3
+42 / 6 = 7
+25 / 5 = 5
+8 / 8 = 1
+2 / 1 = 2
+5 / 1 = 5
+1 / 1 = 1
+1 / 1 = 1
+50 / 5 = 10
+24 / 4 = 6
+72 / 8 = 9
+54 / 6 = 9
+12 / 4 = 3
+18 / 6 = 3
+18 / 6 = 3
+8 / 1 = 8
+8 / 1 = 8
+5 / 5 = 1
+14 / 7 = 2
+18 / 6 = 3
+80 / 10 = 8
+45 / 5 = 9
+40 / 5 = 8
+56 / 7 = 8
+18 / 9 = 2
+10 / 1 = 10
+6 / 3 = 2
+2 / 1 = 2
+63 / 7 = 9
+8 / 8 = 1
+60 / 10 = 6
+18 / 6 = 3
+54 / 6 = 9
+4 / 1 = 4
+8 / 2 = 4
+30 / 5 = 6
+56 / 8 = 7
+15 / 5 = 3
+10 / 5 = 2
diff --git a/data/question_files/arithmetic/division_p0_0-100.dat b/data/question_files/arithmetic/division_p0_0-100.dat
new file mode 100644
index 0000000..a0674a6
--- /dev/null
+++ b/data/question_files/arithmetic/division_p0_0-100.dat
@@ -0,0 +1,1000 @@
+369 / 41 = 9
+1216 / 76 = 16
+3069 / 93 = 33
+8736 / 96 = 91
+3402 / 63 = 54
+5432 / 56 = 97
+920 / 46 = 20
+4482 / 54 = 83
+4620 / 66 = 70
+1672 / 38 = 44
+2870 / 35 = 82
+4503 / 57 = 79
+7998 / 93 = 86
+2277 / 23 = 99
+4536 / 81 = 56
+1739 / 47 = 37
+2470 / 65 = 38
+960 / 24 = 40
+4067 / 83 = 49
+4899 / 69 = 71
+2618 / 34 = 77
+3116 / 76 = 41
+6693 / 69 = 97
+2562 / 42 = 61
+3600 / 40 = 90
+2000 / 100 = 20
+4116 / 84 = 49
+6528 / 68 = 96
+2821 / 91 = 31
+23 / 23 = 1
+6603 / 93 = 71
+1224 / 18 = 68
+6942 / 89 = 78
+2816 / 64 = 44
+2262 / 58 = 39
+7128 / 88 = 81
+11 / 1 = 11
+576 / 24 = 24
+688 / 16 = 43
+3124 / 71 = 44
+3773 / 77 = 49
+6624 / 72 = 92
+540 / 36 = 15
+2090 / 95 = 22
+5712 / 68 = 84
+770 / 70 = 11
+3850 / 77 = 50
+300 / 4 = 75
+550 / 10 = 55
+1264 / 16 = 79
+560 / 20 = 28
+1235 / 13 = 95
+6150 / 75 = 82
+442 / 34 = 13
+2100 / 60 = 35
+5256 / 72 = 73
+2058 / 49 = 42
+4732 / 52 = 91
+4118 / 71 = 58
+3245 / 55 = 59
+7821 / 79 = 99
+5600 / 70 = 80
+860 / 43 = 20
+6111 / 63 = 97
+3400 / 68 = 50
+456 / 8 = 57
+1665 / 45 = 37
+4161 / 73 = 57
+4131 / 81 = 51
+497 / 7 = 71
+6110 / 94 = 65
+4650 / 93 = 50
+2592 / 32 = 81
+2759 / 89 = 31
+1107 / 27 = 41
+882 / 14 = 63
+1075 / 25 = 43
+1292 / 34 = 38
+462 / 66 = 7
+1342 / 22 = 61
+28 / 14 = 2
+696 / 29 = 24
+84 / 14 = 6
+7832 / 88 = 89
+6110 / 65 = 94
+4794 / 94 = 51
+40 / 2 = 20
+3267 / 33 = 99
+57 / 3 = 19
+2730 / 39 = 70
+1422 / 18 = 79
+1848 / 21 = 88
+6072 / 92 = 66
+9108 / 92 = 99
+1785 / 21 = 85
+7553 / 83 = 91
+152 / 19 = 8
+5265 / 81 = 65
+688 / 16 = 43
+57 / 3 = 19
+2548 / 91 = 28
+2709 / 43 = 63
+7154 / 98 = 73
+8460 / 90 = 94
+1806 / 42 = 43
+4872 / 56 = 87
+2592 / 32 = 81
+5313 / 69 = 77
+318 / 53 = 6
+4150 / 50 = 83
+9310 / 95 = 98
+7728 / 84 = 92
+740 / 20 = 37
+2001 / 69 = 29
+90 / 1 = 90
+3008 / 64 = 47
+585 / 45 = 13
+2944 / 32 = 92
+2028 / 52 = 39
+4539 / 51 = 89
+4392 / 72 = 61
+4264 / 52 = 82
+3364 / 58 = 58
+4368 / 52 = 84
+3600 / 60 = 60
+1054 / 62 = 17
+1444 / 38 = 38
+8008 / 88 = 91
+66 / 3 = 22
+2331 / 37 = 63
+1598 / 34 = 47
+588 / 98 = 6
+1512 / 28 = 54
+2185 / 95 = 23
+2752 / 86 = 32
+120 / 20 = 6
+4608 / 96 = 48
+2444 / 47 = 52
+1656 / 24 = 69
+2212 / 79 = 28
+550 / 25 = 22
+276 / 4 = 69
+51 / 51 = 1
+1470 / 98 = 15
+3525 / 47 = 75
+533 / 13 = 41
+493 / 29 = 17
+1860 / 20 = 93
+80 / 40 = 2
+549 / 61 = 9
+2538 / 94 = 27
+91 / 13 = 7
+93 / 1 = 93
+57 / 1 = 57
+3102 / 66 = 47
+1700 / 100 = 17
+1274 / 91 = 14
+3024 / 56 = 54
+3220 / 70 = 46
+2700 / 100 = 27
+320 / 4 = 80
+6557 / 79 = 83
+1596 / 21 = 76
+2624 / 64 = 41
+3075 / 41 = 75
+3870 / 43 = 90
+450 / 5 = 90
+3551 / 53 = 67
+288 / 3 = 96
+4872 / 84 = 58
+4686 / 66 = 71
+1015 / 35 = 29
+868 / 31 = 28
+6786 / 87 = 78
+792 / 8 = 99
+3655 / 85 = 43
+273 / 3 = 91
+4698 / 58 = 81
+1242 / 23 = 54
+4984 / 89 = 56
+172 / 86 = 2
+3168 / 48 = 66
+158 / 2 = 79
+4094 / 89 = 46
+96 / 2 = 48
+3249 / 57 = 57
+2176 / 32 = 68
+6450 / 86 = 75
+3888 / 72 = 54
+1309 / 17 = 77
+2150 / 43 = 50
+195 / 3 = 65
+1118 / 86 = 13
+6006 / 66 = 91
+1360 / 34 = 40
+126 / 18 = 7
+240 / 10 = 24
+2100 / 50 = 42
+416 / 16 = 26
+7308 / 87 = 84
+4959 / 57 = 87
+3190 / 58 = 55
+646 / 17 = 38
+3776 / 64 = 59
+3828 / 66 = 58
+1525 / 25 = 61
+4554 / 99 = 46
+2430 / 90 = 27
+301 / 7 = 43
+84 / 2 = 42
+464 / 8 = 58
+52 / 4 = 13
+94 / 2 = 47
+1914 / 66 = 29
+4030 / 62 = 65
+1764 / 98 = 18
+627 / 57 = 11
+2952 / 41 = 72
+1102 / 58 = 19
+1776 / 24 = 74
+3969 / 49 = 81
+4692 / 51 = 92
+3432 / 44 = 78
+490 / 10 = 49
+228 / 3 = 76
+516 / 86 = 6
+3456 / 48 = 72
+384 / 12 = 32
+288 / 18 = 16
+1311 / 57 = 23
+5220 / 58 = 90
+1431 / 27 = 53
+2580 / 60 = 43
+247 / 13 = 19
+8811 / 89 = 99
+570 / 95 = 6
+348 / 58 = 6
+1148 / 28 = 41
+2050 / 50 = 41
+1224 / 72 = 17
+1872 / 39 = 48
+2511 / 27 = 93
+2958 / 58 = 51
+1260 / 18 = 70
+1564 / 92 = 17
+560 / 16 = 35
+1704 / 71 = 24
+4140 / 60 = 69
+2117 / 73 = 29
+765 / 51 = 15
+2175 / 25 = 87
+847 / 77 = 11
+832 / 52 = 16
+517 / 11 = 47
+95 / 5 = 19
+1472 / 32 = 46
+1400 / 14 = 100
+4745 / 73 = 65
+792 / 44 = 18
+390 / 15 = 26
+544 / 16 = 34
+2142 / 42 = 51
+90 / 6 = 15
+640 / 40 = 16
+280 / 5 = 56
+1632 / 48 = 34
+5254 / 74 = 71
+4539 / 51 = 89
+6612 / 87 = 76
+615 / 15 = 41
+986 / 29 = 34
+756 / 28 = 27
+2360 / 40 = 59
+5168 / 68 = 76
+3976 / 56 = 71
+7084 / 92 = 77
+21 / 21 = 1
+2501 / 61 = 41
+3828 / 87 = 44
+2124 / 59 = 36
+1856 / 32 = 58
+7650 / 85 = 90
+450 / 75 = 6
+3139 / 73 = 43
+324 / 36 = 9
+1054 / 31 = 34
+1995 / 21 = 95
+1936 / 22 = 88
+4464 / 62 = 72
+2100 / 60 = 35
+1269 / 47 = 27
+3478 / 94 = 37
+3339 / 53 = 63
+1728 / 32 = 54
+1001 / 11 = 91
+520 / 26 = 20
+2904 / 33 = 88
+1050 / 25 = 42
+506 / 11 = 46
+3082 / 67 = 46
+1809 / 67 = 27
+4675 / 55 = 85
+1430 / 26 = 55
+1701 / 81 = 21
+266 / 14 = 19
+624 / 16 = 39
+2394 / 38 = 63
+2849 / 77 = 37
+5856 / 61 = 96
+2752 / 43 = 64
+152 / 4 = 38
+94 / 47 = 2
+70 / 7 = 10
+2640 / 60 = 44
+1056 / 12 = 88
+450 / 15 = 30
+5280 / 60 = 88
+376 / 8 = 47
+4556 / 68 = 67
+354 / 6 = 59
+2288 / 88 = 26
+93 / 93 = 1
+1000 / 25 = 40
+621 / 69 = 9
+9021 / 97 = 93
+7568 / 86 = 88
+7728 / 84 = 92
+4725 / 63 = 75
+3100 / 31 = 100
+2623 / 61 = 43
+3564 / 81 = 44
+3276 / 91 = 36
+4002 / 87 = 46
+108 / 36 = 3
+3713 / 47 = 79
+1584 / 99 = 16
+4214 / 86 = 49
+330 / 22 = 15
+1092 / 26 = 42
+1316 / 14 = 94
+3780 / 42 = 90
+4736 / 64 = 74
+7680 / 80 = 96
+585 / 65 = 9
+3675 / 49 = 75
+9212 / 98 = 94
+864 / 32 = 27
+576 / 12 = 48
+1716 / 44 = 39
+3431 / 73 = 47
+330 / 15 = 22
+5994 / 81 = 74
+192 / 2 = 96
+2448 / 51 = 48
+996 / 12 = 83
+9900 / 100 = 99
+1380 / 23 = 60
+4277 / 91 = 47
+143 / 11 = 13
+2418 / 31 = 78
+4500 / 75 = 60
+3685 / 67 = 55
+2754 / 54 = 51
+1932 / 23 = 84
+1890 / 63 = 30
+777 / 21 = 37
+1872 / 26 = 72
+124 / 31 = 4
+6794 / 79 = 86
+1664 / 52 = 32
+2697 / 29 = 93
+4425 / 75 = 59
+1692 / 18 = 94
+1302 / 31 = 42
+30 / 30 = 1
+4640 / 58 = 80
+1183 / 91 = 13
+2970 / 33 = 90
+3825 / 75 = 51
+7566 / 78 = 97
+2200 / 88 = 25
+1040 / 26 = 40
+2989 / 61 = 49
+1288 / 56 = 23
+2275 / 35 = 65
+4128 / 43 = 96
+2914 / 62 = 47
+814 / 74 = 11
+4599 / 73 = 63
+100 / 10 = 10
+3780 / 84 = 45
+186 / 3 = 62
+1239 / 21 = 59
+360 / 9 = 40
+891 / 81 = 11
+6164 / 67 = 92
+72 / 8 = 9
+3145 / 85 = 37
+469 / 67 = 7
+62 / 31 = 2
+105 / 3 = 35
+2759 / 31 = 89
+7654 / 89 = 86
+1806 / 43 = 42
+810 / 10 = 81
+2485 / 71 = 35
+150 / 3 = 50
+2370 / 30 = 79
+7296 / 76 = 96
+1248 / 96 = 13
+616 / 56 = 11
+2565 / 57 = 45
+1104 / 12 = 92
+1222 / 13 = 94
+3526 / 86 = 41
+77 / 7 = 11
+1800 / 50 = 36
+1806 / 43 = 42
+6204 / 94 = 66
+4810 / 65 = 74
+8910 / 99 = 90
+2915 / 53 = 55
+1612 / 31 = 52
+1372 / 98 = 14
+609 / 87 = 7
+748 / 11 = 68
+4365 / 97 = 45
+1190 / 70 = 17
+153 / 3 = 51
+2652 / 78 = 34
+8550 / 90 = 95
+3010 / 35 = 86
+1624 / 56 = 29
+234 / 6 = 39
+748 / 22 = 34
+3634 / 46 = 79
+1824 / 96 = 19
+494 / 38 = 13
+3392 / 53 = 64
+882 / 9 = 98
+3690 / 90 = 41
+1800 / 90 = 20
+2808 / 52 = 54
+1008 / 12 = 84
+1369 / 37 = 37
+3894 / 66 = 59
+184 / 8 = 23
+3190 / 58 = 55
+4350 / 50 = 87
+1881 / 57 = 33
+306 / 9 = 34
+335 / 5 = 67
+420 / 14 = 30
+594 / 9 = 66
+858 / 78 = 11
+5865 / 85 = 69
+292 / 4 = 73
+5544 / 99 = 56
+776 / 8 = 97
+990 / 66 = 15
+2754 / 51 = 54
+1190 / 14 = 85
+2255 / 55 = 41
+3268 / 43 = 76
+2580 / 60 = 43
+605 / 55 = 11
+1786 / 38 = 47
+7144 / 94 = 76
+133 / 19 = 7
+1728 / 24 = 72
+7743 / 89 = 87
+2480 / 62 = 40
+5346 / 54 = 99
+3440 / 40 = 86
+3306 / 58 = 57
+6232 / 82 = 76
+3024 / 63 = 48
+814 / 37 = 22
+1722 / 21 = 82
+4872 / 56 = 87
+1404 / 54 = 26
+1140 / 19 = 60
+143 / 11 = 13
+1800 / 75 = 24
+168 / 4 = 42
+1800 / 36 = 50
+1334 / 58 = 23
+406 / 14 = 29
+64 / 8 = 8
+7636 / 83 = 92
+5494 / 67 = 82
+5460 / 70 = 78
+3520 / 88 = 40
+2765 / 35 = 79
+660 / 11 = 60
+7120 / 80 = 89
+184 / 46 = 4
+696 / 24 = 29
+29 / 1 = 29
+2268 / 36 = 63
+620 / 20 = 31
+1232 / 16 = 77
+5820 / 60 = 97
+7296 / 76 = 96
+507 / 39 = 13
+1444 / 38 = 38
+7225 / 85 = 85
+1909 / 23 = 83
+4420 / 85 = 52
+8360 / 95 = 88
+260 / 5 = 52
+2254 / 98 = 23
+5016 / 66 = 76
+5626 / 97 = 58
+684 / 12 = 57
+3315 / 39 = 85
+2420 / 44 = 55
+3276 / 84 = 39
+1116 / 12 = 93
+312 / 6 = 52
+4675 / 85 = 55
+527 / 31 = 17
+172 / 86 = 2
+4420 / 68 = 65
+6566 / 67 = 98
+4248 / 72 = 59
+1080 / 20 = 54
+150 / 2 = 75
+783 / 27 = 29
+1690 / 26 = 65
+3900 / 75 = 52
+504 / 28 = 18
+1998 / 74 = 27
+1122 / 66 = 17
+826 / 59 = 14
+4770 / 53 = 90
+530 / 10 = 53
+636 / 53 = 12
+1392 / 48 = 29
+3780 / 84 = 45
+5427 / 67 = 81
+4875 / 75 = 65
+7372 / 97 = 76
+920 / 46 = 20
+1092 / 28 = 39
+462 / 7 = 66
+3634 / 46 = 79
+8460 / 94 = 90
+1440 / 96 = 15
+2573 / 83 = 31
+154 / 22 = 7
+473 / 43 = 11
+700 / 14 = 50
+410 / 5 = 82
+660 / 44 = 15
+5880 / 70 = 84
+2112 / 44 = 48
+3136 / 56 = 56
+1581 / 31 = 51
+6468 / 84 = 77
+215 / 5 = 43
+2257 / 37 = 61
+3640 / 65 = 56
+48 / 12 = 4
+7056 / 98 = 72
+42 / 6 = 7
+340 / 17 = 20
+1749 / 53 = 33
+3249 / 57 = 57
+9900 / 100 = 99
+15 / 1 = 15
+8372 / 92 = 91
+408 / 12 = 34
+3657 / 69 = 53
+488 / 8 = 61
+4108 / 52 = 79
+2400 / 96 = 25
+192 / 16 = 12
+3990 / 57 = 70
+5643 / 99 = 57
+920 / 40 = 23
+1258 / 37 = 34
+900 / 50 = 18
+1134 / 27 = 42
+2035 / 55 = 37
+611 / 13 = 47
+5643 / 99 = 57
+66 / 3 = 22
+1014 / 78 = 13
+5551 / 91 = 61
+3139 / 73 = 43
+2610 / 58 = 45
+465 / 15 = 31
+5208 / 62 = 84
+6365 / 67 = 95
+2301 / 39 = 59
+5820 / 97 = 60
+1548 / 36 = 43
+896 / 16 = 56
+2232 / 72 = 31
+896 / 56 = 16
+2800 / 28 = 100
+5580 / 93 = 60
+2867 / 61 = 47
+3645 / 81 = 45
+782 / 46 = 17
+5103 / 81 = 63
+6532 / 92 = 71
+672 / 84 = 8
+1320 / 88 = 15
+3102 / 47 = 66
+803 / 73 = 11
+1562 / 22 = 71
+3220 / 70 = 46
+962 / 26 = 37
+4268 / 97 = 44
+546 / 7 = 78
+4320 / 80 = 54
+1596 / 76 = 21
+1411 / 83 = 17
+154 / 14 = 11
+5600 / 80 = 70
+87 / 1 = 87
+3648 / 96 = 38
+2146 / 29 = 74
+2820 / 30 = 94
+5644 / 83 = 68
+2760 / 30 = 92
+6468 / 84 = 77
+3520 / 64 = 55
+4992 / 78 = 64
+3700 / 50 = 74
+645 / 15 = 43
+4029 / 79 = 51
+2366 / 91 = 26
+120 / 3 = 40
+5760 / 64 = 90
+92 / 46 = 2
+210 / 6 = 35
+3034 / 82 = 37
+7462 / 82 = 91
+7885 / 83 = 95
+171 / 9 = 19
+5488 / 98 = 56
+720 / 8 = 90
+6545 / 85 = 77
+1140 / 95 = 12
+2325 / 93 = 25
+1295 / 35 = 37
+1026 / 19 = 54
+583 / 11 = 53
+2262 / 39 = 58
+780 / 20 = 39
+1378 / 53 = 26
+50 / 1 = 50
+7000 / 100 = 70
+1222 / 47 = 26
+190 / 2 = 95
+585 / 15 = 39
+3250 / 50 = 65
+2730 / 39 = 70
+4264 / 82 = 52
+35 / 1 = 35
+1104 / 92 = 12
+840 / 20 = 42
+45 / 45 = 1
+2628 / 36 = 73
+2744 / 56 = 49
+2184 / 91 = 24
+4060 / 70 = 58
+5395 / 65 = 83
+5046 / 58 = 87
+5183 / 73 = 71
+2484 / 69 = 36
+3744 / 39 = 96
+6716 / 73 = 92
+5734 / 94 = 61
+2862 / 53 = 54
+168 / 7 = 24
+6030 / 90 = 67
+1340 / 67 = 20
+1650 / 22 = 75
+7644 / 91 = 84
+3744 / 52 = 72
+4410 / 70 = 63
+5700 / 60 = 95
+1110 / 74 = 15
+3936 / 48 = 82
+5976 / 72 = 83
+174 / 58 = 3
+1743 / 83 = 21
+406 / 29 = 14
+3008 / 64 = 47
+5538 / 71 = 78
+420 / 84 = 5
+320 / 5 = 64
+35 / 35 = 1
+1178 / 38 = 31
+3828 / 58 = 66
+920 / 40 = 23
+5952 / 96 = 62
+180 / 30 = 6
+5146 / 62 = 83
+1292 / 34 = 38
+1320 / 40 = 33
+6887 / 71 = 97
+3698 / 86 = 43
+2112 / 22 = 96
+3050 / 50 = 61
+3128 / 68 = 46
+506 / 23 = 22
+6912 / 96 = 72
+680 / 85 = 8
+5016 / 57 = 88
+5376 / 84 = 64
+3870 / 86 = 45
+240 / 48 = 5
+1652 / 59 = 28
+820 / 41 = 20
+3264 / 34 = 96
+5568 / 96 = 58
+1692 / 18 = 94
+7656 / 87 = 88
+256 / 8 = 32
+4968 / 72 = 69
+5561 / 83 = 67
+1645 / 35 = 47
+1148 / 41 = 28
+876 / 12 = 73
+60 / 4 = 15
+3564 / 44 = 81
+99 / 33 = 3
+1312 / 41 = 32
+1887 / 51 = 37
+2905 / 83 = 35
+136 / 34 = 4
+324 / 12 = 27
+576 / 72 = 8
+5100 / 60 = 85
+3471 / 89 = 39
+3444 / 82 = 42
+860 / 43 = 20
+3196 / 47 = 68
+1064 / 38 = 28
+6880 / 86 = 80
+2697 / 31 = 87
+2924 / 43 = 68
+1600 / 25 = 64
+4320 / 45 = 96
+1292 / 38 = 34
+765 / 17 = 45
+2088 / 87 = 24
+5490 / 61 = 90
+342 / 19 = 18
+200 / 50 = 4
+1485 / 45 = 33
+644 / 23 = 28
+2001 / 23 = 87
+345 / 15 = 23
+4050 / 75 = 54
+130 / 5 = 26
+748 / 34 = 22
+539 / 11 = 49
+2772 / 77 = 36
+6486 / 69 = 94
+130 / 5 = 26
+444 / 12 = 37
+2128 / 56 = 38
+3894 / 66 = 59
+6408 / 89 = 72
+390 / 26 = 15
+5183 / 73 = 71
+1020 / 30 = 34
+46 / 46 = 1
+4920 / 82 = 60
+5251 / 89 = 59
+312 / 24 = 13
+1860 / 30 = 62
+6825 / 75 = 91
+735 / 49 = 15
+5246 / 61 = 86
+308 / 4 = 77
+4860 / 54 = 90
+256 / 4 = 64
+216 / 4 = 54
+3402 / 54 = 63
+2256 / 48 = 47
+1840 / 46 = 40
+2325 / 75 = 31
+188 / 2 = 94
+1200 / 75 = 16
+99 / 9 = 11
+2430 / 27 = 90
+3588 / 78 = 46
+935 / 55 = 17
+192 / 64 = 3
+532 / 38 = 14
+7326 / 99 = 74
+4788 / 76 = 63
+1482 / 26 = 57
+1924 / 52 = 37
+25 / 1 = 25
+3816 / 53 = 72
+1216 / 76 = 16
+5550 / 74 = 75
+64 / 4 = 16
+282 / 47 = 6
+4752 / 88 = 54
+92 / 2 = 46
+190 / 19 = 10
+18 / 2 = 9
+6958 / 71 = 98
+2240 / 70 = 32
+7644 / 84 = 91
+3496 / 92 = 38
+2304 / 64 = 36
+3654 / 63 = 58
+6624 / 92 = 72
+748 / 68 = 11
+4559 / 97 = 47
+6720 / 80 = 84
+4368 / 78 = 56
+5432 / 97 = 56
+1216 / 32 = 38
+846 / 94 = 9
+477 / 9 = 53
+340 / 5 = 68
+3465 / 99 = 35
+2450 / 25 = 98
+360 / 12 = 30
+1620 / 36 = 45
+1428 / 42 = 34
+138 / 3 = 46
+1551 / 33 = 47
+1932 / 42 = 46
+2080 / 32 = 65
+1020 / 17 = 60
+2808 / 72 = 39
+6958 / 71 = 98
+2668 / 92 = 29
+1710 / 90 = 19
+495 / 99 = 5
+609 / 7 = 87
+1518 / 69 = 22
+1456 / 26 = 56
+1989 / 39 = 51
+897 / 69 = 13
+2412 / 36 = 67
+2970 / 33 = 90
+200 / 4 = 50
+5270 / 62 = 85
+1656 / 24 = 69
+5621 / 73 = 77
+4165 / 49 = 85
+5124 / 61 = 84
+4331 / 71 = 61
+5278 / 91 = 58
+3128 / 68 = 46
+5328 / 74 = 72
+1540 / 28 = 55
+2821 / 91 = 31
+308 / 28 = 11
+2646 / 42 = 63
+1656 / 69 = 24
+264 / 3 = 88
+6408 / 72 = 89
+1640 / 20 = 82
+5313 / 69 = 77
+81 / 1 = 81
+1258 / 17 = 74
+79 / 79 = 1
+3408 / 48 = 71
+3876 / 51 = 76
+6887 / 97 = 71
+3864 / 42 = 92
+1392 / 58 = 24
+539 / 7 = 77
+24 / 12 = 2
+162 / 9 = 18
+660 / 55 = 12
+485 / 5 = 97
+4340 / 62 = 70
+1980 / 20 = 99
+1320 / 20 = 66
+1170 / 65 = 18
+6480 / 72 = 90
+1260 / 70 = 18
+4085 / 95 = 43
+1410 / 94 = 15
+5100 / 68 = 75
+3420 / 60 = 57
+168 / 6 = 28
+2592 / 54 = 48
+4508 / 92 = 49
+522 / 58 = 9
+4756 / 58 = 82
+322 / 23 = 14
+1560 / 60 = 26
+3276 / 84 = 39
+29 / 29 = 1
+329 / 47 = 7
+282 / 94 = 3
+4316 / 83 = 52
+31 / 31 = 1
+2401 / 49 = 49
+4508 / 98 = 46
+1620 / 30 = 54
+1440 / 15 = 96
+2880 / 80 = 36
+1924 / 37 = 52
+172 / 4 = 43
+1050 / 75 = 14
+462 / 42 = 11
+3692 / 71 = 52
+624 / 78 = 8
+5418 / 63 = 86
+21 / 7 = 3
+5330 / 82 = 65
+7 / 7 = 1
+8455 / 89 = 95
+1739 / 47 = 37
+231 / 7 = 33
+5976 / 83 = 72
+5037 / 69 = 73
+3000 / 75 = 40
+976 / 16 = 61
+640 / 10 = 64
+957 / 29 = 33
+693 / 21 = 33
+64 / 4 = 16
+84 / 3 = 28
+5865 / 69 = 85
+6860 / 70 = 98
+9702 / 98 = 99
+1312 / 41 = 32
+4845 / 51 = 95
+1302 / 62 = 21
+528 / 6 = 88
+1980 / 90 = 22
+3243 / 69 = 47
+5460 / 60 = 91
+4389 / 57 = 77
+782 / 46 = 17
+1260 / 20 = 63
+1260 / 60 = 21
+216 / 18 = 12
+3520 / 64 = 55
+6762 / 69 = 98
+9506 / 98 = 97
+744 / 31 = 24
+3835 / 65 = 59
+2449 / 79 = 31
+120 / 10 = 12
+1518 / 69 = 22
+931 / 19 = 49
+50 / 25 = 2
+1590 / 30 = 53
+616 / 7 = 88
+966 / 23 = 42
+3360 / 35 = 96
+12 / 2 = 6
+2442 / 37 = 66
+2898 / 69 = 42
+288 / 18 = 16
+357 / 21 = 17
+1410 / 94 = 15
+340 / 20 = 17
+3626 / 49 = 74
+544 / 17 = 32
+4004 / 44 = 91
+242 / 11 = 22
+2294 / 62 = 37
+2070 / 30 = 69
+5865 / 85 = 69
+2813 / 97 = 29
+3344 / 76 = 44
+4392 / 61 = 72
+1426 / 23 = 62
+288 / 3 = 96
+2349 / 27 = 87
+2838 / 86 = 33
+1443 / 37 = 39
+168 / 3 = 56
+20 / 1 = 20
+3774 / 74 = 51
+3468 / 51 = 68
+1364 / 62 = 22
+2516 / 74 = 34
+6417 / 69 = 93
+3652 / 83 = 44
+867 / 17 = 51
+2200 / 25 = 88
+1680 / 20 = 84
+1470 / 15 = 98
+354 / 6 = 59
+2322 / 54 = 43
+4950 / 66 = 75
+60 / 3 = 20
+476 / 17 = 28
+9120 / 95 = 96
diff --git a/data/question_files/arithmetic/multdiv_p0_-10-10.dat b/data/question_files/arithmetic/multdiv_p0_-10-10.dat
new file mode 100644
index 0000000..355aa91
--- /dev/null
+++ b/data/question_files/arithmetic/multdiv_p0_-10-10.dat
@@ -0,0 +1,1000 @@
+1 / 1 = 1
+10 / 10 = 1
+24 / 6 = 4
+-35 / -5 = 7
+2 x 9 = 18
+-35 / 7 = -5
+0 / -2 = 0
+8 x 3 = 24
+-42 / 7 = -6
+4 x 7 = 28
+-8 / -8 = 1
+-3 x 0 = 0
+-7 x 4 = -28
+4 x -2 = -8
+5 x 0 = 0
+-72 / 9 = -8
+-15 / -3 = 5
+5 / 1 = 5
+2 x -4 = -8
+-20 / -4 = 5
+-14 / 7 = -2
+-4 x -7 = 28
+8 x -3 = -24
+18 / -3 = -6
+-9 x -4 = 36
+16 / 8 = 2
+-30 / -5 = 6
+7 x -2 = -14
+8 x -9 = -72
+21 / 3 = 7
+2 x 8 = 16
+1 x 5 = 5
+-54 / 9 = -6
+-1 x -1 = 1
+-4 x 7 = -28
+4 x -8 = -32
+40 / 8 = 5
+-36 / 6 = -6
+-2 x -8 = 16
+-14 / 7 = -2
+-1 x 5 = -5
+4 x -6 = -24
+-4 x 6 = -24
+-2 x -5 = 10
+-3 x 10 = -30
+-12 / -4 = 3
+21 / -7 = -3
+-7 / 7 = -1
+8 x -1 = -8
+3 x 4 = 12
+0 / 9 = 0
+-54 / -6 = 9
+-49 / 7 = -7
+45 / 5 = 9
+-16 / -4 = 4
+1 x 0 = 0
+8 / -1 = -8
+4 x 8 = 32
+-81 / 9 = -9
+-2 x -9 = 18
+-45 / -9 = 5
+-40 / -4 = 10
+-9 x 2 = -18
+10 x -1 = -10
+-9 x -9 = 81
+6 x 9 = 54
+-9 / 1 = -9
+6 x -8 = -48
+-1 x -9 = 9
+40 / 8 = 5
+8 x 9 = 72
+-48 / 8 = -6
+-1 x -5 = 5
+-4 x -4 = 16
+-32 / -4 = 8
+-3 x -6 = 18
+-10 / 2 = -5
+1 x -2 = -2
+8 / -8 = -1
+-6 / 3 = -2
+4 x -4 = -16
+-2 x -6 = 12
+8 / 1 = 8
+10 / 1 = 10
+9 x -10 = -90
+-12 / 4 = -3
+7 x 6 = 42
+-6 x -5 = 30
+-9 x 4 = -36
+1 x -7 = -7
+-7 x 9 = -63
+-10 / 5 = -2
+-8 x 9 = -72
+2 x -2 = -4
+6 x 3 = 18
+-3 / -1 = 3
+18 / 2 = 9
+-2 / 1 = -2
+5 x 4 = 20
+9 / -3 = -3
+8 x 4 = 32
+-16 / 8 = -2
+-8 / -4 = 2
+-18 / 6 = -3
+-8 / -8 = 1
+-6 x 8 = -48
+-63 / 7 = -9
+3 x -6 = -18
+5 x 8 = 40
+-50 / -5 = 10
+9 x -5 = -45
+-6 x 5 = -30
+-3 x 5 = -15
+-20 / -5 = 4
+0 x 6 = 0
+9 x 2 = 18
+-28 / 7 = -4
+-36 / 9 = -4
+8 / -2 = -4
+8 / -1 = -8
+-6 / -3 = 2
+3 x -6 = -18
+64 / -8 = -8
+36 / 6 = 6
+3 x 9 = 27
+-7 x -6 = 42
+-2 x -4 = 8
+45 / -9 = -5
+-5 / 1 = -5
+-9 / 9 = -1
+0 x 1 = 0
+63 / -7 = -9
+-6 / 1 = -6
+8 x -10 = -80
+-32 / 8 = -4
+-28 / -4 = 7
+-56 / 8 = -7
+10 x 1 = 10
+-4 x 2 = -8
+-32 / -4 = 8
+-6 x -2 = 12
+-1 x 7 = -7
+-10 / -5 = 2
+-32 / 4 = -8
+7 / 1 = 7
+24 / -6 = -4
+-9 / 3 = -3
+5 / -1 = -5
+-20 / -2 = 10
+-7 x 6 = -42
+7 / -1 = -7
+24 / -8 = -3
+16 / 2 = 8
+10 x 4 = 40
+3 x -9 = -27
+0 x 7 = 0
+49 / -7 = -7
+-35 / -7 = 5
+0 / -4 = 0
+3 x 5 = 15
+-2 x -10 = 20
+-5 / 1 = -5
+0 x -2 = 0
+56 / 8 = 7
+-5 x 2 = -10
+9 x 8 = 72
+7 x -3 = -21
+-1 x 8 = -8
+-49 / -7 = 7
+-10 x -1 = 10
+-5 x 2 = -10
+-1 x -5 = 5
+-28 / -7 = 4
+60 / -6 = -10
+4 x -2 = -8
+-9 x 4 = -36
+-40 / -10 = 4
+5 x -2 = -10
+5 / 1 = 5
+-6 / 1 = -6
+-36 / -4 = 9
+7 x 6 = 42
+4 x -9 = -36
+8 / 4 = 2
+-8 x -5 = 40
+-1 x -7 = 7
+15 / 3 = 5
+3 x 1 = 3
+-6 x -8 = 48
+-3 x -7 = 21
+6 x -1 = -6
+5 x 0 = 0
+16 / -4 = -4
+-4 x 10 = -40
+-4 / -4 = 1
+100 / -10 = -10
+-42 / 7 = -6
+56 / -8 = -7
+-7 x 1 = -7
+14 / -7 = -2
+10 x -2 = -20
+45 / -9 = -5
+-8 / -8 = 1
+40 / -5 = -8
+6 x -7 = -42
+2 x -8 = -16
+-60 / -6 = 10
+6 / -1 = -6
+6 x -2 = -12
+-30 / 6 = -5
+-5 x -3 = 15
+-3 x -1 = 3
+-45 / -9 = 5
+-6 / 3 = -2
+27 / 3 = 9
+50 / -10 = -5
+1 x -9 = -9
+1 x 8 = 8
+3 / 1 = 3
+-3 x -8 = 24
+-7 x 7 = -49
+8 x 10 = 80
+-9 x -2 = 18
+-40 / 5 = -8
+30 / 5 = 6
+24 / -8 = -3
+-7 x -6 = 42
+-2 / 2 = -1
+-16 / 8 = -2
+60 / 6 = 10
+8 / -1 = -8
+2 x -8 = -16
+2 x -3 = -6
+-2 x -7 = 14
+-49 / -7 = 7
+-9 x -4 = 36
+0 x 1 = 0
+70 / -10 = -7
+8 x 5 = 40
+-4 x -8 = 32
+1 x -2 = -2
+8 x -8 = -64
+-2 x -7 = 14
+0 x -7 = 0
+-1 x -8 = 8
+1 x 2 = 2
+9 x -1 = -9
+21 / -3 = -7
+-7 x -7 = 49
+-10 x -7 = 70
+40 / -5 = -8
+-30 / 3 = -10
+-20 / 5 = -4
+-5 x -2 = 10
+1 x -10 = -10
+-2 x 7 = -14
+-2 x -3 = 6
+64 / -8 = -8
+0 / 9 = 0
+90 / -9 = -10
+6 x 3 = 18
+-7 x 4 = -28
+6 x -3 = -18
+-3 x 0 = 0
+4 x 1 = 4
+8 x 8 = 64
+45 / 5 = 9
+1 x -4 = -4
+63 / 9 = 7
+1 x 0 = 0
+-42 / -7 = 6
+-6 x -8 = 48
+-4 x 6 = -24
+-35 / 7 = -5
+45 / -9 = -5
+2 x -9 = -18
+2 x -6 = -12
+-8 x 3 = -24
+16 / 8 = 2
+-18 / 6 = -3
+2 x -6 = -12
+42 / 6 = 7
+-9 / 1 = -9
+10 x 7 = 70
+-4 x 5 = -20
+-6 x -8 = 48
+-1 x -7 = 7
+-56 / -7 = 8
+-2 x -8 = 16
+0 / 3 = 0
+-9 x -8 = 72
+36 / -9 = -4
+7 x 2 = 14
+-14 / 7 = -2
+-9 x -2 = 18
+72 / 9 = 8
+12 / 3 = 4
+-18 / -2 = 9
+-7 x -6 = 42
+42 / 6 = 7
+2 x 2 = 4
+-2 / -2 = 1
+5 x -8 = -40
+-25 / 5 = -5
+0 / 9 = 0
+5 / 1 = 5
+-3 / -3 = 1
+4 x 5 = 20
+0 x -8 = 0
+12 / -6 = -2
+-6 / -6 = 1
+4 x 6 = 24
+-3 / -3 = 1
+5 x -6 = -30
+-4 / -2 = 2
+-7 x 3 = -21
+16 / 4 = 4
+-9 x -7 = 63
+40 / -5 = -8
+0 / 3 = 0
+-48 / -6 = 8
+8 x 6 = 48
+-8 / 4 = -2
+-50 / -5 = 10
+-35 / -7 = 5
+-2 x 0 = 0
+48 / -8 = -6
+42 / -6 = -7
+-6 x -1 = 6
+-72 / 9 = -8
+18 / 9 = 2
+2 / -1 = -2
+4 x -9 = -36
+2 x 7 = 14
+3 x -2 = -6
+-3 x -9 = 27
+8 x -6 = -48
+-4 x -4 = 16
+4 x -5 = -20
+-4 x -9 = 36
+40 / 5 = 8
+-7 x 7 = -49
+-56 / 7 = -8
+81 / 9 = 9
+90 / -9 = -10
+14 / 7 = 2
+18 / -2 = -9
+-30 / 6 = -5
+-18 / -2 = 9
+-2 x 1 = -2
+-63 / -7 = 9
+-6 x 3 = -18
+-70 / -10 = 7
+30 / -6 = -5
+64 / -8 = -8
+-20 / 2 = -10
+-8 / -2 = 4
+7 x 3 = 21
+3 x -2 = -6
+3 x 9 = 27
+-7 / -7 = 1
+3 / -1 = -3
+12 / -3 = -4
+-3 x -3 = 9
+56 / 7 = 8
+10 x 9 = 90
+-8 / -4 = 2
+40 / -4 = -10
+10 / -2 = -5
+-5 x 10 = -50
+8 / 4 = 2
+0 x 7 = 0
+2 x 0 = 0
+12 / -4 = -3
+21 / -3 = -7
+-8 / 2 = -4
+-42 / -6 = 7
+-6 / 3 = -2
+4 x 9 = 36
+3 x -6 = -18
+63 / -7 = -9
+-7 x 9 = -63
+8 x -3 = -24
+-5 x -1 = 5
+-10 x 9 = -90
+-9 x -4 = 36
+1 x -7 = -7
+-9 x -8 = 72
+2 x 1 = 2
+-18 / 9 = -2
+-7 x 9 = -63
+-8 x -1 = 8
+7 x 1 = 7
+-63 / 7 = -9
+-3 / 3 = -1
+9 x 2 = 18
+3 x -4 = -12
+-8 x 4 = -32
+-7 x -7 = 49
+-1 x -5 = 5
+-1 x -3 = 3
+-63 / 7 = -9
+2 x 9 = 18
+-3 x -6 = 18
+6 x -5 = -30
+-45 / -9 = 5
+-10 x -5 = 50
+8 / -2 = -4
+-6 x 7 = -42
+27 / 3 = 9
+6 x 7 = 42
+-20 / -5 = 4
+6 / 3 = 2
+6 / 2 = 3
+-3 x -6 = 18
+6 x 4 = 24
+-10 x -7 = 70
+10 / -2 = -5
+72 / 8 = 9
+80 / 10 = 8
+-3 x 7 = -21
+-3 x -2 = 6
+60 / -6 = -10
+-5 x -6 = 30
+64 / 8 = 8
+-8 x 5 = -40
+-5 x 2 = -10
+24 / 4 = 6
+-1 x 8 = -8
+0 x -7 = 0
+-9 / -9 = 1
+9 x 9 = 81
+-8 x 7 = -56
+4 x -7 = -28
+-15 / -5 = 3
+4 / 1 = 4
+3 x 5 = 15
+36 / -9 = -4
+-56 / -7 = 8
+-5 x 9 = -45
+-10 / -10 = 1
+-5 x -2 = 10
+35 / -5 = -7
+-50 / 5 = -10
+-10 x -10 = 100
+-9 x -9 = 81
+-4 x 9 = -36
+6 x -4 = -24
+1 x 7 = 7
+-10 / -1 = 10
+6 / -3 = -2
+-72 / -8 = 9
+-3 x 3 = -9
+-81 / -9 = 9
+-16 / 4 = -4
+6 x -6 = -36
+1 x -7 = -7
+-9 x -6 = 54
+8 x 0 = 0
+56 / -8 = -7
+-5 x 5 = -25
+2 x -6 = -12
+8 x 7 = 56
+-10 / 10 = -1
+0 / 6 = 0
+-35 / -5 = 7
+0 x 2 = 0
+-4 x 9 = -36
+32 / -8 = -4
+-9 / 9 = -1
+7 x -9 = -63
+-35 / 5 = -7
+9 x -3 = -27
+-54 / -6 = 9
+49 / 7 = 7
+-9 x -1 = 9
+7 x -3 = -21
+-40 / 5 = -8
+1 x -8 = -8
+-20 / -5 = 4
+-9 x -1 = 9
+30 / -6 = -5
+5 / 5 = 1
+5 x -8 = -40
+12 / 4 = 3
+-7 x 7 = -49
+100 / 10 = 10
+7 x -6 = -42
+8 x 5 = 40
+16 / -8 = -2
+-9 x 1 = -9
+-36 / -9 = 4
+-5 / 5 = -1
+3 x -9 = -27
+2 / 1 = 2
+-2 x -1 = 2
+9 x 1 = 9
+1 x -5 = -5
+56 / 8 = 7
+-5 x -3 = 15
+-2 x 6 = -12
+-64 / -8 = 8
+3 x -10 = -30
+3 x -2 = -6
+-7 x 3 = -21
+-4 x -8 = 32
+-9 x -4 = 36
+-56 / -7 = 8
+-40 / -5 = 8
+-4 x 4 = -16
+-48 / -6 = 8
+-20 / 4 = -5
+-9 x 7 = -63
+18 / 3 = 6
+4 x -8 = -32
+6 x 4 = 24
+7 x 0 = 0
+-45 / 9 = -5
+2 / 2 = 1
+-10 / 5 = -2
+5 x 7 = 35
+7 x -2 = -14
+-6 x 5 = -30
+-4 x -9 = 36
+-5 x 1 = -5
+18 / -9 = -2
+-7 x -9 = 63
+-7 x 5 = -35
+10 x 3 = 30
+-1 x 2 = -2
+-2 x -4 = 8
+-6 x -3 = 18
+-6 x -3 = 18
+7 x -3 = -21
+40 / -5 = -8
+-81 / -9 = 9
+-7 x -3 = 21
+-10 x 9 = -90
+6 x -8 = -48
+12 / 3 = 4
+7 x 2 = 14
+-8 x -6 = 48
+-7 x 0 = 0
+45 / 5 = 9
+-8 / -2 = 4
+-9 x -2 = 18
+3 x 1 = 3
+-3 / 1 = -3
+10 / -5 = -2
+7 x 9 = 63
+2 / -2 = -1
+-6 x 0 = 0
+0 x -1 = 0
+-36 / 9 = -4
+0 x 4 = 0
+2 / -2 = -1
+-1 x -4 = 4
+0 / -6 = 0
+4 x -4 = -16
+7 x -8 = -56
+-32 / -4 = 8
+-12 / -4 = 3
+5 x 1 = 5
+-27 / 3 = -9
+-14 / -7 = 2
+-27 / -3 = 9
+10 x -5 = -50
+21 / 7 = 3
+-16 / 8 = -2
+3 x 7 = 21
+4 / 4 = 1
+-1 x 4 = -4
+9 x 8 = 72
+7 x 1 = 7
+4 / -4 = -1
+21 / -7 = -3
+8 x 10 = 80
+6 x 2 = 12
+0 x -7 = 0
+-3 x -10 = 30
+63 / 9 = 7
+1 x -2 = -2
+-7 x -9 = 63
+-1 x 4 = -4
+-24 / 3 = -8
+-10 x 9 = -90
+-4 x -7 = 28
+-1 x -8 = 8
+0 x 3 = 0
+2 x 6 = 12
+10 x -1 = -10
+-12 / -4 = 3
+5 x -1 = -5
+-6 / 6 = -1
+-16 / -4 = 4
+-20 / -4 = 5
+24 / 4 = 6
+-81 / 9 = -9
+-5 x 1 = -5
+1 x -10 = -10
+-27 / -9 = 3
+-5 x -4 = 20
+4 / -1 = -4
+-9 / -3 = 3
+-14 / 7 = -2
+7 x -1 = -7
+-36 / 9 = -4
+0 / -1 = 0
+-8 x 10 = -80
+80 / -10 = -8
+14 / -7 = -2
+28 / -7 = -4
+8 x -7 = -56
+-1 x -2 = 2
+-9 x 1 = -9
+-8 x -8 = 64
+9 / 9 = 1
+-81 / 9 = -9
+10 / 5 = 2
+-7 x 10 = -70
+-2 x -9 = 18
+-16 / 8 = -2
+-9 x -5 = 45
+-9 / 9 = -1
+-7 x 0 = 0
+36 / 9 = 4
+2 / 2 = 1
+-12 / 4 = -3
+5 x -3 = -15
+18 / 2 = 9
+-42 / -7 = 6
+-4 x -4 = 16
+24 / -8 = -3
+0 x 10 = 0
+-10 / 2 = -5
+-1 x 4 = -4
+-7 x -4 = 28
+7 x 0 = 0
+8 / 4 = 2
+-42 / 7 = -6
+9 x -2 = -18
+-5 x 3 = -15
+-8 x 10 = -80
+4 x 7 = 28
+28 / -4 = -7
+0 / 1 = 0
+-6 / -6 = 1
+-9 x 4 = -36
+35 / 7 = 5
+24 / 6 = 4
+9 / 3 = 3
+-28 / -4 = 7
+8 x 1 = 8
+4 x 1 = 4
+-4 x 9 = -36
+-9 x 5 = -45
+14 / -2 = -7
+-9 / 9 = -1
+-5 x 0 = 0
+1 x 9 = 9
+5 x -8 = -40
+-70 / 10 = -7
+0 x 1 = 0
+-45 / -9 = 5
+-7 x -2 = 14
+-56 / -8 = 7
+-3 x -7 = 21
+-80 / 10 = -8
+5 x -10 = -50
+24 / -3 = -8
+24 / -6 = -4
+-27 / 9 = -3
+9 x -4 = -36
+0 / 7 = 0
+2 x -8 = -16
+-35 / -7 = 5
+12 / -6 = -2
+80 / -8 = -10
+10 / 5 = 2
+2 x -1 = -2
+1 x 1 = 1
+-21 / -7 = 3
+24 / 8 = 3
+-9 / -9 = 1
+3 x -3 = -9
+-14 / -7 = 2
+0 / 8 = 0
+6 x 4 = 24
+-9 x 5 = -45
+-16 / 2 = -8
+30 / 6 = 5
+6 / -3 = -2
+42 / -6 = -7
+48 / -8 = -6
+1 x 3 = 3
+-16 / -4 = 4
+56 / 7 = 8
+-1 / 1 = -1
+7 x 5 = 35
+-12 / 2 = -6
+9 x -9 = -81
+-9 x -9 = 81
+45 / 9 = 5
+-6 / 3 = -2
+7 x 6 = 42
+-6 x 8 = -48
+-40 / -8 = 5
+7 x 6 = 42
+30 / 6 = 5
+20 / -5 = -4
+-2 x -8 = 16
+-18 / 3 = -6
+5 x 0 = 0
+0 / 1 = 0
+-36 / 6 = -6
+6 x 7 = 42
+7 x -10 = -70
+5 / 1 = 5
+-4 / -2 = 2
+6 x 0 = 0
+-4 x 6 = -24
+30 / -10 = -3
+-10 x 4 = -40
+-45 / -5 = 9
+6 / 6 = 1
+35 / -5 = -7
+-5 x -7 = 35
+-7 x -9 = 63
+8 x -10 = -80
+-60 / 6 = -10
+-20 / 10 = -2
+20 / -2 = -10
+-50 / 10 = -5
+20 / 2 = 10
+-2 x -4 = 8
+3 x -7 = -21
+5 x -6 = -30
+-45 / 9 = -5
+0 / 3 = 0
+4 / 4 = 1
+6 / 6 = 1
+3 x 1 = 3
+3 x -10 = -30
+-30 / 3 = -10
+-2 x -8 = 16
+-7 x -3 = 21
+-5 x 6 = -30
+7 / 1 = 7
+8 x 1 = 8
+1 x 2 = 2
+80 / 8 = 10
+12 / 4 = 3
+-6 / 6 = -1
+-3 / -1 = 3
+-2 x -4 = 8
+8 x 7 = 56
+-6 / -3 = 2
+4 x 2 = 8
+9 x 9 = 81
+0 x 7 = 0
+1 x 1 = 1
+-8 x 2 = -16
+-5 x 5 = -25
+-8 x 3 = -24
+6 x 3 = 18
+0 / -4 = 0
+-28 / -7 = 4
+-63 / -9 = 7
+-70 / 7 = -10
+45 / 9 = 5
+-7 / 7 = -1
+-7 x -7 = 49
+-24 / -8 = 3
+0 x -5 = 0
+-2 / 2 = -1
+-30 / 3 = -10
+21 / 7 = 3
+7 x 2 = 14
+14 / 7 = 2
+40 / -8 = -5
+35 / 5 = 7
+-90 / 10 = -9
+50 / -5 = -10
+-10 / 1 = -10
+-3 x -7 = 21
+-5 x -2 = 10
+30 / -6 = -5
+-8 / 8 = -1
+14 / -7 = -2
+2 x 1 = 2
+-4 / -2 = 2
+-16 / -8 = 2
+-27 / -3 = 9
+-3 x 2 = -6
+-8 x 1 = -8
+8 / 2 = 4
+-8 x -8 = 64
+-10 / 5 = -2
+-6 / 3 = -2
+6 x -8 = -48
+-4 x -10 = 40
+18 / 2 = 9
+0 x -8 = 0
+-8 x 2 = -16
+-8 x -8 = 64
+10 / -5 = -2
+7 / -7 = -1
+8 x -2 = -16
+7 / 7 = 1
+4 x 10 = 40
+5 x 2 = 10
+2 x -2 = -4
+2 x -1 = -2
+7 x -2 = -14
+-15 / 3 = -5
+0 / 9 = 0
+6 / -3 = -2
+-1 x 0 = 0
+-6 x -10 = 60
+-9 x 7 = -63
+-5 x -10 = 50
+-8 x 1 = -8
+9 x -4 = -36
+5 x 7 = 35
+-6 / -1 = 6
+-8 x 4 = -32
+-1 x -3 = 3
+-5 x 2 = -10
+-60 / 10 = -6
+9 / 9 = 1
+-50 / 5 = -10
+-7 x -7 = 49
+-4 / -4 = 1
+1 x -8 = -8
+-7 x -1 = 7
+5 x -8 = -40
+5 x 8 = 40
+81 / -9 = -9
+8 x 2 = 16
+-42 / -6 = 7
+-7 x 7 = -49
+32 / 8 = 4
+36 / 6 = 6
+-5 x 6 = -30
+0 / 1 = 0
+8 x -3 = -24
+4 x 2 = 8
+10 / -2 = -5
+-30 / -5 = 6
+-35 / -5 = 7
+-6 x 1 = -6
+1 x -6 = -6
+-8 / -4 = 2
+7 x -3 = -21
+-2 x 5 = -10
+-90 / 10 = -9
+-9 x -4 = 36
+5 x -8 = -40
+0 x -6 = 0
+-16 / -2 = 8
+12 / -4 = -3
+7 x 0 = 0
+5 x 0 = 0
+0 x -7 = 0
+1 / -1 = -1
+35 / -7 = -5
+-35 / 5 = -7
+-5 x 3 = -15
+-3 x 3 = -9
+-6 x -6 = 36
+-7 / 1 = -7
+-4 x 8 = -32
+0 / -1 = 0
+1 x -1 = -1
+8 / -8 = -1
+9 x 7 = 63
+14 / 2 = 7
+14 / -2 = -7
+-3 x -6 = 18
+14 / -2 = -7
+20 / -5 = -4
+80 / 10 = 8
+9 x -6 = -54
+-1 x -8 = 8
+-25 / 5 = -5
+18 / -9 = -2
+-6 x 6 = -36
+-28 / 7 = -4
+-18 / 3 = -6
+10 x -9 = -90
+-4 x -1 = 4
+-25 / -5 = 5
+35 / 5 = 7
+-24 / -8 = 3
+-24 / -4 = 6
+1 x 4 = 4
+-48 / -8 = 6
+-9 x -8 = 72
+-9 x 9 = -81
+0 / -5 = 0
+-2 x 3 = -6
+-7 x 4 = -28
+0 x 2 = 0
+9 x 2 = 18
+-4 x -6 = 24
+6 x -6 = -36
+-8 x -7 = 56
+-24 / -8 = 3
+-1 x -4 = 4
+-3 / -1 = 3
+-7 x 1 = -7
+0 / -1 = 0
+-5 x 4 = -20
+10 x 6 = 60
+9 x -9 = -81
+-4 x 4 = -16
+0 x -2 = 0
+-7 x 3 = -21
+3 x -5 = -15
+-1 x 5 = -5
+-2 x 3 = -6
+10 x -6 = -60
+-12 / -4 = 3
+-21 / 3 = -7
+-1 x 2 = -2
+0 x -4 = 0
+3 x -9 = -27
+-24 / -3 = 8
+-8 / -2 = 4
+-5 x -9 = 45
+2 x -8 = -16
+2 x 7 = 14
+-3 x 9 = -27
+-8 x 0 = 0
+1 x 6 = 6
+-21 / 7 = -3
+7 x 5 = 35
+-9 x -3 = 27
+50 / -5 = -10
+-2 x 4 = -8
+0 x 9 = 0
+5 x 7 = 35
+-10 x -5 = 50
+6 x 3 = 18
+5 x -6 = -30
+-4 x -2 = 8
+49 / 7 = 7
+-9 x 5 = -45
+-2 x -8 = 16
+-81 / -9 = 9
+-14 / 2 = -7
+-30 / -6 = 5
+-27 / -3 = 9
+-21 / 3 = -7
+7 x -1 = -7
+0 / -8 = 0
+20 / -4 = -5
+-12 / -2 = 6
+27 / 9 = 3
+-7 x -9 = 63
+8 x 8 = 64
+5 / 1 = 5
+4 x -7 = -28
+2 x 8 = 16
+-81 / -9 = 9
+5 x -3 = -15
+8 / -8 = -1
+-15 / -3 = 5
+6 x 8 = 48
+42 / -6 = -7
+12 / -3 = -4
+0 / 8 = 0
+-25 / 5 = -5
+-15 / -5 = 3
+12 / 2 = 6
+70 / -7 = -10
+4 x 1 = 4
+-3 / -1 = 3
+-21 / 7 = -3
+28 / 4 = 7
+4 x -1 = -4
+0 / -1 = 0
+-8 x 9 = -72
+4 x -3 = -12
+0 / 9 = 0
+-8 / 1 = -8
+0 / -6 = 0
+-49 / -7 = 7
+-60 / -10 = 6
+40 / -5 = -8
+0 / -3 = 0
+-54 / 9 = -6
+64 / 8 = 8
+8 x 10 = 80
+4 x 0 = 0
+-8 / 4 = -2
+8 x 5 = 40
+-20 / -10 = 2
+-42 / -7 = 6
+1 x 7 = 7
diff --git a/data/question_files/arithmetic/multdiv_p0_-100-100.dat b/data/question_files/arithmetic/multdiv_p0_-100-100.dat
new file mode 100644
index 0000000..be580a5
--- /dev/null
+++ b/data/question_files/arithmetic/multdiv_p0_-100-100.dat
@@ -0,0 +1,1000 @@
+-5372 / 79 = -68
+-2380 / 34 = -70
+-18 x 17 = -306
+-4307 / 59 = -73
+-25 x -58 = 1450
+-682 / -22 = 31
+10 x 55 = 550
+-1550 / -50 = 31
+99 x 8 = 792
+49 x 2 = 98
+-26 x 6 = -156
+-16 x -31 = 496
+-2068 / 47 = -44
+-5696 / -89 = 64
+-2 x -44 = 88
+-165 / 3 = -55
+-4324 / 92 = -47
+1188 / 66 = 18
+2816 / -32 = -88
+-494 / 38 = -13
+96 x 48 = 4608
+-54 x -10 = 540
+-192 / 32 = -6
+2368 / -32 = -74
+-69 x 23 = -1587
+9 x 32 = 288
+3705 / -57 = -65
+-2 x 90 = -180
+-2820 / 60 = -47
+93 x 28 = 2604
+-78 x 52 = -4056
+30 x 79 = 2370
+39 x 74 = 2886
+232 / 29 = 8
+33 x -37 = -1221
+-783 / -9 = 87
+-364 / 26 = -14
+1248 / -16 = -78
+-48 x 75 = -3600
+-2408 / 86 = -28
+96 x -14 = -1344
+-9 x 52 = -468
+-69 x 25 = -1725
+83 x -33 = -2739
+-46 x -16 = 736
+-2960 / 40 = -74
+-44 x -66 = 2904
+-34 x -8 = 272
+-1040 / 80 = -13
+-36 x -32 = 1152
+1 x 50 = 50
+-220 / -22 = 10
+891 / -99 = -9
+16 x 100 = 1600
+6076 / 98 = 62
+80 x 17 = 1360
+-1474 / 67 = -22
+48 x 29 = 1392
+-96 x 15 = -1440
+1924 / 52 = 37
+-91 / -91 = 1
+85 x -74 = -6290
+-2 x -81 = 162
+6480 / -80 = -81
+1426 / 31 = 46
+-29 x 50 = -1450
+-99 x 46 = -4554
+59 x -20 = -1180
+2232 / 24 = 93
+51 x -28 = -1428
+-5852 / -77 = 76
+-53 x -96 = 5088
+-140 / 14 = -10
+-90 x -53 = 4770
+93 x -75 = -6975
+-420 / 6 = -70
+57 x -24 = -1368
+-504 / -14 = 36
+-56 x -6 = 336
+-1170 / -30 = 39
+990 / -10 = -99
+2132 / 41 = 52
+-414 / 69 = -6
+-5040 / 72 = -70
+2343 / -33 = -71
+1377 / 51 = 27
+-250 / 5 = -50
+27 x -99 = -2673
+-75 x -77 = 5775
+62 x -32 = -1984
+-68 x -98 = 6664
+-49 x -61 = 2989
+-63 x 49 = -3087
+23 x 100 = 2300
+-456 / 19 = -24
+1008 / 72 = 14
+72 x 66 = 4752
+462 / -14 = -33
+-75 x -11 = 825
+-77 x 12 = -924
+-3900 / -75 = 52
+78 x -100 = -7800
+-3604 / -68 = 53
+22 x 67 = 1474
+1344 / 56 = 24
+-22 x 61 = -1342
+-1476 / 36 = -41
+50 x 12 = 600
+1445 / 17 = 85
+2 x 21 = 42
+70 x 65 = 4550
+-4757 / 67 = -71
+1422 / 18 = 79
+66 x 38 = 2508
+41 x -60 = -2460
+-440 / 5 = -88
+243 / 81 = 3
+-4144 / 74 = -56
+-12 x -87 = 1044
+68 x -30 = -2040
+83 / 83 = 1
+13 x 67 = 871
+1216 / -16 = -76
+-957 / 29 = -33
+3690 / 41 = 90
+-76 x -12 = 912
+7565 / -89 = -85
+42 x -68 = -2856
+-25 x 2 = -50
+7 x -24 = -168
+-73 x -39 = 2847
+-96 x 58 = -5568
+-60 x -10 = 600
+8370 / -93 = -90
+1029 / -49 = -21
+-324 / 81 = -4
+-83 x -48 = 3984
+41 x 58 = 2378
+-29 x -10 = 290
+-51 x -58 = 2958
+616 / -44 = -14
+-81 x -46 = 3726
+1750 / 70 = 25
+1360 / 17 = 80
+63 x -55 = -3465
+744 / -12 = -62
+686 / 98 = 7
+-5115 / 93 = -55
+-1680 / 20 = -84
+82 x -3 = -246
+3192 / 76 = 42
+-7840 / 98 = -80
+-2184 / -28 = 78
+6 x 85 = 510
+74 x 53 = 3922
+-864 / 9 = -96
+-10 x -3 = 30
+-2900 / -100 = 29
+1078 / 22 = 49
+-74 x 64 = -4736
+-667 / 29 = -23
+-1106 / 79 = -14
+87 x 90 = 7830
+15 x 24 = 360
+486 / 6 = 81
+34 x -52 = -1768
+-59 x 3 = -177
+53 x 44 = 2332
+-20 x -17 = 340
+42 x -60 = -2520
+-972 / -18 = 54
+-43 x -35 = 1505
+-806 / -26 = 31
+-4232 / -46 = 92
+-49 x 36 = -1764
+94 x 32 = 3008
+-1624 / -56 = 29
+45 x -51 = -2295
+-70 x -69 = 4830
+3450 / 75 = 46
+17 x -65 = -1105
+-60 x 34 = -2040
+-5916 / -68 = 87
+16 x -30 = -480
+-70 x 42 = -2940
+16 x 57 = 912
+1428 / -34 = -42
+-72 x -95 = 6840
+43 x -49 = -2107
+462 / -7 = -66
+114 / 6 = 19
+-1995 / 57 = -35
+2523 / 29 = 87
+2106 / 26 = 81
+0 / 38 = 0
+-99 x 95 = -9405
+-42 x 56 = -2352
+27 x -5 = -135
+2911 / -71 = -41
+-451 / 11 = -41
+-47 x 30 = -1410
+-468 / 9 = -52
+-24 x -97 = 2328
+-100 x -40 = 4000
+468 / 52 = 9
+-32 x -65 = 2080
+-1067 / -11 = 97
+90 x -21 = -1890
+-2376 / -33 = 72
+-24 x -4 = 96
+388 / -4 = -97
+-924 / -12 = 77
+-42 x 15 = -630
+-4736 / 74 = -64
+-2277 / -99 = 23
+-96 x 13 = -1248
+-79 x 25 = -1975
+-2808 / -72 = 39
+5696 / -64 = -89
+57 x -13 = -741
+67 x -72 = -4824
+4802 / -49 = -98
+55 / 11 = 5
+-23 x -69 = 1587
+-3600 / 100 = -36
+-89 x 64 = -5696
+1 x -62 = -62
+96 x 36 = 3456
+2059 / 71 = 29
+-83 x 22 = -1826
+-1003 / -17 = 59
+-2438 / -46 = 53
+4503 / -57 = -79
+34 x -16 = -544
+49 x 46 = 2254
+1029 / 49 = 21
+-100 x 100 = -10000
+425 / 85 = 5
+-1140 / -20 = 57
+-1235 / 19 = -65
+96 x 60 = 5760
+-43 x 67 = -2881
+549 / -9 = -61
+2280 / 30 = 76
+5160 / 60 = 86
+-3476 / 44 = -79
+-12 / 12 = -1
+-1 x 41 = -41
+65 x 58 = 3770
+-4 x 47 = -188
+-94 x -54 = 5076
+40 x 35 = 1400
+-1914 / 22 = -87
+29 x -86 = -2494
+-72 x 87 = -6264
+310 / -10 = -31
+-82 x -1 = 82
+-445 / -89 = 5
+-4788 / 57 = -84
+76 x -29 = -2204
+1258 / 74 = 17
+40 x -98 = -3920
+-12 x -30 = 360
+3381 / 69 = 49
+-92 x 67 = -6164
+1410 / -94 = -15
+-87 x 50 = -4350
+1827 / 87 = 21
+85 x -40 = -3400
+10 x 81 = 810
+-82 x 82 = -6724
+5 x 11 = 55
+-6004 / 79 = -76
+74 x -31 = -2294
+31 x -27 = -837
+4686 / -66 = -71
+-56 x -66 = 3696
+97 x -23 = -2231
+-58 x -86 = 4988
+90 x 30 = 2700
+-3822 / -91 = 42
+66 x 15 = 990
+72 x 1 = 72
+-26 x 76 = -1976
+-2184 / -78 = 28
+52 x -69 = -3588
+-74 x -95 = 7030
+-50 x 14 = -700
+-8372 / -91 = 92
+-3915 / 87 = -45
+-4964 / -73 = 68
+-2183 / 37 = -59
+-49 x -45 = 2205
+-770 / 14 = -55
+5742 / -66 = -87
+188 / -4 = -47
+21 x 75 = 1575
+-273 / -7 = 39
+42 x -31 = -1302
+1917 / 71 = 27
+-765 / -51 = 15
+-4876 / 53 = -92
+-1480 / 74 = -20
+1344 / -21 = -64
+71 x 81 = 5751
+-25 x 0 = 0
+-5586 / -98 = 57
+-357 / -21 = 17
+-59 x 36 = -2124
+3572 / -76 = -47
+-48 x -52 = 2496
+69 x -89 = -6141
+-84 x -23 = 1932
+-34 x -58 = 1972
+-774 / -86 = 9
+-28 x 99 = -2772
+-10 x 59 = -590
+1122 / -66 = -17
+-49 x -1 = 49
+1184 / 74 = 16
+2900 / -100 = -29
+50 x 22 = 1100
+4 x -81 = -324
+-2610 / -58 = 45
+4608 / -64 = -72
+-13 x -25 = 325
+-1134 / -14 = 81
+-1792 / 32 = -56
+1975 / 25 = 79
+-87 x 2 = -174
+3528 / -63 = -56
+-230 / 5 = -46
+3485 / -85 = -41
+-1680 / 20 = -84
+3120 / -52 = -60
+67 x 56 = 3752
+-52 x 35 = -1820
+2 x -17 = -34
+4800 / 50 = 96
+50 x -6 = -300
+14 x -62 = -868
+-88 x 68 = -5984
+-1344 / 28 = -48
+258 / 6 = 43
+-704 / -11 = 64
+-88 x -62 = 5456
+-1666 / 34 = -49
+3600 / -90 = -40
+54 x 81 = 4374
+-7238 / 94 = -77
+4968 / 69 = 72
+2112 / 32 = 66
+8811 / -99 = -89
+-69 / -69 = 1
+-68 x 10 = -680
+-35 x -63 = 2205
+-60 x -7 = 420
+74 x -83 = -6142
+1392 / 16 = 87
+3 x 22 = 66
+5684 / 98 = 58
+-864 / -16 = 54
+-50 x 79 = -3950
+-315 / -21 = 15
+-89 x 58 = -5162
+-4221 / 63 = -67
+34 x 71 = 2414
+97 x 94 = 9118
+7081 / -97 = -73
+93 x -30 = -2790
+-232 / -29 = 8
+22 x -83 = -1826
+-120 / 15 = -8
+-30 x -16 = 480
+-1425 / -57 = 25
+-1140 / 57 = -20
+-15 x 71 = -1065
+1632 / 17 = 96
+89 x -96 = -8544
+-90 x -96 = 8640
+-8928 / 93 = -96
+2 x -56 = -112
+-6 x 17 = -102
+-3038 / 31 = -98
+-17 x 24 = -408
+-33 x 54 = -1782
+48 x -2 = -96
+-99 x -18 = 1782
+1552 / 97 = 16
+-34 x 55 = -1870
+62 x -79 = -4898
+33 x 63 = 2079
+-35 x 96 = -3360
+2279 / -43 = -53
+36 / 4 = 9
+20 x -65 = -1300
+-5610 / -85 = 66
+-8 x -61 = 488
+-6 x 51 = -306
+1950 / -75 = -26
+-78 x 30 = -2340
+987 / -21 = -47
+48 x -58 = -2784
+5475 / 73 = 75
+8 x -78 = -624
+-6075 / 75 = -81
+-95 x 37 = -3515
+-33 x -2 = 66
+-59 x -10 = 590
+-90 x 18 = -1620
+-51 x 23 = -1173
+290 / 58 = 5
+-5544 / 56 = -99
+-782 / 23 = -34
+754 / 29 = 26
+12 x -25 = -300
+-2385 / 45 = -53
+-3420 / 90 = -38
+-44 x -48 = 2112
+21 x -26 = -546
+-2241 / 83 = -27
+-51 x 49 = -2499
+-34 x 66 = -2244
+-1820 / -91 = 20
+-83 x -36 = 2988
+-5106 / -69 = 74
+2064 / 48 = 43
+4371 / 47 = 93
+803 / -11 = -73
+37 x -23 = -851
+-8 x -98 = 784
+5120 / 64 = 80
+-44 x -4 = 176
+924 / 66 = 14
+-6300 / -90 = 70
+63 x 37 = 2331
+4248 / 59 = 72
+7 x 70 = 490
+-21 x -40 = 840
+600 / -15 = -40
+97 x 13 = 1261
+6966 / -86 = -81
+35 x -100 = -3500
+6432 / -67 = -96
+-4779 / -59 = 81
+-3654 / -42 = 87
+-2465 / -85 = 29
+-735 / 21 = -35
+450 / 75 = 6
+-53 x 91 = -4823
+-21 x 71 = -1491
+-1155 / -55 = 21
+24 x 84 = 2016
+-14 x -100 = 1400
+-79 x 91 = -7189
+39 x -36 = -1404
+9 x -73 = -657
+-82 x -17 = 1394
+62 x 94 = 5828
+-1258 / -74 = 17
+2408 / -56 = -43
+90 x -35 = -3150
+-75 x -9 = 675
+2460 / 30 = 82
+180 / -10 = -18
+55 x -26 = -1430
+-39 x -56 = 2184
+-6525 / 75 = -87
+85 x -7 = -595
+1634 / -38 = -43
+-17 x 5 = -85
+98 x 25 = 2450
+-873 / -9 = 97
+-6351 / 73 = -87
+20 x 97 = 1940
+279 / -31 = -9
+-15 x 33 = -495
+3312 / -92 = -36
+-4437 / -51 = 87
+17 x -2 = -34
+-27 x 89 = -2403
+52 x 83 = 4316
+-82 x -23 = 1886
+2745 / 45 = 61
+1900 / 95 = 20
+-672 / 42 = -16
+512 / 32 = 16
+60 / -30 = -2
+-680 / -85 = 8
+-10 x -42 = 420
+-84 x -27 = 2268
+690 / 30 = 23
+-2183 / -59 = 37
+-9 x 38 = -342
+-10 x -49 = 490
+-5796 / 63 = -92
+-4410 / 70 = -63
+-69 / 1 = -69
+66 x 6 = 396
+1045 / -55 = -19
+-837 / -27 = 31
+3402 / -42 = -81
+22 x 66 = 1452
+-888 / 74 = -12
+-6970 / 85 = -82
+86 x 37 = 3182
+-5092 / 76 = -67
+1280 / 64 = 20
+70 x 85 = 5950
+-420 / -60 = 7
+85 x -84 = -7140
+-24 x 47 = -1128
+9702 / 99 = 98
+-65 x -53 = 3445
+-78 x 78 = -6084
+-65 x -4 = 260
+-18 x -38 = 684
+-616 / -44 = 14
+4914 / 54 = 91
+-289 / -17 = 17
+1368 / 36 = 38
+1992 / -24 = -83
+-4692 / -92 = 51
+1760 / 32 = 55
+15 x -20 = -300
+30 x -39 = -1170
+77 x 21 = 1617
+-2982 / 42 = -71
+4675 / 85 = 55
+16 x -36 = -576
+79 x -11 = -869
+34 x -83 = -2822
+-1610 / -70 = 23
+4085 / 95 = 43
+56 x -33 = -1848
+4 x -55 = -220
+-70 x 92 = -6440
+78 x 76 = 5928
+85 x 80 = 6800
+-2277 / 23 = -99
+39 x 21 = 819
+1365 / -91 = -15
+79 x 23 = 1817
+-2639 / 29 = -91
+-1848 / 22 = -84
+2842 / 58 = 49
+73 x -79 = -5767
+15 / 15 = 1
+-742 / -53 = 14
+522 / 18 = 29
+-29 x -44 = 1276
+-38 x -70 = 2660
+75 x 75 = 5625
+-86 x -15 = 1290
+-65 x 92 = -5980
+55 x -89 = -4895
+-55 x -91 = 5005
+-18 x 2 = -36
+216 / 4 = 54
+46 x -34 = -1564
+-1848 / -84 = 22
+-52 x -11 = 572
+-38 x -64 = 2432
+-8 x -4 = 32
+72 x -56 = -4032
+54 / -18 = -3
+-435 / 87 = -5
+-2211 / -67 = 33
+36 x 3 = 108
+-425 / 85 = -5
+246 / 82 = 3
+51 x -38 = -1938
+-88 x 9 = -792
+-851 / -23 = 37
+-3355 / 61 = -55
+-51 x 8 = -408
+-100 x -1 = 100
+-25 x 28 = -700
+-3250 / 50 = -65
+26 x 15 = 390
+2300 / 25 = 92
+-2158 / 83 = -26
+37 x 85 = 3145
+-43 / 43 = -1
+-5 x 5 = -25
+39 x -64 = -2496
+2508 / 38 = 66
+1824 / 38 = 48
+19 / -19 = -1
+-70 x -18 = 1260
+-89 x 61 = -5429
+5550 / -75 = -74
+-7565 / 89 = -85
+13 x 6 = 78
+95 x -98 = -9310
+-5 x -64 = 320
+-4005 / -89 = 45
+2116 / -46 = -46
+3621 / -51 = -71
+85 / 1 = 85
+67 x 83 = 5561
+-44 x -83 = 3652
+-37 x 74 = -2738
+19 x -42 = -798
+83 x 93 = 7719
+477 / 53 = 9
+-6 x -50 = 300
+-16 x -5 = 80
+41 x 93 = 3813
+-62 x 1 = -62
+3552 / 48 = 74
+38 x -92 = -3496
+-32 x -9 = 288
+6500 / -65 = -100
+-408 / 24 = -17
+5415 / 95 = 57
+-3150 / 50 = -63
+-6624 / -72 = 92
+-621 / -9 = 69
+-2288 / -52 = 44
+28 x 98 = 2744
+-68 x -69 = 4692
+3105 / -69 = -45
+-5488 / -98 = 56
+-97 x -61 = 5917
+-20 x -93 = 1860
+272 / -34 = -8
+51 x 53 = 2703
+31 x -82 = -2542
+140 / -5 = -28
+47 x -42 = -1974
+3724 / -98 = -38
+4312 / -98 = -44
+4794 / -51 = -94
+299 / 13 = 23
+-1040 / 65 = -16
+60 x 79 = 4740
+87 x -13 = -1131
+2 x -42 = -84
+-4324 / -94 = 46
+648 / 18 = 36
+-1656 / 72 = -23
+-780 / -26 = 30
+126 / -63 = -2
+1995 / -35 = -57
+6570 / -73 = -90
+1767 / 57 = 31
+-3672 / 51 = -72
+-91 x 54 = -4914
+-81 x 26 = -2106
+33 x 76 = 2508
+-3920 / 40 = -98
+-2365 / 43 = -55
+-94 x -40 = 3760
+-2028 / 78 = -26
+-90 x -89 = 8010
+65 x -11 = -715
+-2914 / 62 = -47
+8 x -18 = -144
+85 x 6 = 510
+3483 / 81 = 43
+-540 / -10 = 54
+4410 / -49 = -90
+-288 / -96 = 3
+7743 / -89 = -87
+-55 x -51 = 2805
+-98 x 28 = -2744
+98 x 43 = 4214
+7125 / 95 = 75
+-53 x -36 = 1908
+-99 x -78 = 7722
+224 / -4 = -56
+-62 x -57 = 3534
+-81 x 61 = -4941
+65 / -5 = -13
+1656 / -46 = -36
+-40 x -40 = 1600
+-84 x 48 = -4032
+3 x -86 = -258
+-1843 / 19 = -97
+-3910 / -85 = 46
+162 / -54 = -3
+-31 x -7 = 217
+-35 x 14 = -490
+627 / -57 = -11
+256 / 4 = 64
+1196 / -92 = -13
+5922 / -63 = -94
+-94 x -22 = 2068
+-800 / -25 = 32
+-30 x 74 = -2220
+4 x -1 = -4
+-16 x -71 = 1136
+-1092 / 12 = -91
+39 x -84 = -3276
+58 x -68 = -3944
+-3876 / -76 = 51
+2236 / 86 = 26
+83 x 46 = 3818
+-55 x 58 = -3190
+-3496 / 92 = -38
+3002 / -79 = -38
+-4212 / -52 = 81
+67 x 92 = 6164
+12 x -12 = -144
+-40 x -94 = 3760
+-88 x -33 = 2904
+-84 x -19 = 1596
+-83 x -70 = 5810
+-7553 / 83 = -91
+66 / 11 = 6
+-696 / 29 = -24
+1120 / 14 = 80
+24 x 44 = 1056
+67 x -71 = -4757
+-132 / 22 = -6
+40 x -54 = -2160
+7007 / 77 = 91
+-45 x -3 = 135
+1554 / -21 = -74
+-3731 / 91 = -41
+980 / -20 = -49
+-8 x 92 = -736
+322 / -14 = -23
+-30 x 90 = -2700
+-87 x 7 = -609
+-1144 / -26 = 44
+57 x 8 = 456
+85 x 34 = 2890
+-46 x -41 = 1886
+-949 / 73 = -13
+50 x -74 = -3700
+-3861 / 39 = -99
+3913 / -91 = -43
+-73 x 67 = -4891
+600 / -8 = -75
+-27 x -40 = 1080
+-73 x 70 = -5110
+-3 x 54 = -162
+-57 x 41 = -2337
+9 x 70 = 630
+75 x -99 = -7425
+-5005 / 91 = -55
+-1530 / 45 = -34
+96 x 1 = 96
+-759 / -11 = 69
+-504 / 36 = -14
+97 x 79 = 7663
+3 x -54 = -162
+6 x -32 = -192
+-1653 / -19 = 87
+26 x -13 = -338
+-60 / -3 = 20
+78 x -70 = -5460
+-51 x 48 = -2448
+-28 x 64 = -1792
+-31 x 2 = -62
+-68 x 32 = -2176
+612 / -18 = -34
+10 x 52 = 520
+-7216 / -88 = 82
+99 x 34 = 3366
+-512 / -64 = 8
+-87 x -75 = 6525
+2700 / 45 = 60
+4788 / -63 = -76
+-4558 / 53 = -86
+270 / 5 = 54
+-66 x 18 = -1188
+-1833 / -39 = 47
+33 x -39 = -1287
+-90 x -25 = 2250
+-50 x 83 = -4150
+72 x 52 = 3744
+-392 / -14 = 28
+-58 x 96 = -5568
+-3552 / 37 = -96
+-65 x -59 = 3835
+-28 x -95 = 2660
+59 x -91 = -5369
+-294 / -3 = 98
+-69 x 63 = -4347
+-212 / -4 = 53
+858 / -33 = -26
+595 / -35 = -17
+4860 / -54 = -90
+154 / 7 = 22
+667 / 29 = 23
+72 / 24 = 3
+2745 / 61 = 45
+8 x -42 = -336
+-1120 / -28 = 40
+9 x -51 = -459
+7840 / -80 = -98
+-99 x 8 = -792
+-5 x 36 = -180
+2860 / -52 = -55
+5810 / 83 = 70
+-7 x -98 = 686
+-71 x -73 = 5183
+-49 x -52 = 2548
+89 x -29 = -2581
+320 / 80 = 4
+-429 / 13 = -33
+-1704 / -24 = 71
+3024 / 54 = 56
+-4592 / -82 = 56
+-34 x -75 = 2550
+-1411 / 17 = -83
+35 x 56 = 1960
+5044 / -52 = -97
+3520 / -80 = -44
+657 / -9 = -73
+-14 x -66 = 924
+34 x 8 = 272
+6305 / -65 = -97
+84 x 86 = 7224
+-22 x 100 = -2200
+4988 / -86 = -58
+846 / -94 = -9
+52 x -41 = -2132
+-9 x -11 = 99
+39 x -18 = -702
+1908 / -53 = -36
+-2134 / 22 = -97
+45 x -9 = -405
+-8550 / -90 = 95
+-5229 / -83 = 63
+3420 / -57 = -60
+32 x -21 = -672
+-1806 / 43 = -42
+-1537 / -53 = 29
+-45 x -74 = 3330
+-3630 / 66 = -55
+27 x -20 = -540
+-26 x 12 = -312
+7560 / -90 = -84
+-99 x 23 = -2277
+2210 / 65 = 34
+-2300 / -50 = 46
+-87 x -45 = 3915
+8330 / -98 = -85
+-6675 / 75 = -89
+-13 x 41 = -533
+-96 x 26 = -2496
+112 / -14 = -8
+552 / -6 = -92
+1392 / -87 = -16
+-705 / -47 = 15
+-1512 / -84 = 18
+464 / -58 = -8
+891 / -27 = -33
+-45 x -41 = 1845
+3 x 9 = 27
+3627 / -39 = -93
+-1170 / -13 = 90
+-4032 / -84 = 48
+-36 x 14 = -504
+1012 / -46 = -22
+-5568 / -58 = 96
+-75 x 13 = -975
+-119 / 17 = -7
+-3762 / 99 = -38
+-47 x 6 = -282
+57 x -34 = -1938
+83 x 75 = 6225
+36 x -96 = -3456
+-672 / 12 = -56
+51 x 67 = 3417
+1035 / -23 = -45
+-483 / 69 = -7
+343 / 7 = 49
+5742 / -87 = -66
+-86 x 74 = -6364
+36 x 20 = 720
+-88 x 71 = -6248
+1155 / 55 = 21
+-74 x 35 = -2590
+69 x -91 = -6279
+679 / 7 = 97
+-1763 / 41 = -43
+1241 / -17 = -73
+53 x -99 = -5247
+-4278 / 93 = -46
+84 x -50 = -4200
+-72 x -25 = 1800
+78 x 16 = 1248
+-4410 / 49 = -90
+-962 / -37 = 26
+-805 / 35 = -23
+258 / 43 = 6
+-1104 / -48 = 23
+-784 / 14 = -56
+83 x 5 = 415
+-47 x 58 = -2726
+546 / 42 = 13
+4092 / -93 = -44
+-5 x 6 = -30
+1200 / -100 = -12
+-3080 / -77 = 40
+1470 / 42 = 35
+82 x 44 = 3608
+546 / -13 = -42
+-968 / -88 = 11
+1692 / 18 = 94
+-312 / 39 = -8
+-87 x -42 = 3654
+-2925 / -39 = 75
+559 / 13 = 43
+-69 x 16 = -1104
+2173 / -41 = -53
+1513 / -89 = -17
+59 x 31 = 1829
+5040 / 63 = 80
+65 x 69 = 4485
+4 x 17 = 68
+2890 / -34 = -85
+-2805 / 55 = -51
+-56 x 82 = -4592
+-2848 / 89 = -32
+27 x 23 = 621
+1938 / -34 = -57
+4095 / 45 = 91
+24 x 5 = 120
+-92 x 17 = -1564
+-92 x 52 = -4784
+780 / 65 = 12
+44 x 49 = 2156
+15 x 69 = 1035
+-5890 / 62 = -95
+-49 x 66 = -3234
+-5760 / 90 = -64
+-5980 / -92 = 65
+110 / -11 = -10
+-78 x -19 = 1482
+2380 / 68 = 35
+-76 x -34 = 2584
+14 x 39 = 546
+78 x 52 = 4056
+13 x -35 = -455
+2058 / -42 = -49
+23 x 85 = 1955
+46 x 97 = 4462
+5 x 97 = 485
+-18 x -91 = 1638
+-3354 / 78 = -43
+98 x -6 = -588
+-69 x -6 = 414
+-648 / 8 = -81
+-2080 / 65 = -32
+-67 x 64 = -4288
+731 / -17 = -43
+53 x -91 = -4823
+-2352 / 56 = -42
+68 x 56 = 3808
+6318 / -78 = -81
+-24 x -89 = 2136
+-1131 / 13 = -87
+17 x -30 = -510
+-78 / -26 = 3
+5 x -22 = -110
+3087 / 63 = 49
+-6873 / 87 = -79
+66 x 20 = 1320
+82 x 85 = 6970
+2847 / 39 = 73
+-5626 / -58 = 97
+68 x 4 = 272
+2700 / 30 = 90
+2880 / -48 = -60
+-94 x -94 = 8836
+-2920 / -73 = 40
+-34 x -49 = 1666
+-40 x 60 = -2400
+41 x 52 = 2132
+-75 x -14 = 1050
+57 x 36 = 2052
+288 / 72 = 4
+325 / -13 = -25
+30 x 4 = 120
+1144 / 13 = 88
+-55 x 15 = -825
+2646 / -54 = -49
+3800 / 76 = 50
+-85 x -24 = 2040
+-8439 / -87 = 97
+80 x -23 = -1840
+-57 x -36 = 2052
+53 x -3 = -159
+3640 / 40 = 91
+-2700 / 50 = -54
+4212 / -78 = -54
+72 x -83 = -5976
+71 x 96 = 6816
+476 / -34 = -14
+-288 / -4 = 72
+-98 x -6 = 588
+1914 / 22 = 87
+28 x -81 = -2268
+-72 / -6 = 12
diff --git a/data/question_files/arithmetic/multdiv_p0_0-10.dat b/data/question_files/arithmetic/multdiv_p0_0-10.dat
new file mode 100644
index 0000000..d885659
--- /dev/null
+++ b/data/question_files/arithmetic/multdiv_p0_0-10.dat
@@ -0,0 +1,1000 @@
+8 x 1 = 8
+4 x 10 = 40
+1 x 7 = 7
+4 x 4 = 16
+5 x 9 = 45
+4 x 7 = 28
+45 / 5 = 9
+9 x 2 = 18
+9 x 9 = 81
+1 x 9 = 9
+7 / 1 = 7
+9 x 1 = 9
+7 / 1 = 7
+3 / 1 = 3
+20 / 4 = 5
+7 x 6 = 42
+20 / 5 = 4
+6 x 10 = 60
+18 / 2 = 9
+15 / 3 = 5
+2 x 7 = 14
+6 / 1 = 6
+8 x 6 = 48
+81 / 9 = 9
+1 x 1 = 1
+8 x 2 = 16
+12 / 4 = 3
+2 x 5 = 10
+15 / 5 = 3
+1 / 1 = 1
+1 x 3 = 3
+1 x 5 = 5
+7 x 5 = 35
+21 / 3 = 7
+1 x 1 = 1
+4 x 10 = 40
+1 / 1 = 1
+2 x 4 = 8
+56 / 8 = 7
+5 / 5 = 1
+6 x 6 = 36
+3 x 5 = 15
+42 / 7 = 6
+9 x 6 = 54
+6 x 1 = 6
+54 / 9 = 6
+2 x 1 = 2
+42 / 7 = 6
+24 / 3 = 8
+8 x 1 = 8
+21 / 3 = 7
+7 x 9 = 63
+36 / 6 = 6
+36 / 9 = 4
+70 / 10 = 7
+1 x 5 = 5
+2 x 8 = 16
+1 x 8 = 8
+8 x 8 = 64
+5 / 1 = 5
+9 x 7 = 63
+30 / 5 = 6
+8 x 3 = 24
+4 x 6 = 24
+18 / 6 = 3
+2 x 5 = 10
+24 / 3 = 8
+6 x 9 = 54
+7 x 3 = 21
+18 / 3 = 6
+5 x 7 = 35
+3 x 5 = 15
+6 x 4 = 24
+8 x 3 = 24
+6 x 7 = 42
+63 / 7 = 9
+54 / 6 = 9
+2 x 3 = 6
+3 x 4 = 12
+2 x 9 = 18
+36 / 6 = 6
+40 / 8 = 5
+24 / 4 = 6
+30 / 5 = 6
+8 / 4 = 2
+6 / 1 = 6
+18 / 3 = 6
+25 / 5 = 5
+80 / 10 = 8
+5 x 9 = 45
+72 / 8 = 9
+21 / 3 = 7
+24 / 4 = 6
+16 / 8 = 2
+2 x 3 = 6
+5 x 5 = 25
+3 x 4 = 12
+9 / 9 = 1
+1 x 3 = 3
+16 / 2 = 8
+30 / 6 = 5
+32 / 8 = 4
+7 x 5 = 35
+2 x 4 = 8
+5 x 3 = 15
+7 x 4 = 28
+35 / 7 = 5
+45 / 9 = 5
+3 x 9 = 27
+1 x 7 = 7
+1 x 8 = 8
+6 / 2 = 3
+5 x 9 = 45
+8 / 4 = 2
+10 x 8 = 80
+1 x 3 = 3
+35 / 7 = 5
+2 x 4 = 8
+5 / 1 = 5
+12 / 3 = 4
+5 x 1 = 5
+63 / 9 = 7
+2 / 2 = 1
+2 x 2 = 4
+1 x 1 = 1
+9 / 1 = 9
+6 / 3 = 2
+3 x 7 = 21
+21 / 7 = 3
+28 / 7 = 4
+10 x 7 = 70
+30 / 5 = 6
+2 / 1 = 2
+21 / 3 = 7
+5 x 4 = 20
+1 x 6 = 6
+28 / 7 = 4
+3 x 3 = 9
+9 x 7 = 63
+24 / 8 = 3
+4 x 2 = 8
+2 x 4 = 8
+7 x 6 = 42
+7 x 9 = 63
+18 / 3 = 6
+90 / 9 = 10
+4 / 1 = 4
+7 x 7 = 49
+2 x 8 = 16
+7 x 4 = 28
+54 / 9 = 6
+6 x 4 = 24
+1 x 2 = 2
+30 / 6 = 5
+1 / 1 = 1
+1 x 1 = 1
+3 x 9 = 27
+5 x 1 = 5
+4 x 6 = 24
+9 x 6 = 54
+8 x 4 = 32
+35 / 7 = 5
+7 x 4 = 28
+10 x 5 = 50
+3 / 1 = 3
+9 / 3 = 3
+1 x 7 = 7
+7 x 3 = 21
+4 x 9 = 36
+2 / 1 = 2
+20 / 5 = 4
+6 x 10 = 60
+8 x 9 = 72
+1 x 5 = 5
+36 / 6 = 6
+8 / 8 = 1
+6 x 2 = 12
+4 x 5 = 20
+3 x 4 = 12
+8 / 2 = 4
+12 / 3 = 4
+5 x 2 = 10
+5 x 9 = 45
+10 x 7 = 70
+5 x 5 = 25
+24 / 8 = 3
+6 x 9 = 54
+10 / 2 = 5
+63 / 7 = 9
+70 / 10 = 7
+32 / 4 = 8
+3 x 5 = 15
+9 x 5 = 45
+35 / 5 = 7
+3 / 3 = 1
+54 / 6 = 9
+2 / 2 = 1
+10 x 10 = 100
+45 / 9 = 5
+2 x 7 = 14
+18 / 9 = 2
+81 / 9 = 9
+36 / 9 = 4
+4 x 6 = 24
+3 x 4 = 12
+2 x 2 = 4
+42 / 7 = 6
+60 / 10 = 6
+9 x 5 = 45
+7 x 6 = 42
+54 / 6 = 9
+5 x 2 = 10
+7 x 4 = 28
+2 x 7 = 14
+3 x 8 = 24
+30 / 10 = 3
+40 / 8 = 5
+45 / 9 = 5
+40 / 10 = 4
+54 / 9 = 6
+7 x 4 = 28
+14 / 7 = 2
+8 / 4 = 2
+9 x 2 = 18
+21 / 3 = 7
+3 x 7 = 21
+4 x 5 = 20
+5 / 5 = 1
+18 / 2 = 9
+7 x 7 = 49
+5 x 8 = 40
+10 x 4 = 40
+5 x 6 = 30
+8 x 4 = 32
+18 / 9 = 2
+10 x 2 = 20
+9 x 3 = 27
+4 / 1 = 4
+5 x 3 = 15
+3 x 5 = 15
+6 x 7 = 42
+2 / 2 = 1
+72 / 8 = 9
+6 x 6 = 36
+2 / 2 = 1
+21 / 7 = 3
+42 / 7 = 6
+20 / 5 = 4
+4 / 1 = 4
+1 x 5 = 5
+1 x 5 = 5
+7 x 4 = 28
+24 / 4 = 6
+5 x 7 = 35
+16 / 4 = 4
+2 x 8 = 16
+6 / 2 = 3
+9 x 10 = 90
+72 / 8 = 9
+36 / 9 = 4
+6 x 8 = 48
+9 x 7 = 63
+9 / 9 = 1
+3 x 7 = 21
+1 x 7 = 7
+14 / 7 = 2
+2 x 2 = 4
+5 x 2 = 10
+1 x 1 = 1
+8 x 1 = 8
+1 x 9 = 9
+72 / 9 = 8
+9 x 8 = 72
+12 / 4 = 3
+8 / 4 = 2
+4 x 9 = 36
+5 x 5 = 25
+9 x 5 = 45
+14 / 7 = 2
+5 / 1 = 5
+2 x 4 = 8
+12 / 2 = 6
+32 / 8 = 4
+5 x 3 = 15
+4 x 7 = 28
+6 x 6 = 36
+2 x 9 = 18
+42 / 6 = 7
+25 / 5 = 5
+36 / 6 = 6
+1 x 1 = 1
+18 / 9 = 2
+3 x 8 = 24
+6 / 1 = 6
+7 x 1 = 7
+8 x 1 = 8
+2 x 6 = 12
+8 / 2 = 4
+7 x 10 = 70
+1 x 3 = 3
+3 x 7 = 21
+30 / 6 = 5
+80 / 8 = 10
+1 x 7 = 7
+1 x 6 = 6
+30 / 5 = 6
+6 x 2 = 12
+3 x 10 = 30
+7 x 3 = 21
+32 / 4 = 8
+5 x 5 = 25
+18 / 2 = 9
+2 x 6 = 12
+36 / 6 = 6
+36 / 4 = 9
+9 x 7 = 63
+12 / 4 = 3
+6 x 3 = 18
+2 / 1 = 2
+12 / 6 = 2
+12 / 4 = 3
+16 / 4 = 4
+2 / 2 = 1
+27 / 3 = 9
+1 x 7 = 7
+27 / 3 = 9
+2 / 1 = 2
+9 x 4 = 36
+6 x 8 = 48
+54 / 9 = 6
+1 x 10 = 10
+12 / 6 = 2
+49 / 7 = 7
+28 / 4 = 7
+10 / 1 = 10
+72 / 8 = 9
+1 x 3 = 3
+2 x 1 = 2
+1 / 1 = 1
+8 / 8 = 1
+28 / 4 = 7
+8 x 9 = 72
+6 x 6 = 36
+24 / 4 = 6
+16 / 4 = 4
+7 / 7 = 1
+9 x 7 = 63
+5 x 8 = 40
+18 / 3 = 6
+49 / 7 = 7
+8 x 9 = 72
+45 / 5 = 9
+8 / 8 = 1
+4 / 2 = 2
+9 x 6 = 54
+9 x 4 = 36
+4 x 4 = 16
+25 / 5 = 5
+4 x 7 = 28
+4 / 2 = 2
+4 / 4 = 1
+15 / 5 = 3
+24 / 8 = 3
+4 / 4 = 1
+28 / 4 = 7
+27 / 3 = 9
+5 x 10 = 50
+4 x 6 = 24
+30 / 5 = 6
+8 x 7 = 56
+80 / 10 = 8
+63 / 9 = 7
+25 / 5 = 5
+48 / 6 = 8
+12 / 4 = 3
+5 x 2 = 10
+4 x 7 = 28
+3 x 1 = 3
+2 x 6 = 12
+10 / 5 = 2
+9 / 1 = 9
+9 x 7 = 63
+9 x 6 = 54
+9 x 9 = 81
+15 / 3 = 5
+63 / 7 = 9
+14 / 7 = 2
+3 / 3 = 1
+2 x 5 = 10
+32 / 8 = 4
+9 x 2 = 18
+7 / 1 = 7
+9 x 6 = 54
+6 / 2 = 3
+32 / 4 = 8
+24 / 4 = 6
+10 x 3 = 30
+9 x 6 = 54
+18 / 6 = 3
+5 x 7 = 35
+40 / 8 = 5
+9 x 3 = 27
+24 / 3 = 8
+6 x 2 = 12
+1 x 9 = 9
+10 x 3 = 30
+5 x 4 = 20
+12 / 4 = 3
+35 / 7 = 5
+9 x 2 = 18
+8 x 8 = 64
+1 x 3 = 3
+54 / 6 = 9
+36 / 4 = 9
+10 x 1 = 10
+9 x 5 = 45
+8 x 6 = 48
+5 x 3 = 15
+16 / 8 = 2
+7 x 8 = 56
+35 / 5 = 7
+16 / 2 = 8
+4 x 10 = 40
+3 / 3 = 1
+27 / 3 = 9
+8 x 4 = 32
+49 / 7 = 7
+9 x 9 = 81
+4 x 1 = 4
+6 x 7 = 42
+6 x 5 = 30
+15 / 3 = 5
+18 / 2 = 9
+5 x 3 = 15
+5 x 1 = 5
+54 / 6 = 9
+7 x 6 = 42
+10 / 2 = 5
+2 / 2 = 1
+56 / 8 = 7
+30 / 5 = 6
+63 / 7 = 9
+4 x 7 = 28
+3 x 1 = 3
+14 / 2 = 7
+32 / 4 = 8
+8 / 8 = 1
+2 x 3 = 6
+7 x 7 = 49
+12 / 6 = 2
+5 x 2 = 10
+12 / 2 = 6
+2 x 4 = 8
+4 x 5 = 20
+3 / 1 = 3
+9 x 8 = 72
+2 x 6 = 12
+25 / 5 = 5
+45 / 5 = 9
+1 x 3 = 3
+8 / 8 = 1
+45 / 9 = 5
+6 / 3 = 2
+32 / 8 = 4
+6 x 7 = 42
+1 x 6 = 6
+18 / 9 = 2
+2 x 2 = 4
+6 x 5 = 30
+64 / 8 = 8
+8 x 9 = 72
+18 / 3 = 6
+8 x 1 = 8
+42 / 6 = 7
+15 / 3 = 5
+16 / 8 = 2
+45 / 9 = 5
+1 x 1 = 1
+4 x 4 = 16
+18 / 2 = 9
+7 x 8 = 56
+9 / 1 = 9
+10 x 5 = 50
+6 x 3 = 18
+18 / 3 = 6
+36 / 9 = 4
+60 / 10 = 6
+14 / 7 = 2
+7 x 6 = 42
+1 x 9 = 9
+7 x 1 = 7
+10 / 2 = 5
+50 / 10 = 5
+9 x 8 = 72
+7 x 3 = 21
+9 x 7 = 63
+2 x 10 = 20
+48 / 8 = 6
+6 x 4 = 24
+10 / 2 = 5
+63 / 9 = 7
+3 x 7 = 21
+6 x 3 = 18
+40 / 10 = 4
+2 / 1 = 2
+2 x 8 = 16
+3 x 9 = 27
+18 / 3 = 6
+45 / 5 = 9
+5 x 9 = 45
+14 / 2 = 7
+2 x 1 = 2
+7 x 7 = 49
+2 x 2 = 4
+8 x 6 = 48
+3 x 8 = 24
+90 / 10 = 9
+2 x 9 = 18
+54 / 6 = 9
+8 / 8 = 1
+8 x 6 = 48
+14 / 2 = 7
+10 x 6 = 60
+28 / 4 = 7
+7 x 2 = 14
+2 x 1 = 2
+16 / 2 = 8
+24 / 8 = 3
+10 x 10 = 100
+8 x 7 = 56
+8 x 9 = 72
+4 / 2 = 2
+10 / 5 = 2
+3 x 6 = 18
+10 / 2 = 5
+10 / 5 = 2
+32 / 4 = 8
+5 x 4 = 20
+40 / 5 = 8
+4 / 1 = 4
+14 / 2 = 7
+21 / 3 = 7
+1 x 1 = 1
+1 x 10 = 10
+30 / 10 = 3
+2 x 9 = 18
+9 / 9 = 1
+63 / 9 = 7
+28 / 7 = 4
+3 x 6 = 18
+27 / 3 = 9
+27 / 3 = 9
+4 / 1 = 4
+9 x 1 = 9
+10 x 2 = 20
+7 x 2 = 14
+8 x 9 = 72
+10 x 5 = 50
+42 / 7 = 6
+60 / 10 = 6
+4 / 2 = 2
+10 / 1 = 10
+8 x 2 = 16
+72 / 8 = 9
+81 / 9 = 9
+1 x 2 = 2
+10 / 2 = 5
+6 x 4 = 24
+9 x 7 = 63
+6 x 6 = 36
+2 x 4 = 8
+2 x 10 = 20
+8 x 5 = 40
+50 / 5 = 10
+27 / 9 = 3
+3 / 1 = 3
+8 x 1 = 8
+7 x 6 = 42
+6 x 4 = 24
+21 / 7 = 3
+35 / 5 = 7
+10 x 2 = 20
+56 / 7 = 8
+3 x 7 = 21
+7 x 6 = 42
+4 x 1 = 4
+72 / 9 = 8
+10 x 5 = 50
+10 / 2 = 5
+40 / 10 = 4
+9 x 1 = 9
+2 x 8 = 16
+27 / 3 = 9
+5 x 3 = 15
+1 x 5 = 5
+80 / 8 = 10
+63 / 9 = 7
+9 x 8 = 72
+1 x 6 = 6
+9 / 1 = 9
+2 x 5 = 10
+6 / 1 = 6
+4 x 9 = 36
+48 / 8 = 6
+9 x 1 = 9
+1 x 7 = 7
+36 / 6 = 6
+8 x 1 = 8
+4 x 2 = 8
+24 / 4 = 6
+60 / 6 = 10
+4 / 1 = 4
+54 / 6 = 9
+48 / 8 = 6
+4 x 6 = 24
+8 x 3 = 24
+3 x 7 = 21
+63 / 7 = 9
+9 x 8 = 72
+54 / 9 = 6
+90 / 10 = 9
+24 / 4 = 6
+18 / 3 = 6
+3 x 7 = 21
+7 x 5 = 35
+6 x 3 = 18
+10 x 7 = 70
+7 x 2 = 14
+8 x 3 = 24
+36 / 9 = 4
+2 / 1 = 2
+40 / 4 = 10
+36 / 9 = 4
+42 / 6 = 7
+2 / 1 = 2
+48 / 8 = 6
+3 x 1 = 3
+20 / 4 = 5
+9 x 6 = 54
+42 / 7 = 6
+4 / 2 = 2
+16 / 2 = 8
+12 / 3 = 4
+36 / 6 = 6
+6 / 2 = 3
+9 / 3 = 3
+1 x 7 = 7
+36 / 6 = 6
+9 / 3 = 3
+7 x 1 = 7
+3 x 4 = 12
+8 / 8 = 1
+3 x 3 = 9
+45 / 5 = 9
+63 / 7 = 9
+9 x 6 = 54
+72 / 8 = 9
+3 / 1 = 3
+18 / 9 = 2
+9 x 10 = 90
+12 / 6 = 2
+18 / 3 = 6
+7 x 6 = 42
+7 x 10 = 70
+30 / 3 = 10
+18 / 3 = 6
+14 / 7 = 2
+2 x 3 = 6
+80 / 10 = 8
+1 x 2 = 2
+3 x 8 = 24
+56 / 8 = 7
+8 x 1 = 8
+24 / 4 = 6
+2 x 6 = 12
+10 x 4 = 40
+81 / 9 = 9
+1 x 2 = 2
+5 x 8 = 40
+24 / 6 = 4
+10 x 1 = 10
+54 / 6 = 9
+8 / 1 = 8
+30 / 6 = 5
+2 x 2 = 4
+5 x 7 = 35
+90 / 10 = 9
+21 / 3 = 7
+7 / 1 = 7
+45 / 9 = 5
+6 / 3 = 2
+24 / 6 = 4
+8 x 10 = 80
+3 / 3 = 1
+7 x 6 = 42
+4 x 1 = 4
+6 x 5 = 30
+60 / 10 = 6
+2 x 7 = 14
+9 / 1 = 9
+12 / 4 = 3
+3 x 3 = 9
+3 x 9 = 27
+16 / 4 = 4
+7 / 1 = 7
+7 x 2 = 14
+2 x 1 = 2
+9 x 8 = 72
+9 x 6 = 54
+10 x 4 = 40
+32 / 4 = 8
+2 x 3 = 6
+2 x 10 = 20
+4 x 4 = 16
+64 / 8 = 8
+1 x 4 = 4
+2 x 5 = 10
+5 / 5 = 1
+24 / 6 = 4
+8 x 2 = 16
+2 x 1 = 2
+80 / 8 = 10
+5 / 1 = 5
+1 x 7 = 7
+30 / 10 = 3
+20 / 5 = 4
+1 x 6 = 6
+7 / 7 = 1
+1 x 2 = 2
+28 / 7 = 4
+3 x 4 = 12
+18 / 2 = 9
+5 x 3 = 15
+9 x 7 = 63
+70 / 10 = 7
+10 x 2 = 20
+18 / 3 = 6
+5 x 3 = 15
+10 x 3 = 30
+9 x 4 = 36
+7 x 4 = 28
+24 / 8 = 3
+6 x 7 = 42
+2 x 3 = 6
+6 x 2 = 12
+24 / 3 = 8
+42 / 6 = 7
+20 / 4 = 5
+12 / 2 = 6
+1 x 2 = 2
+8 x 4 = 32
+12 / 6 = 2
+14 / 7 = 2
+8 x 2 = 16
+4 x 7 = 28
+7 x 9 = 63
+36 / 6 = 6
+10 x 10 = 100
+36 / 6 = 6
+6 x 7 = 42
+50 / 10 = 5
+7 x 3 = 21
+32 / 4 = 8
+9 x 4 = 36
+54 / 6 = 9
+9 x 9 = 81
+4 x 2 = 8
+1 x 2 = 2
+12 / 3 = 4
+1 x 4 = 4
+18 / 9 = 2
+28 / 7 = 4
+1 x 5 = 5
+15 / 3 = 5
+1 x 8 = 8
+18 / 2 = 9
+9 x 5 = 45
+42 / 6 = 7
+8 x 5 = 40
+36 / 6 = 6
+7 x 5 = 35
+2 x 8 = 16
+4 x 7 = 28
+8 x 4 = 32
+10 x 9 = 90
+24 / 6 = 4
+12 / 6 = 2
+9 x 2 = 18
+9 x 9 = 81
+7 x 1 = 7
+1 x 8 = 8
+6 x 7 = 42
+63 / 9 = 7
+30 / 10 = 3
+18 / 9 = 2
+9 x 7 = 63
+30 / 3 = 10
+63 / 7 = 9
+63 / 7 = 9
+2 x 4 = 8
+3 x 4 = 12
+10 / 5 = 2
+5 x 3 = 15
+8 x 2 = 16
+70 / 7 = 10
+25 / 5 = 5
+30 / 5 = 6
+2 x 3 = 6
+5 x 8 = 40
+3 x 2 = 6
+12 / 3 = 4
+9 / 9 = 1
+8 x 4 = 32
+45 / 5 = 9
+32 / 4 = 8
+6 x 7 = 42
+16 / 2 = 8
+1 x 2 = 2
+8 x 8 = 64
+32 / 8 = 4
+6 / 6 = 1
+4 x 3 = 12
+8 x 9 = 72
+42 / 6 = 7
+1 x 5 = 5
+40 / 4 = 10
+3 x 10 = 30
+8 / 2 = 4
+6 / 2 = 3
+35 / 5 = 7
+2 x 7 = 14
+9 x 7 = 63
+6 x 7 = 42
+30 / 6 = 5
+4 / 4 = 1
+10 x 1 = 10
+18 / 3 = 6
+24 / 4 = 6
+3 x 4 = 12
+5 x 1 = 5
+24 / 8 = 3
+16 / 8 = 2
+2 x 8 = 16
+36 / 6 = 6
+36 / 9 = 4
+5 x 7 = 35
+4 x 9 = 36
+40 / 10 = 4
+24 / 6 = 4
+5 x 10 = 50
+3 x 4 = 12
+4 x 6 = 24
+15 / 5 = 3
+2 x 9 = 18
+8 x 3 = 24
+8 / 2 = 4
+1 x 3 = 3
+24 / 6 = 4
+10 x 2 = 20
+4 / 2 = 2
+28 / 7 = 4
+20 / 5 = 4
+3 x 10 = 30
+18 / 6 = 3
+2 x 3 = 6
+3 x 5 = 15
+6 / 1 = 6
+9 x 8 = 72
+4 x 5 = 20
+9 x 3 = 27
+5 x 6 = 30
+1 x 7 = 7
+90 / 10 = 9
+4 x 3 = 12
+10 x 4 = 40
+8 x 5 = 40
+10 x 9 = 90
+32 / 4 = 8
+24 / 8 = 3
+5 x 5 = 25
+90 / 9 = 10
+6 / 2 = 3
+54 / 6 = 9
+32 / 4 = 8
+18 / 9 = 2
+27 / 9 = 3
+2 x 2 = 4
+7 x 5 = 35
+15 / 3 = 5
+4 / 2 = 2
+10 x 1 = 10
+8 / 1 = 8
+9 / 1 = 9
+14 / 7 = 2
+42 / 6 = 7
+5 x 9 = 45
+10 x 2 = 20
+48 / 6 = 8
+81 / 9 = 9
+12 / 4 = 3
+12 / 3 = 4
+18 / 3 = 6
+1 x 2 = 2
+3 x 7 = 21
+30 / 6 = 5
+90 / 9 = 10
+2 x 5 = 10
+6 / 2 = 3
+6 x 8 = 48
+3 x 2 = 6
+3 x 3 = 9
+10 / 2 = 5
+2 x 6 = 12
+1 x 7 = 7
+90 / 9 = 10
+3 / 1 = 3
+7 x 3 = 21
+10 / 5 = 2
+12 / 4 = 3
+54 / 6 = 9
+8 x 3 = 24
+20 / 4 = 5
+8 x 6 = 48
+5 x 10 = 50
+20 / 10 = 2
+1 x 2 = 2
+3 x 8 = 24
+7 x 8 = 56
+20 / 5 = 4
+6 x 1 = 6
+3 x 6 = 18
+3 x 5 = 15
+2 x 1 = 2
+8 x 4 = 32
+10 x 7 = 70
+50 / 5 = 10
+72 / 8 = 9
+6 / 6 = 1
+70 / 7 = 10
+8 / 8 = 1
+10 x 6 = 60
+6 x 1 = 6
+50 / 5 = 10
+14 / 2 = 7
+8 x 2 = 16
+32 / 8 = 4
+6 x 4 = 24
+3 x 5 = 15
+7 x 1 = 7
+5 / 1 = 5
+7 x 4 = 28
+7 x 8 = 56
+7 x 1 = 7
+15 / 3 = 5
+4 x 6 = 24
+1 x 9 = 9
+40 / 5 = 8
+35 / 7 = 5
+45 / 5 = 9
+4 x 6 = 24
+9 x 10 = 90
+2 x 7 = 14
+7 x 7 = 49
+3 x 2 = 6
+45 / 5 = 9
+6 x 1 = 6
+21 / 3 = 7
+6 x 3 = 18
+6 x 1 = 6
+9 x 4 = 36
+4 x 9 = 36
+35 / 5 = 7
+4 / 1 = 4
+48 / 6 = 8
+21 / 7 = 3
+1 x 4 = 4
+54 / 9 = 6
+12 / 3 = 4
+6 x 3 = 18
+6 x 5 = 30
+28 / 7 = 4
+2 x 9 = 18
+8 / 1 = 8
+4 / 2 = 2
+3 x 7 = 21
+3 / 1 = 3
+10 x 3 = 30
+3 x 6 = 18
+36 / 4 = 9
+1 x 3 = 3
+9 / 3 = 3
+5 / 5 = 1
+72 / 9 = 8
+24 / 4 = 6
+4 / 4 = 1
+7 x 3 = 21
+24 / 3 = 8
+27 / 3 = 9
+3 x 9 = 27
+3 x 7 = 21
diff --git a/data/question_files/arithmetic/multdiv_p0_0-100.dat b/data/question_files/arithmetic/multdiv_p0_0-100.dat
new file mode 100644
index 0000000..90a2742
--- /dev/null
+++ b/data/question_files/arithmetic/multdiv_p0_0-100.dat
@@ -0,0 +1,1000 @@
+1575 / 45 = 35
+56 x 14 = 784
+450 / 6 = 75
+4680 / 52 = 90
+92 x 84 = 7728
+36 x 48 = 1728
+3393 / 87 = 39
+75 x 83 = 6225
+1760 / 20 = 88
+69 x 86 = 5934
+7600 / 95 = 80
+44 x 36 = 1584
+483 / 69 = 7
+2656 / 83 = 32
+57 x 1 = 57
+1180 / 59 = 20
+58 x 27 = 1566
+3818 / 83 = 46
+3066 / 73 = 42
+1408 / 64 = 22
+225 / 25 = 9
+2700 / 50 = 54
+638 / 11 = 58
+468 / 26 = 18
+4420 / 68 = 65
+2688 / 64 = 42
+77 x 88 = 6776
+13 x 81 = 1053
+2891 / 59 = 49
+31 x 93 = 2883
+94 x 83 = 7802
+67 x 62 = 4154
+5723 / 97 = 59
+3575 / 65 = 55
+2800 / 28 = 100
+58 x 66 = 3828
+3920 / 70 = 56
+21 x 42 = 882
+41 x 9 = 369
+97 x 85 = 8245
+2856 / 68 = 42
+66 x 52 = 3432
+97 x 45 = 4365
+38 x 60 = 2280
+28 x 47 = 1316
+450 / 6 = 75
+4940 / 95 = 52
+1558 / 82 = 19
+2501 / 41 = 61
+10 x 51 = 510
+3525 / 75 = 47
+72 x 29 = 2088
+5694 / 78 = 73
+53 x 25 = 1325
+384 / 16 = 24
+66 x 74 = 4884
+291 / 3 = 97
+8160 / 85 = 96
+1219 / 53 = 23
+65 x 91 = 5915
+1419 / 43 = 33
+1152 / 32 = 36
+248 / 4 = 62
+2457 / 27 = 91
+216 / 4 = 54
+100 x 39 = 3900
+5 x 69 = 345
+5130 / 57 = 90
+2695 / 77 = 35
+18 / 18 = 1
+28 x 48 = 1344
+7 x 34 = 238
+4977 / 63 = 79
+782 / 46 = 17
+2738 / 37 = 74
+675 / 15 = 45
+3069 / 33 = 93
+47 x 45 = 2115
+2014 / 53 = 38
+76 x 91 = 6916
+27 / 27 = 1
+870 / 87 = 10
+98 x 81 = 7938
+63 / 1 = 63
+85 x 39 = 3315
+99 x 46 = 4554
+7031 / 79 = 89
+19 x 77 = 1463
+783 / 9 = 87
+72 x 18 = 1296
+3 x 8 = 24
+224 / 32 = 7
+27 x 24 = 648
+26 x 49 = 1274
+57 x 32 = 1824
+39 x 10 = 390
+76 x 30 = 2280
+8051 / 97 = 83
+42 x 57 = 2394
+3212 / 73 = 44
+6417 / 93 = 69
+27 x 48 = 1296
+63 x 55 = 3465
+78 x 81 = 6318
+15 x 53 = 795
+28 x 34 = 952
+8633 / 97 = 89
+2800 / 80 = 35
+80 x 31 = 2480
+6750 / 75 = 90
+4851 / 77 = 63
+46 x 15 = 690
+1632 / 17 = 96
+476 / 17 = 28
+28 x 99 = 2772
+1950 / 78 = 25
+5888 / 92 = 64
+2184 / 39 = 56
+810 / 9 = 90
+9 x 68 = 612
+3432 / 78 = 44
+1856 / 58 = 32
+28 x 89 = 2492
+83 x 65 = 5395
+612 / 18 = 34
+4002 / 87 = 46
+86 x 63 = 5418
+63 x 7 = 441
+4941 / 81 = 61
+595 / 35 = 17
+51 x 95 = 4845
+49 x 12 = 588
+86 x 14 = 1204
+1702 / 74 = 23
+76 x 58 = 4408
+1610 / 70 = 23
+38 x 33 = 1254
+28 x 18 = 504
+36 x 32 = 1152
+1104 / 48 = 23
+3219 / 87 = 37
+1280 / 32 = 40
+73 x 76 = 5548
+40 x 39 = 1560
+46 x 81 = 3726
+1139 / 67 = 17
+4810 / 74 = 65
+63 x 28 = 1764
+165 / 3 = 55
+51 x 47 = 2397
+156 / 13 = 12
+49 x 25 = 1225
+3036 / 66 = 46
+66 x 24 = 1584
+3976 / 56 = 71
+3965 / 61 = 65
+480 / 8 = 60
+832 / 52 = 16
+99 x 97 = 9603
+855 / 15 = 57
+22 / 1 = 22
+1380 / 20 = 69
+24 x 18 = 432
+4 x 35 = 140
+4814 / 83 = 58
+1003 / 59 = 17
+416 / 52 = 8
+5576 / 68 = 82
+50 x 58 = 2900
+150 / 30 = 5
+5320 / 56 = 95
+42 x 70 = 2940
+1920 / 60 = 32
+2759 / 31 = 89
+231 / 3 = 77
+85 x 42 = 3570
+268 / 67 = 4
+23 x 59 = 1357
+1 x 21 = 21
+5846 / 74 = 79
+12 x 9 = 108
+81 x 23 = 1863
+27 x 61 = 1647
+266 / 14 = 19
+35 x 58 = 2030
+22 x 27 = 594
+36 x 46 = 1656
+98 x 25 = 2450
+9 x 95 = 855
+2703 / 51 = 53
+5530 / 70 = 79
+68 x 74 = 5032
+2090 / 55 = 38
+64 x 93 = 5952
+49 x 49 = 2401
+702 / 9 = 78
+3172 / 61 = 52
+41 x 87 = 3567
+3040 / 80 = 38
+27 x 28 = 756
+70 x 86 = 6020
+65 x 38 = 2470
+42 x 1 = 42
+138 / 69 = 2
+1548 / 86 = 18
+81 x 70 = 5670
+4615 / 71 = 65
+61 x 61 = 3721
+43 x 36 = 1548
+12 x 54 = 648
+24 x 7 = 168
+2090 / 22 = 95
+5265 / 65 = 81
+186 / 93 = 2
+58 / 2 = 29
+2709 / 63 = 43
+24 x 5 = 120
+75 x 45 = 3375
+3 x 68 = 204
+644 / 23 = 28
+336 / 48 = 7
+48 x 63 = 3024
+73 x 6 = 438
+7216 / 82 = 88
+7920 / 90 = 88
+3 x 40 = 120
+24 x 36 = 864
+319 / 29 = 11
+6205 / 85 = 73
+11 x 8 = 88
+69 x 38 = 2622
+75 x 94 = 7050
+1260 / 42 = 30
+86 x 42 = 3612
+11 x 26 = 286
+9405 / 95 = 99
+98 x 32 = 3136
+1746 / 97 = 18
+24 x 83 = 1992
+65 x 80 = 5200
+8 x 53 = 424
+2288 / 88 = 26
+49 x 64 = 3136
+5100 / 85 = 60
+11 x 11 = 121
+6966 / 81 = 86
+59 x 8 = 472
+71 x 5 = 355
+5229 / 63 = 83
+6650 / 95 = 70
+2133 / 79 = 27
+61 x 35 = 2135
+1660 / 83 = 20
+14 x 61 = 854
+52 x 92 = 4784
+1595 / 55 = 29
+16 x 29 = 464
+12 x 75 = 900
+152 / 76 = 2
+89 x 49 = 4361
+51 x 41 = 2091
+4148 / 61 = 68
+112 / 14 = 8
+85 x 57 = 4845
+432 / 9 = 48
+4218 / 74 = 57
+4 x 40 = 160
+204 / 17 = 12
+2552 / 58 = 44
+26 x 70 = 1820
+5 x 64 = 320
+24 x 28 = 672
+930 / 93 = 10
+465 / 31 = 15
+3816 / 53 = 72
+44 x 92 = 4048
+89 x 22 = 1958
+18 x 54 = 972
+52 x 87 = 4524
+9 x 31 = 279
+36 x 5 = 180
+183 / 3 = 61
+6790 / 97 = 70
+3040 / 40 = 76
+1995 / 95 = 21
+45 x 10 = 450
+170 / 10 = 17
+2 x 61 = 122
+20 x 28 = 560
+72 x 6 = 432
+4 x 45 = 180
+1482 / 19 = 78
+26 x 9 = 234
+5568 / 96 = 58
+496 / 31 = 16
+1660 / 20 = 83
+82 x 98 = 8036
+28 x 49 = 1372
+31 x 3 = 93
+69 x 39 = 2691
+4340 / 70 = 62
+56 / 7 = 8
+27 x 58 = 1566
+5 x 30 = 150
+4680 / 72 = 65
+22 x 97 = 2134
+21 x 90 = 1890
+90 x 82 = 7380
+100 / 1 = 100
+47 x 4 = 188
+1000 / 10 = 100
+47 x 8 = 376
+1470 / 42 = 35
+79 x 56 = 4424
+6279 / 69 = 91
+62 x 44 = 2728
+5304 / 68 = 78
+31 x 82 = 2542
+24 x 45 = 1080
+4059 / 99 = 41
+75 x 10 = 750
+83 x 13 = 1079
+300 / 12 = 25
+27 x 13 = 351
+21 x 44 = 924
+88 x 82 = 7216
+228 / 3 = 76
+82 x 86 = 7052
+94 x 65 = 6110
+3894 / 59 = 66
+40 x 5 = 200
+5152 / 92 = 56
+96 x 45 = 4320
+4784 / 52 = 92
+91 x 43 = 3913
+96 x 32 = 3072
+3354 / 86 = 39
+1782 / 66 = 27
+89 x 17 = 1513
+1 x 53 = 53
+70 / 10 = 7
+61 x 66 = 4026
+18 x 50 = 900
+7832 / 88 = 89
+1656 / 72 = 23
+66 x 73 = 4818
+11 x 31 = 341
+64 x 2 = 128
+2 x 62 = 124
+77 x 51 = 3927
+14 x 88 = 1232
+17 x 74 = 1258
+294 / 7 = 42
+35 x 45 = 1575
+4950 / 75 = 66
+4182 / 82 = 51
+3588 / 78 = 46
+57 x 41 = 2337
+504 / 84 = 6
+24 / 6 = 4
+1406 / 37 = 38
+264 / 12 = 22
+38 x 90 = 3420
+21 x 2 = 42
+315 / 63 = 5
+16 x 45 = 720
+2 x 68 = 136
+62 x 55 = 3410
+11 x 7 = 77
+2352 / 28 = 84
+83 x 5 = 415
+73 x 21 = 1533
+36 x 62 = 2232
+66 x 80 = 5280
+13 x 54 = 702
+2584 / 38 = 68
+1290 / 43 = 30
+693 / 21 = 33
+80 x 69 = 5520
+1410 / 15 = 94
+1150 / 46 = 25
+3240 / 40 = 81
+3 x 45 = 135
+6 x 37 = 222
+22 x 29 = 638
+6 x 28 = 168
+58 / 58 = 1
+3420 / 95 = 36
+20 x 12 = 240
+17 x 16 = 272
+4216 / 68 = 62
+65 x 6 = 390
+21 x 92 = 1932
+61 x 22 = 1342
+185 / 37 = 5
+85 x 71 = 6035
+2 x 73 = 146
+3240 / 81 = 40
+6210 / 69 = 90
+4 x 14 = 56
+21 x 85 = 1785
+2829 / 41 = 69
+51 x 70 = 3570
+96 x 56 = 5376
+45 x 60 = 2700
+441 / 7 = 63
+15 x 56 = 840
+5940 / 66 = 90
+1720 / 43 = 40
+483 / 7 = 69
+5060 / 92 = 55
+72 x 8 = 576
+2565 / 95 = 27
+39 x 77 = 3003
+61 x 1 = 61
+6720 / 84 = 80
+37 x 45 = 1665
+30 x 39 = 1170
+1330 / 14 = 95
+679 / 7 = 97
+4158 / 66 = 63
+1488 / 93 = 16
+15 / 5 = 3
+37 x 4 = 148
+67 x 9 = 603
+70 x 30 = 2100
+42 x 57 = 2394
+90 x 86 = 7740
+1650 / 30 = 55
+1207 / 17 = 71
+850 / 85 = 10
+450 / 50 = 9
+1105 / 65 = 17
+66 x 11 = 726
+98 x 80 = 7840
+192 / 4 = 48
+61 / 1 = 61
+1944 / 81 = 24
+63 x 7 = 441
+27 x 43 = 1161
+8556 / 92 = 93
+68 x 12 = 816
+2738 / 74 = 37
+44 x 85 = 3740
+52 x 32 = 1664
+46 x 85 = 3910
+34 x 12 = 408
+28 x 16 = 448
+1496 / 68 = 22
+7047 / 81 = 87
+89 x 64 = 5696
+29 x 53 = 1537
+23 x 66 = 1518
+49 x 77 = 3773
+7 x 53 = 371
+400 / 25 = 16
+1264 / 79 = 16
+2623 / 43 = 61
+2 x 25 = 50
+75 x 80 = 6000
+26 x 99 = 2574
+3400 / 40 = 85
+82 x 57 = 4674
+11 x 56 = 616
+5396 / 76 = 71
+901 / 53 = 17
+5280 / 55 = 96
+2668 / 29 = 92
+89 x 55 = 4895
+1176 / 14 = 84
+88 x 91 = 8008
+96 / 6 = 16
+570 / 38 = 15
+19 x 63 = 1197
+2738 / 37 = 74
+2255 / 55 = 41
+11 x 41 = 451
+17 x 3 = 51
+980 / 28 = 35
+4368 / 91 = 48
+17 x 33 = 561
+1 x 63 = 63
+90 x 23 = 2070
+62 x 48 = 2976
+67 x 64 = 4288
+64 x 31 = 1984
+59 x 33 = 1947
+5106 / 69 = 74
+53 x 81 = 4293
+90 / 30 = 3
+1 x 92 = 92
+1188 / 54 = 22
+67 x 60 = 4020
+66 / 1 = 66
+34 x 80 = 2720
+73 x 69 = 5037
+68 x 49 = 3332
+1675 / 67 = 25
+11 x 87 = 957
+2928 / 48 = 61
+5025 / 67 = 75
+2607 / 33 = 79
+33 x 63 = 2079
+31 x 71 = 2201
+540 / 90 = 6
+1144 / 44 = 26
+90 x 89 = 8010
+1870 / 85 = 22
+21 x 89 = 1869
+44 x 10 = 440
+5 x 22 = 110
+2592 / 32 = 81
+3984 / 83 = 48
+828 / 18 = 46
+460 / 46 = 10
+3 x 74 = 222
+4992 / 96 = 52
+46 x 100 = 4600
+9 x 87 = 783
+1584 / 44 = 36
+35 x 42 = 1470
+38 x 63 = 2394
+12 x 74 = 888
+43 x 26 = 1118
+18 x 59 = 1062
+450 / 18 = 25
+194 / 97 = 2
+5451 / 79 = 69
+5022 / 93 = 54
+33 x 11 = 363
+3773 / 77 = 49
+19 x 66 = 1254
+82 x 16 = 1312
+42 x 75 = 3150
+21 x 71 = 1491
+3726 / 81 = 46
+85 x 8 = 680
+32 x 46 = 1472
+42 x 74 = 3108
+75 x 53 = 3975
+55 / 5 = 11
+99 x 72 = 7128
+54 x 26 = 1404
+93 x 22 = 2046
+27 x 22 = 594
+490 / 98 = 5
+1520 / 76 = 20
+1305 / 15 = 87
+81 x 3 = 243
+1740 / 58 = 30
+8245 / 85 = 97
+174 / 58 = 3
+528 / 33 = 16
+4617 / 81 = 57
+3724 / 98 = 38
+3430 / 35 = 98
+13 x 17 = 221
+224 / 28 = 8
+825 / 25 = 33
+4 x 19 = 76
+6305 / 97 = 65
+23 x 38 = 874
+47 x 40 = 1880
+2108 / 68 = 31
+8924 / 92 = 97
+65 x 16 = 1040
+81 x 41 = 3321
+899 / 29 = 31
+390 / 10 = 39
+1068 / 12 = 89
+1924 / 26 = 74
+4128 / 86 = 48
+55 x 84 = 4620
+78 x 14 = 1092
+3360 / 60 = 56
+3476 / 79 = 44
+63 x 93 = 5859
+54 x 32 = 1728
+2436 / 42 = 58
+1541 / 67 = 23
+1140 / 12 = 95
+7426 / 79 = 94
+4131 / 51 = 81
+200 / 40 = 5
+1960 / 20 = 98
+980 / 28 = 35
+14 x 31 = 434
+6205 / 73 = 85
+44 x 9 = 396
+74 x 3 = 222
+7 x 31 = 217
+3124 / 44 = 71
+666 / 9 = 74
+85 / 5 = 17
+752 / 94 = 8
+690 / 15 = 46
+4224 / 44 = 96
+6 x 55 = 330
+2 x 38 = 76
+3906 / 63 = 62
+79 / 1 = 79
+336 / 14 = 24
+76 x 12 = 912
+63 x 50 = 3150
+27 x 51 = 1377
+35 x 98 = 3430
+19 x 43 = 817
+7326 / 99 = 74
+86 x 88 = 7568
+70 x 49 = 3430
+66 x 74 = 4884
+36 / 12 = 3
+1653 / 29 = 57
+68 x 23 = 1564
+13 x 74 = 962
+99 x 1 = 99
+174 / 3 = 58
+79 x 16 = 1264
+73 / 73 = 1
+340 / 4 = 85
+73 x 23 = 1679
+89 x 95 = 8455
+3905 / 55 = 71
+94 x 24 = 2256
+88 x 16 = 1408
+26 x 89 = 2314
+4032 / 56 = 72
+81 x 84 = 6804
+99 x 59 = 5841
+2607 / 33 = 79
+3136 / 32 = 98
+79 x 46 = 3634
+4590 / 85 = 54
+154 / 22 = 7
+40 x 47 = 1880
+30 x 51 = 1530
+2054 / 79 = 26
+24 x 6 = 144
+55 x 59 = 3245
+73 x 48 = 3504
+2 x 56 = 112
+22 x 13 = 286
+3 x 97 = 291
+1568 / 32 = 49
+13 x 79 = 1027
+3420 / 36 = 95
+2700 / 36 = 75
+51 x 11 = 561
+94 x 87 = 8178
+12 / 2 = 6
+2016 / 42 = 48
+3762 / 57 = 66
+94 x 68 = 6392
+36 x 17 = 612
+40 x 54 = 2160
+440 / 40 = 11
+74 x 86 = 6364
+140 / 35 = 4
+1551 / 33 = 47
+92 x 85 = 7820
+91 x 68 = 6188
+63 x 42 = 2646
+456 / 19 = 24
+19 x 3 = 57
+94 x 94 = 8836
+6478 / 82 = 79
+194 / 97 = 2
+3760 / 40 = 94
+4606 / 49 = 94
+3 x 28 = 84
+57 x 50 = 2850
+17 x 11 = 187
+3240 / 36 = 90
+27 x 52 = 1404
+27 x 66 = 1782
+420 / 12 = 35
+900 / 100 = 9
+2754 / 34 = 81
+2262 / 29 = 78
+510 / 51 = 10
+72 x 39 = 2808
+5238 / 97 = 54
+97 x 35 = 3395
+2436 / 87 = 28
+5418 / 63 = 86
+23 x 94 = 2162
+1449 / 21 = 69
+1156 / 34 = 34
+54 x 33 = 1782
+3132 / 36 = 87
+5546 / 94 = 59
+7008 / 73 = 96
+2328 / 24 = 97
+1748 / 92 = 19
+24 x 35 = 840
+53 x 36 = 1908
+19 x 78 = 1482
+770 / 10 = 77
+1953 / 21 = 93
+1829 / 31 = 59
+532 / 28 = 19
+5130 / 95 = 54
+83 x 10 = 830
+98 x 7 = 686
+1105 / 65 = 17
+915 / 61 = 15
+2726 / 29 = 94
+2958 / 58 = 51
+82 x 46 = 3772
+207 / 3 = 69
+58 x 14 = 812
+58 x 69 = 4002
+3220 / 70 = 46
+740 / 37 = 20
+68 x 7 = 476
+1225 / 49 = 25
+98 x 3 = 294
+8624 / 98 = 88
+4200 / 70 = 60
+2156 / 22 = 98
+98 x 76 = 7448
+89 x 39 = 3471
+94 x 68 = 6392
+50 x 1 = 50
+11 x 13 = 143
+25 x 14 = 350
+11 x 48 = 528
+3869 / 53 = 73
+28 x 49 = 1372
+6 x 91 = 546
+56 x 5 = 280
+1012 / 22 = 46
+97 x 82 = 7954
+1224 / 34 = 36
+61 x 20 = 1220
+950 / 25 = 38
+77 x 74 = 5698
+81 x 83 = 6723
+2 x 84 = 168
+4425 / 59 = 75
+80 x 28 = 2240
+441 / 21 = 21
+2132 / 41 = 52
+20 x 95 = 1900
+30 x 70 = 2100
+80 x 97 = 7760
+2047 / 89 = 23
+1188 / 54 = 22
+76 x 32 = 2432
+19 x 89 = 1691
+95 x 16 = 1520
+55 x 58 = 3190
+3796 / 52 = 73
+26 x 26 = 676
+73 x 63 = 4599
+19 x 69 = 1311
+589 / 19 = 31
+26 x 1 = 26
+23 x 92 = 2116
+468 / 13 = 36
+24 x 90 = 2160
+87 x 57 = 4959
+33 / 11 = 3
+6480 / 72 = 90
+1530 / 30 = 51
+88 x 1 = 88
+48 x 18 = 864
+2964 / 38 = 78
+660 / 55 = 12
+1035 / 23 = 45
+17 x 57 = 969
+77 x 47 = 3619
+16 x 50 = 800
+6 x 5 = 30
+640 / 80 = 8
+42 x 31 = 1302
+3403 / 41 = 83
+48 x 12 = 576
+82 x 86 = 7052
+984 / 24 = 41
+9700 / 97 = 100
+10 x 87 = 870
+59 x 94 = 5546
+2070 / 45 = 46
+18 x 15 = 270
+54 x 45 = 2430
+13 x 48 = 624
+86 x 79 = 6794
+3087 / 49 = 63
+2136 / 24 = 89
+62 x 96 = 5952
+2380 / 28 = 85
+3 x 63 = 189
+51 x 63 = 3213
+3162 / 51 = 62
+97 x 24 = 2328
+92 x 35 = 3220
+1755 / 45 = 39
+63 x 85 = 5355
+1886 / 23 = 82
+54 x 60 = 3240
+9 x 62 = 558
+98 x 95 = 9310
+87 / 87 = 1
+1548 / 18 = 86
+3627 / 93 = 39
+27 x 88 = 2376
+4108 / 52 = 79
+13 x 65 = 845
+4118 / 71 = 58
+5700 / 75 = 76
+5187 / 91 = 57
+44 x 74 = 3256
+44 x 7 = 308
+83 x 32 = 2656
+496 / 8 = 62
+5 x 4 = 20
+3081 / 39 = 79
+22 x 37 = 814
+94 x 53 = 4982
+53 x 46 = 2438
+28 x 16 = 448
+32 x 9 = 288
+352 / 44 = 8
+40 x 41 = 1640
+6930 / 90 = 77
+2000 / 80 = 25
+88 x 82 = 7216
+15 x 7 = 105
+8 x 83 = 664
+6237 / 63 = 99
+13 x 21 = 273
+24 x 93 = 2232
+828 / 92 = 9
+16 x 12 = 192
+4947 / 51 = 97
+36 x 66 = 2376
+4248 / 59 = 72
+22 x 55 = 1210
+28 x 39 = 1092
+3283 / 49 = 67
+56 x 66 = 3696
+34 x 38 = 1292
+30 x 31 = 930
+6716 / 92 = 73
+26 x 40 = 1040
+1845 / 41 = 45
+28 x 25 = 700
+4312 / 49 = 88
+80 x 82 = 6560
+4 x 40 = 160
+87 x 84 = 7308
+5002 / 61 = 82
+63 x 79 = 4977
+67 x 91 = 6097
+47 x 87 = 4089
+5589 / 81 = 69
+56 x 8 = 448
+58 x 58 = 3364
+5360 / 67 = 80
+15 x 47 = 705
+2573 / 83 = 31
+4108 / 79 = 52
+1680 / 40 = 42
+2449 / 79 = 31
+16 x 36 = 576
+1107 / 41 = 27
+82 x 57 = 4674
+282 / 3 = 94
+68 x 69 = 4692
+846 / 9 = 94
+24 x 87 = 2088
+67 x 7 = 469
+49 x 83 = 4067
+28 x 31 = 868
+7469 / 77 = 97
+54 x 62 = 3348
+79 x 98 = 7742
+6097 / 91 = 67
+4 x 3 = 12
+92 x 76 = 6992
+91 x 3 = 273
+2160 / 36 = 60
+2214 / 54 = 41
+26 x 54 = 1404
+50 x 51 = 2550
+1680 / 20 = 84
+1422 / 79 = 18
+912 / 76 = 12
+92 x 98 = 9016
+420 / 42 = 10
+6 x 2 = 12
+66 x 55 = 3630
+6188 / 91 = 68
+83 x 94 = 7802
+99 x 44 = 4356
+1050 / 15 = 70
+6 x 50 = 300
+48 x 65 = 3120
+81 x 81 = 6561
+71 x 52 = 3692
+8811 / 89 = 99
+87 x 10 = 870
+67 x 67 = 4489
+2294 / 62 = 37
+539 / 7 = 77
+24 x 23 = 552
+26 x 38 = 988
+1064 / 56 = 19
+560 / 80 = 7
+64 / 16 = 4
+47 x 53 = 2491
+4602 / 59 = 78
+72 x 6 = 432
+828 / 9 = 92
+97 x 82 = 7954
+81 x 7 = 567
+3417 / 67 = 51
+85 x 47 = 3995
+4750 / 50 = 95
+2100 / 84 = 25
+50 x 70 = 3500
+1680 / 42 = 40
+32 / 16 = 2
+2405 / 65 = 37
+16 x 60 = 960
+2625 / 75 = 35
+1537 / 53 = 29
+93 x 62 = 5766
+600 / 50 = 12
+61 x 42 = 2562
+88 x 42 = 3696
+58 x 25 = 1450
+2268 / 28 = 81
+854 / 61 = 14
+5760 / 60 = 96
+3735 / 45 = 83
+3354 / 86 = 39
+67 x 67 = 4489
+48 x 2 = 96
+2 x 17 = 34
+47 x 38 = 1786
+391 / 17 = 23
+14 x 85 = 1190
+806 / 13 = 62
+3000 / 30 = 100
+57 x 43 = 2451
+92 x 60 = 5520
+77 x 84 = 6468
+497 / 7 = 71
+94 x 36 = 3384
+2337 / 41 = 57
+3 x 42 = 126
+9 x 22 = 198
+29 x 97 = 2813
+92 x 97 = 8924
+6643 / 91 = 73
+3477 / 57 = 61
+84 x 99 = 8316
+7 x 34 = 238
+1769 / 61 = 29
+23 / 23 = 1
+305 / 61 = 5
+3213 / 51 = 63
+96 / 3 = 32
+6942 / 89 = 78
+308 / 7 = 44
+2450 / 25 = 98
+4453 / 61 = 73
+4554 / 69 = 66
+648 / 18 = 36
+29 x 100 = 2900
+98 x 67 = 6566
+25 x 3 = 75
+26 x 32 = 832
+5576 / 82 = 68
+81 x 71 = 5751
+21 x 53 = 1113
+6930 / 70 = 99
+913 / 11 = 83
+468 / 36 = 13
+14 x 65 = 910
+22 x 64 = 1408
+48 x 24 = 1152
+7200 / 100 = 72
+83 x 75 = 6225
+348 / 12 = 29
+1830 / 61 = 30
+40 x 4 = 160
+3712 / 64 = 58
+57 / 1 = 57
+3726 / 69 = 54
+70 x 98 = 6860
+8372 / 92 = 91
+98 x 61 = 5978
+4032 / 42 = 96
+2880 / 48 = 60
+57 x 93 = 5301
+89 x 98 = 8722
+5396 / 71 = 76
diff --git a/data/question_files/arithmetic/multiples_p0_-10-10.dat b/data/question_files/arithmetic/multiples_p0_-10-10.dat
new file mode 100644
index 0000000..d8cf224
--- /dev/null
+++ b/data/question_files/arithmetic/multiples_p0_-10-10.dat
@@ -0,0 +1,1000 @@
+%-4 = 8
+%2 = 16
+%-5 = 20~-45
+%5 = -25
+%-3 = -9
+%6 = -18~18~12
+%4 = 32~-8
+%7 = -63
+%-5 = 10
+%3 = 27~-27
+%-4 = 16~32
+%4 = -8~16
+%-10 = 50~-20~30
+%9 = -54
+%-4 = -36
+%-4 = -32
+%-10 = 0
+%4 = 8
+%-8 = 64~-48~-40
+%4 = 32
+%7 = -56~28~70
+%-5 = 10~-30~20
+%-3 = -3
+%9 = -36
+%10 = -40
+%-3 = -6
+%-9 = 9
+%6 = 12~42
+%4 = 20~16
+%2 = -10~8
+%5 = -45~10
+%-3 = -12
+%-9 = -72~45
+%3 = -3
+%2 = 14
+%-6 = -18~-42
+%3 = 27~-15
+%-9 = 36
+%-7 = 14~70~-49
+%-6 = 12
+%7 = -7
+%-5 = -35
+%6 = -30~24
+%3 = -15~18~-12
+%6 = 48
+%-8 = 8
+%3 = -6
+%-6 = 6
+%7 = -70~56
+%-3 = -24
+%9 = 9~-72
+%-8 = 24
+%6 = 60~-30~6
+%-4 = 20
+%-5 = 50
+%-3 = 15
+%8 = 40
+%9 = 81~36
+%-6 = 18
+%-2 = -16
+%9 = 18~-27
+%-7 = 70~-14
+%-5 = -15
+%-6 = 24
+%7 = -56~-56
+%4 = -40~0
+%-9 = 0~-36
+%5 = -5
+%-9 = 72
+%-4 = 0
+%3 = -18~3
+%-7 = 14~7
+%4 = 32
+%-2 = -12
+%-7 = 7~14
+%4 = 24
+%3 = -15~-21
+%-6 = 54~24~-30
+%3 = 18~-6
+%-5 = -25
+%-5 = 0
+%4 = 8~-20~20
+%5 = 30~50
+%-7 = 28
+%-8 = -40
+%3 = -6~0
+%7 = 49
+%9 = 36~-27
+%-6 = -36
+%-8 = -8
+%-2 = 8
+%6 = -18
+%-7 = -42
+%-6 = -12~-24
+%2 = 18
+%10 = -70~-40
+%-10 = -20~100
+%-8 = 40~-16
+%-3 = -24
+%-9 = -81~-27
+%-5 = -20~0~-20
+%-9 = 9~-54
+%-4 = 8
+%-8 = 72
+%-2 = -4~-16~18
+%7 = -70
+%-6 = 18
+%8 = -40
+%9 = -81
+%5 = 5
+%7 = -28~42
+%7 = -35~56
+%-8 = 64
+%-8 = -40
+%8 = -72
+%-7 = 49
+%-3 = 6~6~9
+%-8 = -8~8~-56
+%-4 = 20~24
+%2 = 10~0
+%-6 = -42~-24
+%9 = -54
+%5 = 0~-15
+%5 = 35
+%-8 = -56
+%4 = -20~24
+%-2 = -2
+%-9 = -36
+%-8 = 56
+%4 = -16~0~-28
+%-3 = 3
+%-3 = 21
+%-5 = 40
+%-4 = 36~-8~-4
+%4 = 4~0
+%-7 = -42~-7~21
+%-6 = -36~-36
+%7 = 14
+%-10 = 50~40
+%-2 = 2~-6
+%5 = -30
+%-5 = -50~30
+%-5 = -10
+%8 = 72
+%8 = 0
+%-6 = 0
+%-8 = -80
+%9 = 54~-45
+%6 = 6
+%-8 = -40~8
+%-3 = -9~24
+%7 = -56
+%6 = 24~-18~48
+%-4 = -20
+%3 = 12
+%-8 = -32
+%-5 = -35
+%5 = 20
+%4 = -40
+%5 = 20
+%4 = -36~40
+%10 = -70~-60
+%9 = 54
+%-8 = -40
+%-9 = -18~45
+%4 = -4
+%-7 = 21
+%-6 = 18
+%6 = 18~-36
+%-10 = -40~50
+%4 = 24~-16
+%-9 = 9~-45
+%9 = -36
+%-3 = 21
+%7 = 35
+%9 = -90
+%-3 = 12~27
+%10 = 100
+%-4 = 20
+%-8 = -80~64
+%-5 = -20
+%-4 = -4
+%-4 = 24
+%5 = -35~20
+%-4 = 0
+%-10 = -90
+%4 = -8
+%2 = -2
+%9 = -63~27
+%9 = -72~-9~0
+%7 = 35~21
+%-7 = -28~35
+%8 = 24~-64
+%-5 = -30
+%5 = 0~-30~30
+%-4 = -28
+%-8 = 8
+%-7 = 7
+%-3 = -15
+%-5 = -30~-40~-45
+%4 = 24~-36~-8
+%-8 = -64~40~-16
+%-3 = 12
+%-2 = -16
+%9 = 81
+%9 = -27
+%7 = -42
+%-7 = -21
+%-7 = 35
+%-3 = -12
+%-5 = -20
+%-5 = 40~25~35
+%-8 = -56~48
+%-8 = -48~56
+%-7 = 49
+%9 = -72
+%6 = 0
+%-9 = -72
+%9 = 45
+%-5 = -40~-15
+%-3 = -15
+%6 = -6~-36
+%7 = 49
+%-2 = 0
+%-7 = -7
+%5 = -50
+%7 = -56
+%-9 = 18
+%-2 = -6~16~-4
+%4 = 4~-4~-4
+%-6 = 24
+%-5 = 20
+%4 = 40
+%5 = -20~-40~0
+%9 = -27
+%-3 = 24~-18~-6
+%3 = -6
+%5 = 30
+%-6 = 6
+%7 = -35
+%-8 = 16~40~56
+%-6 = -24
+%5 = 0~-40
+%-4 = 16
+%-2 = 14
+%-10 = -100
+%8 = -16~40
+%-7 = 49
+%-9 = 90
+%2 = -12~-8
+%5 = 20
+%-4 = -28~-36~12
+%4 = 8
+%6 = -54
+%4 = 36
+%8 = -48~-80
+%4 = 12
+%7 = 56
+%4 = -8
+%3 = 27~-3
+%2 = 18~-4
+%6 = 12~-36
+%8 = 48~0
+%5 = -45
+%-4 = 4
+%9 = 81~72
+%3 = -3
+%6 = -6~30~0
+%3 = 3~12~15
+%-3 = -6~-15
+%-6 = 54~-30
+%-9 = -36~-72~18
+%-4 = 40
+%5 = 45~-30
+%7 = 0
+%10 = 70~10
+%-4 = 28
+%10 = -30~-60~30
+%-5 = 15
+%7 = 7
+%9 = 18
+%9 = 27~36
+%-3 = 18~6~6
+%-8 = 72
+%-8 = 64
+%6 = 48
+%-5 = 10~-25
+%7 = 49
+%3 = 27~-12
+%9 = -81
+%8 = -32
+%-6 = -24
+%-5 = -10
+%10 = 70
+%-3 = 21
+%-5 = -40
+%-9 = 72
+%-6 = -12
+%10 = 10~-40
+%9 = -18
+%-8 = 8
+%4 = 16
+%3 = 18~-27~-15
+%-4 = 36
+%7 = 7~-63~-21
+%-10 = 60~-30
+%10 = 60
+%-5 = -45
+%-2 = -20
+%5 = 25
+%5 = 40
+%-4 = 32
+%8 = -16
+%3 = 30
+%-5 = -40
+%-8 = 48
+%-7 = -35~-28
+%-3 = -27
+%8 = 32~80
+%5 = 10~25
+%-10 = -40
+%8 = 24
+%4 = -20
+%7 = -21
+%-5 = -15
+%3 = 6
+%5 = 35
+%-10 = 30~20
+%-4 = 12
+%2 = -2
+%-3 = -3~6
+%-8 = 40
+%-8 = 24
+%3 = 18
+%8 = -32
+%-5 = 45
+%4 = 12~-28
+%6 = 30~48
+%-8 = -40
+%7 = 21~-70
+%2 = -4~-14
+%2 = -14~16~-4
+%-4 = 4~20
+%3 = 0~12
+%3 = 0
+%6 = 6
+%5 = 15
+%-4 = 8
+%-4 = 32
+%-4 = 4
+%9 = 45
+%-8 = 56~32
+%-7 = -42
+%6 = -12
+%-9 = -45~-36~-36
+%7 = 21
+%-8 = -8~40
+%5 = 10
+%-7 = -42
+%-4 = 0
+%9 = 9
+%10 = -50~60~90
+%-8 = -16
+%-5 = -45
+%-3 = 12
+%-9 = -36
+%8 = -56
+%-8 = 64~72
+%2 = -20
+%4 = 4~-8
+%-9 = 54
+%-9 = -81
+%9 = -9~-45
+%5 = -40~-50
+%-5 = 30
+%-2 = -14~-20
+%-4 = 32
+%6 = 6
+%5 = 25~-40
+%6 = -54
+%8 = 32~0
+%-5 = 25
+%8 = 72
+%9 = 63~-27
+%-7 = 0
+%3 = 18~18
+%7 = 0
+%-6 = 42
+%-5 = 30~-5
+%4 = -40
+%-8 = -56
+%7 = 14
+%-8 = -80
+%-7 = -28
+%-5 = 0~10~10
+%-4 = 24
+%-5 = 35
+%-7 = 7~42
+%-3 = 18
+%4 = -36
+%3 = 24
+%4 = 40
+%2 = 4~0
+%-5 = 35
+%9 = 45
+%10 = -80
+%-7 = -42~-14~7
+%8 = -32
+%-3 = -21
+%-10 = -80
+%9 = 18~54
+%7 = 49
+%-7 = -28~-7
+%7 = 21
+%-8 = -16~32~-56
+%-6 = 12
+%-5 = -45~0
+%3 = -9
+%8 = -72
+%7 = 35
+%3 = 9~-6
+%-9 = 54~36~-18
+%-3 = 15~-3~-30
+%3 = 6~-3
+%6 = -54~-18~-18
+%2 = 18
+%-10 = -10~20~10
+%-4 = 16~-20~-20
+%-4 = 20
+%-9 = 81~-36
+%7 = -7~-42
+%4 = 24
+%-3 = -9
+%-8 = 8
+%7 = -7
+%-7 = -21~56
+%-9 = -54~-27~45
+%-2 = 0
+%6 = 48~-12~-36
+%-7 = 35
+%8 = -64
+%-4 = -20~-4
+%-7 = 21
+%-6 = -12
+%-9 = -9
+%-8 = 72~-56
+%2 = 10~4
+%-6 = -12~-12
+%-6 = 42~-24
+%3 = 6~-6
+%-6 = 6
+%-6 = 36
+%9 = 45
+%-7 = -56~-56
+%-3 = 15
+%-4 = 12~-12
+%-3 = 21
+%-10 = -60
+%4 = 16
+%5 = -35~-45~45
+%4 = 28
+%7 = 0
+%-7 = 21~-49
+%-8 = -32~-16
+%5 = -20
+%-4 = 4~8
+%7 = -70
+%7 = 21
+%-5 = -50~10
+%-5 = 45
+%4 = -36~28
+%-5 = 40
+%-5 = -5
+%8 = -24
+%5 = 35
+%-3 = 27
+%3 = 27~-12~-21
+%9 = -27~90
+%3 = -12
+%9 = 63
+%3 = 9
+%-3 = 24
+%6 = 54
+%-4 = 12
+%-3 = 30
+%-10 = 60~-30
+%5 = -45
+%-6 = 54
+%5 = 0~30
+%-9 = 0
+%9 = 36~-54
+%-6 = 54
+%4 = 8~0
+%-4 = -24~28
+%-9 = 9~0
+%7 = -28
+%5 = 5
+%5 = 25
+%-5 = 10~5
+%-5 = -50
+%-4 = -4~-12~-28
+%-5 = -25~-40
+%-8 = -8~-56~32
+%5 = 10~-40
+%-7 = 14~7
+%7 = -14~-35~-49
+%-6 = 18
+%6 = -12
+%-6 = 30~30
+%-9 = 9~-81
+%-9 = -81~27
+%7 = -28~-70
+%7 = 14~-49
+%8 = 24
+%9 = 0
+%5 = 30
+%8 = -56
+%-8 = 72~-32
+%-7 = -21~-63
+%-8 = 48~72
+%-8 = -48~-80~16
+%8 = -64
+%5 = 45
+%-5 = -20
+%6 = -12~12~-12
+%7 = 63
+%3 = 27~-6
+%-7 = 56~-35
+%6 = 0
+%6 = 24
+%9 = -36
+%-3 = -15~0~-3
+%-3 = -24~-21~-27
+%5 = 35
+%5 = 5~-10~-45
+%-10 = 0~-90
+%10 = -70
+%-6 = 48
+%3 = -9
+%-2 = -8~4
+%9 = 63
+%-5 = -10~15~-5
+%8 = -80
+%3 = -21
+%-3 = 6
+%6 = 36
+%-3 = -12~-21~-27
+%-9 = 81
+%3 = -6
+%-3 = -27
+%-4 = 8
+%-7 = -70
+%-3 = -3
+%-8 = 24~-72
+%-7 = 0
+%4 = 12
+%-3 = -15~-15
+%-7 = -28
+%-9 = -81
+%5 = 10~-40~-35
+%5 = 20
+%6 = 0
+%-5 = -10
+%4 = 32~-32~-4
+%-7 = -63
+%3 = -12~15~12
+%-4 = -24
+%6 = -42
+%2 = 4~10~16
+%-4 = 32~-32
+%10 = 0~-90
+%-8 = -40
+%5 = 5
+%3 = 18
+%-7 = -42~-21
+%9 = 81
+%-3 = 0
+%9 = -18~36
+%9 = 27
+%4 = 4
+%2 = -10~0
+%6 = 6
+%-8 = -16
+%-10 = 60
+%6 = 0~6
+%-7 = -56
+%-8 = -56~8~-64
+%4 = 8
+%-4 = 36
+%-7 = 63~70
+%-8 = 48
+%-5 = -50
+%-4 = 36
+%5 = -50~25~-35
+%2 = -10~20~8
+%7 = -7~-49~35
+%-8 = 72
+%-7 = -63
+%9 = -63
+%6 = 0~-42~-36
+%3 = -18
+%-8 = 72
+%-4 = -32~40~8
+%4 = 24
+%-10 = -60~40
+%-2 = -2
+%8 = -32~72
+%-7 = -63~-49
+%-9 = -27~-81
+%-8 = -48
+%-8 = -16
+%-2 = -2
+%9 = -90~-36~-90
+%6 = -48~18
+%8 = -32~-8
+%-8 = -32~40~40
+%2 = 14
+%-3 = -9~-12
+%7 = 63
+%8 = 16
+%-7 = -21
+%-2 = 8~10
+%4 = 20~0~36
+%3 = 18~0
+%-3 = 30~-24
+%10 = -100~-20
+%6 = 6~18
+%-6 = 24~-18
+%-3 = -6
+%-7 = 35~-14
+%-5 = 25
+%2 = 8
+%4 = -36~-36
+%3 = 6
+%-6 = -18~18
+%-5 = -45
+%-10 = -30~-50~-70
+%8 = -48~-32
+%10 = -10~60
+%10 = -30~50
+%3 = -9
+%-10 = -60~-30
+%-6 = -24~-24~30
+%-8 = -16
+%-9 = -54~72
+%-9 = -45
+%3 = 27
+%-2 = 4
+%7 = -28
+%-2 = -16
+%3 = -15~-3~-18
+%-3 = -9~15
+%-7 = 28~63
+%-4 = 8~-20
+%7 = 0
+%6 = 54~12
+%4 = -16~-36~24
+%4 = -24~-32~32
+%7 = 35
+%6 = 36
+%-5 = -35~40~-15
+%-7 = 56~49
+%-8 = 64~-24
+%-8 = 56
+%-4 = 8~0
+%10 = 0~60
+%-8 = 56~-24
+%6 = -12~30~6
+%-2 = -14~-8~2
+%4 = -20~-8~8
+%-4 = -16~-12
+%-4 = -32
+%3 = -18
+%6 = 6~-24
+%-6 = 42
+%9 = 81
+%-3 = 27~12
+%5 = -10
+%-3 = -30
+%-9 = -27
+%8 = -80
+%4 = -24~-36
+%-6 = -24
+%-9 = 72
+%10 = -90
+%-6 = -54~-48
+%8 = 8~48~24
+%3 = 6
+%-3 = -27
+%-7 = -49
+%-3 = -27
+%8 = -56
+%-4 = 12
+%5 = -10~20
+%8 = -8
+%4 = -16
+%-8 = -80~-72
+%3 = -3
+%8 = 64~-56~-8
+%-4 = 20~-8~-4
+%7 = -56~-49~-63
+%3 = -24~21
+%7 = -7
+%8 = -48
+%-4 = -12
+%-4 = -24
+%7 = -35~21~49
+%8 = -72~64
+%-4 = -8~-32
+%-8 = -56
+%5 = 25
+%-10 = 60~-80~10
+%-10 = -10~-40
+%3 = -21~21~9
+%10 = -30
+%-9 = -45
+%-5 = 0~-20
+%-5 = 25
+%-9 = 45
+%-9 = 36
+%-6 = -18~-54
+%-3 = 6~12~9
+%6 = -18
+%-6 = -42~12
+%9 = 63
+%8 = -32
+%9 = 63
+%7 = 0
+%-9 = 18
+%-4 = -28
+%2 = -14
+%10 = 0
+%-3 = 6
+%2 = -18
+%8 = 48
+%5 = -45~-10
+%6 = -24
+%-7 = -28
+%7 = -63
+%4 = 28~32~-16
+%3 = -3
+%6 = -30~48
+%5 = -15
+%2 = -16
+%-5 = -5
+%-6 = -12~0~-6
+%-5 = 0~-35
+%4 = -12
+%-8 = 72
+%4 = 36~4
+%-4 = 36~-20
+%-6 = 60~0
+%-5 = -35
+%-9 = 45
+%8 = -72
+%3 = -12~15
+%-2 = -14
+%8 = -24~24~8
+%-8 = -24
+%7 = -63
+%5 = -25
+%-9 = -81~9
+%-4 = 32
+%-5 = 0
+%5 = -45
+%-5 = 35
+%-8 = -16
+%-6 = 60~-42~6
+%8 = 56
+%-7 = 7
+%-6 = -42~-36~60
+%-5 = 0~-30
+%3 = 0
+%6 = 54~-6~-54
+%3 = 21~30~27
+%9 = 54~27
+%8 = 16
+%-6 = 36
+%4 = 28
+%3 = -24
+%-9 = -63~-81~27
+%-6 = 24
+%-7 = 49~21
+%5 = -40~-20~-25
+%5 = 45~-10
+%-8 = 72
+%7 = 7
+%-6 = -12
+%-6 = 60
+%-9 = 81
+%-3 = -18
+%-7 = -21
+%-5 = -15
+%-4 = 4
+%6 = 18~54
+%3 = 9
+%-9 = 18
+%-6 = -36~18
+%-8 = 40~-48~64
+%-4 = -4
+%-3 = 21
+%5 = 10~-40~-5
+%-2 = 10
+%10 = 30~-10
+%9 = -81
+%-3 = -30~3~24
+%-2 = -18
+%-10 = -10~30~-80
+%9 = -90
+%-7 = -7
+%6 = 36~30
+%3 = 21~-30
+%3 = 21
+%-2 = -4
+%4 = -16
+%-4 = 12
+%7 = 35~7
+%7 = 70~-42~42
+%9 = 63~45
+%-3 = 27~-12
+%-2 = -16~16
+%7 = -63~-70
+%4 = -20
+%3 = -21~0~30
+%-8 = 72
+%4 = 8~-28
+%-3 = 12
+%3 = -27
+%8 = 16
+%-2 = 16~-10
+%9 = 54
+%6 = -36
+%9 = -72
+%-3 = -30
+%-6 = -42~-42
+%-4 = -32
+%-4 = 28
+%-10 = -20~80
+%6 = -12
+%5 = 35
+%6 = 24
+%-9 = 45
+%3 = 21
+%-5 = -40
+%-9 = -81~90
+%3 = 27
+%7 = 0
+%5 = 10
+%3 = 9~-18
+%5 = 35~15
+%9 = 81
+%-7 = 21~21
+%8 = 24
+%7 = 49
+%3 = 27~9
+%6 = 12~-24~-54
+%-6 = -60
+%-3 = 3
+%7 = 49
+%8 = -16~72~-48
+%-6 = 36
+%8 = 8~-32
+%9 = -72
+%-9 = -63
+%9 = -63
+%-4 = 0
+%4 = -40~-36~4
+%-8 = 8
+%-5 = -35
+%-7 = 0~-56
+%3 = 27
+%4 = -32~-28
+%-3 = -21
+%4 = 0~-8
+%5 = -25~-20
+%7 = -63
+%-9 = -45
+%-8 = -64
+%5 = 15
+%-9 = -63
+%-6 = -54
+%2 = -14
+%-3 = -12~0
+%-2 = 8
+%3 = -24~-15~-9
+%-9 = -54~36
+%6 = -54
+%9 = 72
+%2 = -6~18~-4
+%-10 = 100~-100
+%6 = 12
+%-9 = -18
+%-9 = 9~0
+%-7 = 14
+%-9 = -18
+%-10 = -60~-100~30
+%7 = 42
+%6 = -54
+%-7 = -7
+%-7 = -35~21
+%4 = 12
+%-6 = -30~54~0
+%5 = 5
+%7 = 0
+%4 = 28
+%-7 = -56
+%5 = 20
+%3 = 6
+%3 = 27~12~21
+%3 = 0
+%6 = -60
+%-9 = -9~81
+%-5 = -20
+%3 = -15
+%-6 = -24
+%-6 = 24
+%-6 = -6
+%-10 = -40~90~-80
+%9 = 45
+%3 = 21~30~-30
+%2 = -16~-4~18
+%-3 = 21
+%4 = -12
+%-3 = 30~9
+%-8 = 32~0~0
+%9 = -90
+%-5 = -35~0
+%3 = 6
+%-10 = 60
+%-4 = -12
+%-7 = -42
+%-9 = 54~90~-18
+%7 = -35~-21~35
+%-4 = -8~4~4
+%-8 = 8
+%-9 = -81
+%-10 = 70
+%10 = 40
+%-6 = -48
+%-4 = 8~-8
+%3 = 24
+%-10 = 50
+%8 = 72
+%3 = 12~-6~-18
+%8 = 16~0~-56
+%-5 = -40
+%-7 = 28
+%-5 = 10
+%3 = -30~-27~-6
+%-7 = -49
+%9 = -9
+%7 = 0
+%6 = 30
+%-4 = -16
+%-5 = -15
+%4 = -16~36~-32
+%-3 = -9~-30
+%5 = -40
+%-6 = -30
+%6 = -24
+%6 = 42
+%-7 = -21
+%4 = 8~4
+%-3 = 12
+%-3 = 3~-18
+%4 = -32
+%9 = -27~-18
+%9 = -27
+%8 = -16
+%2 = -8
+%8 = 64
+%8 = -80
+%9 = -63~36~45
+%7 = 70
+%3 = 9~24
+%-3 = 21
+%-3 = 9
+%-9 = -72
+%-8 = -72~48
+%3 = 27
+%7 = 21
+%6 = 30
+%-6 = 0
+%-4 = -20
+%-9 = 63
+%-3 = 9
+%-5 = -30~0
+%3 = -12
+%3 = -12
+%-9 = -18
+%-10 = 0~-30
+%-9 = 9~27
+%3 = -12
+%-7 = -7
+%-6 = 6
+%3 = 9~9
+%8 = 24
+%-5 = -25
+%-5 = -25
+%-8 = 72~-56~-72
diff --git a/data/question_files/arithmetic/multiples_p0_0-10.dat b/data/question_files/arithmetic/multiples_p0_0-10.dat
new file mode 100644
index 0000000..0cb91ba
--- /dev/null
+++ b/data/question_files/arithmetic/multiples_p0_0-10.dat
@@ -0,0 +1,1000 @@
+%4 = 32~32
+%4 = 12
+%5 = 35~35
+%8 = 48
+%10 = 40
+%8 = 48
+%7 = 56
+%9 = 18
+%4 = 24
+%7 = 35
+%3 = 3~9
+%8 = 56~40
+%8 = 56
+%5 = 15
+%2 = 20
+%2 = 16~12
+%7 = 35
+%6 = 24
+%7 = 28
+%9 = 45~63~54
+%7 = 56~21
+%8 = 24
+%5 = 40~25
+%3 = 15
+%8 = 32~16
+%3 = 27
+%5 = 5
+%8 = 32~24
+%9 = 54~63~18
+%3 = 30
+%7 = 35
+%6 = 18~0
+%9 = 9~9
+%7 = 21~63~56
+%9 = 54~36~54
+%2 = 20
+%3 = 30
+%4 = 12
+%3 = 0
+%4 = 16
+%3 = 12
+%6 = 60
+%4 = 20
+%4 = 36
+%8 = 48~24
+%5 = 5
+%10 = 60~20
+%5 = 45
+%9 = 9~72
+%8 = 32~32
+%4 = 36
+%3 = 21
+%8 = 56
+%5 = 25
+%6 = 42~48
+%5 = 45~5
+%3 = 18
+%7 = 63~21~35
+%10 = 40
+%3 = 3~24~21
+%6 = 6
+%4 = 24
+%7 = 28~21
+%6 = 24
+%5 = 35
+%10 = 90
+%2 = 2
+%6 = 30
+%9 = 45
+%9 = 9
+%5 = 15
+%4 = 32
+%6 = 18~12
+%2 = 4
+%6 = 30~54
+%5 = 10~30
+%3 = 30
+%9 = 81~54
+%8 = 40~56~8
+%4 = 20~0
+%8 = 56
+%8 = 32
+%6 = 0
+%8 = 16~64
+%4 = 32~20
+%7 = 21~42~49
+%10 = 70
+%8 = 64
+%6 = 36
+%7 = 35~56
+%3 = 12
+%8 = 24~40
+%6 = 48
+%8 = 8
+%5 = 5
+%7 = 56
+%4 = 24
+%3 = 21
+%7 = 70
+%3 = 12
+%9 = 36
+%6 = 60
+%4 = 16
+%7 = 63
+%9 = 90~54
+%3 = 3
+%10 = 90
+%10 = 0
+%7 = 63
+%9 = 63~63
+%7 = 49
+%3 = 12~30
+%4 = 0
+%2 = 14~10~18
+%2 = 2
+%8 = 8~16
+%3 = 3
+%7 = 70~14
+%8 = 48~72~48
+%7 = 49
+%10 = 50
+%10 = 90
+%8 = 32~0~40
+%3 = 6
+%9 = 81~90
+%4 = 4~20
+%4 = 24~28~36
+%7 = 49~28
+%3 = 9
+%3 = 21~24
+%7 = 35
+%3 = 24
+%6 = 18
+%5 = 40
+%4 = 32~16
+%9 = 81~54
+%7 = 21~49
+%4 = 12~16~16
+%4 = 24~8
+%4 = 0
+%5 = 35~25~35
+%7 = 35~35
+%3 = 21
+%2 = 20
+%9 = 27~36
+%4 = 4~8~8
+%9 = 9~72
+%7 = 56
+%3 = 21~15~6
+%5 = 40~15~15
+%5 = 50
+%5 = 5~15
+%8 = 64
+%3 = 21~12
+%8 = 48~24
+%5 = 45
+%6 = 24~48
+%9 = 9~72~0
+%3 = 0
+%7 = 49~49~49
+%9 = 9~72
+%3 = 24~0
+%3 = 21~27
+%5 = 45
+%9 = 54
+%7 = 14
+%10 = 40~40~60
+%5 = 45
+%2 = 2
+%2 = 16
+%8 = 32
+%3 = 21~18
+%7 = 21
+%4 = 28
+%7 = 42
+%6 = 42~12
+%7 = 7~49
+%9 = 72
+%8 = 48
+%8 = 56
+%9 = 0~18~45
+%7 = 21~42
+%10 = 30~40
+%5 = 25~5~15
+%8 = 72
+%3 = 30
+%2 = 6~10
+%9 = 54~18
+%10 = 80~50~30
+%7 = 35
+%5 = 20
+%4 = 40
+%9 = 27~9
+%9 = 45~27
+%6 = 54
+%7 = 42
+%3 = 6~15
+%9 = 9~63
+%3 = 3
+%4 = 28
+%6 = 0
+%5 = 20~0~35
+%2 = 14
+%5 = 10~10
+%3 = 6
+%8 = 0
+%6 = 60
+%6 = 54~18~54
+%6 = 6
+%9 = 27
+%9 = 18~81~27
+%5 = 40
+%3 = 3~27
+%9 = 63
+%4 = 20
+%5 = 35
+%4 = 8~12
+%10 = 70
+%6 = 6
+%9 = 63
+%9 = 9~27~72
+%10 = 60
+%7 = 56
+%9 = 9
+%5 = 30~30~0
+%9 = 90
+%3 = 9
+%7 = 56
+%5 = 45~50
+%4 = 16
+%10 = 70
+%9 = 81~45
+%8 = 0~40
+%9 = 18
+%5 = 35
+%2 = 6~12
+%9 = 9
+%5 = 5~45
+%5 = 5
+%5 = 50
+%3 = 3
+%5 = 5~15
+%9 = 9~18~63
+%6 = 30~18
+%10 = 50~90~0
+%5 = 15
+%5 = 50
+%2 = 0
+%6 = 30
+%9 = 45
+%10 = 50~70~70
+%6 = 24~30~12
+%8 = 32
+%3 = 18~21
+%4 = 4
+%4 = 36~28~4
+%7 = 0
+%4 = 4
+%6 = 48
+%5 = 20~0
+%10 = 90~90~30
+%8 = 8~16~0
+%5 = 40~40~45
+%5 = 20
+%4 = 36
+%8 = 48~40
+%5 = 25~45~45
+%7 = 14~7
+%7 = 7
+%9 = 90
+%4 = 32~24
+%3 = 6~15~15
+%4 = 12
+%5 = 15
+%4 = 20~24
+%3 = 21~30
+%10 = 80
+%5 = 0
+%6 = 54
+%3 = 27~27
+%6 = 54~12
+%2 = 14~8
+%9 = 0~9~9
+%7 = 0~70
+%6 = 24
+%8 = 64~8
+%6 = 42
+%4 = 36
+%5 = 30
+%5 = 45
+%6 = 24~18
+%3 = 12
+%3 = 9~15~27
+%7 = 14
+%5 = 5
+%5 = 20
+%2 = 14~6
+%4 = 32
+%9 = 90
+%9 = 45~9
+%5 = 20
+%5 = 0
+%10 = 30~50
+%6 = 42~30
+%2 = 4
+%3 = 15
+%3 = 12~3
+%7 = 56
+%5 = 25
+%9 = 36~45
+%8 = 24
+%6 = 54
+%4 = 36~28
+%9 = 9~45~45
+%3 = 0~15~21
+%4 = 4~28
+%4 = 28
+%6 = 48
+%8 = 56~8~56
+%8 = 48
+%8 = 64
+%6 = 0~24
+%6 = 12
+%10 = 70
+%9 = 9~81
+%4 = 24~24
+%6 = 6
+%4 = 16
+%9 = 90~90~54
+%3 = 24
+%10 = 30~70
+%5 = 50~45
+%10 = 80
+%3 = 3
+%3 = 15
+%3 = 6
+%9 = 9~36~81
+%7 = 14
+%5 = 15
+%7 = 42
+%7 = 63
+%6 = 12~6~18
+%7 = 49
+%9 = 36
+%6 = 12~42
+%9 = 72~54
+%6 = 6
+%6 = 48
+%8 = 80
+%3 = 21~27~18
+%6 = 24
+%8 = 0
+%6 = 60~54
+%10 = 90~10
+%7 = 56
+%10 = 10
+%7 = 14
+%9 = 36
+%2 = 6
+%5 = 40
+%8 = 72~16
+%2 = 2
+%8 = 16
+%4 = 32
+%3 = 15~12~18
+%3 = 27
+%3 = 12~0
+%10 = 40
+%2 = 8
+%6 = 36
+%3 = 0~3
+%10 = 40~20~40
+%9 = 36~63~45
+%5 = 35
+%4 = 24
+%8 = 8
+%3 = 27~12~9
+%7 = 7
+%6 = 24
+%7 = 14~56~14
+%7 = 7~70
+%5 = 35~50
+%9 = 45
+%8 = 24
+%8 = 32
+%3 = 0
+%7 = 7
+%6 = 30~24
+%8 = 72
+%9 = 27
+%9 = 54
+%9 = 27
+%9 = 90
+%7 = 42~63
+%9 = 0
+%6 = 0
+%6 = 54~0
+%5 = 40
+%9 = 36
+%4 = 28
+%9 = 36
+%3 = 6~18
+%3 = 27~24
+%7 = 42
+%8 = 8
+%6 = 18~42
+%5 = 30~30~30
+%7 = 21~28
+%9 = 9~54
+%8 = 16~64
+%6 = 42
+%6 = 6
+%5 = 45~35~30
+%7 = 28~70
+%4 = 40
+%7 = 28
+%7 = 21~56
+%5 = 35
+%5 = 30~35~45
+%3 = 15
+%6 = 6
+%9 = 27~54
+%7 = 21
+%5 = 45~10
+%9 = 27
+%5 = 35~20~25
+%8 = 32
+%5 = 50
+%8 = 16~48
+%5 = 5
+%9 = 27
+%7 = 56~21
+%9 = 45~81
+%2 = 14
+%4 = 8
+%7 = 49
+%4 = 28
+%2 = 10~14
+%9 = 27
+%8 = 64~0
+%4 = 32
+%9 = 36~54
+%8 = 16~48
+%7 = 56
+%6 = 12
+%4 = 8~4
+%4 = 28
+%4 = 4
+%5 = 5
+%7 = 63
+%8 = 24
+%5 = 25
+%3 = 24
+%8 = 16
+%5 = 35
+%9 = 27
+%3 = 0
+%4 = 28~4
+%7 = 63
+%9 = 63
+%8 = 48
+%9 = 18
+%7 = 49~35
+%4 = 16
+%5 = 20~25~20
+%5 = 5~5~40
+%6 = 6
+%3 = 3
+%7 = 14~28~70
+%7 = 63
+%9 = 27
+%8 = 8
+%3 = 18
+%6 = 48~36
+%6 = 0~30~30
+%5 = 5
+%9 = 81
+%6 = 6
+%2 = 10
+%6 = 6
+%5 = 45
+%4 = 12~28
+%7 = 14
+%8 = 8
+%3 = 12
+%9 = 63
+%3 = 24
+%5 = 10~40
+%3 = 0
+%4 = 20
+%6 = 48~18~48
+%5 = 5~45
+%5 = 35
+%6 = 6
+%10 = 80
+%10 = 80
+%4 = 12
+%8 = 16
+%9 = 27~18
+%3 = 30
+%6 = 24~0
+%3 = 0
+%5 = 10
+%7 = 63
+%5 = 35
+%3 = 12
+%8 = 0
+%8 = 16~72
+%4 = 40
+%4 = 0~32
+%4 = 24
+%5 = 45
+%8 = 72
+%9 = 45
+%10 = 10
+%4 = 28
+%4 = 36~20~24
+%5 = 5~25
+%2 = 18
+%7 = 70
+%6 = 18~36
+%4 = 32
+%9 = 27
+%9 = 45~54~81
+%4 = 24
+%5 = 35
+%5 = 50~15
+%7 = 35~70
+%4 = 24
+%3 = 27
+%9 = 45
+%7 = 42
+%10 = 60~90~50
+%7 = 7
+%10 = 40~100
+%4 = 4
+%5 = 30
+%4 = 28
+%4 = 32
+%4 = 32~24~12
+%5 = 45~20
+%7 = 0
+%5 = 0
+%4 = 28~28
+%7 = 63
+%8 = 16
+%9 = 0
+%2 = 12
+%8 = 48~40~40
+%7 = 14~14~28
+%2 = 2
+%5 = 25
+%6 = 30
+%9 = 36~63
+%3 = 18~21~18
+%8 = 40~40
+%4 = 12
+%6 = 12
+%3 = 9
+%7 = 28~35
+%7 = 21~56
+%3 = 6~3~12
+%7 = 56
+%3 = 3~18~15
+%4 = 4
+%2 = 2
+%9 = 9
+%7 = 56
+%7 = 63
+%3 = 27
+%2 = 8
+%8 = 72~80
+%5 = 35~10
+%3 = 15
+%3 = 24
+%5 = 25
+%9 = 45
+%8 = 72
+%2 = 8
+%8 = 8~48~56
+%5 = 50~0
+%4 = 36
+%5 = 5~45
+%4 = 24
+%8 = 40~48~8
+%4 = 28
+%2 = 8
+%6 = 18
+%8 = 48
+%2 = 8
+%6 = 24
+%6 = 18
+%7 = 70
+%8 = 8
+%3 = 18
+%10 = 70
+%8 = 8
+%9 = 72~81
+%6 = 48
+%6 = 36~6~12
+%5 = 0
+%10 = 80~0~60
+%3 = 27
+%9 = 54~36~54
+%4 = 0
+%2 = 14
+%8 = 48
+%8 = 72~56
+%4 = 24~32
+%9 = 90~27~63
+%7 = 0
+%3 = 30
+%9 = 72
+%6 = 24~48
+%5 = 5
+%9 = 36~0
+%6 = 48
+%5 = 15
+%6 = 48
+%3 = 27~27
+%8 = 8
+%2 = 18
+%7 = 28~42
+%4 = 36
+%7 = 7~49
+%2 = 2
+%6 = 42
+%4 = 36~16
+%6 = 54~48
+%8 = 32~32
+%9 = 36~90~27
+%5 = 30
+%9 = 36~27~81
+%7 = 63
+%5 = 45
+%4 = 8
+%7 = 70~70
+%3 = 12
+%6 = 42~48
+%6 = 6
+%5 = 0
+%6 = 0~48
+%5 = 45~0~0
+%7 = 7
+%5 = 30
+%5 = 30
+%4 = 16
+%5 = 50
+%9 = 72~54
+%7 = 63
+%3 = 30
+%4 = 0~8
+%7 = 70
+%4 = 24~32
+%5 = 40
+%9 = 36~9
+%10 = 40
+%9 = 63
+%5 = 25
+%4 = 36
+%10 = 50~40~0
+%3 = 3~3
+%4 = 12~36
+%5 = 15
+%5 = 25
+%8 = 8~56
+%3 = 27
+%4 = 12
+%9 = 63
+%6 = 48
+%3 = 6
+%7 = 63~14~0
+%3 = 30
+%7 = 14
+%3 = 9~6
+%8 = 0
+%2 = 4~14~2
+%6 = 48
+%9 = 72
+%7 = 7
+%3 = 21~27
+%9 = 72
+%8 = 48~72
+%4 = 20
+%3 = 0
+%6 = 48
+%2 = 10~4~18
+%4 = 36~8
+%9 = 90~63
+%5 = 35~35
+%4 = 4~16
+%10 = 0
+%6 = 12~0
+%4 = 24
+%3 = 12
+%10 = 10~80
+%10 = 30~70
+%3 = 12~9~30
+%5 = 40
+%5 = 25
+%5 = 5
+%6 = 48~42~18
+%4 = 24~0
+%3 = 3
+%7 = 35
+%7 = 0
+%7 = 49
+%6 = 30
+%4 = 36
+%10 = 70
+%7 = 35~56
+%3 = 9
+%7 = 63
+%7 = 63~56
+%9 = 45~27~45
+%3 = 18~27
+%6 = 0~6
+%3 = 15~30
+%9 = 72
+%10 = 60
+%5 = 30~30
+%7 = 28
+%4 = 8~32~28
+%7 = 49~56
+%10 = 20~70
+%3 = 3
+%3 = 21
+%9 = 63
+%4 = 8
+%6 = 42~42
+%3 = 18~15
+%6 = 6
+%3 = 21~27~15
+%2 = 2~16
+%7 = 35
+%9 = 63
+%4 = 8
+%4 = 40
+%4 = 36
+%7 = 42
+%8 = 8
+%5 = 0~25
+%6 = 12~12~36
+%6 = 36~24
+%2 = 2~18
+%5 = 0
+%2 = 8~16
+%8 = 56~32~16
+%6 = 18
+%7 = 14~0
+%3 = 27~15
+%2 = 2~12~8
+%9 = 27
+%8 = 80
+%4 = 36~24
+%5 = 0
+%2 = 6
+%5 = 20
+%5 = 40
+%3 = 3
+%5 = 20
+%4 = 12
+%5 = 15~10~35
+%6 = 6
+%3 = 27
+%4 = 24~4
+%9 = 18
+%6 = 6~18~24
+%8 = 0~32~24
+%4 = 12
+%6 = 12~48
+%8 = 80
+%8 = 48
+%8 = 8
+%5 = 45
+%9 = 9
+%3 = 12~0~24
+%6 = 42~48~18
+%5 = 40
+%3 = 9
+%7 = 49~56
+%9 = 90~27~36
+%7 = 56
+%7 = 14
+%9 = 9
+%2 = 10~8~8
+%4 = 36~12~28
+%8 = 72
+%7 = 28
+%7 = 7~70~14
+%3 = 6
+%6 = 54~18
+%3 = 6
+%3 = 18
+%4 = 20
+%9 = 63~0
+%9 = 63~0
+%10 = 0~70
+%3 = 0
+%8 = 8~8~24
+%2 = 16
+%5 = 45
+%7 = 7
+%7 = 21
+%9 = 27
+%4 = 4
+%5 = 25~25~5
+%2 = 4
+%5 = 25
+%9 = 18~27
+%8 = 80~72~24
+%3 = 12
+%6 = 6
+%7 = 70
+%7 = 35~7
+%10 = 40
+%4 = 40
+%6 = 12
+%9 = 72
+%8 = 32
+%4 = 36
+%10 = 40
+%6 = 36
+%3 = 27
+%8 = 80
+%6 = 6~24
+%7 = 70~21~35
+%4 = 20
+%3 = 12
+%6 = 36~54
+%6 = 36
+%6 = 24
+%5 = 0~15~30
+%5 = 40~35~25
+%3 = 21~12~30
+%6 = 54
+%9 = 9~90~54
+%5 = 15
+%5 = 0~50
+%4 = 36
+%6 = 36~6
+%5 = 30
+%7 = 21
+%5 = 35~50~40
+%3 = 12
+%6 = 24~36~24
+%5 = 10
+%8 = 24~32~56
+%5 = 25~15
+%5 = 30
+%9 = 36
+%2 = 16~14
+%5 = 25~40
+%6 = 54
+%9 = 45
+%10 = 100~20
+%4 = 4~16
+%9 = 45
+%9 = 54~90
+%6 = 54
+%4 = 16~28
+%5 = 45~25~0
+%4 = 12~28
+%4 = 20
+%4 = 28~16
+%7 = 42
+%7 = 0~14~14
+%6 = 36~42
+%4 = 24
+%9 = 18
+%5 = 15
+%7 = 42
+%3 = 21~15~27
+%3 = 27~12
+%8 = 8
+%3 = 18
+%7 = 28
+%10 = 30
+%5 = 20~35
+%4 = 36
+%5 = 35
+%4 = 24
+%5 = 35~10~35
+%8 = 8
+%8 = 16~56~48
+%3 = 24
+%8 = 24~24~40
+%5 = 10
+%7 = 14
+%2 = 0~10
+%7 = 21~70
+%7 = 28
+%3 = 30~6
+%5 = 35
+%3 = 21
+%4 = 16
+%4 = 32
+%8 = 8~72
+%5 = 45
+%8 = 56
+%6 = 6
+%3 = 21
+%4 = 0~16
+%2 = 6~8
+%7 = 35
+%5 = 20
+%2 = 8
+%5 = 25~15
+%8 = 0
+%7 = 42
+%3 = 21
+%2 = 8
+%3 = 12
+%9 = 36
+%7 = 56~7
+%9 = 18
+%5 = 15
+%4 = 20~4~20
+%6 = 6~30
+%7 = 35
+%3 = 15~12
+%5 = 5~45
+%8 = 72
+%10 = 80
+%3 = 9
+%2 = 10
+%3 = 3~27~0
+%3 = 3
+%5 = 30
+%9 = 45~9
+%7 = 14
+%5 = 5~0
+%6 = 30~48
+%2 = 0~8
+%4 = 36~36
+%10 = 10~70
+%4 = 8
+%5 = 25
+%8 = 64~16~8
+%8 = 24~32
+%6 = 12
+%8 = 0~72
+%8 = 8
+%10 = 50
+%7 = 63
+%9 = 0~18
+%3 = 0
+%8 = 0
+%4 = 4
+%7 = 7
+%3 = 9~15
+%4 = 12~32
+%3 = 6~6
+%2 = 8
+%10 = 100~80~100
+%10 = 0~80
+%7 = 63
+%3 = 15
+%5 = 25
+%8 = 40
+%2 = 14
+%4 = 16
+%5 = 15
+%7 = 56
+%8 = 24
+%9 = 27
+%5 = 20
+%7 = 28
+%9 = 27
+%2 = 0
+%6 = 36
+%7 = 28
+%5 = 40
+%5 = 40
+%3 = 15~24~21
+%10 = 60
+%7 = 14
+%5 = 10
+%9 = 54~9~63
+%5 = 20~5
+%10 = 100
+%3 = 3~9
+%5 = 30~15
+%3 = 15
+%3 = 6~18
+%7 = 14
+%6 = 60~12
+%4 = 36~40
+%4 = 28
+%3 = 24~0
+%9 = 72
+%2 = 12
+%9 = 54
+%9 = 81
+%7 = 0
+%5 = 25
+%6 = 18
+%4 = 20~12
+%10 = 30
+%4 = 0
diff --git a/data/question_files/arithmetic/multiplication_p0_-10-10.dat b/data/question_files/arithmetic/multiplication_p0_-10-10.dat
new file mode 100644
index 0000000..092f71f
--- /dev/null
+++ b/data/question_files/arithmetic/multiplication_p0_-10-10.dat
@@ -0,0 +1,1000 @@
+-9 x 7 = -63
+1 x 4 = 4
+2 x 5 = 10
+-7 x -1 = 7
+9 x 1 = 9
+1 x -2 = -2
+-1 x -6 = 6
+-9 x -7 = 63
+-8 x 2 = -16
+-3 x -1 = 3
+9 x 5 = 45
+1 x 2 = 2
+-5 x -2 = 10
+-6 x -3 = 18
+-2 x -1 = 2
+2 x 10 = 20
+-6 x -6 = 36
+-1 x -8 = 8
+-4 x 5 = -20
+4 x -5 = -20
+4 x 1 = 4
+5 x -5 = -25
+-2 x -2 = 4
+-3 x 4 = -12
+-6 x -9 = 54
+7 x 0 = 0
+-6 x -10 = 60
+3 x -3 = -9
+0 x -7 = 0
+-3 x -3 = 9
+-1 x -7 = 7
+-1 x 3 = -3
+7 x 1 = 7
+-2 x -7 = 14
+2 x 8 = 16
+9 x -4 = -36
+-4 x -5 = 20
+-9 x -2 = 18
+4 x 8 = 32
+-2 x -8 = 16
+9 x 1 = 9
+-3 x 0 = 0
+9 x 2 = 18
+5 x 8 = 40
+-1 x -3 = 3
+-2 x 9 = -18
+-3 x -1 = 3
+5 x 5 = 25
+-9 x 7 = -63
+8 x -3 = -24
+4 x 5 = 20
+3 x -4 = -12
+-6 x -8 = 48
+8 x 9 = 72
+1 x 0 = 0
+6 x -6 = -36
+-3 x -1 = 3
+10 x 2 = 20
+-2 x -4 = 8
+-9 x -4 = 36
+-9 x -3 = 27
+4 x -8 = -32
+3 x 9 = 27
+1 x -2 = -2
+5 x 4 = 20
+7 x 2 = 14
+-7 x -3 = 21
+-7 x -10 = 70
+3 x -3 = -9
+5 x -9 = -45
+-4 x 5 = -20
+1 x -2 = -2
+-9 x -1 = 9
+7 x 1 = 7
+-7 x 3 = -21
+-4 x -2 = 8
+-3 x -1 = 3
+-3 x 2 = -6
+-7 x -7 = 49
+-8 x 5 = -40
+1 x 6 = 6
+7 x -4 = -28
+-2 x 6 = -12
+0 x -5 = 0
+-6 x 8 = -48
+-1 x 6 = -6
+10 x -10 = -100
+9 x 7 = 63
+0 x 7 = 0
+6 x -7 = -42
+10 x 7 = 70
+2 x 2 = 4
+10 x 4 = 40
+1 x -9 = -9
+4 x -3 = -12
+-9 x -6 = 54
+6 x 1 = 6
+1 x -3 = -3
+5 x -5 = -25
+7 x 10 = 70
+5 x -2 = -10
+8 x 4 = 32
+5 x -5 = -25
+-3 x 3 = -9
+0 x 0 = 0
+-4 x -9 = 36
+-3 x -4 = 12
+7 x -6 = -42
+-4 x 1 = -4
+8 x -8 = -64
+-6 x -9 = 54
+-2 x 5 = -10
+-8 x 10 = -80
+-5 x -1 = 5
+-5 x 6 = -30
+-3 x -6 = 18
+0 x 4 = 0
+-9 x 8 = -72
+7 x -8 = -56
+-2 x -7 = 14
+6 x 8 = 48
+3 x -8 = -24
+-8 x -8 = 64
+7 x -5 = -35
+5 x 4 = 20
+1 x 8 = 8
+2 x 1 = 2
+-7 x -8 = 56
+-3 x -10 = 30
+-6 x 7 = -42
+5 x -1 = -5
+0 x 6 = 0
+0 x -8 = 0
+7 x -8 = -56
+-3 x -4 = 12
+9 x 8 = 72
+-10 x -10 = 100
+-10 x 1 = -10
+0 x -10 = 0
+0 x 8 = 0
+2 x -5 = -10
+7 x -8 = -56
+0 x 3 = 0
+5 x 1 = 5
+7 x 4 = 28
+-9 x 1 = -9
+-9 x 3 = -27
+6 x -3 = -18
+-8 x -9 = 72
+10 x 7 = 70
+-5 x 4 = -20
+-8 x 5 = -40
+-2 x 4 = -8
+-3 x 7 = -21
+0 x -7 = 0
+3 x -7 = -21
+2 x 4 = 8
+-1 x 1 = -1
+-8 x 2 = -16
+1 x -1 = -1
+1 x -5 = -5
+9 x 7 = 63
+0 x -5 = 0
+-7 x 7 = -49
+5 x -6 = -30
+-9 x 5 = -45
+-4 x -3 = 12
+-6 x 0 = 0
+8 x 5 = 40
+4 x 6 = 24
+-4 x -8 = 32
+5 x -4 = -20
+-9 x -3 = 27
+-1 x -2 = 2
+5 x 4 = 20
+1 x 9 = 9
+-5 x 5 = -25
+-4 x -8 = 32
+-6 x -3 = 18
+-3 x 2 = -6
+9 x -9 = -81
+-8 x -4 = 32
+4 x 4 = 16
+7 x -4 = -28
+-5 x 4 = -20
+8 x -8 = -64
+-1 x 10 = -10
+5 x -6 = -30
+-3 x -8 = 24
+-9 x -7 = 63
+3 x -2 = -6
+10 x 5 = 50
+6 x -6 = -36
+2 x -6 = -12
+-1 x 2 = -2
+2 x 1 = 2
+1 x 7 = 7
+-1 x 6 = -6
+6 x 3 = 18
+0 x 10 = 0
+5 x -5 = -25
+6 x -1 = -6
+6 x 3 = 18
+4 x 4 = 16
+3 x 0 = 0
+-3 x 10 = -30
+3 x 2 = 6
+-6 x -2 = 12
+-2 x -4 = 8
+-5 x 1 = -5
+8 x -7 = -56
+-9 x -3 = 27
+3 x -8 = -24
+-3 x 8 = -24
+-7 x -8 = 56
+-4 x -1 = 4
+8 x 9 = 72
+-9 x -6 = 54
+9 x 8 = 72
+2 x -3 = -6
+2 x 4 = 8
+-6 x -3 = 18
+-6 x -10 = 60
+1 x 7 = 7
+4 x 0 = 0
+1 x 6 = 6
+3 x -6 = -18
+8 x 6 = 48
+4 x 8 = 32
+-3 x 3 = -9
+6 x 7 = 42
+-9 x -3 = 27
+5 x -3 = -15
+-8 x -8 = 64
+10 x -3 = -30
+-5 x 1 = -5
+-6 x -3 = 18
+-6 x 4 = -24
+0 x -8 = 0
+3 x -6 = -18
+-9 x 10 = -90
+1 x -7 = -7
+-2 x -1 = 2
+-8 x 7 = -56
+-8 x 1 = -8
+2 x -9 = -18
+8 x -1 = -8
+-3 x -5 = 15
+-2 x -9 = 18
+3 x -7 = -21
+4 x -3 = -12
+-1 x -7 = 7
+-4 x 7 = -28
+9 x 1 = 9
+9 x -2 = -18
+10 x 2 = 20
+1 x 1 = 1
+0 x 0 = 0
+1 x -3 = -3
+1 x 7 = 7
+1 x -7 = -7
+1 x -1 = -1
+2 x -4 = -8
+8 x 8 = 64
+-2 x 5 = -10
+8 x 4 = 32
+-4 x 2 = -8
+-6 x -10 = 60
+8 x 8 = 64
+-3 x 7 = -21
+-3 x 7 = -21
+-2 x 8 = -16
+7 x -2 = -14
+-1 x 7 = -7
+-8 x -4 = 32
+8 x 0 = 0
+6 x -7 = -42
+2 x 8 = 16
+-2 x 4 = -8
+-4 x 1 = -4
+-8 x -6 = 48
+-9 x 9 = -81
+0 x -4 = 0
+7 x -1 = -7
+-10 x -2 = 20
+-7 x 2 = -14
+-10 x -1 = 10
+0 x -6 = 0
+-1 x 4 = -4
+1 x -4 = -4
+-8 x -5 = 40
+-8 x -5 = 40
+-10 x -1 = 10
+-3 x 4 = -12
+-10 x 9 = -90
+-5 x 1 = -5
+-5 x 4 = -20
+9 x 5 = 45
+4 x -3 = -12
+2 x -5 = -10
+-9 x 5 = -45
+8 x -2 = -16
+9 x 3 = 27
+-3 x -5 = 15
+7 x -9 = -63
+0 x -9 = 0
+-8 x 2 = -16
+0 x 9 = 0
+6 x -7 = -42
+9 x -2 = -18
+6 x -1 = -6
+-7 x 8 = -56
+6 x -8 = -48
+7 x -3 = -21
+4 x -5 = -20
+-7 x -8 = 56
+7 x -9 = -63
+-1 x -2 = 2
+8 x 6 = 48
+10 x -10 = -100
+10 x 8 = 80
+-6 x -6 = 36
+1 x 6 = 6
+-7 x 6 = -42
+-8 x -3 = 24
+-9 x 8 = -72
+9 x 6 = 54
+2 x -7 = -14
+1 x -3 = -3
+7 x -9 = -63
+6 x 3 = 18
+0 x 8 = 0
+5 x -4 = -20
+0 x -6 = 0
+-5 x 3 = -15
+-5 x 0 = 0
+-8 x 8 = -64
+1 x 2 = 2
+7 x 3 = 21
+10 x -8 = -80
+0 x -9 = 0
+5 x -2 = -10
+9 x -5 = -45
+10 x -7 = -70
+-6 x -8 = 48
+1 x 0 = 0
+-5 x 6 = -30
+5 x -1 = -5
+-9 x -4 = 36
+-9 x -6 = 54
+-8 x -7 = 56
+4 x 2 = 8
+-5 x -3 = 15
+6 x 4 = 24
+2 x -10 = -20
+-9 x 1 = -9
+-10 x 4 = -40
+4 x 10 = 40
+-9 x 7 = -63
+-1 x -10 = 10
+-7 x 7 = -49
+-1 x -9 = 9
+-2 x 9 = -18
+9 x 1 = 9
+-7 x -7 = 49
+5 x 2 = 10
+-9 x 8 = -72
+-5 x -9 = 45
+-6 x -10 = 60
+9 x -8 = -72
+9 x -8 = -72
+7 x -9 = -63
+2 x 4 = 8
+-10 x -7 = 70
+-3 x 2 = -6
+5 x -4 = -20
+0 x 0 = 0
+-7 x 0 = 0
+3 x -9 = -27
+-5 x -3 = 15
+9 x 9 = 81
+-4 x -7 = 28
+-8 x -8 = 64
+7 x 1 = 7
+3 x -6 = -18
+0 x 10 = 0
+3 x 2 = 6
+-7 x 3 = -21
+-6 x 6 = -36
+-8 x 9 = -72
+9 x 6 = 54
+2 x 3 = 6
+1 x 5 = 5
+2 x -1 = -2
+-2 x 7 = -14
+-6 x -9 = 54
+5 x 3 = 15
+-8 x 1 = -8
+-10 x -8 = 80
+-1 x 1 = -1
+-3 x -9 = 27
+-4 x 4 = -16
+1 x 4 = 4
+4 x -6 = -24
+0 x -7 = 0
+7 x 4 = 28
+8 x -1 = -8
+6 x -8 = -48
+0 x 1 = 0
+-10 x -1 = 10
+-8 x 2 = -16
+-9 x -8 = 72
+-2 x 6 = -12
+-7 x -6 = 42
+-7 x 8 = -56
+-8 x 7 = -56
+-6 x 2 = -12
+3 x 6 = 18
+-8 x -7 = 56
+10 x -10 = -100
+0 x 9 = 0
+3 x -8 = -24
+1 x 5 = 5
+5 x 0 = 0
+0 x -4 = 0
+-1 x 5 = -5
+-1 x -9 = 9
+1 x 4 = 4
+0 x 6 = 0
+0 x 10 = 0
+-6 x -9 = 54
+-3 x 3 = -9
+-1 x 0 = 0
+7 x -6 = -42
+4 x 9 = 36
+8 x 4 = 32
+-2 x -8 = 16
+-4 x 5 = -20
+5 x 5 = 25
+-1 x -9 = 9
+-2 x -10 = 20
+-4 x -1 = 4
+-9 x -9 = 81
+-1 x 7 = -7
+-9 x 1 = -9
+7 x 6 = 42
+5 x -3 = -15
+4 x -7 = -28
+8 x 6 = 48
+7 x 4 = 28
+-4 x 0 = 0
+9 x -4 = -36
+5 x -4 = -20
+-5 x 4 = -20
+-5 x 6 = -30
+-5 x 8 = -40
+1 x 10 = 10
+6 x -6 = -36
+-9 x -7 = 63
+-3 x -4 = 12
+-6 x 8 = -48
+9 x -7 = -63
+5 x -8 = -40
+6 x 1 = 6
+-7 x -10 = 70
+9 x -4 = -36
+-9 x 4 = -36
+-8 x 2 = -16
+-3 x -7 = 21
+10 x 6 = 60
+-4 x 1 = -4
+-10 x -5 = 50
+5 x 7 = 35
+7 x -7 = -49
+9 x 4 = 36
+2 x -9 = -18
+10 x 9 = 90
+5 x 7 = 35
+8 x -3 = -24
+-8 x 8 = -64
+-3 x -8 = 24
+4 x -8 = -32
+-8 x -6 = 48
+-1 x -4 = 4
+8 x -5 = -40
+4 x -1 = -4
+-6 x 9 = -54
+-9 x -6 = 54
+4 x 7 = 28
+1 x 8 = 8
+-7 x 2 = -14
+5 x -4 = -20
+-6 x -6 = 36
+2 x 2 = 4
+0 x 6 = 0
+6 x -9 = -54
+-6 x -9 = 54
+8 x -3 = -24
+-2 x 9 = -18
+8 x 3 = 24
+-5 x 9 = -45
+0 x -9 = 0
+8 x 2 = 16
+-5 x -4 = 20
+-2 x 0 = 0
+-6 x 7 = -42
+-3 x 4 = -12
+0 x 8 = 0
+3 x -2 = -6
+1 x -8 = -8
+-5 x 0 = 0
+-7 x 4 = -28
+-1 x 10 = -10
+-9 x 7 = -63
+8 x 6 = 48
+3 x 2 = 6
+4 x 4 = 16
+-9 x -1 = 9
+-1 x -10 = 10
+-6 x -2 = 12
+-10 x 1 = -10
+-10 x 0 = 0
+-8 x 2 = -16
+6 x -6 = -36
+-7 x 9 = -63
+5 x -5 = -25
+5 x -4 = -20
+4 x -3 = -12
+5 x -1 = -5
+6 x 8 = 48
+-2 x 7 = -14
+-2 x 0 = 0
+-1 x 2 = -2
+-2 x -1 = 2
+-1 x -4 = 4
+2 x 8 = 16
+-1 x 6 = -6
+-1 x 0 = 0
+9 x 3 = 27
+5 x 7 = 35
+3 x 6 = 18
+-4 x -6 = 24
+10 x -9 = -90
+-3 x -6 = 18
+0 x 3 = 0
+-1 x -1 = 1
+-3 x 4 = -12
+-6 x -5 = 30
+-4 x 4 = -16
+1 x 3 = 3
+4 x -7 = -28
+-2 x -10 = 20
+9 x 9 = 81
+1 x -7 = -7
+-1 x 10 = -10
+9 x -3 = -27
+-2 x 5 = -10
+-10 x -7 = 70
+-3 x 7 = -21
+-5 x -3 = 15
+-9 x -4 = 36
+-4 x 3 = -12
+6 x -9 = -54
+5 x -8 = -40
+1 x -5 = -5
+-10 x -2 = 20
+-7 x 4 = -28
+7 x -2 = -14
+3 x 10 = 30
+-8 x 8 = -64
+3 x 2 = 6
+-10 x 3 = -30
+-10 x 4 = -40
+-3 x -1 = 3
+-3 x 7 = -21
+-5 x 3 = -15
+3 x 7 = 21
+-6 x 9 = -54
+-9 x 7 = -63
+0 x 4 = 0
+-5 x -2 = 10
+7 x -4 = -28
+3 x 3 = 9
+-8 x -1 = 8
+3 x -4 = -12
+7 x 2 = 14
+-8 x -6 = 48
+6 x -1 = -6
+-3 x 0 = 0
+2 x -1 = -2
+5 x 3 = 15
+-7 x 4 = -28
+2 x 9 = 18
+8 x 9 = 72
+9 x -5 = -45
+6 x -2 = -12
+-6 x 3 = -18
+3 x 6 = 18
+1 x -7 = -7
+-9 x -1 = 9
+3 x 10 = 30
+3 x 1 = 3
+-6 x -4 = 24
+-4 x 6 = -24
+0 x -6 = 0
+-9 x -4 = 36
+8 x 3 = 24
+2 x -2 = -4
+-6 x 5 = -30
+-6 x -7 = 42
+5 x -7 = -35
+0 x 9 = 0
+-9 x -4 = 36
+1 x 2 = 2
+2 x 8 = 16
+4 x 2 = 8
+-2 x 3 = -6
+3 x -4 = -12
+7 x 10 = 70
+8 x 9 = 72
+9 x -7 = -63
+5 x -2 = -10
+-8 x 0 = 0
+8 x -1 = -8
+0 x -2 = 0
+-3 x 5 = -15
+-4 x 6 = -24
+-3 x 3 = -9
+2 x 10 = 20
+-9 x 1 = -9
+-3 x 7 = -21
+-10 x -7 = 70
+-4 x 0 = 0
+-6 x 1 = -6
+0 x -2 = 0
+-3 x -10 = 30
+-5 x 5 = -25
+10 x -2 = -20
+4 x 8 = 32
+6 x -4 = -24
+1 x 9 = 9
+-2 x 8 = -16
+-6 x -4 = 24
+2 x -3 = -6
+-4 x 0 = 0
+4 x -1 = -4
+8 x 2 = 16
+2 x 0 = 0
+3 x -1 = -3
+-10 x 8 = -80
+10 x -7 = -70
+-4 x 8 = -32
+0 x 3 = 0
+9 x -8 = -72
+10 x -5 = -50
+-3 x 5 = -15
+1 x -4 = -4
+-7 x 4 = -28
+1 x 8 = 8
+10 x -2 = -20
+-7 x -10 = 70
+-3 x -5 = 15
+9 x 4 = 36
+-7 x 4 = -28
+4 x 9 = 36
+0 x -10 = 0
+-5 x 0 = 0
+0 x -2 = 0
+6 x 9 = 54
+3 x 7 = 21
+3 x 7 = 21
+6 x 4 = 24
+7 x -1 = -7
+-8 x -8 = 64
+-8 x -2 = 16
+-10 x 3 = -30
+-2 x 9 = -18
+8 x -5 = -40
+0 x -9 = 0
+-9 x -10 = 90
+6 x 10 = 60
+-3 x 6 = -18
+5 x 7 = 35
+-4 x 0 = 0
+-6 x 3 = -18
+-1 x 9 = -9
+0 x 1 = 0
+8 x 10 = 80
+-4 x -3 = 12
+-4 x 1 = -4
+8 x 3 = 24
+-8 x -7 = 56
+-5 x -3 = 15
+-7 x 7 = -49
+-2 x 5 = -10
+6 x 3 = 18
+3 x -6 = -18
+4 x -6 = -24
+4 x 8 = 32
+5 x -2 = -10
+-9 x 8 = -72
+-5 x 5 = -25
+0 x 6 = 0
+-10 x -9 = 90
+-7 x 6 = -42
+8 x 6 = 48
+4 x -7 = -28
+-1 x -1 = 1
+-6 x -9 = 54
+2 x -1 = -2
+0 x 1 = 0
+7 x 2 = 14
+9 x 8 = 72
+5 x 0 = 0
+3 x 10 = 30
+5 x -9 = -45
+-9 x -1 = 9
+-7 x 7 = -49
+8 x 6 = 48
+4 x 10 = 40
+-7 x -7 = 49
+5 x 2 = 10
+9 x -5 = -45
+-3 x 7 = -21
+1 x -7 = -7
+7 x 1 = 7
+2 x 4 = 8
+7 x -2 = -14
+6 x -1 = -6
+-6 x 5 = -30
+10 x -8 = -80
+2 x 6 = 12
+3 x 3 = 9
+8 x -2 = -16
+-6 x 1 = -6
+4 x 4 = 16
+-3 x 3 = -9
+-1 x 8 = -8
+-5 x 1 = -5
+9 x 4 = 36
+4 x 8 = 32
+5 x -8 = -40
+4 x 2 = 8
+4 x 0 = 0
+-2 x 3 = -6
+8 x -5 = -40
+-2 x 0 = 0
+1 x 10 = 10
+-9 x 1 = -9
+5 x -4 = -20
+9 x 3 = 27
+2 x -1 = -2
+7 x 0 = 0
+4 x 10 = 40
+-6 x 7 = -42
+-9 x 9 = -81
+4 x 5 = 20
+9 x -9 = -81
+-2 x -1 = 2
+6 x 2 = 12
+0 x 8 = 0
+-8 x -2 = 16
+2 x 4 = 8
+3 x -6 = -18
+8 x 6 = 48
+2 x -1 = -2
+2 x 1 = 2
+-4 x 2 = -8
+-10 x 1 = -10
+-6 x -6 = 36
+-1 x -1 = 1
+3 x 6 = 18
+7 x 0 = 0
+-9 x 7 = -63
+5 x 8 = 40
+-5 x -1 = 5
+8 x 0 = 0
+-9 x -3 = 27
+-9 x -2 = 18
+0 x 8 = 0
+3 x 5 = 15
+-2 x -7 = 14
+10 x -1 = -10
+-1 x 4 = -4
+-5 x -1 = 5
+-5 x -2 = 10
+-9 x -3 = 27
+1 x 3 = 3
+3 x 2 = 6
+4 x 6 = 24
+9 x 9 = 81
+-7 x -6 = 42
+-1 x -2 = 2
+-4 x -4 = 16
+-3 x -6 = 18
+4 x -7 = -28
+-1 x 4 = -4
+5 x -8 = -40
+3 x 6 = 18
+-9 x -4 = 36
+1 x 4 = 4
+10 x 1 = 10
+-6 x 3 = -18
+0 x 0 = 0
+-7 x 3 = -21
+0 x 2 = 0
+-5 x 3 = -15
+10 x -3 = -30
+1 x -9 = -9
+-6 x 10 = -60
+-8 x -9 = 72
+5 x -5 = -25
+-4 x -1 = 4
+2 x 4 = 8
+8 x 0 = 0
+-8 x -4 = 32
+3 x -4 = -12
+-6 x 4 = -24
+7 x -8 = -56
+2 x -2 = -4
+9 x -5 = -45
+0 x 5 = 0
+8 x 4 = 32
+-4 x -6 = 24
+4 x 5 = 20
+10 x -4 = -40
+-1 x -2 = 2
+7 x -1 = -7
+-10 x -6 = 60
+-1 x -9 = 9
+4 x 4 = 16
+-10 x -7 = 70
+7 x -5 = -35
+7 x -5 = -35
+4 x 6 = 24
+-8 x 2 = -16
+-6 x 1 = -6
+-8 x 1 = -8
+6 x 3 = 18
+4 x -3 = -12
+1 x -6 = -6
+2 x 1 = 2
+9 x 3 = 27
+-1 x -6 = 6
+-2 x -2 = 4
+0 x -6 = 0
+-3 x -5 = 15
+3 x -7 = -21
+10 x 10 = 100
+7 x 5 = 35
+7 x -2 = -14
+5 x -1 = -5
+8 x 6 = 48
+2 x 3 = 6
+9 x 6 = 54
+-10 x -2 = 20
+-4 x -3 = 12
+10 x 6 = 60
+1 x 3 = 3
+-8 x -8 = 64
+-10 x 5 = -50
+-3 x 8 = -24
+-6 x -4 = 24
+-10 x 4 = -40
+5 x 7 = 35
+7 x -1 = -7
+-1 x -9 = 9
+-9 x 0 = 0
+1 x -9 = -9
+-2 x -9 = 18
+-6 x 1 = -6
+-6 x -5 = 30
+2 x 4 = 8
+7 x 4 = 28
+-9 x 4 = -36
+0 x -6 = 0
+1 x 0 = 0
+0 x -3 = 0
+2 x -8 = -16
+-10 x -9 = 90
+-10 x 0 = 0
+-2 x -8 = 16
+-8 x 6 = -48
+-1 x 5 = -5
+-8 x 8 = -64
+-4 x 7 = -28
+-4 x -3 = 12
+2 x 2 = 4
+-3 x -1 = 3
+-3 x 3 = -9
+1 x -3 = -3
+4 x -8 = -32
+2 x -4 = -8
+-2 x 1 = -2
+-4 x -5 = 20
+2 x -7 = -14
+-2 x 10 = -20
+-2 x 1 = -2
+-7 x 6 = -42
+-4 x 7 = -28
+5 x -1 = -5
+-6 x -6 = 36
+-2 x 9 = -18
+3 x 2 = 6
+8 x 7 = 56
+-5 x 5 = -25
+3 x 5 = 15
+-10 x 0 = 0
+-5 x -8 = 40
+3 x -10 = -30
+-6 x -7 = 42
+6 x -6 = -36
+3 x -10 = -30
+-6 x -2 = 12
+8 x 9 = 72
+8 x 3 = 24
+2 x 9 = 18
+1 x -5 = -5
+-9 x -4 = 36
+-7 x 2 = -14
+8 x -2 = -16
+8 x 0 = 0
+6 x 8 = 48
+-7 x -5 = 35
+8 x -5 = -40
+-4 x 5 = -20
+4 x 0 = 0
+5 x 3 = 15
+5 x 0 = 0
+-5 x -2 = 10
+-1 x -4 = 4
+2 x -6 = -12
+0 x -4 = 0
+-7 x 8 = -56
+0 x -4 = 0
+-7 x 8 = -56
+2 x 0 = 0
+-8 x -7 = 56
+-8 x -9 = 72
+-7 x 4 = -28
+1 x 0 = 0
+3 x 10 = 30
+7 x -6 = -42
+3 x -3 = -9
+10 x -4 = -40
+5 x 9 = 45
+-9 x 9 = -81
+-8 x -8 = 64
+2 x 1 = 2
+-10 x -3 = 30
+-4 x 5 = -20
+-8 x 5 = -40
+4 x 3 = 12
+8 x -3 = -24
+3 x -6 = -18
+5 x -4 = -20
+-2 x 9 = -18
+1 x -9 = -9
+-8 x 1 = -8
+5 x 1 = 5
+6 x 8 = 48
+3 x -3 = -9
+1 x -1 = -1
+-3 x -6 = 18
+1 x -3 = -3
+3 x 2 = 6
+-9 x 8 = -72
+-4 x -8 = 32
+-6 x 4 = -24
+0 x 9 = 0
+-2 x -7 = 14
+-9 x 6 = -54
+6 x 1 = 6
+3 x 7 = 21
+-9 x 7 = -63
+-1 x 5 = -5
+-9 x 7 = -63
+-6 x 3 = -18
+-4 x -10 = 40
+-9 x -7 = 63
+6 x 6 = 36
+-7 x 3 = -21
+7 x 5 = 35
+-5 x -2 = 10
+-3 x 1 = -3
+-2 x -10 = 20
+3 x -7 = -21
+7 x -5 = -35
+5 x 1 = 5
+5 x -2 = -10
+-5 x 0 = 0
+-6 x 7 = -42
+5 x 2 = 10
+-4 x -10 = 40
+4 x 4 = 16
+0 x 3 = 0
+-1 x 3 = -3
+5 x 0 = 0
+0 x -9 = 0
+4 x 1 = 4
diff --git a/data/question_files/arithmetic/multiplication_p0_-100-100.dat b/data/question_files/arithmetic/multiplication_p0_-100-100.dat
new file mode 100644
index 0000000..cb5686a
--- /dev/null
+++ b/data/question_files/arithmetic/multiplication_p0_-100-100.dat
@@ -0,0 +1,1000 @@
+-1 x -80 = 80
+-54 x 17 = -918
+7 x -78 = -546
+92 x 94 = 8648
+98 x 74 = 7252
+99 x -92 = -9108
+-62 x 98 = -6076
+33 x -95 = -3135
+-41 x -90 = 3690
+-76 x 75 = -5700
+-55 x -14 = 770
+-76 x 93 = -7068
+99 x 37 = 3663
+-87 x -61 = 5307
+24 x 11 = 264
+84 x -83 = -6972
+-21 x 35 = -735
+28 x 20 = 560
+-71 x 20 = -1420
+-30 x -10 = 300
+-45 x 18 = -810
+78 x 84 = 6552
+32 x -88 = -2816
+-4 x 11 = -44
+87 x 36 = 3132
+0 x -90 = 0
+-56 x -14 = 784
+56 x 59 = 3304
+72 x 83 = 5976
+-70 x 26 = -1820
+-44 x -48 = 2112
+-17 x 38 = -646
+-90 x 64 = -5760
+-65 x -33 = 2145
+34 x -21 = -714
+-77 x -97 = 7469
+-58 x -76 = 4408
+86 x -30 = -2580
+-33 x 20 = -660
+-40 x 9 = -360
+14 x -59 = -826
+-95 x 88 = -8360
+-5 x 30 = -150
+41 x 14 = 574
+64 x 29 = 1856
+38 x 47 = 1786
+-92 x -66 = 6072
+-74 x -53 = 3922
+37 x 87 = 3219
+-55 x 86 = -4730
+50 x 93 = 4650
+95 x -95 = -9025
+-34 x -24 = 816
+-63 x -33 = 2079
+-82 x 74 = -6068
+29 x -66 = -1914
+-29 x -21 = 609
+19 x 76 = 1444
+-89 x -79 = 7031
+15 x -75 = -1125
+-50 x -16 = 800
+-77 x -33 = 2541
+38 x 67 = 2546
+54 x 29 = 1566
+-1 x 0 = 0
+43 x 74 = 3182
+29 x -63 = -1827
+-90 x 29 = -2610
+73 x 6 = 438
+90 x 12 = 1080
+-74 x -50 = 3700
+30 x 18 = 540
+-59 x -22 = 1298
+-4 x -51 = 204
+94 x 80 = 7520
+-77 x 92 = -7084
+-57 x 56 = -3192
+-17 x 93 = -1581
+31 x -12 = -372
+95 x -65 = -6175
+-1 x -91 = 91
+-42 x 80 = -3360
+90 x 75 = 6750
+72 x -75 = -5400
+69 x 44 = 3036
+-98 x 39 = -3822
+-48 x 30 = -1440
+96 x 64 = 6144
+82 x -12 = -984
+-21 x 74 = -1554
+99 x 72 = 7128
+-70 x 37 = -2590
+9 x 78 = 702
+-55 x 9 = -495
+50 x -86 = -4300
+59 x -60 = -3540
+43 x -17 = -731
+36 x 25 = 900
+-97 x -46 = 4462
+40 x 99 = 3960
+43 x 77 = 3311
+12 x 46 = 552
+-87 x -49 = 4263
+-82 x 27 = -2214
+-52 x 56 = -2912
+68 x -55 = -3740
+-27 x -77 = 2079
+-85 x -64 = 5440
+82 x 51 = 4182
+-8 x -4 = 32
+-41 x 31 = -1271
+51 x -6 = -306
+-7 x 24 = -168
+-3 x 78 = -234
+-54 x 52 = -2808
+-9 x 76 = -684
+66 x 83 = 5478
+-24 x -39 = 936
+-90 x -6 = 540
+24 x 13 = 312
+-92 x 95 = -8740
+-23 x -6 = 138
+43 x -43 = -1849
+82 x -82 = -6724
+-51 x -26 = 1326
+11 x 15 = 165
+-59 x -33 = 1947
+16 x 98 = 1568
+-42 x -8 = 336
+96 x 58 = 5568
+50 x -26 = -1300
+43 x 56 = 2408
+-20 x 30 = -600
+-72 x -58 = 4176
+59 x 13 = 767
+97 x 58 = 5626
+93 x 31 = 2883
+-21 x -99 = 2079
+54 x 74 = 3996
+-8 x -88 = 704
+-13 x -76 = 988
+42 x -93 = -3906
+-80 x 16 = -1280
+-30 x 5 = -150
+42 x -74 = -3108
+-95 x -51 = 4845
+80 x -42 = -3360
+62 x -89 = -5518
+-13 x 15 = -195
+78 x -95 = -7410
+-38 x 74 = -2812
+50 x -95 = -4750
+11 x 86 = 946
+62 x 2 = 124
+87 x 33 = 2871
+-82 x -45 = 3690
+-28 x -67 = 1876
+-81 x 75 = -6075
+49 x -61 = -2989
+-21 x -47 = 987
+-22 x 97 = -2134
+18 x 48 = 864
+-77 x 17 = -1309
+-54 x -72 = 3888
+87 x 0 = 0
+13 x 34 = 442
+-76 x -15 = 1140
+94 x -92 = -8648
+95 x -72 = -6840
+67 x -37 = -2479
+13 x 47 = 611
+-15 x -77 = 1155
+83 x -47 = -3901
+-89 x 54 = -4806
+86 x -96 = -8256
+-42 x 67 = -2814
+92 x -21 = -1932
+44 x -48 = -2112
+-62 x 57 = -3534
+-3 x -25 = 75
+-42 x 50 = -2100
+-24 x 30 = -720
+44 x 25 = 1100
+-25 x 54 = -1350
+44 x -59 = -2596
+-12 x 79 = -948
+53 x 98 = 5194
+-50 x -75 = 3750
+74 x -85 = -6290
+-32 x 92 = -2944
+90 x 85 = 7650
+-22 x -55 = 1210
+81 x -94 = -7614
+45 x 8 = 360
+98 x -94 = -9212
+50 x 91 = 4550
+40 x 53 = 2120
+-25 x 42 = -1050
+0 x -45 = 0
+97 x -60 = -5820
+-80 x 16 = -1280
+83 x -81 = -6723
+92 x -48 = -4416
+-36 x 1 = -36
+65 x -6 = -390
+-18 x -37 = 666
+-43 x -6 = 258
+-98 x 16 = -1568
+-84 x -17 = 1428
+81 x 0 = 0
+-59 x -49 = 2891
+41 x -9 = -369
+-89 x -15 = 1335
+10 x -67 = -670
+-56 x 90 = -5040
+21 x 2 = 42
+-43 x 33 = -1419
+-10 x 45 = -450
+57 x -26 = -1482
+72 x 1 = 72
+3 x -19 = -57
+30 x 30 = 900
+97 x 24 = 2328
+36 x -24 = -864
+-56 x 57 = -3192
+-95 x 17 = -1615
+61 x -93 = -5673
+-23 x -6 = 138
+-25 x 27 = -675
+-46 x -35 = 1610
+-46 x -33 = 1518
+69 x -63 = -4347
+53 x -51 = -2703
+-48 x -67 = 3216
+-15 x 76 = -1140
+-97 x 9 = -873
+-82 x 55 = -4510
+-13 x 10 = -130
+88 x -22 = -1936
+-71 x 7 = -497
+-16 x 89 = -1424
+29 x 36 = 1044
+-23 x -61 = 1403
+-95 x 66 = -6270
+73 x 2 = 146
+-74 x 67 = -4958
+-73 x 42 = -3066
+86 x -32 = -2752
+-53 x 38 = -2014
+51 x -97 = -4947
+83 x 87 = 7221
+5 x -19 = -95
+-12 x 93 = -1116
+-74 x 20 = -1480
+-16 x -36 = 576
+7 x 29 = 203
+15 x -90 = -1350
+24 x -90 = -2160
+-83 x 72 = -5976
+14 x 90 = 1260
+-89 x -53 = 4717
+52 x 4 = 208
+-60 x 33 = -1980
+13 x -78 = -1014
+-1 x -38 = 38
+-89 x -51 = 4539
+-7 x 80 = -560
+22 x 90 = 1980
+84 x -66 = -5544
+-69 x -94 = 6486
+-65 x 42 = -2730
+52 x -37 = -1924
+-84 x 27 = -2268
+84 x -68 = -5712
+43 x -22 = -946
+14 x -68 = -952
+86 x -21 = -1806
+38 x -25 = -950
+-42 x -64 = 2688
+-59 x -66 = 3894
+-57 x 38 = -2166
+20 x -18 = -360
+-51 x 2 = -102
+-98 x -66 = 6468
+77 x -51 = -3927
+-75 x -96 = 7200
+-58 x -1 = 58
+69 x -87 = -6003
+-87 x 24 = -2088
+0 x -75 = 0
+28 x 0 = 0
+-31 x 35 = -1085
+-63 x -77 = 4851
+-44 x -53 = 2332
+-47 x 20 = -940
+-27 x -32 = 864
+-45 x -72 = 3240
+38 x -22 = -836
+90 x 27 = 2430
+-39 x 52 = -2028
+81 x 85 = 6885
+61 x -65 = -3965
+-4 x 30 = -120
+37 x -51 = -1887
+25 x 0 = 0
+-83 x -47 = 3901
+10 x 40 = 400
+78 x -71 = -5538
+94 x -68 = -6392
+46 x -11 = -506
+-47 x -67 = 3149
+49 x 11 = 539
+49 x -45 = -2205
+-15 x -58 = 870
+-43 x 15 = -645
+91 x 55 = 5005
+-19 x -56 = 1064
+22 x -50 = -1100
+1 x -51 = -51
+16 x -98 = -1568
+-57 x 48 = -2736
+-83 x 31 = -2573
+98 x -56 = -5488
+-10 x -43 = 430
+-46 x 12 = -552
+-28 x 56 = -1568
+-9 x 53 = -477
+16 x -79 = -1264
+-31 x 38 = -1178
+86 x -34 = -2924
+-8 x 8 = -64
+-57 x 48 = -2736
+-4 x 51 = -204
+30 x -58 = -1740
+2 x -11 = -22
+52 x 14 = 728
+46 x 87 = 4002
+46 x -41 = -1886
+79 x -88 = -6952
+-10 x 28 = -280
+66 x 68 = 4488
+-29 x 33 = -957
+-1 x 56 = -56
+28 x 28 = 784
+-42 x -93 = 3906
+21 x 74 = 1554
+42 x 73 = 3066
+4 x -5 = -20
+95 x 74 = 7030
+-49 x 56 = -2744
+-78 x 29 = -2262
+-33 x -84 = 2772
+-32 x -46 = 1472
+-92 x 80 = -7360
+-47 x -72 = 3384
+-75 x 94 = -7050
+-16 x 8 = -128
+32 x -53 = -1696
+95 x 59 = 5605
+18 x 9 = 162
+-13 x -9 = 117
+-70 x -38 = 2660
+49 x -54 = -2646
+8 x -11 = -88
+93 x -13 = -1209
+61 x 71 = 4331
+7 x -23 = -161
+86 x 78 = 6708
+29 x -35 = -1015
+-80 x -70 = 5600
+87 x 24 = 2088
+64 x 1 = 64
+44 x -1 = -44
+-5 x -63 = 315
+-19 x -78 = 1482
+-42 x -17 = 714
+-70 x -61 = 4270
+54 x -52 = -2808
+82 x 88 = 7216
+6 x -69 = -414
+5 x -98 = -490
+8 x 81 = 648
+56 x -73 = -4088
+25 x 91 = 2275
+28 x 8 = 224
+47 x 43 = 2021
+-11 x -4 = 44
+24 x -70 = -1680
+-15 x 96 = -1440
+91 x -35 = -3185
+-96 x -100 = 9600
+-34 x -74 = 2516
+-57 x 10 = -570
+97 x 88 = 8536
+-34 x 38 = -1292
+-35 x -53 = 1855
+-71 x 2 = -142
+-82 x -72 = 5904
+13 x 11 = 143
+-80 x -66 = 5280
+57 x 25 = 1425
+45 x 54 = 2430
+26 x -58 = -1508
+72 x 90 = 6480
+-76 x 9 = -684
+-5 x 39 = -195
+-63 x 25 = -1575
+49 x 85 = 4165
+76 x -8 = -608
+19 x 86 = 1634
+-4 x 69 = -276
+91 x 10 = 910
+77 x 60 = 4620
+-37 x -74 = 2738
+14 x -63 = -882
+-19 x -72 = 1368
+60 x -61 = -3660
+40 x 26 = 1040
+-98 x 47 = -4606
+64 x -10 = -640
+-1 x -60 = 60
+87 x 33 = 2871
+-46 x -36 = 1656
+9 x 69 = 621
+25 x -53 = -1325
+59 x -73 = -4307
+58 x 88 = 5104
+-45 x -37 = 1665
+-69 x 12 = -828
+-17 x -58 = 986
+47 x 2 = 94
+-72 x -22 = 1584
+33 x 14 = 462
+90 x 2 = 180
+55 x 19 = 1045
+-45 x -14 = 630
+10 x 52 = 520
+-39 x -67 = 2613
+-64 x 63 = -4032
+-11 x 98 = -1078
+-15 x 60 = -900
+-60 x -36 = 2160
+-59 x 80 = -4720
+-23 x 54 = -1242
+17 x 64 = 1088
+95 x 94 = 8930
+-45 x 21 = -945
+-75 x 35 = -2625
+-65 x 99 = -6435
+25 x 94 = 2350
+88 x -28 = -2464
+10 x 4 = 40
+21 x 59 = 1239
+80 x 2 = 160
+84 x -9 = -756
+-89 x -86 = 7654
+0 x 47 = 0
+11 x -68 = -748
+54 x -99 = -5346
+-30 x -41 = 1230
+16 x 71 = 1136
+-17 x 10 = -170
+-19 x -20 = 380
+-76 x -52 = 3952
+52 x -65 = -3380
+-4 x -18 = 72
+67 x 67 = 4489
+60 x 71 = 4260
+-75 x 76 = -5700
+48 x -98 = -4704
+47 x 23 = 1081
+58 x -45 = -2610
+99 x 54 = 5346
+-16 x -89 = 1424
+50 x 95 = 4750
+-63 x 15 = -945
+-41 x 43 = -1763
+28 x -53 = -1484
+-68 x 51 = -3468
+-91 x -64 = 5824
+28 x -13 = -364
+-60 x -4 = 240
+13 x -86 = -1118
+75 x 29 = 2175
+36 x 54 = 1944
+17 x 88 = 1496
+-40 x -3 = 120
+-21 x -60 = 1260
+50 x 99 = 4950
+-16 x -89 = 1424
+-40 x 84 = -3360
+55 x -6 = -330
+-71 x -15 = 1065
+-73 x -60 = 4380
+-46 x 12 = -552
+-81 x -90 = 7290
+-25 x -75 = 1875
+67 x 96 = 6432
+69 x 35 = 2415
+-44 x -28 = 1232
+55 x -3 = -165
+93 x 47 = 4371
+76 x 10 = 760
+-46 x 0 = 0
+50 x 79 = 3950
+-83 x -75 = 6225
+4 x 54 = 216
+-88 x 31 = -2728
+85 x 15 = 1275
+100 x -20 = -2000
+-13 x 0 = 0
+93 x -84 = -7812
+-27 x -40 = 1080
+39 x 73 = 2847
+10 x 95 = 950
+0 x -27 = 0
+67 x -92 = -6164
+3 x -9 = -27
+49 x -41 = -2009
+22 x -21 = -462
+-7 x -87 = 609
+81 x 80 = 6480
+-13 x 50 = -650
+2 x 41 = 82
+-47 x -97 = 4559
+94 x 64 = 6016
+71 x 86 = 6106
+85 x -45 = -3825
+1 x -73 = -73
+-98 x -76 = 7448
+-44 x -17 = 748
+-58 x 53 = -3074
+-71 x -40 = 2840
+65 x 34 = 2210
+40 x 37 = 1480
+-59 x -3 = 177
+55 x -46 = -2530
+62 x -45 = -2790
+20 x 36 = 720
+-81 x -63 = 5103
+-79 x 27 = -2133
+6 x 21 = 126
+84 x -40 = -3360
+-41 x 61 = -2501
+19 x -60 = -1140
+-65 x 6 = -390
+66 x -4 = -264
+81 x -12 = -972
+60 x -68 = -4080
+-57 x 8 = -456
+87 x -28 = -2436
+-70 x 22 = -1540
+68 x -63 = -4284
+80 x -23 = -1840
+-24 x 21 = -504
+85 x -74 = -6290
+-86 x 88 = -7568
+-67 x -74 = 4958
+17 x -42 = -714
+66 x -20 = -1320
+22 x -38 = -836
+-64 x 63 = -4032
+84 x -53 = -4452
+-32 x -25 = 800
+-21 x 95 = -1995
+59 x 15 = 885
+-69 x 27 = -1863
+97 x 15 = 1455
+-58 x -33 = 1914
+65 x -80 = -5200
+17 x -73 = -1241
+38 x -89 = -3382
+-5 x -9 = 45
+88 x -45 = -3960
+-29 x -68 = 1972
+33 x -19 = -627
+-7 x 79 = -553
+-30 x 17 = -510
+-47 x -4 = 188
+-74 x 13 = -962
+-42 x 74 = -3108
+46 x -66 = -3036
+24 x 8 = 192
+4 x -66 = -264
+-35 x -84 = 2940
+16 x -53 = -848
+96 x 77 = 7392
+-52 x -45 = 2340
+54 x -26 = -1404
+-59 x 80 = -4720
+19 x -31 = -589
+-80 x -67 = 5360
+32 x 67 = 2144
+84 x -68 = -5712
+-43 x 22 = -946
+54 x -54 = -2916
+37 x 42 = 1554
+-38 x -66 = 2508
+-50 x -54 = 2700
+-13 x 83 = -1079
+-12 x -39 = 468
+-69 x -89 = 6141
+0 x -31 = 0
+-94 x -65 = 6110
+87 x -1 = -87
+-61 x -55 = 3355
+14 x -6 = -84
+66 x -98 = -6468
+15 x -72 = -1080
+15 x -86 = -1290
+-24 x -39 = 936
+-70 x 36 = -2520
+-46 x 82 = -3772
+75 x 17 = 1275
+-62 x -25 = 1550
+-67 x 54 = -3618
+54 x 66 = 3564
+-56 x 80 = -4480
+88 x 17 = 1496
+-57 x 86 = -4902
+-74 x 83 = -6142
+54 x 52 = 2808
+74 x 79 = 5846
+12 x 94 = 1128
+-99 x -68 = 6732
+-95 x 83 = -7885
+7 x -25 = -175
+50 x 25 = 1250
+-47 x -36 = 1692
+-91 x -54 = 4914
+72 x -37 = -2664
+-19 x 94 = -1786
+33 x 38 = 1254
+43 x 21 = 903
+-12 x 68 = -816
+-27 x 74 = -1998
+66 x 1 = 66
+12 x -20 = -240
+-48 x -53 = 2544
+11 x -89 = -979
+22 x 23 = 506
+68 x -5 = -340
+-41 x 37 = -1517
+-47 x -68 = 3196
+-88 x 88 = -7744
+22 x -33 = -726
+-89 x -76 = 6764
+18 x 83 = 1494
+27 x -54 = -1458
+-12 x 43 = -516
+80 x 75 = 6000
+-59 x 6 = -354
+-44 x 57 = -2508
+64 x 12 = 768
+40 x -26 = -1040
+20 x -32 = -640
+-88 x 70 = -6160
+-35 x 93 = -3255
+22 x 1 = 22
+-30 x -44 = 1320
+-73 x 1 = -73
+47 x -67 = -3149
+85 x -36 = -3060
+42 x -73 = -3066
+-33 x -96 = 3168
+-33 x -91 = 3003
+-5 x 7 = -35
+-68 x -16 = 1088
+99 x 56 = 5544
+13 x -52 = -676
+25 x -49 = -1225
+-20 x 66 = -1320
+54 x 47 = 2538
+99 x -55 = -5445
+-48 x -59 = 2832
+91 x -20 = -1820
+82 x -64 = -5248
+27 x -45 = -1215
+52 x 35 = 1820
+86 x 39 = 3354
+-66 x 43 = -2838
+79 x -70 = -5530
+-89 x -84 = 7476
+84 x 51 = 4284
+22 x -74 = -1628
+-26 x -75 = 1950
+45 x -60 = -2700
+-26 x 47 = -1222
+95 x -38 = -3610
+-58 x -8 = 464
+33 x 45 = 1485
+-42 x 80 = -3360
+88 x 12 = 1056
+15 x -94 = -1410
+57 x 83 = 4731
+-25 x -86 = 2150
+-68 x 24 = -1632
+-6 x -14 = 84
+-81 x 93 = -7533
+-91 x 42 = -3822
+-58 x 35 = -2030
+-52 x 84 = -4368
+74 x 50 = 3700
+77 x -82 = -6314
+93 x -75 = -6975
+92 x 86 = 7912
+29 x -56 = -1624
+-12 x -69 = 828
+66 x 99 = 6534
+44 x 47 = 2068
+56 x -75 = -4200
+-51 x 48 = -2448
+-12 x 69 = -828
+54 x -7 = -378
+80 x 31 = 2480
+85 x 76 = 6460
+25 x 21 = 525
+93 x -46 = -4278
+-20 x -61 = 1220
+-75 x -32 = 2400
+71 x 33 = 2343
+-49 x 13 = -637
+-41 x -91 = 3731
+-67 x 34 = -2278
+23 x -73 = -1679
+76 x -44 = -3344
+-16 x -37 = 592
+99 x -72 = -7128
+-96 x 56 = -5376
+79 x 67 = 5293
+-46 x -40 = 1840
+-54 x 41 = -2214
+-4 x 34 = -136
+-35 x -11 = 385
+-49 x 63 = -3087
+-35 x 26 = -910
+-90 x 70 = -6300
+6 x -86 = -516
+63 x -53 = -3339
+15 x 33 = 495
+84 x 6 = 504
+79 x -78 = -6162
+-58 x -73 = 4234
+88 x -45 = -3960
+48 x -66 = -3168
+-41 x -85 = 3485
+-39 x -90 = 3510
+-44 x 33 = -1452
+-79 x 38 = -3002
+76 x -52 = -3952
+49 x 55 = 2695
+86 x -48 = -4128
+-46 x 83 = -3818
+70 x 33 = 2310
+55 x 53 = 2915
+-39 x -77 = 3003
+10 x -87 = -870
+23 x -92 = -2116
+-35 x -41 = 1435
+-68 x -83 = 5644
+-97 x -26 = 2522
+25 x 79 = 1975
+62 x -29 = -1798
+-70 x 48 = -3360
+-49 x 5 = -245
+-10 x 47 = -470
+12 x 33 = 396
+-47 x 81 = -3807
+-15 x -94 = 1410
+87 x 26 = 2262
+49 x -31 = -1519
+-43 x -15 = 645
+-35 x 56 = -1960
+-72 x -13 = 936
+-68 x 77 = -5236
+23 x 75 = 1725
+-20 x -1 = 20
+97 x 15 = 1455
+-55 x -67 = 3685
+71 x -43 = -3053
+38 x 83 = 3154
+-14 x -22 = 308
+35 x 13 = 455
+-65 x 3 = -195
+-30 x 1 = -30
+-37 x -51 = 1887
+15 x -77 = -1155
+75 x 59 = 4425
+-69 x -6 = 414
+72 x -28 = -2016
+68 x -14 = -952
+73 x -49 = -3577
+-6 x -99 = 594
+97 x 25 = 2425
+72 x -90 = -6480
+48 x 19 = 912
+64 x 49 = 3136
+22 x -69 = -1518
+79 x 76 = 6004
+80 x 76 = 6080
+51 x -13 = -663
+26 x -39 = -1014
+92 x 15 = 1380
+83 x -1 = -83
+94 x 65 = 6110
+-16 x 35 = -560
+-88 x 64 = -5632
+-44 x -32 = 1408
+95 x -69 = -6555
+-100 x 93 = -9300
+60 x 93 = 5580
+78 x -18 = -1404
+50 x -91 = -4550
+-83 x 63 = -5229
+34 x 57 = 1938
+65 x 27 = 1755
+68 x -70 = -4760
+76 x 96 = 7296
+-2 x -93 = 186
+95 x 92 = 8740
+-27 x -16 = 432
+81 x 47 = 3807
+72 x -25 = -1800
+12 x -48 = -576
+-37 x 54 = -1998
+11 x 98 = 1078
+-48 x -48 = 2304
+-69 x 36 = -2484
+27 x 10 = 270
+19 x -94 = -1786
+-55 x 36 = -1980
+-13 x 59 = -767
+14 x 84 = 1176
+-53 x 82 = -4346
+-1 x -15 = 15
+7 x -28 = -196
+8 x 11 = 88
+-86 x 22 = -1892
+-26 x -98 = 2548
+90 x 34 = 3060
+44 x 43 = 1892
+-12 x 17 = -204
+31 x 17 = 527
+-6 x -27 = 162
+-18 x 35 = -630
+42 x -93 = -3906
+63 x -59 = -3717
+-10 x 62 = -620
+-35 x -33 = 1155
+-62 x 91 = -5642
+74 x 96 = 7104
+24 x -25 = -600
+-47 x 7 = -329
+59 x -60 = -3540
+57 x 79 = 4503
+31 x 9 = 279
+-20 x -39 = 780
+-7 x -61 = 427
+45 x 56 = 2520
+94 x 50 = 4700
+66 x 74 = 4884
+-39 x -63 = 2457
+94 x 42 = 3948
+-27 x -20 = 540
+-98 x -44 = 4312
+-65 x -39 = 2535
+-59 x -15 = 885
+83 x 76 = 6308
+-16 x 1 = -16
+23 x -26 = -598
+29 x 65 = 1885
+79 x 67 = 5293
+85 x 91 = 7735
+29 x 2 = 58
+8 x -49 = -392
+5 x 26 = 130
+25 x -43 = -1075
+-88 x 97 = -8536
+-36 x 31 = -1116
+31 x -75 = -2325
+-41 x -94 = 3854
+65 x -13 = -845
+24 x 94 = 2256
+4 x 38 = 152
+30 x -50 = -1500
+-77 x -12 = 924
+43 x -32 = -1376
+63 x -55 = -3465
+-92 x 96 = -8832
+-67 x 16 = -1072
+99 x 92 = 9108
+0 x -42 = 0
+-62 x -31 = 1922
+-59 x -95 = 5605
+92 x 76 = 6992
+47 x 84 = 3948
+75 x 70 = 5250
+2 x 87 = 174
+-40 x 9 = -360
+40 x -99 = -3960
+48 x 24 = 1152
+21 x 57 = 1197
+46 x -94 = -4324
+87 x 21 = 1827
+-24 x 54 = -1296
+90 x 70 = 6300
+48 x -87 = -4176
+-12 x -16 = 192
+-51 x -58 = 2958
+7 x -10 = -70
+-14 x -9 = 126
+98 x 87 = 8526
+-11 x -51 = 561
+-30 x -16 = 480
+35 x -46 = -1610
+-67 x -88 = 5896
+61 x 76 = 4636
+57 x 100 = 5700
+1 x 64 = 64
+-75 x 26 = -1950
+-61 x -18 = 1098
+85 x 93 = 7905
+3 x 0 = 0
+-2 x -74 = 148
+70 x -28 = -1960
+-74 x -92 = 6808
+16 x 57 = 912
+91 x -42 = -3822
+-57 x 80 = -4560
+43 x -94 = -4042
+24 x 9 = 216
+-4 x -80 = 320
+-32 x -70 = 2240
+81 x -26 = -2106
+90 x 80 = 7200
+31 x -23 = -713
+21 x 17 = 357
+-68 x -7 = 476
+22 x -17 = -374
+68 x -3 = -204
+3 x 84 = 252
+-62 x 30 = -1860
+-7 x 56 = -392
+52 x -11 = -572
+-27 x 69 = -1863
+82 x -21 = -1722
+10 x 68 = 680
+75 x 43 = 3225
+11 x -4 = -44
+13 x -5 = -65
+-82 x -41 = 3362
+16 x -85 = -1360
+36 x -66 = -2376
+24 x 68 = 1632
+53 x -72 = -3816
+-80 x -12 = 960
+77 x 33 = 2541
+-29 x 45 = -1305
+6 x 33 = 198
+63 x 30 = 1890
+-21 x -92 = 1932
+-40 x 85 = -3400
+-30 x 48 = -1440
+-49 x -22 = 1078
+-81 x 92 = -7452
+19 x 40 = 760
+-2 x -41 = 82
+42 x -63 = -2646
+67 x 3 = 201
+77 x -1 = -77
+-14 x 70 = -980
+95 x 21 = 1995
+30 x 49 = 1470
+12 x 27 = 324
+-17 x -83 = 1411
+80 x 15 = 1200
+-51 x 97 = -4947
+-72 x -4 = 288
+-38 x -93 = 3534
+-33 x 14 = -462
+98 x -5 = -490
+-54 x 77 = -4158
+45 x 14 = 630
+-74 x -5 = 370
+-66 x -66 = 4356
+-38 x 99 = -3762
+-72 x 76 = -5472
+83 x -41 = -3403
+81 x -34 = -2754
+-21 x -27 = 567
+28 x -77 = -2156
+83 x -65 = -5395
+56 x 90 = 5040
+40 x 69 = 2760
+81 x -93 = -7533
+67 x -8 = -536
+61 x 15 = 915
+-91 x 99 = -9009
+-98 x 41 = -4018
+-76 x -1 = 76
diff --git a/data/question_files/arithmetic/multiplication_p0_0-10.dat b/data/question_files/arithmetic/multiplication_p0_0-10.dat
new file mode 100644
index 0000000..2e325e2
--- /dev/null
+++ b/data/question_files/arithmetic/multiplication_p0_0-10.dat
@@ -0,0 +1,1000 @@
+2 x 8 = 16
+4 x 6 = 24
+7 x 2 = 14
+6 x 9 = 54
+7 x 10 = 70
+1 x 5 = 5
+9 x 5 = 45
+2 x 5 = 10
+9 x 6 = 54
+5 x 9 = 45
+4 x 4 = 16
+2 x 6 = 12
+5 x 8 = 40
+2 x 4 = 8
+3 x 5 = 15
+10 x 1 = 10
+5 x 8 = 40
+6 x 8 = 48
+6 x 8 = 48
+8 x 3 = 24
+1 x 3 = 3
+5 x 4 = 20
+1 x 3 = 3
+4 x 2 = 8
+8 x 5 = 40
+2 x 9 = 18
+9 x 3 = 27
+9 x 2 = 18
+1 x 7 = 7
+8 x 4 = 32
+7 x 7 = 49
+4 x 7 = 28
+3 x 7 = 21
+8 x 8 = 64
+4 x 6 = 24
+9 x 2 = 18
+9 x 9 = 81
+7 x 2 = 14
+2 x 2 = 4
+1 x 5 = 5
+7 x 7 = 49
+9 x 5 = 45
+8 x 5 = 40
+6 x 5 = 30
+1 x 4 = 4
+7 x 7 = 49
+10 x 6 = 60
+5 x 7 = 35
+6 x 1 = 6
+1 x 6 = 6
+1 x 5 = 5
+7 x 3 = 21
+7 x 10 = 70
+3 x 3 = 9
+10 x 7 = 70
+8 x 6 = 48
+1 x 6 = 6
+4 x 7 = 28
+6 x 7 = 42
+10 x 6 = 60
+6 x 7 = 42
+9 x 2 = 18
+7 x 1 = 7
+4 x 1 = 4
+10 x 5 = 50
+4 x 7 = 28
+9 x 8 = 72
+2 x 9 = 18
+10 x 7 = 70
+1 x 1 = 1
+4 x 7 = 28
+1 x 7 = 7
+2 x 2 = 4
+9 x 1 = 9
+9 x 5 = 45
+3 x 7 = 21
+10 x 6 = 60
+5 x 6 = 30
+3 x 9 = 27
+3 x 1 = 3
+6 x 3 = 18
+9 x 9 = 81
+3 x 5 = 15
+9 x 8 = 72
+2 x 7 = 14
+3 x 4 = 12
+5 x 4 = 20
+8 x 3 = 24
+2 x 6 = 12
+9 x 8 = 72
+6 x 1 = 6
+10 x 5 = 50
+1 x 2 = 2
+3 x 9 = 27
+4 x 8 = 32
+8 x 1 = 8
+3 x 6 = 18
+2 x 3 = 6
+8 x 5 = 40
+3 x 4 = 12
+3 x 1 = 3
+4 x 2 = 8
+2 x 7 = 14
+7 x 3 = 21
+1 x 3 = 3
+2 x 4 = 8
+3 x 1 = 3
+1 x 2 = 2
+6 x 6 = 36
+4 x 3 = 12
+10 x 7 = 70
+4 x 9 = 36
+3 x 8 = 24
+5 x 8 = 40
+5 x 8 = 40
+10 x 3 = 30
+9 x 1 = 9
+9 x 8 = 72
+1 x 9 = 9
+2 x 9 = 18
+4 x 5 = 20
+9 x 1 = 9
+5 x 1 = 5
+4 x 2 = 8
+9 x 7 = 63
+6 x 5 = 30
+4 x 3 = 12
+4 x 8 = 32
+4 x 5 = 20
+6 x 9 = 54
+2 x 1 = 2
+8 x 8 = 64
+10 x 2 = 20
+1 x 7 = 7
+4 x 9 = 36
+2 x 3 = 6
+9 x 10 = 90
+3 x 2 = 6
+4 x 8 = 32
+9 x 6 = 54
+1 x 10 = 10
+3 x 4 = 12
+9 x 5 = 45
+3 x 7 = 21
+4 x 3 = 12
+6 x 1 = 6
+10 x 1 = 10
+5 x 4 = 20
+5 x 5 = 25
+5 x 7 = 35
+5 x 10 = 50
+9 x 5 = 45
+2 x 6 = 12
+6 x 8 = 48
+4 x 9 = 36
+3 x 2 = 6
+6 x 4 = 24
+4 x 4 = 16
+6 x 3 = 18
+9 x 10 = 90
+8 x 5 = 40
+3 x 2 = 6
+5 x 4 = 20
+4 x 1 = 4
+8 x 10 = 80
+3 x 6 = 18
+1 x 2 = 2
+1 x 4 = 4
+8 x 9 = 72
+9 x 3 = 27
+9 x 6 = 54
+5 x 8 = 40
+8 x 8 = 64
+2 x 9 = 18
+3 x 5 = 15
+1 x 3 = 3
+1 x 5 = 5
+8 x 9 = 72
+5 x 4 = 20
+8 x 8 = 64
+5 x 6 = 30
+7 x 2 = 14
+6 x 3 = 18
+1 x 10 = 10
+7 x 4 = 28
+1 x 3 = 3
+8 x 1 = 8
+3 x 7 = 21
+2 x 5 = 10
+9 x 10 = 90
+2 x 6 = 12
+1 x 8 = 8
+5 x 8 = 40
+3 x 2 = 6
+9 x 1 = 9
+5 x 5 = 25
+3 x 4 = 12
+2 x 2 = 4
+8 x 4 = 32
+4 x 5 = 20
+3 x 1 = 3
+1 x 5 = 5
+1 x 1 = 1
+2 x 7 = 14
+6 x 2 = 12
+7 x 5 = 35
+1 x 3 = 3
+4 x 7 = 28
+7 x 7 = 49
+6 x 3 = 18
+9 x 8 = 72
+7 x 10 = 70
+9 x 6 = 54
+5 x 8 = 40
+9 x 10 = 90
+3 x 9 = 27
+7 x 8 = 56
+5 x 1 = 5
+4 x 3 = 12
+10 x 2 = 20
+4 x 2 = 8
+6 x 7 = 42
+3 x 7 = 21
+9 x 10 = 90
+6 x 7 = 42
+6 x 5 = 30
+6 x 7 = 42
+4 x 6 = 24
+8 x 2 = 16
+7 x 2 = 14
+1 x 9 = 9
+2 x 4 = 8
+4 x 3 = 12
+9 x 4 = 36
+2 x 3 = 6
+5 x 7 = 35
+7 x 4 = 28
+8 x 7 = 56
+1 x 3 = 3
+6 x 9 = 54
+1 x 9 = 9
+2 x 8 = 16
+4 x 9 = 36
+9 x 5 = 45
+8 x 5 = 40
+1 x 1 = 1
+5 x 6 = 30
+10 x 2 = 20
+3 x 9 = 27
+9 x 4 = 36
+1 x 8 = 8
+6 x 8 = 48
+1 x 7 = 7
+1 x 8 = 8
+4 x 3 = 12
+5 x 3 = 15
+2 x 7 = 14
+7 x 1 = 7
+7 x 8 = 56
+6 x 3 = 18
+2 x 5 = 10
+6 x 7 = 42
+3 x 8 = 24
+7 x 6 = 42
+5 x 7 = 35
+1 x 8 = 8
+2 x 6 = 12
+1 x 4 = 4
+6 x 8 = 48
+2 x 6 = 12
+5 x 8 = 40
+6 x 9 = 54
+7 x 5 = 35
+1 x 1 = 1
+1 x 4 = 4
+1 x 6 = 6
+8 x 10 = 80
+10 x 5 = 50
+10 x 1 = 10
+2 x 6 = 12
+4 x 6 = 24
+2 x 4 = 8
+1 x 6 = 6
+7 x 4 = 28
+4 x 5 = 20
+4 x 1 = 4
+3 x 3 = 9
+5 x 2 = 10
+9 x 1 = 9
+1 x 10 = 10
+5 x 9 = 45
+4 x 2 = 8
+5 x 7 = 35
+7 x 6 = 42
+1 x 7 = 7
+3 x 9 = 27
+7 x 3 = 21
+4 x 1 = 4
+6 x 7 = 42
+6 x 6 = 36
+5 x 6 = 30
+4 x 9 = 36
+2 x 8 = 16
+10 x 7 = 70
+4 x 8 = 32
+9 x 10 = 90
+6 x 8 = 48
+4 x 3 = 12
+6 x 6 = 36
+4 x 6 = 24
+4 x 1 = 4
+8 x 9 = 72
+5 x 5 = 25
+7 x 1 = 7
+8 x 9 = 72
+10 x 3 = 30
+1 x 4 = 4
+6 x 5 = 30
+4 x 8 = 32
+6 x 3 = 18
+6 x 7 = 42
+5 x 4 = 20
+3 x 7 = 21
+4 x 3 = 12
+9 x 9 = 81
+1 x 1 = 1
+9 x 1 = 9
+1 x 2 = 2
+6 x 9 = 54
+2 x 1 = 2
+2 x 4 = 8
+4 x 4 = 16
+3 x 2 = 6
+9 x 5 = 45
+4 x 7 = 28
+7 x 5 = 35
+7 x 8 = 56
+9 x 8 = 72
+3 x 2 = 6
+8 x 5 = 40
+7 x 1 = 7
+2 x 6 = 12
+4 x 8 = 32
+9 x 6 = 54
+1 x 7 = 7
+5 x 1 = 5
+7 x 9 = 63
+2 x 2 = 4
+7 x 4 = 28
+5 x 6 = 30
+6 x 1 = 6
+9 x 10 = 90
+9 x 10 = 90
+8 x 8 = 64
+8 x 8 = 64
+8 x 5 = 40
+7 x 9 = 63
+4 x 5 = 20
+4 x 4 = 16
+5 x 8 = 40
+7 x 1 = 7
+3 x 7 = 21
+2 x 2 = 4
+6 x 8 = 48
+5 x 1 = 5
+5 x 7 = 35
+9 x 2 = 18
+8 x 6 = 48
+1 x 8 = 8
+8 x 5 = 40
+2 x 7 = 14
+2 x 10 = 20
+10 x 7 = 70
+3 x 10 = 30
+10 x 6 = 60
+5 x 3 = 15
+2 x 4 = 8
+7 x 3 = 21
+4 x 8 = 32
+9 x 9 = 81
+4 x 5 = 20
+4 x 10 = 40
+8 x 2 = 16
+2 x 2 = 4
+9 x 9 = 81
+9 x 3 = 27
+7 x 7 = 49
+4 x 6 = 24
+8 x 6 = 48
+6 x 4 = 24
+3 x 1 = 3
+4 x 6 = 24
+8 x 8 = 64
+7 x 3 = 21
+8 x 4 = 32
+5 x 7 = 35
+1 x 8 = 8
+7 x 2 = 14
+4 x 10 = 40
+6 x 7 = 42
+5 x 10 = 50
+10 x 7 = 70
+1 x 8 = 8
+2 x 7 = 14
+4 x 4 = 16
+6 x 9 = 54
+4 x 6 = 24
+2 x 3 = 6
+2 x 6 = 12
+4 x 8 = 32
+3 x 8 = 24
+5 x 9 = 45
+6 x 5 = 30
+8 x 6 = 48
+3 x 10 = 30
+9 x 5 = 45
+10 x 7 = 70
+9 x 10 = 90
+1 x 8 = 8
+2 x 3 = 6
+5 x 1 = 5
+4 x 8 = 32
+9 x 10 = 90
+3 x 1 = 3
+2 x 8 = 16
+4 x 2 = 8
+10 x 6 = 60
+2 x 9 = 18
+9 x 6 = 54
+10 x 7 = 70
+4 x 6 = 24
+3 x 1 = 3
+8 x 6 = 48
+6 x 8 = 48
+6 x 3 = 18
+9 x 8 = 72
+2 x 9 = 18
+4 x 7 = 28
+2 x 9 = 18
+2 x 7 = 14
+6 x 5 = 30
+8 x 4 = 32
+5 x 6 = 30
+4 x 8 = 32
+1 x 6 = 6
+2 x 7 = 14
+6 x 4 = 24
+1 x 4 = 4
+3 x 10 = 30
+6 x 6 = 36
+1 x 9 = 9
+5 x 4 = 20
+2 x 1 = 2
+2 x 6 = 12
+9 x 7 = 63
+7 x 6 = 42
+8 x 8 = 64
+1 x 9 = 9
+2 x 4 = 8
+8 x 1 = 8
+8 x 5 = 40
+8 x 7 = 56
+2 x 4 = 8
+7 x 3 = 21
+9 x 6 = 54
+3 x 4 = 12
+4 x 1 = 4
+7 x 7 = 49
+4 x 4 = 16
+5 x 5 = 25
+4 x 6 = 24
+7 x 7 = 49
+5 x 4 = 20
+8 x 9 = 72
+3 x 8 = 24
+5 x 8 = 40
+1 x 3 = 3
+4 x 3 = 12
+5 x 7 = 35
+10 x 5 = 50
+6 x 2 = 12
+7 x 8 = 56
+4 x 3 = 12
+3 x 6 = 18
+5 x 1 = 5
+4 x 2 = 8
+3 x 4 = 12
+1 x 10 = 10
+8 x 4 = 32
+8 x 2 = 16
+3 x 2 = 6
+8 x 3 = 24
+5 x 2 = 10
+7 x 4 = 28
+6 x 9 = 54
+2 x 9 = 18
+7 x 4 = 28
+7 x 9 = 63
+9 x 9 = 81
+4 x 8 = 32
+4 x 3 = 12
+1 x 9 = 9
+2 x 10 = 20
+7 x 5 = 35
+8 x 7 = 56
+1 x 8 = 8
+2 x 4 = 8
+7 x 3 = 21
+3 x 9 = 27
+2 x 5 = 10
+2 x 8 = 16
+4 x 6 = 24
+10 x 2 = 20
+9 x 6 = 54
+6 x 4 = 24
+4 x 3 = 12
+9 x 9 = 81
+7 x 6 = 42
+8 x 4 = 32
+8 x 3 = 24
+10 x 1 = 10
+2 x 3 = 6
+6 x 10 = 60
+4 x 7 = 28
+2 x 5 = 10
+8 x 8 = 64
+4 x 5 = 20
+4 x 1 = 4
+2 x 4 = 8
+6 x 6 = 36
+2 x 6 = 12
+5 x 10 = 50
+2 x 2 = 4
+3 x 5 = 15
+5 x 1 = 5
+9 x 4 = 36
+4 x 10 = 40
+1 x 10 = 10
+4 x 10 = 40
+1 x 1 = 1
+3 x 8 = 24
+7 x 8 = 56
+5 x 6 = 30
+9 x 2 = 18
+9 x 2 = 18
+9 x 3 = 27
+7 x 10 = 70
+2 x 1 = 2
+6 x 6 = 36
+8 x 2 = 16
+6 x 1 = 6
+8 x 3 = 24
+6 x 1 = 6
+3 x 6 = 18
+4 x 3 = 12
+4 x 1 = 4
+3 x 7 = 21
+2 x 2 = 4
+8 x 6 = 48
+7 x 5 = 35
+3 x 9 = 27
+8 x 3 = 24
+6 x 1 = 6
+8 x 6 = 48
+9 x 5 = 45
+10 x 2 = 20
+3 x 2 = 6
+8 x 5 = 40
+3 x 4 = 12
+8 x 10 = 80
+3 x 10 = 30
+2 x 7 = 14
+4 x 7 = 28
+1 x 8 = 8
+9 x 7 = 63
+10 x 8 = 80
+6 x 2 = 12
+8 x 5 = 40
+1 x 1 = 1
+8 x 8 = 64
+6 x 7 = 42
+8 x 5 = 40
+6 x 1 = 6
+1 x 7 = 7
+3 x 5 = 15
+7 x 7 = 49
+5 x 8 = 40
+1 x 1 = 1
+9 x 7 = 63
+3 x 4 = 12
+1 x 1 = 1
+2 x 2 = 4
+1 x 5 = 5
+8 x 2 = 16
+6 x 8 = 48
+2 x 3 = 6
+9 x 6 = 54
+3 x 4 = 12
+4 x 8 = 32
+1 x 5 = 5
+2 x 1 = 2
+5 x 7 = 35
+10 x 1 = 10
+4 x 4 = 16
+4 x 4 = 16
+7 x 10 = 70
+8 x 10 = 80
+2 x 1 = 2
+7 x 7 = 49
+1 x 9 = 9
+3 x 6 = 18
+8 x 1 = 8
+6 x 9 = 54
+1 x 2 = 2
+8 x 3 = 24
+9 x 7 = 63
+1 x 6 = 6
+5 x 5 = 25
+6 x 8 = 48
+6 x 8 = 48
+1 x 5 = 5
+6 x 1 = 6
+7 x 2 = 14
+7 x 1 = 7
+9 x 10 = 90
+4 x 9 = 36
+3 x 8 = 24
+7 x 3 = 21
+6 x 3 = 18
+1 x 2 = 2
+8 x 5 = 40
+5 x 7 = 35
+6 x 3 = 18
+4 x 6 = 24
+2 x 7 = 14
+3 x 3 = 9
+10 x 9 = 90
+10 x 4 = 40
+5 x 2 = 10
+6 x 4 = 24
+5 x 8 = 40
+9 x 3 = 27
+1 x 2 = 2
+9 x 7 = 63
+6 x 4 = 24
+8 x 4 = 32
+7 x 1 = 7
+4 x 9 = 36
+1 x 9 = 9
+2 x 1 = 2
+1 x 2 = 2
+3 x 8 = 24
+9 x 4 = 36
+7 x 8 = 56
+7 x 4 = 28
+9 x 9 = 81
+10 x 8 = 80
+4 x 5 = 20
+8 x 6 = 48
+2 x 1 = 2
+3 x 6 = 18
+1 x 9 = 9
+4 x 6 = 24
+9 x 1 = 9
+8 x 4 = 32
+9 x 2 = 18
+6 x 6 = 36
+4 x 5 = 20
+3 x 2 = 6
+5 x 3 = 15
+1 x 1 = 1
+2 x 5 = 10
+5 x 2 = 10
+4 x 5 = 20
+4 x 1 = 4
+1 x 3 = 3
+9 x 10 = 90
+4 x 8 = 32
+5 x 8 = 40
+5 x 4 = 20
+2 x 2 = 4
+3 x 3 = 9
+2 x 3 = 6
+8 x 2 = 16
+7 x 4 = 28
+7 x 10 = 70
+3 x 10 = 30
+7 x 5 = 35
+9 x 9 = 81
+8 x 7 = 56
+7 x 4 = 28
+8 x 3 = 24
+4 x 8 = 32
+4 x 4 = 16
+7 x 5 = 35
+2 x 9 = 18
+8 x 8 = 64
+6 x 9 = 54
+2 x 3 = 6
+7 x 6 = 42
+5 x 8 = 40
+9 x 6 = 54
+8 x 4 = 32
+8 x 6 = 48
+1 x 8 = 8
+7 x 1 = 7
+7 x 6 = 42
+8 x 8 = 64
+9 x 3 = 27
+3 x 5 = 15
+8 x 1 = 8
+4 x 5 = 20
+9 x 1 = 9
+10 x 4 = 40
+2 x 9 = 18
+5 x 10 = 50
+2 x 2 = 4
+7 x 10 = 70
+8 x 5 = 40
+4 x 4 = 16
+10 x 5 = 50
+1 x 8 = 8
+3 x 4 = 12
+6 x 1 = 6
+8 x 1 = 8
+5 x 6 = 30
+4 x 6 = 24
+6 x 8 = 48
+7 x 1 = 7
+1 x 4 = 4
+8 x 6 = 48
+4 x 5 = 20
+3 x 2 = 6
+4 x 5 = 20
+8 x 5 = 40
+2 x 3 = 6
+8 x 2 = 16
+2 x 3 = 6
+3 x 1 = 3
+10 x 3 = 30
+6 x 2 = 12
+8 x 10 = 80
+4 x 7 = 28
+7 x 9 = 63
+8 x 3 = 24
+10 x 4 = 40
+6 x 2 = 12
+1 x 9 = 9
+7 x 1 = 7
+6 x 9 = 54
+4 x 9 = 36
+6 x 2 = 12
+5 x 6 = 30
+3 x 5 = 15
+8 x 3 = 24
+6 x 9 = 54
+2 x 1 = 2
+9 x 1 = 9
+1 x 5 = 5
+6 x 5 = 30
+9 x 3 = 27
+4 x 5 = 20
+5 x 8 = 40
+5 x 8 = 40
+9 x 8 = 72
+6 x 10 = 60
+3 x 1 = 3
+7 x 8 = 56
+1 x 7 = 7
+2 x 3 = 6
+1 x 6 = 6
+8 x 4 = 32
+1 x 6 = 6
+3 x 7 = 21
+10 x 5 = 50
+3 x 5 = 15
+8 x 6 = 48
+7 x 9 = 63
+7 x 6 = 42
+6 x 5 = 30
+3 x 6 = 18
+4 x 7 = 28
+5 x 1 = 5
+2 x 9 = 18
+7 x 1 = 7
+1 x 3 = 3
+3 x 3 = 9
+2 x 8 = 16
+1 x 8 = 8
+8 x 1 = 8
+10 x 5 = 50
+7 x 5 = 35
+9 x 8 = 72
+8 x 4 = 32
+4 x 2 = 8
+3 x 3 = 9
+1 x 8 = 8
+5 x 5 = 25
+5 x 10 = 50
+6 x 8 = 48
+5 x 4 = 20
+1 x 9 = 9
+8 x 3 = 24
+8 x 7 = 56
+4 x 1 = 4
+3 x 1 = 3
+5 x 9 = 45
+9 x 7 = 63
+5 x 3 = 15
+8 x 6 = 48
+2 x 5 = 10
+9 x 8 = 72
+7 x 7 = 49
+1 x 2 = 2
+3 x 2 = 6
+9 x 8 = 72
+7 x 3 = 21
+3 x 2 = 6
+6 x 4 = 24
+4 x 1 = 4
+2 x 8 = 16
+6 x 5 = 30
+6 x 6 = 36
+6 x 10 = 60
+10 x 3 = 30
+6 x 10 = 60
+8 x 7 = 56
+5 x 2 = 10
+7 x 8 = 56
+8 x 3 = 24
+10 x 9 = 90
+6 x 4 = 24
+2 x 7 = 14
+9 x 6 = 54
+4 x 1 = 4
+2 x 8 = 16
+7 x 5 = 35
+9 x 2 = 18
+3 x 2 = 6
+4 x 10 = 40
+10 x 8 = 80
+4 x 9 = 36
+6 x 8 = 48
+5 x 4 = 20
+6 x 2 = 12
+10 x 7 = 70
+1 x 3 = 3
+5 x 9 = 45
+5 x 2 = 10
+4 x 8 = 32
+1 x 2 = 2
+1 x 6 = 6
+10 x 5 = 50
+9 x 5 = 45
+9 x 10 = 90
+4 x 1 = 4
+2 x 3 = 6
+3 x 7 = 21
+1 x 5 = 5
+7 x 8 = 56
+8 x 8 = 64
+7 x 4 = 28
+4 x 2 = 8
+1 x 2 = 2
+4 x 5 = 20
+1 x 8 = 8
+6 x 9 = 54
+9 x 10 = 90
+1 x 6 = 6
+5 x 5 = 25
+9 x 6 = 54
+4 x 7 = 28
+4 x 7 = 28
+3 x 1 = 3
+2 x 9 = 18
+6 x 8 = 48
+7 x 3 = 21
+6 x 4 = 24
+4 x 1 = 4
+3 x 7 = 21
+2 x 5 = 10
+7 x 1 = 7
+10 x 5 = 50
+8 x 7 = 56
+4 x 1 = 4
+2 x 6 = 12
+9 x 8 = 72
+3 x 3 = 9
+3 x 4 = 12
+6 x 2 = 12
+5 x 2 = 10
+5 x 1 = 5
+9 x 3 = 27
+2 x 10 = 20
+1 x 2 = 2
+6 x 2 = 12
+9 x 1 = 9
+6 x 4 = 24
+8 x 10 = 80
+5 x 2 = 10
+5 x 8 = 40
+5 x 6 = 30
+8 x 9 = 72
+7 x 8 = 56
+6 x 10 = 60
+1 x 10 = 10
+9 x 3 = 27
+1 x 9 = 9
+1 x 2 = 2
+5 x 9 = 45
+2 x 6 = 12
+6 x 6 = 36
+2 x 9 = 18
+1 x 3 = 3
+1 x 7 = 7
+10 x 9 = 90
+5 x 10 = 50
+6 x 8 = 48
+6 x 4 = 24
+3 x 6 = 18
+10 x 1 = 10
+9 x 4 = 36
+9 x 5 = 45
+5 x 5 = 25
+6 x 9 = 54
+6 x 3 = 18
+4 x 2 = 8
+7 x 8 = 56
+9 x 9 = 81
+1 x 3 = 3
+4 x 4 = 16
+4 x 8 = 32
+9 x 5 = 45
+4 x 6 = 24
+3 x 4 = 12
+1 x 5 = 5
+9 x 7 = 63
+6 x 8 = 48
+5 x 8 = 40
+7 x 1 = 7
+7 x 7 = 49
+2 x 7 = 14
+4 x 8 = 32
+1 x 10 = 10
+5 x 7 = 35
+8 x 1 = 8
+2 x 2 = 4
+6 x 9 = 54
+9 x 6 = 54
+1 x 6 = 6
+4 x 7 = 28
+9 x 2 = 18
+3 x 5 = 15
+10 x 8 = 80
+2 x 2 = 4
+7 x 9 = 63
+3 x 6 = 18
+1 x 9 = 9
+9 x 9 = 81
+4 x 9 = 36
+4 x 3 = 12
+9 x 9 = 81
+4 x 9 = 36
+9 x 2 = 18
+8 x 2 = 16
+3 x 2 = 6
+5 x 8 = 40
+4 x 6 = 24
+4 x 1 = 4
+7 x 3 = 21
+8 x 3 = 24
+7 x 8 = 56
+5 x 9 = 45
+2 x 4 = 8
+8 x 10 = 80
+10 x 8 = 80
+7 x 7 = 49
+6 x 1 = 6
+3 x 4 = 12
+1 x 3 = 3
+8 x 6 = 48
+2 x 2 = 4
+1 x 3 = 3
+8 x 4 = 32
+8 x 5 = 40
+2 x 3 = 6
+2 x 6 = 12
+8 x 8 = 64
+1 x 1 = 1
+8 x 1 = 8
+2 x 1 = 2
+9 x 8 = 72
+3 x 3 = 9
+7 x 6 = 42
+4 x 6 = 24
+5 x 9 = 45
+7 x 3 = 21
+9 x 4 = 36
+6 x 6 = 36
+4 x 1 = 4
diff --git a/data/question_files/arithmetic/multiplication_p0_0-100.dat b/data/question_files/arithmetic/multiplication_p0_0-100.dat
new file mode 100644
index 0000000..b5bdb83
--- /dev/null
+++ b/data/question_files/arithmetic/multiplication_p0_0-100.dat
@@ -0,0 +1,1000 @@
+74 x 97 = 7178
+32 x 14 = 448
+14 x 43 = 602
+58 x 89 = 5162
+2 x 77 = 154
+75 x 48 = 3600
+31 x 48 = 1488
+2 x 39 = 78
+11 x 67 = 737
+65 x 87 = 5655
+88 x 27 = 2376
+37 x 56 = 2072
+41 x 83 = 3403
+73 x 80 = 5840
+72 x 11 = 792
+5 x 13 = 65
+13 x 68 = 884
+94 x 52 = 4888
+28 x 21 = 588
+36 x 61 = 2196
+53 x 63 = 3339
+82 x 15 = 1230
+64 x 43 = 2752
+11 x 52 = 572
+50 x 4 = 200
+58 x 68 = 3944
+97 x 35 = 3395
+23 x 31 = 713
+92 x 10 = 920
+78 x 27 = 2106
+84 x 8 = 672
+38 x 63 = 2394
+75 x 19 = 1425
+43 x 13 = 559
+57 x 51 = 2907
+34 x 3 = 102
+34 x 59 = 2006
+95 x 64 = 6080
+86 x 48 = 4128
+100 x 84 = 8400
+84 x 18 = 1512
+16 x 12 = 192
+20 x 14 = 280
+32 x 60 = 1920
+76 x 30 = 2280
+27 x 49 = 1323
+3 x 18 = 54
+94 x 15 = 1410
+91 x 88 = 8008
+76 x 31 = 2356
+8 x 18 = 144
+75 x 29 = 2175
+32 x 30 = 960
+48 x 79 = 3792
+81 x 57 = 4617
+43 x 78 = 3354
+89 x 57 = 5073
+53 x 55 = 2915
+19 x 96 = 1824
+25 x 44 = 1100
+72 x 33 = 2376
+28 x 82 = 2296
+68 x 35 = 2380
+26 x 22 = 572
+84 x 95 = 7980
+79 x 15 = 1185
+68 x 13 = 884
+22 x 98 = 2156
+80 x 7 = 560
+52 x 53 = 2756
+48 x 53 = 2544
+70 x 94 = 6580
+70 x 8 = 560
+72 x 49 = 3528
+69 x 87 = 6003
+59 x 6 = 354
+43 x 71 = 3053
+70 x 96 = 6720
+40 x 89 = 3560
+73 x 16 = 1168
+9 x 76 = 684
+77 x 79 = 6083
+64 x 38 = 2432
+78 x 81 = 6318
+87 x 39 = 3393
+95 x 49 = 4655
+90 x 24 = 2160
+65 x 9 = 585
+65 x 18 = 1170
+8 x 64 = 512
+94 x 47 = 4418
+39 x 6 = 234
+61 x 58 = 3538
+59 x 56 = 3304
+52 x 33 = 1716
+81 x 88 = 7128
+46 x 76 = 3496
+15 x 17 = 255
+77 x 30 = 2310
+22 x 18 = 396
+75 x 89 = 6675
+41 x 65 = 2665
+49 x 77 = 3773
+31 x 72 = 2232
+56 x 57 = 3192
+2 x 47 = 94
+69 x 68 = 4692
+9 x 93 = 837
+6 x 82 = 492
+7 x 28 = 196
+5 x 17 = 85
+64 x 59 = 3776
+9 x 100 = 900
+14 x 2 = 28
+13 x 3 = 39
+88 x 27 = 2376
+51 x 55 = 2805
+42 x 100 = 4200
+2 x 59 = 118
+85 x 19 = 1615
+29 x 91 = 2639
+32 x 17 = 544
+13 x 31 = 403
+3 x 5 = 15
+49 x 49 = 2401
+70 x 54 = 3780
+8 x 41 = 328
+96 x 95 = 9120
+94 x 76 = 7144
+46 x 8 = 368
+12 x 18 = 216
+23 x 41 = 943
+16 x 81 = 1296
+65 x 61 = 3965
+54 x 69 = 3726
+82 x 67 = 5494
+38 x 62 = 2356
+16 x 66 = 1056
+47 x 84 = 3948
+7 x 22 = 154
+98 x 87 = 8526
+28 x 94 = 2632
+80 x 80 = 6400
+91 x 78 = 7098
+90 x 8 = 720
+17 x 12 = 204
+75 x 15 = 1125
+56 x 36 = 2016
+6 x 99 = 594
+77 x 54 = 4158
+55 x 100 = 5500
+16 x 94 = 1504
+90 x 61 = 5490
+4 x 94 = 376
+12 x 6 = 72
+2 x 17 = 34
+95 x 79 = 7505
+1 x 22 = 22
+15 x 52 = 780
+51 x 53 = 2703
+92 x 33 = 3036
+89 x 30 = 2670
+55 x 24 = 1320
+7 x 27 = 189
+79 x 87 = 6873
+28 x 24 = 672
+80 x 78 = 6240
+72 x 54 = 3888
+45 x 54 = 2430
+29 x 16 = 464
+73 x 42 = 3066
+62 x 99 = 6138
+90 x 84 = 7560
+63 x 55 = 3465
+36 x 4 = 144
+35 x 70 = 2450
+5 x 30 = 150
+91 x 79 = 7189
+29 x 19 = 551
+77 x 53 = 4081
+35 x 55 = 1925
+37 x 50 = 1850
+89 x 14 = 1246
+71 x 52 = 3692
+13 x 29 = 377
+24 x 32 = 768
+33 x 36 = 1188
+5 x 55 = 275
+10 x 31 = 310
+90 x 5 = 450
+53 x 6 = 318
+58 x 65 = 3770
+90 x 93 = 8370
+72 x 78 = 5616
+71 x 50 = 3550
+21 x 93 = 1953
+50 x 10 = 500
+46 x 35 = 1610
+17 x 57 = 969
+12 x 49 = 588
+42 x 51 = 2142
+85 x 48 = 4080
+78 x 86 = 6708
+18 x 25 = 450
+94 x 37 = 3478
+74 x 47 = 3478
+79 x 48 = 3792
+33 x 22 = 726
+9 x 46 = 414
+29 x 7 = 203
+54 x 35 = 1890
+41 x 95 = 3895
+20 x 82 = 1640
+2 x 44 = 88
+18 x 41 = 738
+27 x 95 = 2565
+29 x 19 = 551
+89 x 68 = 6052
+74 x 82 = 6068
+11 x 64 = 704
+9 x 8 = 72
+88 x 44 = 3872
+20 x 94 = 1880
+59 x 86 = 5074
+82 x 78 = 6396
+40 x 67 = 2680
+19 x 92 = 1748
+65 x 45 = 2925
+30 x 85 = 2550
+81 x 13 = 1053
+94 x 13 = 1222
+76 x 50 = 3800
+88 x 23 = 2024
+71 x 25 = 1775
+6 x 81 = 486
+82 x 1 = 82
+6 x 12 = 72
+85 x 39 = 3315
+5 x 63 = 315
+24 x 62 = 1488
+2 x 45 = 90
+62 x 89 = 5518
+67 x 11 = 737
+44 x 68 = 2992
+78 x 45 = 3510
+76 x 95 = 7220
+67 x 60 = 4020
+74 x 18 = 1332
+78 x 99 = 7722
+16 x 93 = 1488
+88 x 30 = 2640
+39 x 26 = 1014
+70 x 66 = 4620
+94 x 7 = 658
+82 x 16 = 1312
+18 x 31 = 558
+58 x 5 = 290
+81 x 40 = 3240
+52 x 33 = 1716
+28 x 80 = 2240
+89 x 67 = 5963
+76 x 1 = 76
+67 x 92 = 6164
+94 x 86 = 8084
+80 x 3 = 240
+89 x 40 = 3560
+89 x 75 = 6675
+50 x 84 = 4200
+29 x 83 = 2407
+42 x 66 = 2772
+63 x 49 = 3087
+31 x 44 = 1364
+58 x 87 = 5046
+9 x 92 = 828
+30 x 68 = 2040
+36 x 56 = 2016
+35 x 62 = 2170
+17 x 92 = 1564
+79 x 60 = 4740
+66 x 69 = 4554
+30 x 41 = 1230
+40 x 45 = 1800
+36 x 41 = 1476
+97 x 91 = 8827
+32 x 86 = 2752
+34 x 72 = 2448
+22 x 59 = 1298
+43 x 13 = 559
+75 x 62 = 4650
+19 x 5 = 95
+73 x 11 = 803
+34 x 49 = 1666
+79 x 82 = 6478
+39 x 86 = 3354
+34 x 14 = 476
+4 x 27 = 108
+61 x 84 = 5124
+59 x 95 = 5605
+21 x 99 = 2079
+50 x 56 = 2800
+79 x 46 = 3634
+47 x 84 = 3948
+21 x 29 = 609
+60 x 88 = 5280
+65 x 6 = 390
+59 x 12 = 708
+50 x 46 = 2300
+92 x 64 = 5888
+22 x 27 = 594
+83 x 99 = 8217
+71 x 9 = 639
+52 x 6 = 312
+15 x 47 = 705
+84 x 15 = 1260
+25 x 56 = 1400
+89 x 7 = 623
+88 x 68 = 5984
+44 x 51 = 2244
+15 x 23 = 345
+27 x 33 = 891
+55 x 97 = 5335
+49 x 52 = 2548
+22 x 96 = 2112
+13 x 18 = 234
+67 x 88 = 5896
+27 x 41 = 1107
+98 x 76 = 7448
+35 x 77 = 2695
+31 x 15 = 465
+77 x 58 = 4466
+79 x 83 = 6557
+85 x 84 = 7140
+44 x 53 = 2332
+46 x 27 = 1242
+76 x 77 = 5852
+9 x 3 = 27
+76 x 49 = 3724
+40 x 71 = 2840
+34 x 87 = 2958
+99 x 81 = 8019
+87 x 2 = 174
+12 x 49 = 588
+57 x 87 = 4959
+88 x 97 = 8536
+36 x 13 = 468
+45 x 59 = 2655
+86 x 97 = 8342
+71 x 45 = 3195
+78 x 27 = 2106
+38 x 88 = 3344
+58 x 82 = 4756
+76 x 40 = 3040
+94 x 83 = 7802
+55 x 97 = 5335
+76 x 9 = 684
+10 x 35 = 350
+87 x 21 = 1827
+77 x 65 = 5005
+84 x 77 = 6468
+12 x 27 = 324
+94 x 100 = 9400
+75 x 83 = 6225
+71 x 20 = 1420
+75 x 21 = 1575
+90 x 3 = 270
+15 x 11 = 165
+4 x 78 = 312
+81 x 52 = 4212
+9 x 96 = 864
+65 x 2 = 130
+3 x 1 = 3
+66 x 42 = 2772
+2 x 36 = 72
+48 x 93 = 4464
+93 x 35 = 3255
+2 x 17 = 34
+75 x 55 = 4125
+76 x 30 = 2280
+61 x 3 = 183
+23 x 98 = 2254
+71 x 5 = 355
+25 x 41 = 1025
+3 x 58 = 174
+57 x 57 = 3249
+29 x 82 = 2378
+5 x 71 = 355
+79 x 15 = 1185
+8 x 97 = 776
+37 x 2 = 74
+91 x 49 = 4459
+27 x 87 = 2349
+81 x 48 = 3888
+87 x 97 = 8439
+40 x 55 = 2200
+58 x 70 = 4060
+80 x 37 = 2960
+7 x 84 = 588
+93 x 48 = 4464
+18 x 49 = 882
+42 x 3 = 126
+59 x 91 = 5369
+78 x 32 = 2496
+12 x 67 = 804
+55 x 89 = 4895
+92 x 39 = 3588
+91 x 5 = 455
+15 x 57 = 855
+19 x 97 = 1843
+38 x 45 = 1710
+4 x 33 = 132
+75 x 47 = 3525
+39 x 91 = 3549
+21 x 10 = 210
+84 x 5 = 420
+75 x 10 = 750
+48 x 84 = 4032
+65 x 40 = 2600
+42 x 53 = 2226
+53 x 90 = 4770
+40 x 88 = 3520
+52 x 28 = 1456
+28 x 87 = 2436
+43 x 22 = 946
+96 x 37 = 3552
+36 x 54 = 1944
+72 x 57 = 4104
+87 x 98 = 8526
+41 x 42 = 1722
+25 x 37 = 925
+55 x 4 = 220
+17 x 34 = 578
+38 x 31 = 1178
+24 x 86 = 2064
+51 x 3 = 153
+97 x 76 = 7372
+59 x 58 = 3422
+23 x 94 = 2162
+36 x 12 = 432
+9 x 69 = 621
+92 x 46 = 4232
+26 x 66 = 1716
+19 x 91 = 1729
+67 x 11 = 737
+78 x 3 = 234
+90 x 98 = 8820
+83 x 82 = 6806
+47 x 55 = 2585
+78 x 76 = 5928
+78 x 34 = 2652
+68 x 60 = 4080
+86 x 88 = 7568
+21 x 61 = 1281
+58 x 2 = 116
+44 x 15 = 660
+75 x 6 = 450
+57 x 25 = 1425
+11 x 35 = 385
+80 x 44 = 3520
+74 x 35 = 2590
+51 x 21 = 1071
+37 x 21 = 777
+35 x 62 = 2170
+36 x 98 = 3528
+7 x 57 = 399
+29 x 35 = 1015
+52 x 52 = 2704
+65 x 69 = 4485
+32 x 21 = 672
+50 x 22 = 1100
+38 x 53 = 2014
+62 x 28 = 1736
+34 x 43 = 1462
+86 x 79 = 6794
+27 x 68 = 1836
+68 x 27 = 1836
+43 x 63 = 2709
+47 x 95 = 4465
+27 x 62 = 1674
+55 x 32 = 1760
+41 x 100 = 4100
+98 x 73 = 7154
+2 x 42 = 84
+19 x 61 = 1159
+5 x 60 = 300
+8 x 84 = 672
+28 x 69 = 1932
+70 x 25 = 1750
+76 x 70 = 5320
+13 x 63 = 819
+22 x 70 = 1540
+90 x 13 = 1170
+18 x 1 = 18
+73 x 40 = 2920
+1 x 60 = 60
+79 x 55 = 4345
+53 x 95 = 5035
+86 x 68 = 5848
+8 x 69 = 552
+80 x 35 = 2800
+67 x 28 = 1876
+89 x 9 = 801
+22 x 70 = 1540
+32 x 91 = 2912
+56 x 99 = 5544
+53 x 68 = 3604
+94 x 58 = 5452
+54 x 4 = 216
+74 x 12 = 888
+37 x 27 = 999
+43 x 93 = 3999
+55 x 18 = 990
+40 x 55 = 2200
+88 x 44 = 3872
+55 x 88 = 4840
+58 x 14 = 812
+44 x 33 = 1452
+35 x 31 = 1085
+42 x 91 = 3822
+99 x 26 = 2574
+6 x 90 = 540
+9 x 54 = 486
+50 x 61 = 3050
+51 x 65 = 3315
+62 x 20 = 1240
+26 x 20 = 520
+14 x 19 = 266
+23 x 50 = 1150
+49 x 81 = 3969
+38 x 28 = 1064
+36 x 72 = 2592
+81 x 82 = 6642
+78 x 90 = 7020
+80 x 6 = 480
+20 x 24 = 480
+97 x 72 = 6984
+96 x 7 = 672
+87 x 94 = 8178
+58 x 21 = 1218
+17 x 74 = 1258
+93 x 74 = 6882
+47 x 3 = 141
+63 x 29 = 1827
+25 x 61 = 1525
+8 x 54 = 432
+12 x 63 = 756
+41 x 5 = 205
+81 x 100 = 8100
+94 x 24 = 2256
+13 x 65 = 845
+86 x 27 = 2322
+90 x 34 = 3060
+33 x 25 = 825
+73 x 77 = 5621
+14 x 17 = 238
+53 x 36 = 1908
+36 x 52 = 1872
+29 x 77 = 2233
+79 x 80 = 6320
+79 x 16 = 1264
+77 x 31 = 2387
+2 x 43 = 86
+52 x 39 = 2028
+14 x 88 = 1232
+11 x 51 = 561
+55 x 82 = 4510
+45 x 77 = 3465
+65 x 2 = 130
+49 x 34 = 1666
+8 x 15 = 120
+58 x 12 = 696
+75 x 6 = 450
+42 x 20 = 840
+5 x 69 = 345
+42 x 97 = 4074
+55 x 77 = 4235
+9 x 18 = 162
+6 x 57 = 342
+42 x 30 = 1260
+68 x 78 = 5304
+69 x 5 = 345
+52 x 35 = 1820
+95 x 45 = 4275
+14 x 89 = 1246
+95 x 3 = 285
+95 x 65 = 6175
+98 x 1 = 98
+36 x 89 = 3204
+33 x 33 = 1089
+99 x 25 = 2475
+19 x 90 = 1710
+87 x 72 = 6264
+61 x 41 = 2501
+33 x 56 = 1848
+23 x 97 = 2231
+52 x 4 = 208
+44 x 21 = 924
+62 x 27 = 1674
+15 x 29 = 435
+81 x 37 = 2997
+65 x 93 = 6045
+65 x 34 = 2210
+79 x 48 = 3792
+51 x 62 = 3162
+6 x 52 = 312
+62 x 62 = 3844
+59 x 5 = 295
+68 x 75 = 5100
+25 x 98 = 2450
+73 x 21 = 1533
+81 x 15 = 1215
+61 x 19 = 1159
+33 x 17 = 561
+91 x 69 = 6279
+96 x 74 = 7104
+46 x 11 = 506
+20 x 19 = 380
+47 x 38 = 1786
+92 x 55 = 5060
+7 x 49 = 343
+54 x 70 = 3780
+72 x 77 = 5544
+77 x 51 = 3927
+35 x 68 = 2380
+96 x 51 = 4896
+76 x 90 = 6840
+16 x 3 = 48
+31 x 66 = 2046
+45 x 93 = 4185
+55 x 4 = 220
+12 x 26 = 312
+14 x 46 = 644
+45 x 1 = 45
+4 x 43 = 172
+11 x 25 = 275
+88 x 7 = 616
+73 x 61 = 4453
+14 x 90 = 1260
+93 x 31 = 2883
+14 x 25 = 350
+99 x 27 = 2673
+47 x 88 = 4136
+80 x 60 = 4800
+13 x 57 = 741
+70 x 22 = 1540
+13 x 5 = 65
+62 x 100 = 6200
+88 x 92 = 8096
+72 x 77 = 5544
+100 x 30 = 3000
+64 x 74 = 4736
+8 x 67 = 536
+17 x 62 = 1054
+99 x 72 = 7128
+71 x 90 = 6390
+39 x 97 = 3783
+49 x 48 = 2352
+6 x 7 = 42
+36 x 24 = 864
+64 x 64 = 4096
+67 x 70 = 4690
+76 x 26 = 1976
+81 x 96 = 7776
+79 x 54 = 4266
+36 x 87 = 3132
+16 x 54 = 864
+32 x 44 = 1408
+79 x 76 = 6004
+90 x 98 = 8820
+80 x 20 = 1600
+11 x 93 = 1023
+45 x 94 = 4230
+86 x 1 = 86
+37 x 2 = 74
+2 x 7 = 14
+100 x 29 = 2900
+10 x 31 = 310
+29 x 36 = 1044
+23 x 46 = 1058
+51 x 86 = 4386
+67 x 71 = 4757
+78 x 12 = 936
+71 x 51 = 3621
+85 x 30 = 2550
+4 x 25 = 100
+58 x 50 = 2900
+21 x 42 = 882
+3 x 69 = 207
+36 x 66 = 2376
+30 x 3 = 90
+17 x 12 = 204
+63 x 37 = 2331
+49 x 51 = 2499
+52 x 32 = 1664
+69 x 51 = 3519
+20 x 86 = 1720
+33 x 89 = 2937
+76 x 67 = 5092
+12 x 55 = 660
+70 x 37 = 2590
+11 x 83 = 913
+69 x 8 = 552
+48 x 51 = 2448
+29 x 85 = 2465
+33 x 47 = 1551
+36 x 59 = 2124
+57 x 25 = 1425
+28 x 56 = 1568
+85 x 100 = 8500
+100 x 37 = 3700
+49 x 68 = 3332
+89 x 5 = 445
+72 x 13 = 936
+48 x 30 = 1440
+82 x 28 = 2296
+68 x 90 = 6120
+94 x 2 = 188
+49 x 37 = 1813
+51 x 86 = 4386
+93 x 96 = 8928
+70 x 89 = 6230
+46 x 40 = 1840
+10 x 85 = 850
+63 x 38 = 2394
+76 x 45 = 3420
+76 x 58 = 4408
+45 x 90 = 4050
+28 x 53 = 1484
+94 x 34 = 3196
+57 x 16 = 912
+36 x 19 = 684
+3 x 55 = 165
+2 x 32 = 64
+9 x 25 = 225
+65 x 18 = 1170
+41 x 48 = 1968
+38 x 71 = 2698
+60 x 44 = 2640
+60 x 86 = 5160
+3 x 80 = 240
+98 x 95 = 9310
+41 x 65 = 2665
+56 x 95 = 5320
+45 x 42 = 1890
+58 x 94 = 5452
+17 x 25 = 425
+36 x 74 = 2664
+8 x 88 = 704
+47 x 54 = 2538
+9 x 15 = 135
+49 x 19 = 931
+83 x 9 = 747
+21 x 27 = 567
+4 x 24 = 96
+11 x 59 = 649
+59 x 89 = 5251
+70 x 36 = 2520
+68 x 97 = 6596
+39 x 32 = 1248
+3 x 13 = 39
+79 x 27 = 2133
+32 x 79 = 2528
+26 x 17 = 442
+55 x 20 = 1100
+78 x 2 = 156
+43 x 48 = 2064
+40 x 89 = 3560
+48 x 5 = 240
+31 x 52 = 1612
+27 x 42 = 1134
+7 x 22 = 154
+15 x 43 = 645
+55 x 3 = 165
+55 x 50 = 2750
+54 x 22 = 1188
+26 x 22 = 572
+16 x 70 = 1120
+46 x 61 = 2806
+7 x 24 = 168
+75 x 89 = 6675
+96 x 45 = 4320
+56 x 43 = 2408
+87 x 11 = 957
+70 x 52 = 3640
+16 x 8 = 128
+92 x 8 = 736
+34 x 88 = 2992
+72 x 84 = 6048
+98 x 34 = 3332
+38 x 34 = 1292
+82 x 96 = 7872
+29 x 50 = 1450
+16 x 58 = 928
+25 x 25 = 625
+64 x 99 = 6336
+90 x 51 = 4590
+13 x 15 = 195
+51 x 28 = 1428
+25 x 69 = 1725
+51 x 34 = 1734
+61 x 88 = 5368
+37 x 29 = 1073
+25 x 44 = 1100
+97 x 27 = 2619
+56 x 63 = 3528
+62 x 78 = 4836
+90 x 93 = 8370
+42 x 72 = 3024
+84 x 56 = 4704
+7 x 83 = 581
+23 x 45 = 1035
+13 x 15 = 195
+12 x 94 = 1128
+54 x 13 = 702
+95 x 60 = 5700
+99 x 47 = 4653
+74 x 89 = 6586
+61 x 61 = 3721
+39 x 66 = 2574
+14 x 41 = 574
+16 x 68 = 1088
+24 x 23 = 552
+19 x 71 = 1349
+94 x 62 = 5828
+97 x 19 = 1843
+71 x 59 = 4189
+72 x 28 = 2016
+82 x 81 = 6642
+37 x 85 = 3145
+39 x 76 = 2964
+76 x 42 = 3192
+57 x 57 = 3249
+57 x 65 = 3705
+61 x 63 = 3843
+36 x 8 = 288
+15 x 16 = 240
+82 x 61 = 5002
+81 x 33 = 2673
+66 x 82 = 5412
+54 x 23 = 1242
+54 x 10 = 540
+17 x 69 = 1173
+7 x 90 = 630
+17 x 78 = 1326
+49 x 46 = 2254
+11 x 29 = 319
+55 x 80 = 4400
+69 x 26 = 1794
+28 x 98 = 2744
+84 x 83 = 6972
+63 x 74 = 4662
+82 x 19 = 1558
+51 x 20 = 1020
+41 x 20 = 820
+56 x 54 = 3024
+73 x 49 = 3577
+73 x 100 = 7300
+60 x 9 = 540
+74 x 74 = 5476
+46 x 7 = 322
+24 x 84 = 2016
+88 x 67 = 5896
+77 x 57 = 4389
+45 x 95 = 4275
+11 x 35 = 385
+34 x 90 = 3060
+44 x 68 = 2992
+50 x 31 = 1550
+56 x 11 = 616
+48 x 60 = 2880
+72 x 19 = 1368
+68 x 4 = 272
+18 x 53 = 954
+18 x 42 = 756
+92 x 89 = 8188
+90 x 81 = 7290
+20 x 4 = 80
+33 x 96 = 3168
+40 x 51 = 2040
+39 x 80 = 3120
+11 x 7 = 77
+4 x 35 = 140
+30 x 21 = 630
+47 x 51 = 2397
+63 x 62 = 3906
+9 x 13 = 117
+5 x 37 = 185
+22 x 39 = 858
+7 x 24 = 168
+42 x 95 = 3990
+40 x 61 = 2440
+59 x 30 = 1770
+9 x 18 = 162
+33 x 51 = 1683
+33 x 28 = 924
+100 x 54 = 5400
+96 x 12 = 1152
+86 x 88 = 7568
+55 x 52 = 2860
+83 x 100 = 8300
+65 x 32 = 2080
+47 x 10 = 470
+61 x 8 = 488
+47 x 45 = 2115
+57 x 57 = 3249
+30 x 31 = 930
+82 x 42 = 3444
+97 x 9 = 873
+73 x 82 = 5986
+53 x 12 = 636
+5 x 59 = 295
+39 x 52 = 2028
+79 x 46 = 3634
+82 x 4 = 328
+3 x 85 = 255
+84 x 97 = 8148
+91 x 68 = 6188
+48 x 27 = 1296
+6 x 58 = 348
+25 x 41 = 1025
+28 x 76 = 2128
+31 x 98 = 3038
+39 x 97 = 3783
+79 x 75 = 5925
+15 x 50 = 750
+43 x 83 = 3569
+8 x 69 = 552
+73 x 7 = 511
+29 x 63 = 1827
+81 x 25 = 2025
+86 x 31 = 2666
+4 x 52 = 208
+80 x 49 = 3920
+81 x 55 = 4455
+23 x 14 = 322
+4 x 86 = 344
+38 x 66 = 2508
+4 x 31 = 124
+41 x 3 = 123
+68 x 71 = 4828
+82 x 84 = 6888
+59 x 91 = 5369
+23 x 40 = 920
+63 x 14 = 882
+51 x 63 = 3213
+49 x 37 = 1813
+55 x 97 = 5335
+50 x 18 = 900
+5 x 79 = 395
+12 x 71 = 852
+72 x 5 = 360
+2 x 13 = 26
+80 x 42 = 3360
+6 x 8 = 48
+14 x 52 = 728
+7 x 19 = 133
+13 x 80 = 1040
+49 x 71 = 3479
+61 x 86 = 5246
+16 x 66 = 1056
+41 x 29 = 1189
+51 x 18 = 918
+65 x 5 = 325
+76 x 87 = 6612
+26 x 30 = 780
+70 x 95 = 6650
+22 x 18 = 396
+5 x 99 = 495
+3 x 18 = 54
+69 x 68 = 4692
+67 x 74 = 4958
+28 x 44 = 1232
+74 x 88 = 6512
+62 x 23 = 1426
+30 x 66 = 1980
+81 x 97 = 7857
+36 x 16 = 576
+81 x 30 = 2430
+89 x 83 = 7387
+25 x 44 = 1100
+67 x 26 = 1742
+80 x 14 = 1120
+65 x 71 = 4615
+2 x 75 = 150
+49 x 17 = 833
+99 x 30 = 2970
+84 x 90 = 7560
+10 x 88 = 880
+95 x 62 = 5890
+48 x 2 = 96
+43 x 58 = 2494
+85 x 31 = 2635
+63 x 1 = 63
+78 x 25 = 1950
+79 x 68 = 5372
+20 x 34 = 680
+88 x 67 = 5896
+49 x 47 = 2303
+33 x 65 = 2145
+100 x 84 = 8400
+65 x 53 = 3445
diff --git a/data/question_files/arithmetic/my_questions.dat b/data/question_files/arithmetic/my_questions.dat
new file mode 100644
index 0000000..086c405
--- /dev/null
+++ b/data/question_files/arithmetic/my_questions.dat
@@ -0,0 +1,28 @@
+3 + 4 = 7
+41 + 94 = 135
+-5 + -10 = -15
+-765 - -269 = -496
+4 + 9 = 13
+92 - 78 = 14
+40 / 10 = 4
+7802 / 83 = 94
+(3 + 3) x 8 = 48
+45 + 63 = 108
+-36 / -4 = 9
+-720 / -16 = 45
+81 / 9 = 9
+369 / 41 = 9
+1 / 1 = 1
+-5372 / 79 = -68
+8 x 1 = 8
+1575 / 45 = 35
+-9 x 7 = -63
+-1 x -80 = 80
+2 x 8 = 16
+74 x 97 = 7178
+9 + -3 = 6
+9 / 1 = 9
+9 - 6 = 3
+8 - 6 = 2
+97 - 58 = 39
+#make sure you leave this line! \ No newline at end of file
diff --git a/data/question_files/arithmetic/random_p0_-10-10.dat b/data/question_files/arithmetic/random_p0_-10-10.dat
new file mode 100644
index 0000000..774f383
--- /dev/null
+++ b/data/question_files/arithmetic/random_p0_-10-10.dat
@@ -0,0 +1,1000 @@
+9 + -3 = 6
+%-5 = 35
+-15 / 3 = -5
+%9 = -90
+5 - 1 = 4
+-5 - 3 = -8
+3 - 5 = -2
+-2 - -7 = 5
+-3 - -4 = 1
+8 - 5 = 3
+%3 = 24~6
+-6 - 1 = -7
+-5 - 6 = -11
+3 - 1 = 2
+-2 + 4 = 2
+-7 - 7 = -14
+-3 - -2 = -1
+%6 = -12
+-5 + 2 = -3
+-7 + 6 = -1
+-6 + 4 = -2
+%6 = -48
+%9 = 36
+%7 = -35
+-27 / -3 = 9
+-7 - -2 = -5
+6 x 3 = 18
+8 + -9 = -1
+%10 = -50~40
+-1 + -7 = -8
+0 x -10 = 0
+2 x -5 = -10
+-9 + 2 = -7
+%-3 = -12~12
+8 x -1 = -8
+25 / 5 = 5
+35 / -5 = -7
+%-10 = -50
+-1 - -9 = 8
+6 - -2 = 8
+-5 x 1 = -5
+5 - -6 = 11
+-8 - -9 = 1
+%-9 = 27
+3 + 10 = 13
+-3 + 4 = 1
+3 - 4 = -1
+%-4 = 24
+-9 x -4 = 36
+4 x -5 = -20
+-6 - 6 = -12
+%10 = -60
+0 + 4 = 4
+-24 / 6 = -4
+8 + 7 = 15
+-30 / 5 = -6
+5 x -3 = -15
+28 / -7 = -4
+-8 + -1 = -9
+%-8 = -56~80
+1 + 7 = 8
+-2 x -10 = 20
+3 - -7 = 10
+%2 = -2
+%9 = -9~9~-54
+%3 = -27
+%3 = 18~-21~-27
+2 x -5 = -10
+0 + -9 = -9
+9 x 8 = 72
+-10 + -7 = -17
+-9 x 1 = -9
+-80 / -10 = 8
+6 x 7 = 42
+%-7 = -14
+6 x 2 = 12
+9 + -4 = 5
+-10 - -5 = -5
+8 - -8 = 16
+72 / 9 = 8
+0 x 6 = 0
+5 + 0 = 5
+%9 = 27~63
+10 x -2 = -20
+-2 x -6 = 12
+-7 + -5 = -12
+-2 - -9 = 7
+-1 x -8 = 8
+2 x -8 = -16
+-10 + -8 = -18
+-8 - 2 = -10
+-6 - 4 = -10
+-1 + 7 = 6
+-8 - -9 = 1
+-20 / 4 = -5
+%-7 = -21
+3 / -1 = -3
+-9 + 0 = -9
+-32 / -4 = 8
+%-2 = 14
+%10 = 100~90~100
+%-8 = -48
+%6 = -54~18
+%-7 = 14
+32 / 4 = 8
+7 x 6 = 42
+-7 x 8 = -56
+-6 - -9 = 3
+-10 x 6 = -60
+-6 + -7 = -13
+-10 + 10 = 0
+7 + -4 = 3
+-4 - -9 = 5
+80 / -8 = -10
+9 + -7 = 2
+%8 = -32~8~-16
+0 + 4 = 4
+-45 / -5 = 9
+2 - -7 = 9
+-9 + 8 = -1
+-9 - 4 = -13
+7 - 0 = 7
+%-8 = -64
+10 + 0 = 10
+%4 = 8
+45 / -9 = -5
+7 x 10 = 70
+4 + 6 = 10
+%-3 = 15~3
+%9 = -45
+2 x 3 = 6
+10 x -6 = -60
+-7 x -4 = 28
+-72 / -9 = 8
+-5 x 0 = 0
+3 - -2 = 5
+-5 - 7 = -12
+-54 / -9 = 6
+5 + 3 = 8
+10 / -2 = -5
+-7 / 7 = -1
+-5 - 2 = -7
+-5 - -1 = -4
+-4 + 5 = 1
+-1 + -8 = -9
+36 / -6 = -6
+2 / 1 = 2
+1 + -6 = -5
+%-9 = -72
+-8 - 6 = -14
+%3 = -15
+%-4 = -20
+-1 x -3 = 3
+%3 = 0~-15
+%-7 = 14
+2 + -8 = -6
+10 / -5 = -2
+-4 + 6 = 2
+4 x -5 = -20
+8 x 5 = 40
+1 x -5 = -5
+-6 - 4 = -10
+-4 - -4 = 0
+1 + 9 = 10
+27 / -3 = -9
+-3 / 3 = -1
+-7 x 8 = -56
+%9 = 36
+8 - 5 = 3
+-63 / -9 = 7
+5 - 4 = 1
+8 + 3 = 11
+%9 = 72
+-24 / -4 = 6
+9 + -1 = 8
+3 + 10 = 13
+6 x -9 = -54
+-80 / -8 = 10
+%-4 = 20~-24
+%9 = 81
+-6 - -5 = -1
+2 + 1 = 3
+3 x 8 = 24
+-5 + 7 = 2
+18 / -9 = -2
+-14 / 2 = -7
+-7 x 3 = -21
+25 / -5 = -5
+-4 - -3 = -1
+4 x -7 = -28
+-6 - 3 = -9
+-7 x -7 = 49
+-7 x -2 = 14
+-9 x -4 = 36
+%3 = 0~24
+-1 - -3 = 2
+-3 / -1 = 3
+-5 - -7 = 2
+-2 + 9 = 7
+-9 + 9 = 0
+-5 + -9 = -14
+%-4 = 8
+%9 = 9
+-6 / -6 = 1
+-1 x -5 = 5
+-6 + 6 = 0
+-72 / 8 = -9
+%-8 = 8~64
+4 - 10 = -6
+%6 = -30
+%-7 = 21~70
+-3 - 9 = -12
+8 - -9 = 17
+5 - 5 = 0
+%-5 = 0
+9 x -7 = -63
+5 x 8 = 40
+7 x 5 = 35
+-3 - -9 = 6
+-9 + 9 = 0
+-1 x -10 = 10
+-2 x -9 = 18
+8 / -1 = -8
+-15 / 5 = -3
+-1 - -2 = 1
+%5 = -25
+%-5 = 0~40~-30
+-3 - -2 = -1
+-40 / 5 = -8
+-1 - 2 = -3
+5 + -2 = 3
+-8 + 0 = -8
+3 x 1 = 3
+-7 x -4 = 28
+7 x -5 = -35
+0 x 2 = 0
+-5 x 8 = -40
+-1 x -4 = 4
+%-8 = 48
+4 + 8 = 12
+7 x -1 = -7
+12 / 2 = 6
+-5 - 6 = -11
+24 / -4 = -6
+%-9 = 18
+-5 + 2 = -3
+-9 + 1 = -8
+5 + 0 = 5
+%5 = 0
+-1 + 8 = 7
+6 - 0 = 6
+-4 - -5 = 1
+8 - -2 = 10
+-4 - -4 = 0
+6 x -7 = -42
+0 x -9 = 0
+-12 / 6 = -2
+-2 - -4 = 2
+20 / -5 = -4
+-5 + -10 = -15
+-8 - 0 = -8
+9 x 9 = 81
+-40 / 5 = -8
+24 / 6 = 4
+6 - -3 = 9
+-6 x 10 = -60
+-3 x -8 = 24
+6 - 4 = 2
+-9 - -5 = -4
+-6 - -7 = 1
+-90 / -10 = 9
+-7 - 2 = -9
+-15 / -3 = 5
+10 + -7 = 3
+8 x -4 = -32
+-2 + -2 = -4
+-3 - 1 = -4
+7 x -2 = -14
+5 / -5 = -1
+-6 - 3 = -9
+%-5 = 25~-5
+9 - -6 = 15
+-2 / 1 = -2
+-8 - 4 = -12
+0 / 8 = 0
+8 / 8 = 1
+%-4 = 8
+-25 / 5 = -5
+8 / 2 = 4
+-8 x 3 = -24
+%-2 = -8
+9 x 0 = 0
+%3 = 21~-24
+63 / -9 = -7
+-1 x 10 = -10
+%8 = -40
+-4 / -1 = 4
+-18 / -2 = 9
+-40 / -8 = 5
+72 / 8 = 9
+1 - -1 = 2
+7 - 1 = 6
+-8 / -4 = 2
+%-8 = -72~-32
+-27 / 9 = -3
+-4 x -7 = 28
+-1 x 1 = -1
+7 / 7 = 1
+5 x -1 = -5
+6 - -5 = 11
+45 / -9 = -5
+0 + -4 = -4
+-3 - -3 = 0
+4 x 3 = 12
+-3 - 5 = -8
+7 / 1 = 7
+6 / 3 = 2
+3 x -10 = -30
+-9 x 2 = -18
+%-4 = -32~-16
+%-8 = 56
+%-5 = -10
+-8 + -5 = -13
+3 - -3 = 6
+%10 = 30
+-27 / -3 = 9
+6 + -7 = -1
+-6 / -2 = 3
+-30 / -5 = 6
+0 + 7 = 7
+8 + 10 = 18
+9 x -4 = -36
+7 + 10 = 17
+-10 + 6 = -4
+-6 / -6 = 1
+-9 + 0 = -9
+%-6 = -12
+-1 - 5 = -6
+%5 = -30
+7 / 1 = 7
+0 - -2 = 2
+%-4 = 32
+7 x 0 = 0
+0 x 7 = 0
+%-3 = -21~-12
+-48 / -8 = 6
+-1 + -6 = -7
+-24 / -8 = 3
+9 - 2 = 7
+0 + -5 = -5
+-5 x 3 = -15
+-5 x -9 = 45
+-9 + -6 = -15
+5 x 4 = 20
+18 / -2 = -9
+-4 + -9 = -13
+%-4 = 4~28~16
+%-4 = 12~20
+-2 - -1 = -1
+-2 x 9 = -18
+-10 - -3 = -7
+%5 = 25~-40
+18 / -3 = -6
+5 - 3 = 2
+-7 x -7 = 49
+%-6 = -30~48
+20 / -10 = -2
+-2 x 4 = -8
+-40 / 5 = -8
+10 x -9 = -90
+9 / -1 = -9
+%3 = -9~6
+%-10 = -50
+-8 x 4 = -32
+2 x 4 = 8
+7 x -6 = -42
+%-8 = -72
+-8 / -2 = 4
+5 - 2 = 3
+1 x 1 = 1
+1 x -3 = -3
+1 + -5 = -4
+-1 - -6 = 5
+2 + -10 = -8
+27 / -9 = -3
+-4 - 2 = -6
+%-8 = -24
+-1 + -2 = -3
+9 + -3 = 6
+-6 x 1 = -6
+-5 + -9 = -14
+-2 - 0 = -2
+2 x -1 = -2
+-15 / -5 = 3
+6 x 8 = 48
+5 + 8 = 13
+3 - 2 = 1
+%6 = -24
+-28 / 4 = -7
+-5 - -2 = -3
+%8 = 32
+2 - 8 = -6
+-8 x -3 = 24
+1 + 5 = 6
+%10 = 80
+28 / 7 = 4
+%-9 = 63
+%-4 = 16
+9 + -2 = 7
+%-9 = -81~-54
+-8 x -1 = 8
+-24 / -8 = 3
+-1 x -8 = 8
+-1 + -4 = -5
+%8 = 0
+8 - 2 = 6
+8 + -8 = 0
+-3 + -3 = -6
+%-6 = 36
+%8 = 48
+%-8 = 16
+%3 = 15~-30
+72 / 9 = 8
+-36 / 9 = -4
+-50 / 5 = -10
+-9 x -2 = 18
+-18 / -9 = 2
+10 + -8 = 2
+30 / 5 = 6
+7 x 5 = 35
+6 - 5 = 1
+-1 - 1 = -2
+18 / 3 = 6
+5 - -7 = 12
+2 x -2 = -4
+12 / -2 = -6
+1 - -4 = 5
+%5 = -10
+-6 x 0 = 0
+-50 / -5 = 10
+-4 / 2 = -2
+16 / -4 = -4
+0 x -5 = 0
+10 + 8 = 18
+6 x -6 = -36
+5 + 0 = 5
+6 + -6 = 0
+10 + 0 = 10
+15 / -5 = -3
+-6 + -2 = -8
+-7 + 9 = 2
+0 / -6 = 0
+3 x -7 = -21
+-8 - 7 = -15
+-30 / -3 = 10
+-56 / -8 = 7
+-8 - 1 = -9
+7 - -5 = 12
+%-6 = 24
+%-5 = 5~-5
+-2 / -1 = 2
+5 - 9 = -4
+%-3 = 27
+4 / 1 = 4
+-7 x 7 = -49
+%-6 = -54~-54
+-9 + 2 = -7
+21 / 7 = 3
+0 / -6 = 0
+%6 = 30
+8 / -8 = -1
+%-3 = 24
+8 + 4 = 12
+6 + -3 = 3
+-90 / -10 = 9
+-6 + -9 = -15
+18 / -6 = -3
+-6 - 9 = -15
+6 - 0 = 6
+%5 = 15
+-9 - -6 = -3
+6 / 3 = 2
+-2 x 9 = -18
+-48 / 8 = -6
+%-7 = 56
+9 - 2 = 7
+%-9 = -36
+-10 - -4 = -6
+-8 x 5 = -40
+9 - 8 = 1
+-7 - 6 = -13
+-7 - -10 = 3
+-4 x -1 = 4
+8 x 9 = 72
+%-2 = -10
+-2 x 8 = -16
+-7 x 7 = -49
+-2 - 0 = -2
+%3 = -27
+-10 - 4 = -14
+4 x 2 = 8
+-4 - 0 = -4
+-10 + -6 = -16
+-5 x -2 = 10
+-9 + -8 = -17
+-8 - -7 = -1
+-6 + 8 = 2
+4 x 9 = 36
+7 - -1 = 8
+-8 + -10 = -18
+4 + 2 = 6
+6 + -3 = 3
+-2 x 3 = -6
+4 + 7 = 11
+%8 = -8
+-27 / 3 = -9
+%-7 = 49~-14
+0 + -2 = -2
+0 - 5 = -5
+10 / 5 = 2
+%7 = 14~70
+-9 x -2 = 18
+5 - 9 = -4
+%7 = -70
+-5 + -3 = -8
+18 / 6 = 3
+-2 x 3 = -6
+-2 - -8 = 6
+%-9 = 54~9
+-63 / 9 = -7
+-20 / 4 = -5
+6 - 1 = 5
+2 / -2 = -1
+6 x -8 = -48
+3 x -2 = -6
+4 x 0 = 0
+%3 = -9
+%-10 = 0
+-2 + 7 = 5
+-81 / -9 = 9
+%-6 = -54
+-12 / -6 = 2
+6 - 4 = 2
+-8 - -10 = 2
+5 x -5 = -25
+-2 - 6 = -8
+%6 = 36
+-4 + -5 = -9
+-80 / -10 = 8
+-7 + -5 = -12
+-10 x -4 = 40
+2 x -1 = -2
+%-10 = -50
+0 / -6 = 0
+54 / 6 = 9
+42 / 7 = 6
+-1 + 1 = 0
+%-2 = 20
+27 / 3 = 9
+%8 = -48
+-6 x 4 = -24
+-60 / -6 = 10
+%-5 = 40
+-2 x 7 = -14
+-1 + -4 = -5
+90 / -9 = -10
+-7 - -7 = 0
+8 x 2 = 16
+-9 - 1 = -10
+%9 = 18
+%-2 = 6
+-8 - -5 = -3
+-8 x -7 = 56
+-4 / 1 = -4
+%5 = 40
+-7 + 2 = -5
+-9 - -9 = 0
+-9 + -3 = -12
+%-2 = 14
+3 x 8 = 24
+5 x 6 = 30
+-3 + 5 = 2
+0 - 8 = -8
+-4 - -2 = -2
+-5 / 1 = -5
+0 x -4 = 0
+%6 = 54~24
+-9 + -2 = -11
+%3 = -12~-18
+8 + -1 = 7
+-1 x 3 = -3
+10 x -3 = -30
+0 - 6 = -6
+8 + 1 = 9
+%-2 = -2~0~10
+-3 x -5 = 15
+-21 / -7 = 3
+14 / 2 = 7
+4 x -4 = -16
+4 x 2 = 8
+%6 = -18
+%-5 = -15~-45~30
+-45 / 5 = -9
+-3 + 5 = 2
+-9 x 4 = -36
+1 - 7 = -6
+%-4 = 16~4~-28
+10 / -2 = -5
+%-9 = -9
+-72 / -9 = 8
+%-7 = -21
+-8 - 6 = -14
+%-4 = 16~24~32
+18 / 6 = 3
+%-4 = 20
+6 / 2 = 3
+%4 = 0
+4 - -5 = 9
+-6 - -9 = 3
+10 x 6 = 60
+2 - -7 = 9
+-7 x -6 = 42
+%2 = -2~0
+7 + 4 = 11
+%-3 = 12
+9 - -4 = 13
+%9 = 36
+-24 / -3 = 8
+%-10 = 20
+%-9 = 18~27
+8 + -8 = 0
+%4 = 28
+18 / 3 = 6
+7 - -2 = 9
+-7 x 1 = -7
+-25 / 5 = -5
+-4 + 0 = -4
+3 - 3 = 0
+2 + 8 = 10
+1 + 10 = 11
+-7 + -6 = -13
+7 / 7 = 1
+5 + 8 = 13
+0 - -6 = 6
+-9 x 8 = -72
+%-2 = -14
+4 x -8 = -32
+-1 x -2 = 2
+%9 = -45~9
+%-3 = 27~24
+10 x 3 = 30
+-4 + 10 = 6
+%3 = 30~-24
+%4 = 8~16~-16
+-9 + -7 = -16
+1 - -8 = 9
+-6 + 0 = -6
+%-8 = -56~40
+-4 - -5 = 1
+32 / 4 = 8
+5 x -8 = -40
+-1 - 4 = -5
+8 + -4 = 4
+-1 - 3 = -4
+5 x 4 = 20
+1 - -9 = 10
+49 / 7 = 7
+-3 - 6 = -9
+1 x 7 = 7
+-4 x 6 = -24
+%-6 = -6
+%2 = 16
+-7 x 3 = -21
+-10 + 4 = -6
+-3 x 0 = 0
+-6 x 2 = -12
+-8 / 8 = -1
+%-10 = -70
+-2 + -4 = -6
+%-5 = -45~-20~-30
+5 x -4 = -20
+%-7 = -28~-14~-7
+1 + 4 = 5
+2 + -10 = -8
+%-4 = 40~28
+-5 + -3 = -8
+3 - 3 = 0
+-2 - -1 = -1
+-30 / 10 = -3
+-5 x 0 = 0
+3 x -9 = -27
+24 / 3 = 8
+-8 + -2 = -10
+3 + 7 = 10
+0 - -4 = 4
+%-7 = -21
+%2 = 18~18
+3 + 4 = 7
+-4 / -1 = 4
+%-7 = 35
+1 x -6 = -6
+9 - 1 = 8
+%9 = -63
+-10 - -3 = -7
+%9 = 81~45
+-9 x -3 = 27
+-24 / 6 = -4
+%-3 = 6
+-1 x -1 = 1
+-5 + -9 = -14
+2 / -2 = -1
+-6 x -4 = 24
+%8 = -32~-56~40
+4 x 7 = 28
+-28 / -4 = 7
+%3 = 27
+8 - 2 = 6
+2 x 4 = 8
+-3 - -4 = 1
+-9 - -1 = -8
+%3 = -27
+3 + -4 = -1
+-2 + -9 = -11
+-7 x -6 = 42
+0 - -5 = 5
+7 / 1 = 7
+%-7 = 42~14
+6 x 1 = 6
+-6 / -2 = 3
+-3 - -4 = 1
+4 x -6 = -24
+8 x 2 = 16
+-1 - -6 = 5
+%-6 = 30~-36
+%5 = 0~-45
+0 / -5 = 0
+2 x -6 = -12
+-50 / 10 = -5
+%-2 = -2~-2~-12
+%-8 = 8~-32~-56
+%-9 = 54~9
+2 - 1 = 1
+49 / -7 = -7
+-10 / 5 = -2
+%-10 = -50
+9 / 9 = 1
+24 / 6 = 4
+0 + -9 = -9
+-5 + 7 = 2
+-1 + -6 = -7
+10 - 6 = 4
+-4 + -7 = -11
+%9 = 36
+%9 = -72
+-50 / -10 = 5
+1 x 5 = 5
+1 x 7 = 7
+-7 + 7 = 0
+8 x 8 = 64
+%4 = 16
+-1 x -2 = 2
+-4 + -8 = -12
+%-4 = -24
+%-9 = 18
+-9 - -1 = -8
+%6 = -48~0
+40 / 8 = 5
+9 x 8 = 72
+-7 + 6 = -1
+-6 x 2 = -12
+5 x -5 = -25
+%-8 = -24
+-8 - 6 = -14
+-6 / 2 = -3
+-4 + 7 = 3
+%-8 = 8~80~-8
+4 + -4 = 0
+%-10 = 0~10~-10
+7 - 0 = 7
+-3 + -3 = -6
+%-3 = 9
+%5 = 50
+-8 x 0 = 0
+10 + -9 = 1
+6 + 2 = 8
+-6 x -6 = 36
+%8 = 32~-72
+%2 = 16
+7 - 7 = 0
+7 x -6 = -42
+40 / -8 = -5
+%-2 = -18~2
+-18 / -9 = 2
+-9 - -8 = -1
+8 + 3 = 11
+2 x 3 = 6
+-4 x 4 = -16
+-2 + 2 = 0
+5 + 9 = 14
+10 x 2 = 20
+7 + 6 = 13
+-5 x 2 = -10
+9 - 1 = 8
+-45 / 5 = -9
+3 + -4 = -1
+9 x 3 = 27
+-6 - 7 = -13
+1 x 10 = 10
+-2 x 9 = -18
+-1 + -5 = -6
+-5 + -4 = -9
+-7 x 7 = -49
+%4 = 8~-28
+1 x 1 = 1
+21 / -7 = -3
+%4 = -24~-32
+-8 - 9 = -17
+%8 = 40
+4 x 0 = 0
+-1 - 4 = -5
+-2 x 5 = -10
+-8 - 7 = -15
+-2 x -9 = 18
+-5 + 6 = 1
+-9 x -2 = 18
+-1 x 7 = -7
+4 + -2 = 2
+-6 + -5 = -11
+-4 + 2 = -2
+-4 - -10 = 6
+%7 = 21
+-4 - 7 = -11
+35 / -7 = -5
+-6 / -3 = 2
+-4 x 7 = -28
+-16 / -2 = 8
+-1 x -9 = 9
+%-6 = 60
+%5 = 20
+6 + 3 = 9
+-6 + -7 = -13
+6 x -1 = -6
+%8 = 24
+-8 x -5 = 40
+-1 + 5 = 4
+-2 x 5 = -10
+7 + 2 = 9
+%5 = 35~-30~-45
+%6 = -48
+-8 - -4 = -4
+-4 - 1 = -5
+-36 / -4 = 9
+%9 = -90
+%6 = 48
+10 x 0 = 0
+%7 = -49
+2 x -1 = -2
+-8 x 9 = -72
+%-6 = 30
+%8 = -72~24~8
+0 / -4 = 0
+2 x 4 = 8
+-8 x -10 = 80
+-6 x -1 = 6
+1 - -2 = 3
+-30 / -10 = 3
+-6 - 6 = -12
+10 + 5 = 15
+-6 x 4 = -24
+%-9 = -72
+-1 + 7 = 6
+7 + -7 = 0
+%-6 = 42
+-4 - -5 = 1
+%10 = -20~30
+%-6 = -30
+2 + 5 = 7
+%-8 = 80
+-6 x 8 = -48
+-7 x 0 = 0
+6 x -1 = -6
+%5 = 15~-30
+10 x 7 = 70
+%6 = -42~-42~-30
+1 x 0 = 0
+0 + -9 = -9
+0 x 9 = 0
+-10 - -9 = -1
+-4 + -6 = -10
+%-4 = -20
+%6 = -48~-12
+%-4 = -16
+5 - 9 = -4
+-7 x 0 = 0
+-24 / 8 = -3
+-10 + -8 = -18
+24 / 3 = 8
+-5 + 6 = 1
+%-5 = 20~-10~-40
+%8 = -64
+-5 - 9 = -14
+4 x 3 = 12
+8 + -8 = 0
+8 - 8 = 0
+-9 - -1 = -8
+%-2 = -8
+%7 = 28~63~-49
+%-8 = 16~0
+6 - -9 = 15
+-5 + 5 = 0
+-9 - -5 = -4
+%-7 = -21~7
+-3 x -5 = 15
+%5 = 20
+%2 = -16
+-8 + -1 = -9
+-1 - 5 = -6
+0 / -3 = 0
+-3 / -1 = 3
+%5 = 10
+0 x 2 = 0
+-9 x -4 = 36
+%-8 = -72~24
+9 x -9 = -81
+7 x 0 = 0
+-32 / 8 = -4
+0 / 8 = 0
+-2 - -6 = 4
+-4 x -4 = 16
+0 + -10 = -10
+-5 x -7 = 35
+-9 + -2 = -11
+-90 / -9 = 10
+-3 x -9 = 27
+0 x -9 = 0
+%5 = 30
+60 / -10 = -6
+%-5 = -5~-35~10
+-6 x -1 = 6
+-4 x 7 = -28
+-4 x -8 = 32
+4 x -5 = -20
+3 x -3 = -9
+%-5 = -10
+%-5 = 30
+8 + -9 = -1
+63 / -7 = -9
+%3 = -21~-30
+-8 x -5 = 40
+3 + 6 = 9
+%-6 = 0~-60
+-9 x 9 = -81
+%8 = -24~-16
+5 x -5 = -25
+0 / 5 = 0
+%5 = 40~-35
+1 x -8 = -8
+40 / -5 = -8
+0 x 0 = 0
+%8 = -8~24
+%8 = -8~24
+6 - 10 = -4
+-5 x 9 = -45
+-6 - 10 = -16
+6 + -3 = 3
+%4 = 20~-20~20
+-6 / 3 = -2
+-12 / -6 = 2
+9 / 3 = 3
+72 / -9 = -8
+%-9 = -63
+%8 = 24~-32
+%7 = 63~49
+%10 = 20~-10
+-7 + 0 = -7
+4 x 5 = 20
+-5 - -4 = -1
+32 / -4 = -8
+-30 / -5 = 6
+2 x 9 = 18
+-9 + 8 = -1
+-9 + -7 = -16
+1 - -3 = 4
+%-7 = 35
+%6 = 36~-42
+%4 = 20~28~4
+-16 / 8 = -2
+-1 - 4 = -5
+%-3 = -21~6~-15
+40 / -5 = -8
+-7 - -6 = -1
+8 - 1 = 7
+1 - 6 = -5
+%-4 = -16
+%9 = 9~-27~81
+-1 x 1 = -1
+-4 x 5 = -20
+16 / -8 = -2
+-3 x 5 = -15
+-12 / 4 = -3
diff --git a/data/question_files/arithmetic/random_p0_0-10.dat b/data/question_files/arithmetic/random_p0_0-10.dat
new file mode 100644
index 0000000..7921b97
--- /dev/null
+++ b/data/question_files/arithmetic/random_p0_0-10.dat
@@ -0,0 +1,1000 @@
+9 / 1 = 9
+%8 = 64~32
+9 / 3 = 3
+3 x 6 = 18
+9 x 9 = 81
+5 - 0 = 5
+1 x 6 = 6
+4 + 5 = 9
+4 / 4 = 1
+8 / 4 = 2
+%3 = 3
+35 / 5 = 7
+4 x 8 = 32
+80 / 8 = 10
+5 - 2 = 3
+10 + 1 = 11
+4 - 2 = 2
+56 / 8 = 7
+%2 = 4
+8 + 4 = 12
+%8 = 32
+7 - 2 = 5
+4 + 1 = 5
+5 + 8 = 13
+%3 = 30
+%6 = 18~6~42
+42 / 7 = 6
+3 + 5 = 8
+45 / 9 = 5
+%3 = 12~6~21
+2 x 3 = 6
+%4 = 36
+8 x 5 = 40
+8 / 4 = 2
+5 + 7 = 12
+9 / 1 = 9
+9 - 8 = 1
+10 x 8 = 80
+4 - 3 = 1
+1 x 9 = 9
+10 / 5 = 2
+45 / 9 = 5
+9 / 1 = 9
+15 / 5 = 3
+80 / 8 = 10
+2 + 7 = 9
+20 / 4 = 5
+18 / 6 = 3
+%9 = 90~45
+4 + 1 = 5
+42 / 6 = 7
+2 + 5 = 7
+24 / 6 = 4
+2 x 2 = 4
+8 - 6 = 2
+6 x 9 = 54
+5 + 1 = 6
+10 x 7 = 70
+%3 = 24
+6 + 1 = 7
+%8 = 40~8
+10 - 9 = 1
+63 / 9 = 7
+1 x 5 = 5
+1 + 7 = 8
+10 / 2 = 5
+%8 = 0~8~8
+1 x 5 = 5
+4 + 8 = 12
+7 - 2 = 5
+28 / 7 = 4
+3 x 3 = 9
+7 - 4 = 3
+8 + 10 = 18
+6 - 3 = 3
+%3 = 15
+14 / 2 = 7
+12 / 2 = 6
+10 - 5 = 5
+%3 = 9
+4 / 2 = 2
+9 x 2 = 18
+0 + 2 = 2
+%4 = 28~32
+%4 = 12
+42 / 7 = 6
+10 / 2 = 5
+40 / 5 = 8
+9 - 8 = 1
+54 / 6 = 9
+8 - 6 = 2
+%4 = 28
+2 x 10 = 20
+20 / 10 = 2
+3 + 7 = 10
+9 - 5 = 4
+8 + 10 = 18
+12 / 6 = 2
+9 - 5 = 4
+5 x 9 = 45
+%4 = 32
+3 x 5 = 15
+8 x 3 = 24
+6 + 6 = 12
+%10 = 80
+10 - 4 = 6
+60 / 10 = 6
+%4 = 20
+9 x 9 = 81
+%7 = 70
+27 / 3 = 9
+%8 = 32
+%4 = 8~32
+2 / 2 = 1
+9 / 1 = 9
+1 + 9 = 10
+1 x 3 = 3
+5 x 4 = 20
+%6 = 24
+8 + 5 = 13
+7 - 4 = 3
+0 + 4 = 4
+3 + 2 = 5
+32 / 4 = 8
+8 / 2 = 4
+0 + 4 = 4
+6 x 3 = 18
+6 - 3 = 3
+3 + 8 = 11
+9 + 4 = 13
+45 / 5 = 9
+1 + 4 = 5
+2 x 7 = 14
+1 x 10 = 10
+35 / 5 = 7
+2 + 3 = 5
+10 x 9 = 90
+%7 = 28
+1 + 8 = 9
+6 x 3 = 18
+5 + 2 = 7
+25 / 5 = 5
+9 + 4 = 13
+2 x 2 = 4
+10 + 10 = 20
+%7 = 49
+1 + 1 = 2
+8 x 5 = 40
+2 + 4 = 6
+18 / 9 = 2
+%10 = 100
+%5 = 25
+8 - 7 = 1
+30 / 6 = 5
+36 / 4 = 9
+%4 = 16~24
+%2 = 2
+4 + 9 = 13
+12 / 3 = 4
+7 - 0 = 7
+9 + 5 = 14
+20 / 2 = 10
+1 + 10 = 11
+6 x 3 = 18
+9 + 7 = 16
+4 + 6 = 10
+6 x 4 = 24
+15 / 3 = 5
+15 / 5 = 3
+%4 = 12~24
+4 - 1 = 3
+4 x 6 = 24
+1 x 7 = 7
+10 / 2 = 5
+5 - 1 = 4
+9 x 9 = 81
+3 - 2 = 1
+5 + 1 = 6
+%9 = 9
+36 / 4 = 9
+7 + 4 = 11
+%7 = 42~63
+7 x 7 = 49
+3 x 3 = 9
+7 x 5 = 35
+2 + 7 = 9
+6 + 0 = 6
+1 - 0 = 1
+5 - 0 = 5
+6 x 6 = 36
+9 x 1 = 9
+3 + 1 = 4
+6 + 3 = 9
+%7 = 35
+9 + 4 = 13
+6 / 1 = 6
+2 + 5 = 7
+1 / 1 = 1
+6 x 1 = 6
+42 / 7 = 6
+%3 = 15
+5 x 3 = 15
+7 - 2 = 5
+7 x 4 = 28
+36 / 4 = 9
+%4 = 28
+%2 = 2
+1 + 6 = 7
+2 + 3 = 5
+7 - 4 = 3
+30 / 10 = 3
+8 - 4 = 4
+10 / 5 = 2
+5 x 8 = 40
+8 x 6 = 48
+%5 = 0
+6 + 6 = 12
+6 - 4 = 2
+56 / 8 = 7
+6 x 5 = 30
+7 / 1 = 7
+3 + 6 = 9
+7 + 6 = 13
+%9 = 36
+16 / 4 = 4
+%5 = 25~25
+9 x 6 = 54
+20 / 4 = 5
+3 x 5 = 15
+9 + 3 = 12
+%4 = 4
+%7 = 42
+1 + 6 = 7
+8 - 6 = 2
+2 / 1 = 2
+72 / 9 = 8
+%6 = 30~42
+6 + 7 = 13
+54 / 9 = 6
+7 + 3 = 10
+7 + 1 = 8
+4 / 2 = 2
+8 + 9 = 17
+30 / 3 = 10
+%4 = 20
+%9 = 9
+%5 = 45
+8 - 5 = 3
+7 - 2 = 5
+21 / 7 = 3
+4 x 6 = 24
+3 + 6 = 9
+6 + 9 = 15
+18 / 9 = 2
+3 + 9 = 12
+6 + 3 = 9
+20 / 2 = 10
+6 x 4 = 24
+1 + 5 = 6
+9 x 1 = 9
+2 + 1 = 3
+2 + 5 = 7
+8 - 2 = 6
+10 x 6 = 60
+%4 = 12
+1 x 6 = 6
+6 / 6 = 1
+7 - 4 = 3
+%9 = 72
+8 / 2 = 4
+9 / 1 = 9
+9 - 5 = 4
+40 / 4 = 10
+6 x 5 = 30
+9 / 1 = 9
+9 + 8 = 17
+%2 = 0~4
+2 + 2 = 4
+28 / 4 = 7
+9 - 0 = 9
+2 + 5 = 7
+1 x 5 = 5
+2 + 5 = 7
+8 x 9 = 72
+%8 = 48
+18 / 9 = 2
+8 + 9 = 17
+0 + 4 = 4
+8 / 8 = 1
+3 + 5 = 8
+9 - 7 = 2
+64 / 8 = 8
+4 x 4 = 16
+28 / 7 = 4
+0 + 3 = 3
+5 - 3 = 2
+7 x 5 = 35
+%8 = 32~56
+6 - 2 = 4
+4 + 9 = 13
+%9 = 54
+3 x 2 = 6
+%9 = 72~54
+7 + 2 = 9
+6 x 9 = 54
+1 x 6 = 6
+0 + 8 = 8
+%5 = 15
+6 / 2 = 3
+7 / 1 = 7
+6 - 2 = 4
+3 x 2 = 6
+%10 = 20
+30 / 5 = 6
+%6 = 54
+2 x 8 = 16
+5 x 6 = 30
+10 - 4 = 6
+49 / 7 = 7
+%7 = 14~42~14
+%3 = 15~24
+10 x 10 = 100
+7 x 6 = 42
+3 x 3 = 9
+%9 = 9
+3 x 1 = 3
+1 + 3 = 4
+1 - 0 = 1
+1 x 4 = 4
+4 + 10 = 14
+2 + 8 = 10
+%9 = 54~0
+2 + 3 = 5
+8 x 7 = 56
+18 / 9 = 2
+1 x 1 = 1
+7 - 0 = 7
+%8 = 8
+9 - 3 = 6
+%8 = 0~72~8
+9 x 1 = 9
+81 / 9 = 9
+7 + 6 = 13
+16 / 4 = 4
+10 x 8 = 80
+4 / 4 = 1
+7 x 10 = 70
+18 / 2 = 9
+4 x 5 = 20
+25 / 5 = 5
+%9 = 81~27~54
+%2 = 8
+%3 = 27
+3 - 2 = 1
+9 / 1 = 9
+15 / 3 = 5
+30 / 3 = 10
+63 / 9 = 7
+3 + 4 = 7
+7 x 7 = 49
+24 / 4 = 6
+2 + 5 = 7
+%7 = 7
+7 + 2 = 9
+%6 = 30
+24 / 8 = 3
+20 / 4 = 5
+%4 = 20
+9 x 5 = 45
+%9 = 9
+9 - 1 = 8
+6 + 5 = 11
+1 + 5 = 6
+9 + 10 = 19
+8 - 2 = 6
+%9 = 81~54
+7 - 0 = 7
+%3 = 18
+%4 = 12~4
+1 + 7 = 8
+32 / 4 = 8
+6 x 7 = 42
+3 x 3 = 9
+18 / 6 = 3
+8 / 4 = 2
+18 / 2 = 9
+2 + 7 = 9
+%5 = 10
+9 - 6 = 3
+2 / 1 = 2
+7 + 5 = 12
+1 + 6 = 7
+%6 = 6~12
+%8 = 56~32~64
+10 - 2 = 8
+%8 = 32~16
+%2 = 2
+%5 = 35
+8 x 4 = 32
+2 x 9 = 18
+27 / 9 = 3
+9 - 6 = 3
+28 / 4 = 7
+7 x 5 = 35
+%5 = 10
+%3 = 15
+2 + 6 = 8
+6 + 10 = 16
+3 / 1 = 3
+5 x 4 = 20
+8 / 1 = 8
+12 / 6 = 2
+9 - 5 = 4
+12 / 3 = 4
+%5 = 45~35~35
+7 + 2 = 9
+8 x 6 = 48
+%9 = 18
+5 / 5 = 1
+%7 = 7
+5 + 2 = 7
+10 - 2 = 8
+35 / 7 = 5
+%7 = 21
+5 + 5 = 10
+9 + 6 = 15
+1 x 7 = 7
+7 - 0 = 7
+5 x 7 = 35
+%5 = 35~20
+1 + 4 = 5
+10 x 3 = 30
+8 x 9 = 72
+10 / 10 = 1
+16 / 4 = 4
+7 x 7 = 49
+6 + 3 = 9
+%4 = 36~32
+1 x 4 = 4
+90 / 10 = 9
+%3 = 15
+7 - 6 = 1
+2 + 2 = 4
+2 + 4 = 6
+40 / 5 = 8
+%7 = 42~35
+21 / 7 = 3
+0 + 7 = 7
+1 x 6 = 6
+60 / 6 = 10
+8 + 1 = 9
+3 + 1 = 4
+4 / 1 = 4
+7 - 5 = 2
+10 / 5 = 2
+1 + 8 = 9
+1 + 5 = 6
+2 + 0 = 2
+5 / 1 = 5
+%4 = 16~32
+72 / 9 = 8
+1 + 6 = 7
+7 x 4 = 28
+8 - 6 = 2
+2 + 8 = 10
+8 x 4 = 32
+24 / 4 = 6
+9 x 6 = 54
+8 + 5 = 13
+%3 = 18
+%10 = 10
+1 x 6 = 6
+6 + 2 = 8
+3 x 9 = 27
+4 + 5 = 9
+%3 = 9
+%9 = 72
+3 / 1 = 3
+48 / 8 = 6
+8 + 10 = 18
+3 + 7 = 10
+9 - 8 = 1
+10 x 2 = 20
+8 + 8 = 16
+9 x 2 = 18
+9 x 5 = 45
+%8 = 48
+8 x 8 = 64
+4 + 8 = 12
+3 x 3 = 9
+%6 = 12
+8 - 6 = 2
+7 - 4 = 3
+9 x 7 = 63
+7 x 4 = 28
+4 / 1 = 4
+10 - 5 = 5
+9 x 5 = 45
+%2 = 8
+6 - 1 = 5
+12 / 6 = 2
+2 + 3 = 5
+3 + 8 = 11
+7 - 5 = 2
+72 / 8 = 9
+%4 = 36
+4 / 1 = 4
+10 x 9 = 90
+9 + 3 = 12
+%5 = 45~45
+6 - 5 = 1
+%9 = 81~45~90
+%4 = 36
+7 + 5 = 12
+8 - 3 = 5
+5 x 3 = 15
+2 x 6 = 12
+10 x 1 = 10
+1 x 2 = 2
+1 x 8 = 8
+90 / 10 = 9
+4 + 4 = 8
+%2 = 4
+%3 = 15
+%8 = 16
+4 x 6 = 24
+35 / 5 = 7
+2 x 2 = 4
+20 / 10 = 2
+3 / 3 = 1
+8 + 8 = 16
+%5 = 30
+6 + 3 = 9
+5 x 9 = 45
+2 + 8 = 10
+8 - 1 = 7
+49 / 7 = 7
+3 + 8 = 11
+3 x 8 = 24
+12 / 3 = 4
+%7 = 14
+27 / 9 = 3
+10 - 6 = 4
+%5 = 5
+7 - 5 = 2
+5 x 8 = 40
+10 / 10 = 1
+24 / 6 = 4
+%4 = 20
+6 - 2 = 4
+%7 = 35~56~7
+5 / 1 = 5
+56 / 8 = 7
+5 x 10 = 50
+7 + 2 = 9
+9 + 10 = 19
+5 x 5 = 25
+%10 = 10
+6 - 2 = 4
+%4 = 4
+%9 = 81
+45 / 5 = 9
+4 x 1 = 4
+7 x 2 = 14
+2 x 4 = 8
+7 + 9 = 16
+%4 = 16
+54 / 6 = 9
+7 + 2 = 9
+9 + 2 = 11
+%9 = 0
+36 / 6 = 6
+8 + 7 = 15
+%7 = 49
+3 / 3 = 1
+%3 = 27~12~21
+72 / 8 = 9
+3 x 2 = 6
+%5 = 20
+40 / 8 = 5
+%6 = 0
+5 + 6 = 11
+12 / 2 = 6
+40 / 5 = 8
+1 + 3 = 4
+24 / 3 = 8
+1 x 1 = 1
+9 x 7 = 63
+6 + 3 = 9
+60 / 6 = 10
+4 + 2 = 6
+3 - 1 = 2
+9 - 8 = 1
+5 - 2 = 3
+9 - 2 = 7
+6 x 8 = 48
+56 / 7 = 8
+7 x 3 = 21
+2 x 3 = 6
+9 x 8 = 72
+6 - 3 = 3
+9 + 4 = 13
+%3 = 27
+24 / 8 = 3
+3 x 6 = 18
+8 - 7 = 1
+8 x 1 = 8
+32 / 8 = 4
+9 x 7 = 63
+5 + 8 = 13
+%6 = 6
+4 + 6 = 10
+9 - 6 = 3
+1 + 3 = 4
+15 / 5 = 3
+%8 = 64
+14 / 2 = 7
+6 x 6 = 36
+6 x 1 = 6
+2 + 5 = 7
+7 - 2 = 5
+6 + 3 = 9
+%10 = 40
+%3 = 0~9
+2 + 9 = 11
+5 / 1 = 5
+%3 = 6
+4 + 1 = 5
+%3 = 9
+6 x 7 = 42
+%6 = 48~42~36
+7 + 7 = 14
+81 / 9 = 9
+%6 = 12
+5 + 9 = 14
+2 + 0 = 2
+%9 = 9
+7 x 3 = 21
+9 + 2 = 11
+%6 = 54~24
+32 / 4 = 8
+5 + 4 = 9
+15 / 5 = 3
+%3 = 15
+1 x 1 = 1
+6 - 3 = 3
+%7 = 42~21
+1 x 6 = 6
+%4 = 4
+20 / 4 = 5
+%5 = 20
+3 + 3 = 6
+18 / 3 = 6
+5 + 1 = 6
+4 + 5 = 9
+8 / 2 = 4
+%4 = 28
+4 x 7 = 28
+8 - 5 = 3
+4 x 5 = 20
+9 x 4 = 36
+3 + 9 = 12
+2 + 8 = 10
+6 x 2 = 12
+9 - 3 = 6
+7 x 4 = 28
+%3 = 27~15~12
+20 / 2 = 10
+6 x 9 = 54
+6 + 7 = 13
+4 + 10 = 14
+30 / 6 = 5
+9 - 2 = 7
+1 - 0 = 1
+4 / 4 = 1
+0 + 2 = 2
+60 / 6 = 10
+%3 = 12
+%3 = 27~9~15
+2 x 8 = 16
+4 x 2 = 8
+2 + 2 = 4
+8 / 4 = 2
+4 / 2 = 2
+2 + 6 = 8
+%9 = 81
+6 + 5 = 11
+6 - 1 = 5
+9 + 7 = 16
+2 + 2 = 4
+8 / 8 = 1
+10 x 9 = 90
+2 + 7 = 9
+9 - 3 = 6
+32 / 8 = 4
+%9 = 27
+%8 = 64
+6 - 5 = 1
+%8 = 40
+%4 = 8~36
+1 + 8 = 9
+9 + 6 = 15
+8 / 4 = 2
+4 + 2 = 6
+40 / 4 = 10
+4 + 6 = 10
+4 + 2 = 6
+9 x 7 = 63
+2 x 9 = 18
+%4 = 4
+5 x 9 = 45
+4 + 4 = 8
+2 x 6 = 12
+%6 = 18
+%3 = 21~27~12
+20 / 2 = 10
+20 / 4 = 5
+%7 = 0
+4 + 7 = 11
+%9 = 27
+5 + 10 = 15
+2 - 1 = 1
+4 / 4 = 1
+%6 = 30~18
+2 x 7 = 14
+9 - 5 = 4
+6 x 7 = 42
+5 - 1 = 4
+3 x 6 = 18
+5 + 8 = 13
+3 + 7 = 10
+1 + 5 = 6
+6 / 1 = 6
+8 + 0 = 8
+54 / 9 = 6
+9 x 9 = 81
+7 x 9 = 63
+6 x 8 = 48
+10 + 2 = 12
+%8 = 56~56~64
+6 - 2 = 4
+4 x 3 = 12
+45 / 9 = 5
+6 + 5 = 11
+6 / 6 = 1
+21 / 7 = 3
+2 + 4 = 6
+10 + 6 = 16
+3 x 7 = 21
+24 / 6 = 4
+%9 = 63
+70 / 10 = 7
+%10 = 30~70~70
+5 + 8 = 13
+30 / 5 = 6
+9 x 3 = 27
+2 x 3 = 6
+9 x 2 = 18
+%4 = 24
+%4 = 36
+72 / 8 = 9
+9 - 5 = 4
+%9 = 63
+3 - 2 = 1
+4 x 1 = 4
+8 / 8 = 1
+6 x 6 = 36
+28 / 7 = 4
+%5 = 15
+8 - 1 = 7
+4 x 9 = 36
+10 + 2 = 12
+6 + 4 = 10
+%3 = 15
+%7 = 42~35
+5 + 5 = 10
+9 + 4 = 13
+3 - 1 = 2
+3 x 8 = 24
+2 x 4 = 8
+3 + 1 = 4
+2 x 9 = 18
+72 / 8 = 9
+9 + 4 = 13
+7 + 6 = 13
+%4 = 36
+%4 = 12~4~36
+15 / 5 = 3
+7 x 10 = 70
+8 - 4 = 4
+63 / 7 = 9
+1 x 9 = 9
+6 + 1 = 7
+2 - 1 = 1
+2 x 8 = 16
+21 / 7 = 3
+%4 = 32~24
+5 x 2 = 10
+6 x 9 = 54
+10 / 1 = 10
+2 + 7 = 9
+12 / 2 = 6
+1 x 1 = 1
+10 / 1 = 10
+5 / 5 = 1
+30 / 10 = 3
+%7 = 21
+4 - 1 = 3
+5 x 7 = 35
+35 / 7 = 5
+8 - 4 = 4
+6 - 2 = 4
+7 + 1 = 8
+%4 = 24~28
+8 x 4 = 32
+9 x 2 = 18
+10 - 6 = 4
+2 x 6 = 12
+4 x 1 = 4
+5 + 5 = 10
+9 - 6 = 3
+5 - 2 = 3
+27 / 3 = 9
+%9 = 45~72
+8 - 4 = 4
+2 + 4 = 6
+6 + 8 = 14
+8 + 5 = 13
+7 - 5 = 2
+1 + 5 = 6
+8 + 7 = 15
+8 x 8 = 64
+10 x 2 = 20
+%3 = 27~21
+8 / 2 = 4
+8 / 2 = 4
+9 + 4 = 13
+7 + 2 = 9
+%9 = 18
+28 / 4 = 7
+5 + 5 = 10
+7 - 1 = 6
+30 / 3 = 10
+3 x 5 = 15
+4 - 0 = 4
+3 - 2 = 1
+%5 = 50
+4 + 2 = 6
+7 + 1 = 8
+3 + 6 = 9
+9 + 7 = 16
+1 + 2 = 3
+%5 = 5
+8 x 1 = 8
+6 x 3 = 18
+%7 = 14
+9 + 10 = 19
+%10 = 60
+%8 = 40~40~40
+5 x 8 = 40
+%3 = 3
+48 / 6 = 8
+4 + 2 = 6
+5 x 6 = 30
+3 - 1 = 2
+63 / 7 = 9
+%7 = 42~42
+%7 = 42
+1 + 9 = 10
+1 x 7 = 7
+5 x 2 = 10
+5 x 9 = 45
+3 + 0 = 3
+3 + 6 = 9
+15 / 5 = 3
+%6 = 18
+49 / 7 = 7
+%5 = 35~5
+%5 = 15
+%5 = 40
+%3 = 21
+6 + 6 = 12
+3 x 1 = 3
+6 x 5 = 30
+8 x 4 = 32
+9 - 0 = 9
+5 x 1 = 5
+%5 = 45
+%3 = 30~9~24
+9 x 8 = 72
+8 + 4 = 12
+4 + 5 = 9
+10 + 4 = 14
+5 + 9 = 14
+%5 = 40
+9 + 9 = 18
+7 x 7 = 49
+9 - 7 = 2
+1 + 9 = 10
+8 x 4 = 32
+%9 = 27
+7 x 8 = 56
+9 + 2 = 11
+6 + 1 = 7
+5 x 5 = 25
+9 + 4 = 13
+3 x 2 = 6
+8 / 2 = 4
+4 + 1 = 5
+2 + 10 = 12
+%7 = 56~14~14
+7 - 5 = 2
+5 - 4 = 1
+6 x 1 = 6
+6 - 1 = 5
+2 + 3 = 5
+10 + 10 = 20
+20 / 2 = 10
+%6 = 48
+27 / 9 = 3
+10 + 8 = 18
+1 + 4 = 5
+%3 = 21~9~24
+48 / 6 = 8
+5 + 7 = 12
+5 - 2 = 3
+%2 = 16~8
+16 / 4 = 4
+25 / 5 = 5
+9 x 6 = 54
+7 x 3 = 21
+3 x 9 = 27
+7 + 7 = 14
+2 + 8 = 10
+4 + 2 = 6
+%10 = 70~60~50
+10 - 0 = 10
+%5 = 45
+%4 = 16
+9 - 8 = 1
+5 x 10 = 50
+%4 = 0
+7 x 5 = 35
+4 - 3 = 1
+1 x 7 = 7
+10 + 2 = 12
+%7 = 70
+%2 = 8
+%7 = 14
+3 x 8 = 24
+3 + 7 = 10
+%4 = 36
+%9 = 81
+4 / 2 = 2
+3 x 9 = 27
+32 / 4 = 8
+%7 = 14
+0 + 9 = 9
+70 / 7 = 10
+%5 = 5
+8 x 8 = 64
+1 + 1 = 2
+7 x 9 = 63
+6 - 1 = 5
+4 / 2 = 2
+%8 = 48
+35 / 7 = 5
+2 + 9 = 11
+%6 = 6
+5 x 3 = 15
+3 / 3 = 1
+7 x 1 = 7
+24 / 8 = 3
+%3 = 3~18
+2 / 2 = 1
+32 / 8 = 4
+4 x 7 = 28
+18 / 6 = 3
+7 - 1 = 6
+8 + 5 = 13
+54 / 9 = 6
+12 / 4 = 3
+9 / 1 = 9
+%10 = 20
+7 + 4 = 11
+5 + 8 = 13
+10 x 3 = 30
+6 - 4 = 2
+10 - 3 = 7
+%5 = 35
+5 x 3 = 15
+1 + 8 = 9
+9 - 2 = 7
+6 + 2 = 8
+2 + 9 = 11
+3 - 1 = 2
+%3 = 15
+%7 = 42~56~63
+5 x 5 = 25
+2 x 7 = 14
diff --git a/data/question_files/arithmetic/random_p1_-10-10.dat b/data/question_files/arithmetic/random_p1_-10-10.dat
new file mode 100644
index 0000000..4a0b989
--- /dev/null
+++ b/data/question_files/arithmetic/random_p1_-10-10.dat
@@ -0,0 +1,1000 @@
+%-8 = -40~-80~64
+-14 / -7 = 2
+-2 - -3 = 1
+-4 - 6 = -10
+-2 - -4 = 2
+-30 / 6 = -5
+1 + -6 = -5
+9 + -4 = 5
+-33 / (-9 - 2) = 3
+-3 + 0 = -3
+%-5 = -40
+4 + -7 = -3
+-8 - 1 = -9
+-3 x (-1 - 7) = 24
+-6 + -7 = -13
+-1 x (10 - 0) = -10
+%9 = 72
+%3 = 12
+-9 x -10 = 90
+%7 = -42
+-5 - -9 = 4
+5 + 4 = 9
+(-7 + 4) x (-10 + -9) = 57
+(-8 - -3) x -9 = 45
+8 x 5 = 40
+-70 / 10 = -7
+3 x 5 = 15
+9 - 5 = 4
+4 x (-8 + 6) = -8
+7 x -3 = -21
+10 / (-1 - -6) = 2
+6 x (3 + 9) = 72
+%6 = -6
+56 / 7 = 8
+6 - 5 = 1
+%-5 = 45~-25
+2 + 1 = 3
+7 + 5 = 12
+32 / 4 = 8
+%7 = 63~-21
+-1 + 5 = 4
+-3 - 4 = -7
+6 - 4 = 2
+8 x 9 = 72
+3 x (4 + 2) = 18
+9 + 1 = 10
+0 - 4 = -4
+-4 x 6 = -24
+%-2 = 10
+10 + 3 = 13
+-1 - 8 = -9
+-8 - 9 = -17
+-2 x 4 = -8
+6 + -6 = 0
+48 / -8 = -6
+-12 / 3 = -4
+3 - 4 = -1
+%2 = -14~10
+21 / 3 = 7
+%-2 = 18~12
+%4 = -32
+-14 / 2 = -7
+-1 - 9 = -10
+%-5 = -40
+-1 x -4 = 4
+-2 + -2 = -4
+3 + -8 = -5
+-10 x (-2 + -5) = 70
+6 + 3 = 9
+%4 = 4~16
+6 + 9 = 15
+-27 / -9 = 3
+-56 / -7 = 8
+-5 + 2 = -3
+6 - 4 = 2
+-6 / 3 = -2
+-5 - -1 = -4
+%-9 = 27~36
+-9 + 4 = -5
+-5 + 1 = -4
+0 / 9 = 0
+5 + 8 = 13
+(0 + 1) x -3 = -3
+50 / -10 = -5
+%-5 = -20~-10
+-5 x (-10 + 9) = 5
+30 / 6 = 5
+-32 / 4 = -8
+%-6 = -36
+%9 = 18~81
+4 + 6 = 10
+(5 + -1) x (-10 + 0) = -40
+-9 + 9 = 0
+-4 + -7 = -11
+-4 - 6 = -10
+%-3 = -24~9~15
+-54 / -6 = 9
+-6 / (-2 + 8) = -1
+-3 - -3 = 0
+-2 x -6 = 12
+-2 - -9 = 7
+-8 - 3 = -11
+%-9 = -63~-54~-54
+-7 - -7 = 0
+28 / (8 - 4) = 7
+-4 x (-1 - 4) = 20
+-2 + 9 = 7
+%-9 = -63~-45
+0 + -7 = -7
+%-5 = -10
+%-10 = -80~70
+-4 - 9 = -13
+-2 x -5 = 10
+-21 / (10 - 7) = -7
+-2 + 1 = -1
+-1 - 8 = -9
+-6 x (-7 - 9) = 96
+(-2 + -8) x 7 = -70
+50 / -5 = -10
+81 / 9 = 9
+-7 x -8 = 56
+70 / -10 = -7
+-54 / (10 + -1) = -6
+-7 - 0 = -7
+%-5 = -30
+0 - 7 = -7
+8 - 10 = -2
+%-9 = 0~63
+6 + -3 = 3
+-3 + 3 = 0
+-10 x 9 = -90
+-7 + 6 = -1
+6 - -3 = 9
+5 / -5 = -1
+5 - 6 = -1
+%3 = 3
+28 / (-9 + 5) = -7
+5 - 0 = 5
+-5 x -6 = 30
+(8 - 4) x (-5 + 3) = -8
+-32 / 4 = -8
+-1 - 3 = -4
+%-6 = 12
+35 / 7 = 5
+2 / 2 = 1
+-6 + 10 = 4
+-7 - 3 = -10
+4 + -10 = -6
+-9 / 1 = -9
+9 - 1 = 8
+-2 + -4 = -6
+-6 + -7 = -13
+4 / 1 = 4
+-2 - -8 = 6
+-1 + -2 = -3
+%10 = 30~-50~60
+%4 = -8~-4~-28
+-80 / (-7 + -3) = 8
+1 + -1 = 0
+-9 x 7 = -63
+6 x -7 = -42
+-54 / (-3 + -6) = 6
+(2 + -5) x (-1 + 2) = -3
+8 x 3 = 24
+-1 x (10 + -1) = -9
+6 / -3 = -2
+0 - -4 = 4
+6 / -1 = -6
+16 / 4 = 4
+(-4 + 4) x 7 = 0
+0 / -2 = 0
+8 - 4 = 4
+%-8 = 16~-48
+-5 - 5 = -10
+-2 x 8 = -16
+35 / -5 = -7
+-2 - 3 = -5
+4 + -5 = -1
+4 + 7 = 11
+27 / -9 = -3
+0 / -2 = 0
+-5 x 1 = -5
+-6 + 5 = -1
+-6 - -7 = 1
+-42 / -7 = 6
+%9 = -27
+6 - 1 = 5
+5 / 5 = 1
+(-9 - -6) x 9 = -27
+10 - 4 = 6
+-5 + 9 = 4
+%-10 = -50~-60~-90
+%-3 = -3
+8 x 9 = 72
+%8 = 24~40~24
+-4 + 2 = -2
+5 / -5 = -1
+-54 / 6 = -9
+5 + 3 = 8
+-3 x (-3 + 1) = 6
+8 - -3 = 11
+8 / -4 = -2
+4 + 5 = 9
+%-8 = -16~-80
+2 + 9 = 11
+72 / -9 = -8
+2 x 4 = 8
+-3 + -4 = -7
+1 - -1 = 2
+6 / (-1 + -2) = -2
+6 x (10 - -3) = 78
+10 - -8 = 18
+%4 = -24~-12~-8
+-9 + 8 = -1
+(6 - 3) x 7 = 21
+-1 - 1 = -2
+8 + -1 = 7
+0 - 9 = -9
+10 x 9 = 90
+-9 - 9 = -18
+-1 + 5 = 4
+%-4 = 20~-28
+-5 - 3 = -8
+%6 = -24~24
+%5 = 0
+%-7 = -7
+%-9 = 72~-54
+%10 = -60~-30
+-63 / 7 = -9
+5 - -4 = 9
+0 / (5 - -5) = 0
+-6 - 5 = -11
+(0 - -1) x -9 = -9
+-6 x 9 = -54
+-2 - -2 = 0
+-4 + -1 = -5
+0 x (-7 + 5) = 0
+3 - 7 = -4
+%8 = -16
+(0 + 1) x (7 - 7) = 0
+0 - 2 = -2
+%-7 = 49
+36 / -6 = -6
+-7 - -9 = 2
+%5 = -10
+%-5 = -25
+6 / (-2 + 5) = 2
+9 - -2 = 11
+48 / 8 = 6
+-3 - -5 = 2
+-18 / 3 = -6
+-49 / -7 = 7
+-10 - -5 = -5
+1 - -10 = 11
+(3 + -5) x -7 = 14
+2 / -1 = -2
+%7 = -42~28~0
+-1 x -4 = 4
+-4 - -2 = -2
+1 + -9 = -8
+2 x 6 = 12
+-6 + 6 = 0
+-1 - 5 = -6
+6 / -2 = -3
+7 - 4 = 3
+-42 / (7 + 7) = -3
+-6 / 2 = -3
+(-6 + 4) x 8 = -16
+65 / (-9 + -4) = -5
+%-7 = 49
+%-4 = 8~-28
+0 - 3 = -3
+-40 / (3 - -7) = -4
+50 / 10 = 5
+6 + 8 = 14
+9 + -9 = 0
+4 + -10 = -6
+-8 + 0 = -8
+-72 / 9 = -8
+(1 - -4) x 7 = 35
+-7 - -4 = -3
+(10 + 9) x (-9 + -10) = -361
+8 - -7 = 15
+-1 - -7 = 6
+-2 x -5 = 10
+-6 - 1 = -7
+-5 + -10 = -15
+8 + 9 = 17
+%4 = 12
+-3 - -6 = 3
+%3 = 30~-27
+10 / -5 = -2
+-3 x 6 = -18
+-1 x (-9 - 3) = 12
+%9 = -63
+%-6 = 48
+24 / -6 = -4
+1 + -9 = -8
+%9 = 0
+-45 / 9 = -5
+%7 = 56~-21
+16 / -2 = -8
+0 / 1 = 0
+%-8 = 64
+0 / 5 = 0
+(-9 + 6) x 0 = 0
+-4 / (-8 - -7) = 4
+8 - 0 = 8
+9 - 9 = 0
+5 / -5 = -1
+-6 x -3 = 18
+-4 / (3 + -5) = 2
+%-7 = 56
+-18 / (10 + -8) = -9
+-7 - 1 = -8
+8 x 0 = 0
+%7 = 21
+%7 = -7
+-4 + 6 = 2
+5 - 10 = -5
+-7 x 2 = -14
+-6 + 4 = -2
+-5 x (3 + -8) = 25
+-7 + 5 = -2
+%-5 = 0
+-8 - -6 = -2
+42 / -6 = -7
+2 - 4 = -2
+-9 + -5 = -14
+-3 + -7 = -10
+%-4 = -4~-20
+4 / -1 = -4
+%8 = -64
+%-9 = -63~63
+-1 - -3 = 2
+1 - 1 = 0
+7 x -5 = -35
+35 / 5 = 7
+2 - -3 = 5
+12 / 2 = 6
+2 + 0 = 2
+-5 - 6 = -11
+1 + -10 = -9
+-3 - 7 = -10
+3 + -7 = -4
+2 - 7 = -5
+3 + 3 = 6
+-8 x 5 = -40
+-36 / -6 = 6
+%-10 = 0
+%-4 = 12
+3 - 6 = -3
+3 x 1 = 3
+%4 = 0~0
+-8 / 8 = -1
+7 - -4 = 11
+-1 + -5 = -6
+1 - 7 = -6
+-14 / 7 = -2
+-7 - -7 = 0
+%3 = -15
+-6 - -3 = -3
+-5 + -1 = -6
+-2 - 5 = -7
+6 + -1 = 5
+-48 / (-2 - 4) = 8
+%8 = -64
+%8 = -56
+8 / -1 = -8
+-1 - 5 = -6
+%8 = -32
+8 / -1 = -8
+-2 + -3 = -5
+%-9 = 36~-54
+-9 x -1 = 9
+-8 + -2 = -10
+%2 = 14
+27 / (5 - 2) = 9
+9 x (-2 + 4) = 18
+4 + -1 = 3
+12 / -4 = -3
+0 - -1 = 1
+0 x 4 = 0
+0 x -6 = 0
+-18 / (-9 - -3) = 3
+%7 = -21~-7
+-9 - 10 = -19
+-5 x -3 = 15
+4 - -4 = 8
+8 / (-6 + 10) = 2
+-1 - -6 = 5
+%6 = 48~6
+-36 / (-3 - 3) = 6
+%-10 = 60
+-20 / -4 = 5
+-4 + 6 = 2
+-5 + -4 = -9
+(0 + -4) x 6 = -24
+%4 = 20
+9 + -3 = 6
+-8 - -3 = -5
+%8 = -8~-32~-64
+-4 - -7 = 3
+%3 = 15
+-6 - -7 = 1
+-9 + -2 = -11
+80 / 8 = 10
+-4 + -9 = -13
+-9 + -4 = -13
+-2 x (2 + -2) = 0
+-40 / -4 = 10
+60 / (6 + 9) = 4
+5 + 0 = 5
+-19 / (-10 + -9) = 1
+%3 = -6~-9
+%-7 = -70
+-1 - 0 = -1
+7 / 1 = 7
+-2 / (10 - 9) = -2
+12 / (2 + 0) = 6
+%-6 = -42~42
+-5 + 8 = 3
+4 / -2 = -2
+0 - 3 = -3
+-8 - 0 = -8
+-4 x (-4 + -10) = 56
+(5 + -1) x (1 + -4) = -12
+14 / -7 = -2
+96 / (2 + 10) = 8
+10 + 9 = 19
+5 x -8 = -40
+-8 / 4 = -2
+10 - -8 = 18
+(-9 + 2) x -8 = 56
+0 - -5 = 5
+-2 + 0 = -2
+6 - 2 = 4
+-5 - 8 = -13
+-8 - 1 = -9
+-1 - -5 = 4
+-36 / -4 = 9
+6 / (-7 + 1) = -1
+-3 / 1 = -3
+%-3 = 27
+7 + -6 = 1
+9 + 3 = 12
+5 + -3 = 2
+6 x 5 = 30
+%-7 = 49
+%6 = 42~0
+%-5 = 30~-50
+-5 + -8 = -13
+6 + -4 = 2
+6 - -4 = 10
+(-3 - 8) x (5 - -4) = -99
+%-5 = -25~0
+70 / -7 = -10
+%-7 = -42~28~56
+%-5 = 25~-35~30
+-6 / 2 = -3
+0 + 4 = 4
+%-5 = 30~-30
+-6 x 6 = -36
+8 + -5 = 3
+48 / 6 = 8
+6 - -7 = 13
+-7 + 2 = -5
+%8 = 64~48
+0 - 1 = -1
+-5 x 1 = -5
+-72 / 9 = -8
+(2 + 6) x -2 = -16
+(2 + -4) x 2 = -4
+-5 / 1 = -5
+-1 / -1 = 1
+%-8 = 80
+-9 x 7 = -63
+%-10 = 0
+%-7 = -28
+-1 + 3 = 2
+3 + 8 = 11
+%-6 = -24~-48~36
+-4 + 5 = 1
+4 + -7 = -3
+%-3 = -3~-24
+8 x (9 + -1) = 64
+%9 = 0~54~-27
+-9 x (5 + 5) = -90
+4 + -7 = -3
+-1 - 3 = -4
+-2 - 9 = -11
+%-2 = -8~10~20
+%9 = 45
+12 / 6 = 2
+7 x (-3 - -8) = 35
+%6 = 42~-24
+%7 = -42~-49
+-3 - -2 = -1
+(1 - 7) x 8 = -48
+-13 / (9 - -4) = -1
+7 x 9 = 63
+-35 / (5 + 2) = -5
+-3 + -8 = -11
+-1 - 8 = -9
+(-4 + 4) x -7 = 0
+4 - -3 = 7
+7 x 7 = 49
+-5 - -1 = -4
+-1 x (-9 - -2) = 7
+%-9 = -54
+-8 x -3 = 24
+3 + 8 = 11
+9 + -2 = 7
+-6 - -9 = 3
+%3 = -24
+(-3 - -9) x (-1 - -4) = 18
+-1 x 2 = -2
+4 - -9 = 13
+-3 - 5 = -8
+-6 + -5 = -11
+%-3 = -9
+-63 / 9 = -7
+2 x -1 = -2
+-4 + -7 = -11
+2 + -8 = -6
+(5 + 4) x (-6 + 2) = -36
+24 / -4 = -6
+6 - 1 = 5
+8 - 4 = 4
+%3 = -21~-21
+(9 + -5) x (-6 - 5) = -44
+-4 - -4 = 0
+-9 - -7 = -2
+-5 + -1 = -6
+-3 + 4 = 1
+%-6 = 18
+-8 x 5 = -40
+8 - 10 = -2
+-2 x 2 = -4
+9 x 4 = 36
+-8 - -2 = -6
+18 / -2 = -9
+0 x 1 = 0
+4 - 9 = -5
+%4 = 32
+10 - 0 = 10
+%5 = -20
+-9 / (1 + -4) = 3
+9 x (8 - -7) = 135
+1 - 7 = -6
+%3 = -21
+%4 = 40
+-7 x -7 = 49
+%-10 = -50
+2 + 8 = 10
+%3 = 3~21
+4 - 1 = 3
+2 / (-6 + 5) = -2
+%-8 = 80
+-4 - -3 = -1
+2 - 9 = -7
+18 / (-9 - 0) = -2
+36 / 6 = 6
+-1 + -3 = -4
+10 x (-5 + -8) = -130
+%6 = 30
+8 - 4 = 4
+-3 - 9 = -12
+-8 + 2 = -6
+-9 + -5 = -14
+-4 - 4 = -8
+-1 - 3 = -4
+(9 - 2) x (0 - -8) = 56
+-2 x -6 = 12
+0 - -1 = 1
+-8 / 1 = -8
+%4 = 40~-8
+%-7 = 7~0~-28
+1 x -8 = -8
+3 + 7 = 10
+-6 + 1 = -5
+3 + 0 = 3
+%-7 = 0~14
+0 / (4 + -6) = 0
+2 - -6 = 8
+9 + 7 = 16
+%2 = -18~-14
+-9 - 7 = -16
+-10 + -8 = -18
+-1 x (3 + -8) = 5
+%10 = -50
+-4 + -2 = -6
+10 + -3 = 7
+8 x 0 = 0
+16 / -8 = -2
+5 - -2 = 7
+2 + 2 = 4
+%10 = -50~60
+4 x 9 = 36
+-6 - -6 = 0
+2 - -2 = 4
+-3 - 0 = -3
+4 - -4 = 8
+%9 = 27
+%-3 = 18
+0 x 0 = 0
+5 + 4 = 9
+110 / (7 + 4) = 10
+-3 - 1 = -4
+3 / -1 = -3
+%9 = -45
+40 / (-3 + -7) = -4
+4 + -7 = -3
+-5 x (6 - 0) = -30
+-9 x 8 = -72
+4 - 10 = -6
+%10 = 0
+2 + -8 = -6
+%-5 = 30
+-4 - 1 = -5
+%-7 = -14
+7 + -3 = 4
+-9 - -1 = -8
+(-6 - 7) x (6 + -6) = 0
+4 - -10 = 14
+-6 + -2 = -8
+%3 = -27
+0 x -2 = 0
+8 + -1 = 7
+%4 = -36~28
+8 + -3 = 5
+%-8 = -24
+-40 / (7 + 3) = -4
+-4 / 1 = -4
+-7 - -1 = -6
+5 + 4 = 9
+1 x (-3 + -1) = -4
+%-10 = 90~70~-70
+(-7 + 2) x 2 = -10
+-3 + -4 = -7
+-12 / (5 - 2) = -4
+6 - 0 = 6
+-7 + 6 = -1
+-5 - 0 = -5
+%-7 = 28~49
+7 x 6 = 42
+%-9 = 36~72
+-98 / (-8 - 6) = 7
+3 - -10 = 13
+8 / -4 = -2
+-12 / 3 = -4
+-4 - 4 = -8
+3 + 1 = 4
+-2 + 2 = 0
+-2 x -2 = 4
+-6 - 6 = -12
+7 - 1 = 6
+-35 / 7 = -5
+-4 - -7 = 3
+-7 + -2 = -9
+%6 = 0
+-2 - -3 = 1
+9 - 10 = -1
+1 - 8 = -7
+2 + -7 = -5
+27 / -3 = -9
+1 x (3 + 6) = 9
+-7 - 8 = -15
+9 x -2 = -18
+-7 + -6 = -13
+-5 - -9 = 4
+7 - 2 = 5
+-5 + 4 = -1
+-32 / 4 = -8
+2 x (9 + -8) = 2
+-7 - -8 = 1
+4 x -7 = -28
+%-6 = 42
+12 / 2 = 6
+7 - -9 = 16
+-9 / -1 = 9
+%-5 = -35~-45
+%2 = -6
+%8 = 72
+-2 x (-1 + 7) = -12
+6 + 5 = 11
+24 / 3 = 8
+3 + 7 = 10
+-2 + 8 = 6
+6 x (-5 - 0) = -30
+-2 - 9 = -11
+10 - 5 = 5
+-1 - 0 = -1
+%5 = -25
+1 - -7 = 8
+8 - -4 = 12
+8 + 7 = 15
+%4 = -8~8
+-8 + 0 = -8
+-9 x (5 - 2) = -27
+%-5 = -20
+-15 / 5 = -3
+-1 + 1 = 0
+-5 + 5 = 0
+%-9 = 72
+18 / 6 = 3
+(1 - 1) x -4 = 0
+%-3 = 24
+-8 - -2 = -6
+-8 + 9 = 1
+(-9 + 7) x (-2 - 7) = 18
+-7 x (-4 - -7) = -21
+5 x 2 = 10
+8 - -8 = 16
+-8 / -4 = 2
+8 / -8 = -1
+-6 x -8 = 48
+(-3 - -6) x -2 = -6
+4 + -5 = -1
+4 x -1 = -4
+-1 + -9 = -10
+-6 + -8 = -14
+-9 x -6 = 54
+2 - -5 = 7
+-5 x (-5 + -4) = 45
+%8 = -32
+5 - 7 = -2
+30 / -6 = -5
+-9 - -2 = -7
+-27 / 3 = -9
+5 / (9 + -4) = 1
+28 / -4 = -7
+-9 - -5 = -4
+-27 / -9 = 3
+%-9 = -90~-18
+-3 + -2 = -5
+%6 = 0
+105 / (9 + 6) = 7
+0 x (-5 - -7) = 0
+-4 x -7 = 28
+7 + -2 = 5
+-1 + -3 = -4
+(-6 - -7) x -1 = -1
+-9 - -5 = -4
+6 - -7 = 13
+21 / (-4 + -3) = -3
+-1 - 10 = -11
+2 + 4 = 6
+2 + -9 = -7
+-5 + -2 = -7
+6 / (-2 + -1) = -2
+8 x 1 = 8
+-6 - 6 = -12
+9 / 1 = 9
+5 - -7 = 12
+(-2 + -7) x (10 - 5) = -45
+3 + 1 = 4
+4 - 7 = -3
+%7 = -14~63
+-6 - -2 = -4
+9 / 9 = 1
+%-4 = 36~36
+-24 / -6 = 4
+%2 = 16~4
+%-2 = 20
+3 x (1 + -9) = -24
+1 x -1 = -1
+-5 + -8 = -13
+-6 - 4 = -10
+-27 / (-4 + 7) = -9
+%7 = 21
+(9 - -3) x -7 = -84
+%8 = -56
+5 - 4 = 1
+6 + 8 = 14
+9 - 9 = 0
+4 + 0 = 4
+12 / (7 + -1) = 2
+-5 x 5 = -25
+18 / (-10 - -7) = -6
+5 + -5 = 0
+-1 + -3 = -4
+-9 - -3 = -6
+42 / -6 = -7
+%-9 = -72~9
+1 + 0 = 1
+7 + -4 = 3
+%7 = -42
+0 x 3 = 0
+-4 x 4 = -16
+%4 = -40
+-10 x (5 - -5) = -100
+-3 - -4 = 1
+3 x 4 = 12
+0 - 6 = -6
+-4 + -4 = -8
+-1 - -4 = 3
+(-3 + 2) x -9 = 9
+8 + 6 = 14
+-5 + -1 = -6
+%5 = -10
+-27 / -9 = 3
+1 - 6 = -5
+3 + -1 = 2
+%-5 = 45
+9 - -1 = 10
+9 + -6 = 3
+(10 + -7) x (5 - 3) = 6
+%8 = -32~40
+-24 / 4 = -6
+-4 x 6 = -24
+%4 = 8~8
+(6 + -7) x -8 = 8
+35 / 7 = 5
+9 + -5 = 4
+-8 / (-2 - -1) = 8
+%9 = 54
+-8 x (2 - -3) = -40
+7 x -2 = -14
+%4 = 4~-16
+6 - 8 = -2
+%6 = 30
+%-7 = 35
+4 x (8 - 0) = 32
+-3 + -8 = -11
+1 - -7 = 8
+4 x (-1 + 4) = 12
+%-8 = -48~-32
+6 x 6 = 36
+8 + -9 = -1
+-72 / 9 = -8
+-6 x (-8 + -1) = 54
+-9 - 10 = -19
+(-7 + 8) x -5 = -5
+-3 x 8 = -24
+-7 - 4 = -11
+-32 / (2 - -2) = -8
+-5 - 2 = -7
+%-6 = -60~-42~-30
+(-7 + -2) x 3 = -27
+-20 / -4 = 5
+%7 = -63~56
+8 x 6 = 48
+(-5 - 1) x (-8 - 4) = 72
+4 + -7 = -3
+2 - 8 = -6
+%7 = -28
+1 x -10 = -10
+4 + 9 = 13
+-16 / -8 = 2
+-6 - -7 = 1
+1 x -2 = -2
+3 + -4 = -1
+%3 = 30~0~-27
+-5 - 10 = -15
+-7 - 6 = -13
+-10 x -2 = 20
+0 - -1 = 1
+3 x 8 = 24
+56 / 8 = 7
+-7 - 7 = -14
+8 + 8 = 16
+3 - -1 = 4
+24 / -6 = -4
+-3 + -10 = -13
+9 + -9 = 0
+4 + 10 = 14
+0 x -2 = 0
+-2 x -6 = 12
+6 x (4 - -7) = 66
+3 - -10 = 13
+7 x -3 = -21
+%-3 = 9
+-2 x -4 = 8
+7 x 4 = 28
+-1 + 7 = 6
+1 x 1 = 1
+-1 - -10 = 9
+20 / -2 = -10
+-5 - 2 = -7
+-6 - -6 = 0
+%-5 = -20
+-3 - 1 = -4
+-10 / 2 = -5
+5 + 0 = 5
+42 / -6 = -7
+%7 = -35~35
+%6 = -18
+0 - 4 = -4
+-24 / -4 = 6
+-63 / -9 = 7
+6 x -3 = -18
+%-4 = 32
+18 / -3 = -6
+-4 + -8 = -12
+0 / (2 - -7) = 0
+-7 x -9 = 63
+10 / (-1 + 3) = 5
+-6 - 3 = -9
+-24 / 6 = -4
+-6 - 5 = -11
+4 + -7 = -3
+0 / 5 = 0
+(3 - 1) x 2 = 4
+%6 = 42
+6 / (8 - 2) = 1
+-60 / -6 = 10
+5 x -6 = -30
+%-9 = 36
+2 x 10 = 20
+4 - 8 = -4
+-8 + -1 = -9
+45 / -5 = -9
+9 + -6 = 3
+9 + 4 = 13
+-3 + -6 = -9
+%9 = 9
+0 + 6 = 6
+0 - 3 = -3
+4 - -3 = 7
+4 x (7 - -2) = 36
+%-7 = -49
+-9 x 9 = -81
+1 + -5 = -4
+30 / 3 = 10
+-15 / -3 = 5
+-12 / (5 + -1) = -3
+-2 - 5 = -7
+7 x -4 = -28
+%9 = 54
+18 / 2 = 9
+-1 x -7 = 7
+%-6 = 42
+-42 / (-1 - -8) = -6
+%-3 = 12~-24
+6 / 2 = 3
+4 - 4 = 0
+5 / (-4 - -5) = 5
+10 + 6 = 16
+-9 + 2 = -7
+-4 - 6 = -10
+%-2 = 4~-4~-2
+-5 - 9 = -14
+2 + -9 = -7
+-3 x 0 = 0
+(-1 - 1) x 10 = -20
+-5 x (0 - -4) = -20
+%-10 = -80~30~-40
+(-4 - -3) x 5 = -5
+1 + 8 = 9
+-8 + -8 = -16
+-7 x -3 = 21
+-6 + -5 = -11
+%10 = -50
+7 - -6 = 13
+-9 x 10 = -90
+-2 - 2 = -4
+%10 = -10
+%10 = -10
+%-8 = 56
+-5 + -4 = -9
+-4 x 5 = -20
+-9 + -7 = -16
+%-5 = -15~-45~5
+3 - 4 = -1
+-4 - 5 = -9
+-30 / 6 = -5
+%8 = -56
+-8 x 7 = -56
+4 / 1 = 4
+-4 - 6 = -10
+-32 / -8 = 4
+160 / (-7 + -9) = -10
+42 / 7 = 6
+3 - 5 = -2
+16 / (-3 - 5) = -2
+-1 + 5 = 4
+%-9 = -81
+(1 + 9) x (-10 - -7) = -30
+%-2 = -2
+-7 + 7 = 0
+%10 = 80
+-5 - -9 = 4
+12 / (8 + -6) = 6
+-9 / 1 = -9
+6 - 8 = -2
+-10 x (-7 - -5) = 20
+-10 x (-3 - -7) = -40
+-100 / -10 = 10
+5 - -6 = 11
+%8 = -48~-56~24
+2 + 7 = 9
+0 / 2 = 0
+%4 = 8
+%6 = -54
+16 / -4 = -4
+3 - -9 = 12
+%-4 = -4
+9 + -6 = 3
+0 + -5 = -5
diff --git a/data/question_files/arithmetic/random_p1_0-10.dat b/data/question_files/arithmetic/random_p1_0-10.dat
new file mode 100644
index 0000000..0db9e53
--- /dev/null
+++ b/data/question_files/arithmetic/random_p1_0-10.dat
@@ -0,0 +1,1000 @@
+9 - 6 = 3
+%7 = 14~35
+7 + 9 = 16
+8 + 3 = 11
+%3 = 0~0~9
+%5 = 20
+55 / (3 + 8) = 5
+6 x 7 = 42
+54 / (1 + 5) = 9
+7 / 1 = 7
+%3 = 9
+3 + 3 = 6
+3 + 5 = 8
+%8 = 8~56
+(4 - 1) x 2 = 6
+(8 + 0) x 1 = 8
+%4 = 40
+%10 = 60
+3 + 1 = 4
+1 x (0 + 4) = 4
+4 x 4 = 16
+8 + 4 = 12
+%8 = 56~32
+4 + 8 = 12
+5 + 9 = 14
+(3 + 5) x 3 = 24
+4 + 5 = 9
+64 / 8 = 8
+(0 + 2) x 3 = 6
+2 + 7 = 9
+(4 + 4) x 2 = 16
+10 / (2 + 8) = 1
+9 - 3 = 6
+2 + 0 = 2
+%8 = 8
+4 / 4 = 1
+4 + 3 = 7
+%3 = 6
+30 / 6 = 5
+24 / 4 = 6
+3 x 2 = 6
+35 / 7 = 5
+9 x 3 = 27
+(8 - 2) x 6 = 36
+(5 - 1) x 3 = 12
+4 + 7 = 11
+(8 - 7) x 1 = 1
+100 / 10 = 10
+4 + 0 = 4
+1 x 5 = 5
+6 + 5 = 11
+(10 + 4) x 10 = 140
+10 + 0 = 10
+49 / 7 = 7
+%7 = 14
+54 / 6 = 9
+(5 + 6) x (1 + 10) = 121
+%6 = 54
+8 + 6 = 14
+8 - 4 = 4
+10 + 6 = 16
+2 x 5 = 10
+54 / 6 = 9
+(3 + 4) x (6 + 9) = 105
+%6 = 42~12~6
+9 - 3 = 6
+2 x (7 - 6) = 2
+8 + 4 = 12
+4 x 9 = 36
+6 x 10 = 60
+5 + 2 = 7
+4 / 1 = 4
+%7 = 63~49~35
+10 x (2 - 1) = 10
+8 / 1 = 8
+3 + 3 = 6
+%8 = 64
+%6 = 12~18~42
+2 x 3 = 6
+60 / (3 + 9) = 5
+27 / (4 + 5) = 3
+5 x (8 - 5) = 15
+2 - 1 = 1
+4 x 8 = 32
+1 / 1 = 1
+%2 = 18~8~14
+63 / (9 - 2) = 9
+%6 = 12
+7 - 3 = 4
+(2 + 8) x 7 = 70
+75 / (5 + 10) = 5
+5 + 9 = 14
+%4 = 8
+9 - 8 = 1
+%10 = 30
+3 x 8 = 24
+25 / (10 - 5) = 5
+9 + 2 = 11
+10 - 9 = 1
+8 + 3 = 11
+%6 = 30~18
+%3 = 6~6
+%3 = 15~12
+2 - 1 = 1
+1 + 9 = 10
+2 / 2 = 1
+6 + 3 = 9
+81 / 9 = 9
+3 + 4 = 7
+%3 = 24~30~27
+%6 = 42~24
+10 / 2 = 5
+28 / 7 = 4
+%5 = 40~30
+39 / (6 + 7) = 3
+5 + 3 = 8
+9 / 9 = 1
+8 + 2 = 10
+6 + 3 = 9
+(3 + 9) x 7 = 84
+%5 = 10
+(7 - 2) x (8 + 2) = 50
+10 + 5 = 15
+7 x 9 = 63
+%3 = 6
+7 x (8 - 2) = 42
+1 x 6 = 6
+4 + 1 = 5
+2 + 4 = 6
+%5 = 20~20
+1 x (4 + 0) = 4
+3 x 6 = 18
+1 + 1 = 2
+(7 - 5) x 7 = 14
+63 / 7 = 9
+6 / 1 = 6
+3 x 3 = 9
+48 / 8 = 6
+9 x 8 = 72
+5 + 5 = 10
+%7 = 63
+10 + 1 = 11
+%7 = 56
+4 x 8 = 32
+24 / 8 = 3
+48 / 6 = 8
+5 x 6 = 30
+7 x (8 + 6) = 98
+6 - 3 = 3
+3 x 7 = 21
+7 x 3 = 21
+%4 = 36
+10 x 8 = 80
+9 - 0 = 9
+1 + 5 = 6
+7 + 2 = 9
+7 / (7 - 6) = 7
+54 / 6 = 9
+8 + 1 = 9
+%8 = 72
+%5 = 35
+27 / (3 + 6) = 3
+9 - 6 = 3
+4 + 8 = 12
+5 x 8 = 40
+(7 - 2) x 5 = 25
+%9 = 36
+6 + 1 = 7
+5 - 1 = 4
+1 + 10 = 11
+36 / (2 + 2) = 9
+2 x 1 = 2
+54 / (6 - 0) = 9
+10 / 1 = 10
+8 - 4 = 4
+(10 + 10) x (10 + 9) = 380
+56 / 8 = 7
+%3 = 6~6
+20 / 5 = 4
+6 x 4 = 24
+(3 + 9) x (8 + 3) = 132
+%7 = 21
+15 / 5 = 3
+4 x 10 = 40
+9 + 7 = 16
+5 / 1 = 5
+56 / 8 = 7
+(5 + 2) x 7 = 49
+3 + 4 = 7
+25 / 5 = 5
+5 + 1 = 6
+9 - 0 = 9
+%2 = 18
+8 + 1 = 9
+5 - 3 = 2
+%9 = 36
+5 + 8 = 13
+4 + 4 = 8
+1 + 5 = 6
+1 + 7 = 8
+54 / 9 = 6
+90 / (8 + 1) = 10
+5 - 1 = 4
+(10 + 3) x 5 = 65
+(2 - 1) x 4 = 4
+6 + 10 = 16
+7 - 1 = 6
+6 - 5 = 1
+%3 = 21
+35 / (2 + 5) = 5
+%9 = 45
+1 + 3 = 4
+4 / 2 = 2
+(8 - 2) x 8 = 48
+%3 = 21
+1 + 3 = 4
+6 / 2 = 3
+6 - 1 = 5
+7 + 5 = 12
+54 / (10 - 1) = 6
+3 - 0 = 3
+9 x 3 = 27
+6 + 10 = 16
+(2 + 4) x 8 = 48
+7 - 4 = 3
+4 + 6 = 10
+%9 = 0
+5 + 9 = 14
+32 / 8 = 4
+7 + 4 = 11
+(4 + 10) x (5 + 7) = 168
+90 / 10 = 9
+5 + 8 = 13
+35 / 7 = 5
+9 + 9 = 18
+%9 = 45~27
+27 / 3 = 9
+14 / 7 = 2
+1 + 6 = 7
+50 / 5 = 10
+(9 + 2) x 9 = 99
+1 / (1 - 0) = 1
+2 + 10 = 12
+2 - 1 = 1
+40 / 10 = 4
+5 x 4 = 20
+1 + 5 = 6
+%5 = 20~15
+9 x 3 = 27
+9 - 8 = 1
+18 / 2 = 9
+%6 = 0~6
+6 + 5 = 11
+1 + 3 = 4
+10 / 10 = 1
+130 / (10 + 3) = 10
+1 + 7 = 8
+%2 = 12
+10 x 3 = 30
+9 + 1 = 10
+5 + 7 = 12
+9 - 3 = 6
+(0 + 3) x (5 + 3) = 24
+12 / (5 - 2) = 4
+7 + 6 = 13
+7 x 1 = 7
+%6 = 36
+7 + 1 = 8
+6 + 4 = 10
+10 + 0 = 10
+3 + 5 = 8
+8 + 4 = 12
+8 + 2 = 10
+%4 = 32
+(2 - 0) x (7 + 1) = 16
+(9 + 7) x (5 - 0) = 80
+10 + 1 = 11
+48 / 8 = 6
+(7 - 3) x 4 = 16
+45 / (4 + 1) = 9
+8 x (10 - 2) = 64
+8 + 9 = 17
+1 + 6 = 7
+4 + 9 = 13
+36 / 4 = 9
+%8 = 24
+10 - 4 = 6
+9 + 9 = 18
+24 / (7 - 1) = 4
+(9 + 5) x 7 = 98
+%10 = 30
+6 x (3 + 8) = 66
+80 / (9 + 7) = 5
+9 - 2 = 7
+4 x 9 = 36
+1 + 9 = 10
+10 + 4 = 14
+2 x 6 = 12
+%6 = 42~12
+5 + 6 = 11
+3 / 1 = 3
+9 / 9 = 1
+20 / 2 = 10
+4 / 4 = 1
+%8 = 8~40~72
+%3 = 3~21~6
+5 + 10 = 15
+(7 + 4) x 2 = 22
+2 - 1 = 1
+4 + 9 = 13
+4 + 4 = 8
+%10 = 10
+1 - 0 = 1
+2 + 7 = 9
+16 / 2 = 8
+8 + 1 = 9
+8 / 1 = 8
+2 / 1 = 2
+7 / 7 = 1
+2 + 3 = 5
+%9 = 0~36
+5 / 1 = 5
+4 - 0 = 4
+4 / 4 = 1
+12 / 2 = 6
+(5 + 9) x (9 + 3) = 168
+5 x 8 = 40
+%3 = 12
+6 x (9 + 7) = 96
+1 x 5 = 5
+(9 + 3) x (3 + 5) = 96
+8 x 9 = 72
+6 + 1 = 7
+2 x 8 = 16
+2 x (7 - 2) = 10
+%8 = 64
+7 - 3 = 4
+15 / (7 - 4) = 5
+5 - 1 = 4
+(1 + 4) x (8 + 6) = 70
+6 / 2 = 3
+%7 = 7
+7 - 2 = 5
+48 / 8 = 6
+(4 + 8) x 8 = 96
+%4 = 32
+4 + 6 = 10
+7 - 6 = 1
+%9 = 0
+10 + 9 = 19
+3 + 5 = 8
+10 / 5 = 2
+9 / 3 = 3
+%7 = 21
+90 / 9 = 10
+105 / (8 + 7) = 7
+%5 = 10~30
+9 + 8 = 17
+70 / 10 = 7
+%9 = 45~81~81
+%2 = 16
+7 - 6 = 1
+2 x 2 = 4
+6 + 5 = 11
+55 / (2 + 9) = 5
+%3 = 18
+10 + 6 = 16
+9 + 5 = 14
+1 + 1 = 2
+8 - 5 = 3
+1 + 1 = 2
+6 + 6 = 12
+4 x 4 = 16
+(5 + 5) x 4 = 40
+2 x 6 = 12
+10 - 6 = 4
+(1 + 7) x (9 + 10) = 152
+21 / 7 = 3
+(5 - 1) x 5 = 20
+%5 = 20
+%8 = 8
+(3 + 7) x (9 + 0) = 90
+2 + 1 = 3
+%7 = 7
+6 x 10 = 60
+1 x 6 = 6
+8 - 2 = 6
+4 x 4 = 16
+100 / 10 = 10
+%8 = 32
+4 - 2 = 2
+7 + 4 = 11
+54 / 9 = 6
+5 x 4 = 20
+%9 = 63~27
+6 + 0 = 6
+7 + 4 = 11
+2 x (2 + 10) = 24
+60 / (3 + 7) = 6
+%5 = 20
+%5 = 45
+3 + 9 = 12
+0 + 8 = 8
+2 x (4 - 2) = 4
+2 + 10 = 12
+4 / 4 = 1
+6 x 3 = 18
+1 + 4 = 5
+5 - 1 = 4
+%9 = 0~54~63
+(9 - 7) x (0 + 8) = 16
+10 / 5 = 2
+9 - 0 = 9
+0 + 8 = 8
+(5 + 2) x 1 = 7
+6 x 9 = 54
+4 / 4 = 1
+6 + 0 = 6
+1 + 3 = 4
+0 + 2 = 2
+1 + 8 = 9
+7 x 8 = 56
+9 + 0 = 9
+8 - 0 = 8
+(10 + 5) x (7 + 2) = 135
+5 x 2 = 10
+7 - 3 = 4
+%7 = 28
+3 + 1 = 4
+%4 = 28
+3 x (1 + 9) = 30
+4 + 9 = 13
+6 + 1 = 7
+%7 = 28
+%2 = 4
+35 / 5 = 7
+9 x 9 = 81
+9 + 3 = 12
+(10 + 4) x 8 = 112
+%3 = 30
+1 x 2 = 2
+24 / (4 + 2) = 4
+10 + 9 = 19
+6 x (10 - 4) = 36
+10 x (8 + 7) = 150
+%4 = 40
+9 - 1 = 8
+(10 + 3) x (9 - 3) = 78
+1 x 6 = 6
+2 + 6 = 8
+3 x (6 - 2) = 12
+(8 + 9) x 8 = 136
+4 x 2 = 8
+55 / (8 + 3) = 5
+15 / 3 = 5
+3 / 3 = 1
+%2 = 18
+%2 = 10
+%4 = 28
+%5 = 30
+%5 = 30
+7 / 7 = 1
+54 / (4 + 2) = 9
+8 + 5 = 13
+(0 + 3) x 5 = 15
+14 / 7 = 2
+3 + 6 = 9
+2 + 6 = 8
+%7 = 49
+5 x 6 = 30
+%4 = 4
+%2 = 16~10~20
+%8 = 8~8
+1 x 7 = 7
+0 + 1 = 1
+8 + 1 = 9
+(2 + 1) x 2 = 6
+3 + 3 = 6
+10 - 4 = 6
+8 x (6 + 0) = 48
+%7 = 28
+2 x (7 + 1) = 16
+35 / 5 = 7
+7 - 6 = 1
+1 x (7 - 3) = 4
+%9 = 27
+110 / (8 + 3) = 10
+28 / 4 = 7
+%6 = 60
+162 / (9 + 9) = 9
+%10 = 10
+9 - 3 = 6
+3 + 3 = 6
+7 x 7 = 49
+7 + 1 = 8
+%5 = 40
+6 + 10 = 16
+6 x 4 = 24
+5 / 5 = 1
+7 - 1 = 6
+5 / 5 = 1
+35 / 5 = 7
+28 / 4 = 7
+%8 = 48~24
+4 - 1 = 3
+%5 = 40
+15 / 3 = 5
+(7 + 5) x 2 = 24
+4 + 1 = 5
+1 - 0 = 1
+(5 - 2) x 10 = 30
+9 + 4 = 13
+10 - 1 = 9
+48 / (3 + 3) = 8
+3 + 5 = 8
+(1 + 8) x 1 = 9
+5 - 1 = 4
+52 / (4 + 9) = 4
+%4 = 24~16
+2 + 6 = 8
+7 x 3 = 21
+5 - 1 = 4
+80 / 10 = 8
+5 - 4 = 1
+1 x (5 + 2) = 7
+2 x 10 = 20
+1 + 9 = 10
+9 + 6 = 15
+6 + 3 = 9
+3 + 10 = 13
+(4 - 0) x 3 = 12
+49 / (3 + 4) = 7
+4 + 9 = 13
+%5 = 25~25~15
+49 / 7 = 7
+6 + 5 = 11
+10 + 1 = 11
+%7 = 14
+5 + 4 = 9
+%8 = 64
+4 x 9 = 36
+9 - 3 = 6
+6 x 7 = 42
+4 + 4 = 8
+%6 = 24
+45 / 5 = 9
+%3 = 15~3~21
+%8 = 72~32~56
+%9 = 54~36
+9 - 8 = 1
+%6 = 36~6
+7 + 2 = 9
+4 x 9 = 36
+8 x 8 = 64
+32 / 4 = 8
+48 / 6 = 8
+10 - 4 = 6
+(7 + 7) x (1 + 0) = 14
+10 + 7 = 17
+55 / (4 + 7) = 5
+%9 = 0~72
+0 + 7 = 7
+6 + 7 = 13
+10 / 1 = 10
+6 - 4 = 2
+0 + 7 = 7
+4 x (9 - 7) = 8
+5 - 3 = 2
+%7 = 56
+5 + 10 = 15
+5 + 7 = 12
+8 + 6 = 14
+5 + 6 = 11
+%3 = 9
+%7 = 42
+4 x 4 = 16
+6 - 3 = 3
+%7 = 28
+5 x (6 + 2) = 40
+3 x 9 = 27
+5 x 5 = 25
+%3 = 30~12
+%7 = 42
+7 / 1 = 7
+18 / 2 = 9
+54 / 9 = 6
+4 x 6 = 24
+0 + 6 = 6
+2 + 1 = 3
+%3 = 6
+(2 + 7) x 4 = 36
+34 / (9 + 8) = 2
+%5 = 30~35
+8 - 7 = 1
+0 + 10 = 10
+2 + 1 = 3
+42 / 7 = 6
+(7 - 4) x 8 = 24
+10 - 3 = 7
+18 / (4 + 5) = 2
+8 + 10 = 18
+8 / 8 = 1
+7 + 4 = 11
+%7 = 49~28~21
+%7 = 35
+3 + 7 = 10
+0 + 2 = 2
+3 + 4 = 7
+7 + 5 = 12
+%4 = 28~32
+8 + 2 = 10
+28 / 4 = 7
+10 / 2 = 5
+32 / 8 = 4
+3 - 1 = 2
+9 + 10 = 19
+(8 - 6) x (10 - 3) = 14
+98 / (7 + 7) = 7
+%10 = 20
+32 / 8 = 4
+3 x 5 = 15
+%3 = 9
+7 x (6 + 3) = 63
+2 + 9 = 11
+5 + 5 = 10
+(4 + 2) x (5 + 1) = 36
+4 + 6 = 10
+%10 = 20~70~20
+4 / (4 - 3) = 4
+%7 = 21
+8 + 3 = 11
+3 x 2 = 6
+63 / 7 = 9
+16 / 4 = 4
+8 x (4 - 3) = 8
+9 - 0 = 9
+80 / 8 = 10
+9 - 3 = 6
+7 - 6 = 1
+(9 + 3) x (9 - 2) = 84
+(1 + 4) x (4 + 6) = 50
+72 / 8 = 9
+%9 = 36
+4 + 6 = 10
+%5 = 20
+%2 = 12
+7 - 1 = 6
+7 - 3 = 4
+1 + 5 = 6
+50 / 10 = 5
+50 / 5 = 10
+2 + 3 = 5
+0 + 7 = 7
+3 + 1 = 4
+6 x 2 = 12
+%3 = 9
+%3 = 15
+%6 = 30
+70 / 10 = 7
+%5 = 25
+(3 + 9) x 5 = 60
+72 / (5 + 4) = 8
+2 - 1 = 1
+1 x 2 = 2
+%9 = 90
+72 / 8 = 9
+4 x 7 = 28
+18 / 3 = 6
+7 - 6 = 1
+14 / 7 = 2
+0 + 4 = 4
+20 / 5 = 4
+(3 + 2) x 7 = 35
+3 + 1 = 4
+%7 = 63~42
+7 - 3 = 4
+%5 = 10
+3 x 6 = 18
+10 + 10 = 20
+6 - 5 = 1
+35 / 5 = 7
+30 / (8 + 2) = 3
+10 - 8 = 2
+40 / (9 - 1) = 5
+4 - 3 = 1
+56 / (5 + 9) = 4
+9 + 8 = 17
+%4 = 4
+16 / 2 = 8
+7 + 10 = 17
+8 + 6 = 14
+4 / 1 = 4
+5 + 8 = 13
+7 x 1 = 7
+(9 + 2) x 4 = 44
+%8 = 48~40
+9 x 10 = 90
+%9 = 45
+0 + 7 = 7
+%8 = 16~24
+%9 = 27~63
+30 / (9 + 1) = 3
+6 + 9 = 15
+10 / 2 = 5
+2 + 4 = 6
+5 + 3 = 8
+(4 - 1) x 3 = 9
+8 / 1 = 8
+7 - 0 = 7
+3 + 6 = 9
+6 x 1 = 6
+1 + 2 = 3
+7 - 5 = 2
+9 - 1 = 8
+7 - 0 = 7
+%5 = 45
+48 / 8 = 6
+84 / (8 + 4) = 7
+5 / 5 = 1
+36 / 6 = 6
+7 + 7 = 14
+10 / 1 = 10
+%6 = 18~18
+4 x 8 = 32
+40 / 8 = 5
+(2 + 5) x (1 + 9) = 70
+11 / (7 + 4) = 1
+10 x 8 = 80
+9 + 1 = 10
+%5 = 40~0
+28 / 4 = 7
+(9 + 4) x (9 - 3) = 78
+1 x (4 + 5) = 9
+%9 = 63
+18 / 3 = 6
+4 x 4 = 16
+%3 = 24
+6 x (2 + 10) = 72
+7 + 1 = 8
+%9 = 0
+(10 - 5) x 8 = 40
+24 / 4 = 6
+4 / 2 = 2
+10 - 3 = 7
+9 + 6 = 15
+36 / 6 = 6
+%2 = 16~0
+4 + 8 = 12
+%7 = 56
+3 x 8 = 24
+4 x (9 + 3) = 48
+10 x 5 = 50
+10 x 10 = 100
+54 / 9 = 6
+%6 = 30
+%10 = 80
+5 + 7 = 12
+50 / 10 = 5
+5 + 2 = 7
+18 / (9 + 9) = 1
+%6 = 24
+10 - 2 = 8
+(10 - 5) x (7 - 6) = 5
+49 / 7 = 7
+7 + 4 = 11
+6 + 10 = 16
+(6 + 7) x 8 = 104
+1 x 6 = 6
+6 - 3 = 3
+%8 = 8
+(3 + 4) x 10 = 70
+6 / (5 - 2) = 2
+0 + 9 = 9
+8 + 3 = 11
+7 x (1 + 0) = 7
+%7 = 28
+4 + 4 = 8
+24 / 8 = 3
+3 / 1 = 3
+(9 - 4) x 9 = 45
+9 + 10 = 19
+40 / 5 = 8
+2 + 4 = 6
+%9 = 54
+%5 = 40
+1 + 1 = 2
+9 - 8 = 1
+(10 + 3) x (3 + 8) = 143
+(0 + 5) x 1 = 5
+60 / 10 = 6
+7 + 8 = 15
+9 + 0 = 9
+6 x 8 = 48
+24 / 4 = 6
+%9 = 45
+22 / (6 + 5) = 2
+6 + 7 = 13
+7 + 1 = 8
+6 - 1 = 5
+%4 = 32
+27 / 9 = 3
+8 + 4 = 12
+4 + 3 = 7
+45 / 9 = 5
+8 + 5 = 13
+4 + 7 = 11
+5 x 1 = 5
+4 + 2 = 6
+%9 = 9
+3 + 8 = 11
+6 / 2 = 3
+2 + 7 = 9
+(10 + 9) x (3 + 0) = 57
+%2 = 0
+(4 + 7) x 9 = 99
+%6 = 54
+4 + 0 = 4
+8 - 2 = 6
+7 + 10 = 17
+8 x 7 = 56
+%8 = 32
+4 + 10 = 14
+9 / 1 = 9
+10 + 3 = 13
+8 x 7 = 56
+%7 = 14~63
+10 / (4 - 2) = 5
+10 / 2 = 5
+5 x 8 = 40
+%3 = 21~24~12
+54 / (10 - 4) = 9
+0 + 4 = 4
+0 + 8 = 8
+3 + 6 = 9
+%8 = 56
+10 / 10 = 1
+4 + 0 = 4
+35 / 5 = 7
+(8 - 6) x 9 = 18
+1 + 6 = 7
+20 / (2 + 3) = 4
+5 + 8 = 13
+%4 = 32~24
+9 + 8 = 17
+70 / 10 = 7
+9 + 8 = 17
+(8 + 7) x (5 - 1) = 60
+15 / (4 - 1) = 5
+5 x 5 = 25
+5 x (8 + 4) = 60
+6 + 0 = 6
+8 - 0 = 8
+6 - 2 = 4
+9 + 5 = 14
+5 x 4 = 20
+8 - 1 = 7
+6 x 1 = 6
+(5 + 0) x (7 + 10) = 85
+(2 + 8) x 7 = 70
+9 x 1 = 9
+%3 = 6~15
+6 / 2 = 3
+28 / 4 = 7
+%2 = 10~10
+8 + 9 = 17
+3 - 2 = 1
+55 / (9 + 2) = 5
+4 - 1 = 3
+5 + 5 = 10
+0 + 6 = 6
+1 + 1 = 2
+(7 - 2) x 2 = 10
+171 / (10 + 9) = 9
+10 x 3 = 30
+8 + 1 = 9
+%4 = 16~28~28
+%7 = 28
+6 x 5 = 30
+7 x 2 = 14
+27 / 3 = 9
+45 / (1 + 4) = 9
+%7 = 42~49
+3 + 0 = 3
+5 + 3 = 8
+6 x (8 + 5) = 78
+3 + 8 = 11
+3 - 2 = 1
+7 + 4 = 11
+9 + 4 = 13
+7 x (5 + 4) = 63
+(5 + 8) x (9 + 7) = 208
+2 + 0 = 2
+%7 = 21~0~0
+9 x 6 = 54
+8 + 1 = 9
+8 + 5 = 13
+6 + 10 = 16
+%9 = 54~54
+6 x (6 + 2) = 48
+30 / 6 = 5
+2 + 3 = 5
+%2 = 4
+%3 = 6
+3 + 4 = 7
+1 + 0 = 1
+%2 = 8
+9 + 10 = 19
+0 + 2 = 2
+%9 = 9
+5 + 3 = 8
+10 + 4 = 14
+81 / 9 = 9
+4 + 2 = 6
+99 / (7 + 4) = 9
+4 - 3 = 1
+7 - 2 = 5
+7 x 4 = 28
+(5 + 5) x (8 - 6) = 20
+4 / 1 = 4
+%6 = 54
+18 / 9 = 2
+4 - 3 = 1
+4 + 6 = 10
+9 x (4 + 1) = 45
+54 / 6 = 9
+3 x (8 + 5) = 39
+(9 + 2) x 4 = 44
+35 / 5 = 7
+6 + 8 = 14
+7 x (9 + 1) = 70
+12 / 3 = 4
+%9 = 54~36
+9 + 4 = 13
+%3 = 24
+1 x 9 = 9
+0 + 5 = 5
+40 / 10 = 4
+3 + 9 = 12
+3 + 5 = 8
+8 x (6 - 2) = 32
+9 x 8 = 72
+%8 = 48
+0 + 3 = 3
+9 - 2 = 7
+3 + 8 = 11
+20 / 5 = 4
+%10 = 80
+7 x 7 = 49
+9 x 8 = 72
+0 + 10 = 10
+%5 = 10
+1 x 2 = 2
+9 + 6 = 15
+%3 = 24~3
+35 / 5 = 7
+20 / (7 - 5) = 10
+9 x 6 = 54
+7 + 4 = 11
+(5 + 3) x 7 = 56
+6 + 10 = 16
+7 + 3 = 10
+2 + 6 = 8
+3 - 1 = 2
+4 x (9 + 1) = 40
+%7 = 63
+32 / 4 = 8
+8 - 1 = 7
+60 / (8 + 4) = 5
+%8 = 72
+(5 - 3) x 7 = 14
+9 x 6 = 54
+10 / 1 = 10
+18 / 3 = 6
+%2 = 14
+9 x 8 = 72
+12 / 2 = 6
+21 / 3 = 7
+48 / 6 = 8
+1 + 5 = 6
+8 + 5 = 13
+4 + 9 = 13
+24 / 3 = 8
+8 + 7 = 15
+(4 + 5) x 5 = 45
+%3 = 9~3
+56 / 7 = 8
+56 / 7 = 8
+5 x 7 = 35
+%2 = 10
+8 - 2 = 6
+54 / 6 = 9
+%8 = 40
+14 / (4 + 3) = 2
+0 + 8 = 8
+8 + 4 = 12
+48 / (9 + 7) = 3
+0 + 8 = 8
+%4 = 12~40~16
+3 + 10 = 13
+%7 = 14~42
diff --git a/data/question_files/arithmetic/subtraction_p0_0-10.dat b/data/question_files/arithmetic/subtraction_p0_0-10.dat
new file mode 100644
index 0000000..aa65547
--- /dev/null
+++ b/data/question_files/arithmetic/subtraction_p0_0-10.dat
@@ -0,0 +1,1000 @@
+8 - 6 = 2
+6 - 1 = 5
+5 - 3 = 2
+6 - 3 = 3
+5 - 2 = 3
+7 - 2 = 5
+8 - 1 = 7
+8 - 6 = 2
+5 - 1 = 4
+8 - 1 = 7
+9 - 5 = 4
+8 - 7 = 1
+8 - 7 = 1
+7 - 6 = 1
+2 - 1 = 1
+9 - 2 = 7
+10 - 4 = 6
+7 - 3 = 4
+9 - 7 = 2
+9 - 8 = 1
+4 - 2 = 2
+3 - 1 = 2
+9 - 4 = 5
+9 - 8 = 1
+6 - 2 = 4
+4 - 1 = 3
+7 - 5 = 2
+6 - 0 = 6
+9 - 1 = 8
+8 - 4 = 4
+9 - 8 = 1
+7 - 6 = 1
+8 - 3 = 5
+7 - 1 = 6
+6 - 0 = 6
+10 - 1 = 9
+7 - 6 = 1
+9 - 5 = 4
+4 - 1 = 3
+4 - 2 = 2
+9 - 7 = 2
+8 - 2 = 6
+10 - 5 = 5
+9 - 0 = 9
+6 - 4 = 2
+10 - 1 = 9
+8 - 1 = 7
+8 - 2 = 6
+9 - 2 = 7
+3 - 1 = 2
+8 - 4 = 4
+5 - 1 = 4
+10 - 4 = 6
+7 - 6 = 1
+9 - 5 = 4
+6 - 2 = 4
+7 - 2 = 5
+7 - 4 = 3
+5 - 2 = 3
+6 - 3 = 3
+7 - 3 = 4
+3 - 0 = 3
+10 - 6 = 4
+8 - 2 = 6
+7 - 1 = 6
+10 - 6 = 4
+8 - 7 = 1
+6 - 0 = 6
+7 - 4 = 3
+5 - 3 = 2
+3 - 1 = 2
+6 - 3 = 3
+8 - 4 = 4
+4 - 1 = 3
+9 - 7 = 2
+5 - 4 = 1
+6 - 1 = 5
+6 - 2 = 4
+5 - 4 = 1
+7 - 6 = 1
+6 - 0 = 6
+7 - 2 = 5
+9 - 2 = 7
+6 - 1 = 5
+7 - 4 = 3
+5 - 1 = 4
+6 - 4 = 2
+5 - 3 = 2
+5 - 4 = 1
+8 - 3 = 5
+2 - 0 = 2
+3 - 0 = 3
+8 - 5 = 3
+10 - 5 = 5
+4 - 0 = 4
+10 - 9 = 1
+9 - 5 = 4
+6 - 4 = 2
+8 - 6 = 2
+8 - 1 = 7
+5 - 1 = 4
+3 - 2 = 1
+6 - 0 = 6
+4 - 2 = 2
+8 - 4 = 4
+8 - 4 = 4
+10 - 4 = 6
+10 - 7 = 3
+7 - 1 = 6
+8 - 0 = 8
+7 - 3 = 4
+9 - 1 = 8
+9 - 6 = 3
+2 - 1 = 1
+5 - 3 = 2
+6 - 5 = 1
+8 - 2 = 6
+6 - 1 = 5
+10 - 9 = 1
+10 - 1 = 9
+4 - 3 = 1
+7 - 6 = 1
+4 - 2 = 2
+8 - 1 = 7
+6 - 2 = 4
+3 - 2 = 1
+8 - 3 = 5
+9 - 7 = 2
+8 - 0 = 8
+7 - 4 = 3
+5 - 3 = 2
+8 - 1 = 7
+6 - 1 = 5
+2 - 0 = 2
+8 - 7 = 1
+7 - 2 = 5
+9 - 5 = 4
+7 - 4 = 3
+9 - 3 = 6
+5 - 2 = 3
+7 - 4 = 3
+7 - 0 = 7
+6 - 4 = 2
+9 - 5 = 4
+5 - 2 = 3
+4 - 1 = 3
+8 - 2 = 6
+9 - 1 = 8
+6 - 3 = 3
+5 - 4 = 1
+9 - 1 = 8
+8 - 4 = 4
+8 - 1 = 7
+8 - 0 = 8
+10 - 5 = 5
+9 - 6 = 3
+10 - 7 = 3
+7 - 4 = 3
+4 - 3 = 1
+3 - 2 = 1
+6 - 4 = 2
+9 - 8 = 1
+10 - 9 = 1
+9 - 8 = 1
+4 - 1 = 3
+6 - 1 = 5
+2 - 1 = 1
+6 - 1 = 5
+9 - 8 = 1
+6 - 2 = 4
+6 - 4 = 2
+6 - 1 = 5
+3 - 0 = 3
+6 - 5 = 1
+7 - 2 = 5
+4 - 2 = 2
+9 - 3 = 6
+5 - 3 = 2
+7 - 2 = 5
+8 - 2 = 6
+8 - 5 = 3
+4 - 0 = 4
+5 - 4 = 1
+7 - 5 = 2
+8 - 0 = 8
+4 - 0 = 4
+5 - 2 = 3
+6 - 3 = 3
+3 - 1 = 2
+2 - 0 = 2
+4 - 0 = 4
+6 - 5 = 1
+6 - 1 = 5
+5 - 1 = 4
+7 - 1 = 6
+6 - 4 = 2
+4 - 2 = 2
+10 - 6 = 4
+4 - 2 = 2
+8 - 6 = 2
+8 - 5 = 3
+9 - 8 = 1
+5 - 4 = 1
+10 - 8 = 2
+8 - 3 = 5
+4 - 2 = 2
+5 - 4 = 1
+2 - 1 = 1
+8 - 3 = 5
+9 - 3 = 6
+10 - 3 = 7
+4 - 1 = 3
+6 - 4 = 2
+7 - 5 = 2
+9 - 5 = 4
+9 - 7 = 2
+7 - 5 = 2
+8 - 1 = 7
+5 - 4 = 1
+8 - 5 = 3
+6 - 5 = 1
+9 - 4 = 5
+5 - 1 = 4
+8 - 6 = 2
+8 - 1 = 7
+4 - 1 = 3
+3 - 1 = 2
+9 - 1 = 8
+9 - 5 = 4
+6 - 4 = 2
+3 - 2 = 1
+4 - 2 = 2
+4 - 0 = 4
+10 - 8 = 2
+5 - 2 = 3
+8 - 6 = 2
+7 - 1 = 6
+10 - 4 = 6
+6 - 4 = 2
+10 - 4 = 6
+9 - 4 = 5
+4 - 2 = 2
+7 - 4 = 3
+10 - 8 = 2
+6 - 3 = 3
+9 - 0 = 9
+7 - 5 = 2
+3 - 0 = 3
+7 - 4 = 3
+8 - 7 = 1
+9 - 6 = 3
+7 - 3 = 4
+5 - 0 = 5
+7 - 2 = 5
+5 - 3 = 2
+4 - 3 = 1
+7 - 1 = 6
+4 - 1 = 3
+5 - 4 = 1
+5 - 2 = 3
+6 - 1 = 5
+9 - 1 = 8
+4 - 1 = 3
+9 - 2 = 7
+9 - 3 = 6
+9 - 7 = 2
+4 - 2 = 2
+9 - 0 = 9
+9 - 8 = 1
+2 - 1 = 1
+4 - 0 = 4
+6 - 5 = 1
+7 - 1 = 6
+9 - 8 = 1
+9 - 1 = 8
+5 - 4 = 1
+5 - 1 = 4
+10 - 5 = 5
+8 - 1 = 7
+8 - 6 = 2
+8 - 2 = 6
+5 - 1 = 4
+9 - 2 = 7
+9 - 6 = 3
+9 - 3 = 6
+4 - 2 = 2
+9 - 3 = 6
+3 - 2 = 1
+6 - 3 = 3
+9 - 8 = 1
+7 - 1 = 6
+9 - 0 = 9
+5 - 1 = 4
+8 - 6 = 2
+9 - 0 = 9
+7 - 5 = 2
+9 - 0 = 9
+5 - 3 = 2
+2 - 1 = 1
+9 - 1 = 8
+7 - 3 = 4
+9 - 7 = 2
+6 - 2 = 4
+3 - 1 = 2
+6 - 4 = 2
+9 - 4 = 5
+9 - 8 = 1
+8 - 1 = 7
+5 - 2 = 3
+9 - 1 = 8
+9 - 0 = 9
+6 - 1 = 5
+6 - 2 = 4
+10 - 8 = 2
+5 - 1 = 4
+7 - 4 = 3
+9 - 1 = 8
+9 - 3 = 6
+9 - 7 = 2
+5 - 4 = 1
+5 - 1 = 4
+8 - 6 = 2
+9 - 3 = 6
+6 - 1 = 5
+6 - 4 = 2
+1 - 0 = 1
+7 - 4 = 3
+1 - 0 = 1
+6 - 5 = 1
+3 - 1 = 2
+9 - 0 = 9
+10 - 2 = 8
+8 - 1 = 7
+8 - 2 = 6
+9 - 1 = 8
+9 - 6 = 3
+7 - 4 = 3
+8 - 4 = 4
+3 - 2 = 1
+9 - 6 = 3
+9 - 6 = 3
+8 - 2 = 6
+10 - 1 = 9
+10 - 7 = 3
+9 - 0 = 9
+4 - 1 = 3
+9 - 6 = 3
+5 - 3 = 2
+10 - 9 = 1
+2 - 1 = 1
+3 - 2 = 1
+8 - 3 = 5
+8 - 5 = 3
+6 - 1 = 5
+9 - 2 = 7
+10 - 3 = 7
+9 - 6 = 3
+5 - 4 = 1
+5 - 1 = 4
+4 - 2 = 2
+8 - 4 = 4
+7 - 3 = 4
+5 - 2 = 3
+8 - 6 = 2
+5 - 3 = 2
+9 - 3 = 6
+5 - 1 = 4
+5 - 2 = 3
+9 - 4 = 5
+4 - 0 = 4
+4 - 0 = 4
+9 - 3 = 6
+9 - 0 = 9
+9 - 7 = 2
+6 - 2 = 4
+10 - 0 = 10
+2 - 0 = 2
+10 - 9 = 1
+8 - 2 = 6
+8 - 4 = 4
+9 - 7 = 2
+10 - 6 = 4
+6 - 1 = 5
+9 - 7 = 2
+8 - 3 = 5
+9 - 3 = 6
+8 - 2 = 6
+4 - 2 = 2
+7 - 5 = 2
+9 - 4 = 5
+9 - 1 = 8
+10 - 4 = 6
+10 - 8 = 2
+4 - 2 = 2
+7 - 1 = 6
+7 - 6 = 1
+7 - 4 = 3
+9 - 3 = 6
+6 - 3 = 3
+8 - 0 = 8
+8 - 6 = 2
+6 - 2 = 4
+8 - 4 = 4
+4 - 1 = 3
+5 - 4 = 1
+7 - 3 = 4
+8 - 6 = 2
+6 - 5 = 1
+5 - 4 = 1
+9 - 2 = 7
+9 - 5 = 4
+5 - 4 = 1
+4 - 3 = 1
+3 - 1 = 2
+5 - 2 = 3
+10 - 2 = 8
+7 - 3 = 4
+9 - 1 = 8
+9 - 7 = 2
+8 - 4 = 4
+2 - 0 = 2
+10 - 4 = 6
+10 - 2 = 8
+4 - 3 = 1
+9 - 8 = 1
+9 - 5 = 4
+9 - 5 = 4
+7 - 4 = 3
+7 - 2 = 5
+7 - 1 = 6
+8 - 7 = 1
+8 - 3 = 5
+10 - 1 = 9
+8 - 0 = 8
+9 - 7 = 2
+1 - 0 = 1
+8 - 4 = 4
+2 - 0 = 2
+7 - 3 = 4
+9 - 7 = 2
+7 - 4 = 3
+2 - 0 = 2
+8 - 2 = 6
+3 - 2 = 1
+9 - 3 = 6
+7 - 1 = 6
+9 - 5 = 4
+3 - 0 = 3
+6 - 2 = 4
+6 - 1 = 5
+10 - 5 = 5
+8 - 5 = 3
+7 - 4 = 3
+9 - 0 = 9
+9 - 1 = 8
+2 - 1 = 1
+7 - 0 = 7
+10 - 1 = 9
+7 - 3 = 4
+9 - 2 = 7
+2 - 0 = 2
+8 - 5 = 3
+3 - 2 = 1
+9 - 7 = 2
+7 - 2 = 5
+7 - 1 = 6
+6 - 3 = 3
+7 - 1 = 6
+8 - 6 = 2
+5 - 0 = 5
+4 - 0 = 4
+8 - 0 = 8
+6 - 2 = 4
+9 - 8 = 1
+5 - 3 = 2
+9 - 6 = 3
+7 - 1 = 6
+9 - 7 = 2
+10 - 7 = 3
+8 - 7 = 1
+3 - 2 = 1
+9 - 3 = 6
+10 - 1 = 9
+10 - 9 = 1
+3 - 1 = 2
+9 - 1 = 8
+9 - 4 = 5
+9 - 3 = 6
+7 - 5 = 2
+7 - 4 = 3
+3 - 2 = 1
+7 - 3 = 4
+7 - 2 = 5
+10 - 4 = 6
+7 - 4 = 3
+5 - 1 = 4
+6 - 3 = 3
+6 - 5 = 1
+9 - 4 = 5
+6 - 4 = 2
+10 - 9 = 1
+7 - 1 = 6
+8 - 3 = 5
+9 - 5 = 4
+5 - 3 = 2
+8 - 1 = 7
+6 - 4 = 2
+10 - 2 = 8
+9 - 1 = 8
+9 - 3 = 6
+7 - 1 = 6
+10 - 1 = 9
+4 - 1 = 3
+3 - 2 = 1
+8 - 7 = 1
+8 - 7 = 1
+5 - 4 = 1
+10 - 1 = 9
+3 - 2 = 1
+2 - 1 = 1
+7 - 6 = 1
+6 - 2 = 4
+6 - 0 = 6
+9 - 8 = 1
+3 - 1 = 2
+8 - 4 = 4
+4 - 0 = 4
+9 - 7 = 2
+4 - 1 = 3
+5 - 0 = 5
+7 - 3 = 4
+10 - 6 = 4
+9 - 8 = 1
+7 - 2 = 5
+4 - 1 = 3
+7 - 5 = 2
+10 - 2 = 8
+10 - 6 = 4
+4 - 0 = 4
+9 - 3 = 6
+8 - 0 = 8
+10 - 6 = 4
+5 - 1 = 4
+9 - 7 = 2
+10 - 2 = 8
+7 - 5 = 2
+4 - 1 = 3
+5 - 1 = 4
+9 - 3 = 6
+9 - 5 = 4
+4 - 1 = 3
+8 - 3 = 5
+3 - 1 = 2
+8 - 4 = 4
+7 - 2 = 5
+5 - 0 = 5
+2 - 1 = 1
+10 - 5 = 5
+6 - 5 = 1
+8 - 6 = 2
+7 - 5 = 2
+9 - 4 = 5
+4 - 1 = 3
+9 - 1 = 8
+7 - 5 = 2
+5 - 2 = 3
+3 - 1 = 2
+9 - 1 = 8
+9 - 7 = 2
+6 - 5 = 1
+5 - 0 = 5
+7 - 1 = 6
+7 - 6 = 1
+6 - 0 = 6
+8 - 6 = 2
+10 - 7 = 3
+7 - 5 = 2
+9 - 5 = 4
+9 - 7 = 2
+9 - 1 = 8
+6 - 3 = 3
+7 - 6 = 1
+5 - 2 = 3
+8 - 3 = 5
+7 - 2 = 5
+8 - 5 = 3
+1 - 0 = 1
+7 - 1 = 6
+9 - 7 = 2
+6 - 1 = 5
+7 - 4 = 3
+6 - 2 = 4
+5 - 3 = 2
+10 - 6 = 4
+7 - 1 = 6
+8 - 1 = 7
+5 - 3 = 2
+9 - 8 = 1
+4 - 3 = 1
+4 - 1 = 3
+9 - 4 = 5
+9 - 5 = 4
+10 - 6 = 4
+7 - 6 = 1
+6 - 2 = 4
+10 - 4 = 6
+9 - 6 = 3
+6 - 5 = 1
+8 - 6 = 2
+9 - 4 = 5
+9 - 6 = 3
+10 - 1 = 9
+2 - 1 = 1
+1 - 0 = 1
+7 - 0 = 7
+9 - 5 = 4
+10 - 1 = 9
+7 - 3 = 4
+5 - 0 = 5
+8 - 7 = 1
+2 - 0 = 2
+5 - 2 = 3
+3 - 2 = 1
+6 - 3 = 3
+3 - 2 = 1
+5 - 0 = 5
+8 - 4 = 4
+9 - 1 = 8
+8 - 2 = 6
+4 - 1 = 3
+9 - 1 = 8
+2 - 1 = 1
+5 - 0 = 5
+9 - 4 = 5
+6 - 3 = 3
+5 - 0 = 5
+1 - 0 = 1
+6 - 2 = 4
+8 - 2 = 6
+6 - 4 = 2
+8 - 7 = 1
+9 - 2 = 7
+3 - 1 = 2
+4 - 2 = 2
+3 - 2 = 1
+8 - 5 = 3
+8 - 6 = 2
+8 - 6 = 2
+6 - 5 = 1
+7 - 4 = 3
+8 - 2 = 6
+8 - 4 = 4
+9 - 2 = 7
+9 - 3 = 6
+9 - 1 = 8
+5 - 3 = 2
+9 - 6 = 3
+5 - 4 = 1
+8 - 2 = 6
+4 - 2 = 2
+9 - 7 = 2
+8 - 1 = 7
+8 - 7 = 1
+10 - 5 = 5
+5 - 0 = 5
+6 - 5 = 1
+4 - 2 = 2
+6 - 5 = 1
+7 - 6 = 1
+9 - 7 = 2
+9 - 0 = 9
+7 - 5 = 2
+6 - 2 = 4
+9 - 8 = 1
+10 - 5 = 5
+2 - 0 = 2
+9 - 0 = 9
+4 - 3 = 1
+7 - 1 = 6
+9 - 0 = 9
+6 - 5 = 1
+9 - 6 = 3
+8 - 7 = 1
+9 - 6 = 3
+10 - 2 = 8
+9 - 1 = 8
+7 - 0 = 7
+7 - 1 = 6
+9 - 5 = 4
+7 - 2 = 5
+7 - 1 = 6
+7 - 5 = 2
+4 - 3 = 1
+8 - 4 = 4
+9 - 6 = 3
+1 - 0 = 1
+5 - 3 = 2
+5 - 1 = 4
+5 - 3 = 2
+4 - 2 = 2
+6 - 1 = 5
+9 - 2 = 7
+8 - 5 = 3
+4 - 0 = 4
+10 - 2 = 8
+7 - 4 = 3
+4 - 2 = 2
+5 - 0 = 5
+6 - 4 = 2
+7 - 5 = 2
+7 - 1 = 6
+5 - 3 = 2
+6 - 2 = 4
+9 - 2 = 7
+9 - 3 = 6
+8 - 6 = 2
+8 - 2 = 6
+6 - 3 = 3
+9 - 1 = 8
+8 - 4 = 4
+10 - 0 = 10
+6 - 5 = 1
+3 - 0 = 3
+4 - 0 = 4
+10 - 0 = 10
+9 - 7 = 2
+8 - 1 = 7
+7 - 6 = 1
+6 - 4 = 2
+8 - 3 = 5
+8 - 5 = 3
+7 - 4 = 3
+9 - 1 = 8
+6 - 3 = 3
+8 - 4 = 4
+5 - 2 = 3
+8 - 2 = 6
+7 - 6 = 1
+8 - 3 = 5
+4 - 1 = 3
+5 - 1 = 4
+5 - 1 = 4
+7 - 5 = 2
+8 - 7 = 1
+8 - 3 = 5
+5 - 2 = 3
+10 - 9 = 1
+10 - 5 = 5
+9 - 5 = 4
+8 - 1 = 7
+10 - 5 = 5
+8 - 5 = 3
+8 - 3 = 5
+7 - 4 = 3
+9 - 8 = 1
+10 - 6 = 4
+8 - 2 = 6
+7 - 6 = 1
+8 - 3 = 5
+9 - 7 = 2
+7 - 4 = 3
+9 - 8 = 1
+7 - 3 = 4
+4 - 1 = 3
+9 - 6 = 3
+6 - 4 = 2
+9 - 3 = 6
+3 - 1 = 2
+9 - 0 = 9
+4 - 1 = 3
+7 - 6 = 1
+8 - 6 = 2
+4 - 3 = 1
+5 - 4 = 1
+6 - 1 = 5
+8 - 5 = 3
+7 - 6 = 1
+9 - 4 = 5
+4 - 2 = 2
+9 - 1 = 8
+4 - 3 = 1
+9 - 3 = 6
+9 - 5 = 4
+9 - 6 = 3
+7 - 1 = 6
+6 - 2 = 4
+10 - 3 = 7
+6 - 3 = 3
+8 - 6 = 2
+10 - 5 = 5
+10 - 5 = 5
+1 - 0 = 1
+3 - 2 = 1
+10 - 7 = 3
+1 - 0 = 1
+4 - 2 = 2
+8 - 1 = 7
+8 - 4 = 4
+8 - 6 = 2
+7 - 1 = 6
+6 - 3 = 3
+6 - 2 = 4
+2 - 1 = 1
+8 - 2 = 6
+6 - 0 = 6
+8 - 3 = 5
+7 - 2 = 5
+7 - 2 = 5
+7 - 5 = 2
+5 - 4 = 1
+10 - 5 = 5
+10 - 9 = 1
+3 - 2 = 1
+9 - 1 = 8
+6 - 3 = 3
+10 - 6 = 4
+7 - 3 = 4
+8 - 5 = 3
+4 - 1 = 3
+9 - 3 = 6
+1 - 0 = 1
+7 - 0 = 7
+6 - 5 = 1
+9 - 1 = 8
+7 - 3 = 4
+9 - 1 = 8
+8 - 1 = 7
+10 - 1 = 9
+8 - 1 = 7
+9 - 8 = 1
+8 - 7 = 1
+7 - 4 = 3
+4 - 3 = 1
+9 - 3 = 6
+6 - 4 = 2
+1 - 0 = 1
+8 - 5 = 3
+9 - 2 = 7
+3 - 0 = 3
+6 - 2 = 4
+7 - 6 = 1
+10 - 4 = 6
+4 - 2 = 2
+3 - 0 = 3
+8 - 7 = 1
+4 - 3 = 1
+9 - 2 = 7
+10 - 2 = 8
+8 - 5 = 3
+4 - 3 = 1
+2 - 0 = 2
+8 - 0 = 8
+8 - 3 = 5
+6 - 5 = 1
+5 - 2 = 3
+9 - 4 = 5
+3 - 0 = 3
+6 - 2 = 4
+4 - 1 = 3
+8 - 2 = 6
+7 - 2 = 5
+2 - 1 = 1
+5 - 1 = 4
+7 - 0 = 7
+6 - 2 = 4
+8 - 5 = 3
+10 - 3 = 7
+6 - 1 = 5
+8 - 2 = 6
+5 - 3 = 2
+8 - 5 = 3
+6 - 5 = 1
+10 - 7 = 3
+6 - 4 = 2
+8 - 7 = 1
+8 - 3 = 5
+10 - 9 = 1
+3 - 2 = 1
+1 - 0 = 1
+5 - 1 = 4
+10 - 0 = 10
+9 - 6 = 3
+9 - 5 = 4
+9 - 7 = 2
+10 - 5 = 5
+10 - 4 = 6
+9 - 6 = 3
+3 - 1 = 2
+10 - 1 = 9
+7 - 3 = 4
+8 - 7 = 1
+10 - 5 = 5
+9 - 7 = 2
+4 - 2 = 2
+9 - 8 = 1
+10 - 7 = 3
+4 - 2 = 2
+3 - 1 = 2
+9 - 3 = 6
+9 - 3 = 6
+9 - 8 = 1
+7 - 5 = 2
+8 - 7 = 1
+8 - 5 = 3
+9 - 6 = 3
+6 - 3 = 3
+6 - 3 = 3
+8 - 1 = 7
+4 - 1 = 3
+6 - 2 = 4
+7 - 6 = 1
+7 - 0 = 7
+2 - 0 = 2
+9 - 2 = 7
+8 - 6 = 2
+6 - 1 = 5
+9 - 2 = 7
+3 - 1 = 2
+4 - 1 = 3
+6 - 2 = 4
+9 - 3 = 6
+6 - 5 = 1
+7 - 4 = 3
+6 - 1 = 5
+7 - 2 = 5
+5 - 4 = 1
+6 - 0 = 6
+10 - 6 = 4
+10 - 3 = 7
+2 - 1 = 1
+10 - 5 = 5
+3 - 2 = 1
+6 - 1 = 5
+6 - 2 = 4
+7 - 2 = 5
+5 - 1 = 4
+7 - 2 = 5
+9 - 8 = 1
+5 - 2 = 3
+4 - 3 = 1
+10 - 3 = 7
+9 - 7 = 2
+8 - 3 = 5
+8 - 6 = 2
+6 - 1 = 5
+6 - 1 = 5
+7 - 5 = 2
+4 - 3 = 1
+4 - 1 = 3
+9 - 6 = 3
+7 - 4 = 3
+8 - 1 = 7
+4 - 0 = 4
+8 - 7 = 1
+9 - 0 = 9
+9 - 3 = 6
+7 - 5 = 2
+8 - 6 = 2
+4 - 0 = 4
+8 - 7 = 1
+10 - 1 = 9
+9 - 7 = 2
+9 - 4 = 5
+9 - 4 = 5
+5 - 1 = 4
+7 - 6 = 1
+6 - 0 = 6
+10 - 2 = 8
+5 - 2 = 3
+4 - 2 = 2
+10 - 5 = 5
+8 - 3 = 5
+8 - 6 = 2
+9 - 8 = 1
+9 - 3 = 6
+5 - 2 = 3
+7 - 1 = 6
+6 - 4 = 2
+7 - 3 = 4
+2 - 1 = 1
+8 - 7 = 1
+7 - 1 = 6
+5 - 0 = 5
+8 - 7 = 1
+8 - 1 = 7
+2 - 1 = 1
+8 - 7 = 1
+9 - 4 = 5
+9 - 8 = 1
+4 - 0 = 4
+7 - 4 = 3
+8 - 7 = 1
+8 - 3 = 5
+6 - 2 = 4
+5 - 1 = 4
+8 - 6 = 2
+9 - 5 = 4
+1 - 0 = 1
+9 - 3 = 6
+10 - 5 = 5
diff --git a/data/question_files/arithmetic/subtraction_p0_0-100.dat b/data/question_files/arithmetic/subtraction_p0_0-100.dat
new file mode 100644
index 0000000..76b9f01
--- /dev/null
+++ b/data/question_files/arithmetic/subtraction_p0_0-100.dat
@@ -0,0 +1,1000 @@
+97 - 58 = 39
+69 - 66 = 3
+75 - 47 = 28
+96 - 51 = 45
+63 - 60 = 3
+56 - 28 = 28
+36 - 6 = 30
+93 - 26 = 67
+99 - 94 = 5
+93 - 71 = 22
+68 - 9 = 59
+77 - 68 = 9
+1 - 0 = 1
+75 - 58 = 17
+90 - 74 = 16
+94 - 63 = 31
+77 - 10 = 67
+98 - 15 = 83
+68 - 34 = 34
+72 - 40 = 32
+88 - 75 = 13
+90 - 56 = 34
+78 - 20 = 58
+18 - 17 = 1
+95 - 94 = 1
+39 - 29 = 10
+82 - 32 = 50
+28 - 23 = 5
+69 - 43 = 26
+100 - 4 = 96
+29 - 26 = 3
+22 - 10 = 12
+66 - 58 = 8
+78 - 73 = 5
+100 - 21 = 79
+33 - 24 = 9
+8 - 1 = 7
+26 - 2 = 24
+83 - 27 = 56
+84 - 24 = 60
+100 - 47 = 53
+81 - 31 = 50
+85 - 47 = 38
+90 - 36 = 54
+57 - 34 = 23
+86 - 47 = 39
+98 - 69 = 29
+86 - 59 = 27
+91 - 31 = 60
+99 - 86 = 13
+85 - 27 = 58
+46 - 39 = 7
+73 - 56 = 17
+61 - 29 = 32
+9 - 5 = 4
+97 - 67 = 30
+85 - 61 = 24
+44 - 7 = 37
+81 - 23 = 58
+79 - 63 = 16
+80 - 9 = 71
+84 - 14 = 70
+55 - 46 = 9
+66 - 27 = 39
+43 - 18 = 25
+99 - 82 = 17
+44 - 12 = 32
+54 - 38 = 16
+23 - 10 = 13
+94 - 9 = 85
+87 - 34 = 53
+69 - 26 = 43
+91 - 74 = 17
+91 - 72 = 19
+91 - 35 = 56
+85 - 80 = 5
+22 - 12 = 10
+50 - 30 = 20
+71 - 20 = 51
+36 - 5 = 31
+90 - 25 = 65
+48 - 35 = 13
+49 - 11 = 38
+81 - 30 = 51
+92 - 23 = 69
+58 - 53 = 5
+51 - 5 = 46
+79 - 58 = 21
+75 - 56 = 19
+82 - 77 = 5
+91 - 4 = 87
+94 - 35 = 59
+61 - 18 = 43
+92 - 14 = 78
+60 - 30 = 30
+91 - 33 = 58
+97 - 39 = 58
+88 - 14 = 74
+73 - 38 = 35
+65 - 2 = 63
+90 - 16 = 74
+81 - 67 = 14
+63 - 11 = 52
+82 - 26 = 56
+90 - 36 = 54
+37 - 20 = 17
+88 - 67 = 21
+44 - 34 = 10
+87 - 73 = 14
+57 - 6 = 51
+98 - 71 = 27
+75 - 60 = 15
+52 - 3 = 49
+68 - 52 = 16
+68 - 66 = 2
+10 - 8 = 2
+97 - 13 = 84
+41 - 21 = 20
+42 - 8 = 34
+96 - 84 = 12
+76 - 18 = 58
+79 - 2 = 77
+64 - 22 = 42
+50 - 12 = 38
+36 - 17 = 19
+53 - 29 = 24
+80 - 71 = 9
+44 - 18 = 26
+81 - 24 = 57
+90 - 11 = 79
+80 - 30 = 50
+85 - 72 = 13
+16 - 4 = 12
+88 - 22 = 66
+57 - 25 = 32
+61 - 29 = 32
+42 - 6 = 36
+76 - 16 = 60
+91 - 5 = 86
+41 - 35 = 6
+86 - 64 = 22
+67 - 16 = 51
+87 - 9 = 78
+99 - 26 = 73
+59 - 22 = 37
+55 - 9 = 46
+60 - 45 = 15
+61 - 25 = 36
+91 - 67 = 24
+74 - 73 = 1
+73 - 42 = 31
+76 - 45 = 31
+58 - 23 = 35
+95 - 9 = 86
+63 - 42 = 21
+29 - 3 = 26
+91 - 85 = 6
+86 - 33 = 53
+98 - 32 = 66
+96 - 88 = 8
+88 - 6 = 82
+66 - 51 = 15
+53 - 10 = 43
+86 - 13 = 73
+49 - 30 = 19
+36 - 27 = 9
+66 - 55 = 11
+39 - 1 = 38
+70 - 64 = 6
+68 - 44 = 24
+42 - 27 = 15
+36 - 27 = 9
+76 - 31 = 45
+94 - 15 = 79
+87 - 30 = 57
+60 - 25 = 35
+24 - 17 = 7
+77 - 10 = 67
+39 - 14 = 25
+91 - 25 = 66
+44 - 38 = 6
+70 - 10 = 60
+56 - 3 = 53
+39 - 38 = 1
+93 - 49 = 44
+94 - 28 = 66
+63 - 32 = 31
+72 - 57 = 15
+33 - 27 = 6
+79 - 23 = 56
+68 - 64 = 4
+95 - 7 = 88
+97 - 79 = 18
+98 - 15 = 83
+88 - 34 = 54
+59 - 8 = 51
+93 - 45 = 48
+79 - 40 = 39
+45 - 21 = 24
+99 - 81 = 18
+47 - 40 = 7
+80 - 43 = 37
+55 - 17 = 38
+86 - 45 = 41
+54 - 13 = 41
+34 - 12 = 22
+69 - 10 = 59
+79 - 30 = 49
+85 - 7 = 78
+67 - 23 = 44
+66 - 40 = 26
+98 - 64 = 34
+67 - 56 = 11
+74 - 31 = 43
+75 - 2 = 73
+73 - 19 = 54
+68 - 41 = 27
+68 - 12 = 56
+62 - 52 = 10
+46 - 30 = 16
+100 - 44 = 56
+71 - 53 = 18
+90 - 54 = 36
+51 - 27 = 24
+40 - 27 = 13
+78 - 6 = 72
+75 - 44 = 31
+75 - 74 = 1
+85 - 36 = 49
+73 - 32 = 41
+98 - 62 = 36
+64 - 34 = 30
+74 - 68 = 6
+53 - 28 = 25
+26 - 8 = 18
+98 - 50 = 48
+18 - 8 = 10
+73 - 50 = 23
+59 - 38 = 21
+38 - 23 = 15
+74 - 13 = 61
+25 - 22 = 3
+65 - 18 = 47
+91 - 52 = 39
+96 - 33 = 63
+73 - 27 = 46
+77 - 8 = 69
+40 - 6 = 34
+80 - 3 = 77
+34 - 22 = 12
+29 - 19 = 10
+51 - 3 = 48
+19 - 9 = 10
+99 - 41 = 58
+77 - 68 = 9
+38 - 28 = 10
+82 - 55 = 27
+74 - 39 = 35
+86 - 57 = 29
+99 - 19 = 80
+51 - 44 = 7
+77 - 57 = 20
+72 - 53 = 19
+75 - 7 = 68
+83 - 8 = 75
+17 - 9 = 8
+49 - 43 = 6
+64 - 23 = 41
+67 - 7 = 60
+81 - 61 = 20
+95 - 40 = 55
+60 - 12 = 48
+74 - 26 = 48
+90 - 38 = 52
+95 - 74 = 21
+75 - 22 = 53
+86 - 28 = 58
+71 - 35 = 36
+38 - 26 = 12
+25 - 11 = 14
+28 - 14 = 14
+87 - 82 = 5
+94 - 22 = 72
+49 - 43 = 6
+49 - 47 = 2
+82 - 34 = 48
+95 - 71 = 24
+46 - 3 = 43
+89 - 63 = 26
+45 - 27 = 18
+74 - 1 = 73
+86 - 66 = 20
+94 - 12 = 82
+85 - 41 = 44
+74 - 28 = 46
+84 - 69 = 15
+69 - 57 = 12
+95 - 55 = 40
+76 - 4 = 72
+93 - 41 = 52
+55 - 40 = 15
+76 - 3 = 73
+78 - 35 = 43
+31 - 21 = 10
+99 - 76 = 23
+76 - 75 = 1
+92 - 51 = 41
+99 - 44 = 55
+63 - 26 = 37
+70 - 64 = 6
+45 - 7 = 38
+79 - 9 = 70
+85 - 76 = 9
+45 - 23 = 22
+90 - 78 = 12
+41 - 24 = 17
+69 - 12 = 57
+84 - 80 = 4
+47 - 11 = 36
+56 - 25 = 31
+86 - 59 = 27
+89 - 39 = 50
+58 - 16 = 42
+94 - 71 = 23
+52 - 19 = 33
+98 - 17 = 81
+97 - 32 = 65
+45 - 33 = 12
+94 - 78 = 16
+71 - 13 = 58
+66 - 37 = 29
+17 - 8 = 9
+79 - 70 = 9
+64 - 27 = 37
+52 - 40 = 12
+61 - 5 = 56
+76 - 67 = 9
+60 - 10 = 50
+67 - 58 = 9
+54 - 17 = 37
+81 - 60 = 21
+68 - 29 = 39
+83 - 57 = 26
+66 - 26 = 40
+83 - 27 = 56
+84 - 9 = 75
+63 - 16 = 47
+80 - 64 = 16
+60 - 11 = 49
+18 - 5 = 13
+72 - 69 = 3
+83 - 77 = 6
+71 - 37 = 34
+49 - 35 = 14
+61 - 24 = 37
+89 - 22 = 67
+99 - 84 = 15
+69 - 28 = 41
+86 - 58 = 28
+95 - 74 = 21
+46 - 43 = 3
+37 - 34 = 3
+56 - 10 = 46
+85 - 81 = 4
+27 - 13 = 14
+90 - 82 = 8
+59 - 6 = 53
+89 - 18 = 71
+56 - 26 = 30
+94 - 18 = 76
+61 - 22 = 39
+67 - 28 = 39
+85 - 61 = 24
+54 - 48 = 6
+60 - 37 = 23
+76 - 3 = 73
+75 - 71 = 4
+59 - 11 = 48
+62 - 56 = 6
+66 - 19 = 47
+70 - 54 = 16
+81 - 70 = 11
+69 - 45 = 24
+61 - 16 = 45
+55 - 32 = 23
+95 - 24 = 71
+46 - 25 = 21
+84 - 68 = 16
+18 - 10 = 8
+93 - 8 = 85
+75 - 49 = 26
+55 - 29 = 26
+79 - 10 = 69
+5 - 1 = 4
+95 - 67 = 28
+81 - 64 = 17
+82 - 68 = 14
+40 - 24 = 16
+88 - 30 = 58
+99 - 9 = 90
+78 - 40 = 38
+39 - 16 = 23
+86 - 74 = 12
+80 - 76 = 4
+20 - 13 = 7
+49 - 29 = 20
+75 - 50 = 25
+80 - 7 = 73
+46 - 42 = 4
+56 - 39 = 17
+83 - 1 = 82
+96 - 46 = 50
+48 - 3 = 45
+73 - 35 = 38
+64 - 48 = 16
+88 - 27 = 61
+25 - 10 = 15
+43 - 33 = 10
+29 - 16 = 13
+58 - 56 = 2
+75 - 72 = 3
+41 - 21 = 20
+46 - 12 = 34
+84 - 12 = 72
+97 - 79 = 18
+92 - 70 = 22
+24 - 11 = 13
+78 - 63 = 15
+87 - 46 = 41
+49 - 35 = 14
+82 - 78 = 4
+78 - 20 = 58
+44 - 27 = 17
+78 - 27 = 51
+90 - 3 = 87
+56 - 44 = 12
+89 - 8 = 81
+98 - 87 = 11
+50 - 37 = 13
+93 - 83 = 10
+82 - 63 = 19
+65 - 32 = 33
+35 - 33 = 2
+72 - 58 = 14
+84 - 77 = 7
+68 - 28 = 40
+42 - 7 = 35
+99 - 56 = 43
+96 - 73 = 23
+18 - 15 = 3
+45 - 24 = 21
+36 - 28 = 8
+35 - 26 = 9
+97 - 10 = 87
+89 - 59 = 30
+38 - 33 = 5
+47 - 16 = 31
+42 - 33 = 9
+62 - 16 = 46
+38 - 24 = 14
+71 - 4 = 67
+89 - 69 = 20
+53 - 9 = 44
+49 - 24 = 25
+92 - 62 = 30
+46 - 18 = 28
+45 - 41 = 4
+79 - 73 = 6
+40 - 8 = 32
+99 - 87 = 12
+60 - 10 = 50
+41 - 24 = 17
+91 - 11 = 80
+68 - 43 = 25
+96 - 9 = 87
+95 - 49 = 46
+38 - 14 = 24
+81 - 64 = 17
+59 - 21 = 38
+19 - 9 = 10
+85 - 22 = 63
+83 - 6 = 77
+83 - 12 = 71
+50 - 5 = 45
+20 - 3 = 17
+96 - 86 = 10
+94 - 44 = 50
+40 - 29 = 11
+58 - 38 = 20
+97 - 57 = 40
+32 - 2 = 30
+41 - 21 = 20
+76 - 14 = 62
+99 - 54 = 45
+57 - 50 = 7
+14 - 9 = 5
+77 - 75 = 2
+93 - 17 = 76
+100 - 41 = 59
+3 - 1 = 2
+81 - 26 = 55
+72 - 42 = 30
+91 - 14 = 77
+57 - 30 = 27
+96 - 7 = 89
+96 - 9 = 87
+27 - 4 = 23
+79 - 30 = 49
+75 - 44 = 31
+68 - 34 = 34
+59 - 56 = 3
+88 - 10 = 78
+78 - 39 = 39
+89 - 78 = 11
+99 - 1 = 98
+98 - 90 = 8
+92 - 17 = 75
+65 - 50 = 15
+87 - 44 = 43
+35 - 8 = 27
+75 - 38 = 37
+91 - 39 = 52
+83 - 56 = 27
+22 - 0 = 22
+76 - 39 = 37
+86 - 4 = 82
+18 - 5 = 13
+54 - 8 = 46
+80 - 43 = 37
+63 - 52 = 11
+69 - 27 = 42
+99 - 14 = 85
+94 - 92 = 2
+46 - 39 = 7
+79 - 74 = 5
+79 - 4 = 75
+96 - 35 = 61
+91 - 78 = 13
+64 - 44 = 20
+88 - 15 = 73
+83 - 64 = 19
+94 - 31 = 63
+73 - 24 = 49
+74 - 58 = 16
+89 - 45 = 44
+84 - 59 = 25
+72 - 42 = 30
+24 - 14 = 10
+60 - 8 = 52
+45 - 13 = 32
+97 - 93 = 4
+88 - 37 = 51
+54 - 13 = 41
+75 - 20 = 55
+68 - 19 = 49
+70 - 15 = 55
+48 - 23 = 25
+80 - 2 = 78
+56 - 6 = 50
+87 - 77 = 10
+91 - 24 = 67
+97 - 83 = 14
+60 - 46 = 14
+75 - 3 = 72
+71 - 40 = 31
+87 - 8 = 79
+51 - 33 = 18
+88 - 67 = 21
+80 - 46 = 34
+94 - 23 = 71
+90 - 36 = 54
+78 - 75 = 3
+79 - 30 = 49
+70 - 53 = 17
+28 - 2 = 26
+83 - 69 = 14
+20 - 13 = 7
+64 - 3 = 61
+48 - 6 = 42
+78 - 19 = 59
+49 - 39 = 10
+99 - 96 = 3
+57 - 15 = 42
+61 - 12 = 49
+86 - 20 = 66
+89 - 43 = 46
+61 - 47 = 14
+34 - 10 = 24
+58 - 27 = 31
+70 - 65 = 5
+67 - 14 = 53
+62 - 0 = 62
+91 - 50 = 41
+56 - 51 = 5
+71 - 5 = 66
+94 - 48 = 46
+42 - 17 = 25
+87 - 31 = 56
+65 - 13 = 52
+79 - 17 = 62
+68 - 54 = 14
+62 - 35 = 27
+22 - 6 = 16
+42 - 30 = 12
+72 - 8 = 64
+58 - 53 = 5
+4 - 3 = 1
+31 - 22 = 9
+68 - 10 = 58
+70 - 50 = 20
+91 - 10 = 81
+40 - 9 = 31
+50 - 11 = 39
+6 - 3 = 3
+96 - 41 = 55
+50 - 16 = 34
+12 - 4 = 8
+93 - 65 = 28
+30 - 25 = 5
+50 - 39 = 11
+84 - 16 = 68
+61 - 30 = 31
+74 - 8 = 66
+90 - 30 = 60
+78 - 63 = 15
+84 - 9 = 75
+58 - 49 = 9
+67 - 66 = 1
+93 - 4 = 89
+73 - 12 = 61
+36 - 16 = 20
+70 - 33 = 37
+82 - 76 = 6
+93 - 86 = 7
+92 - 4 = 88
+53 - 51 = 2
+42 - 38 = 4
+32 - 4 = 28
+77 - 23 = 54
+77 - 70 = 7
+33 - 14 = 19
+19 - 12 = 7
+68 - 2 = 66
+79 - 4 = 75
+40 - 18 = 22
+60 - 24 = 36
+100 - 14 = 86
+80 - 61 = 19
+96 - 9 = 87
+61 - 12 = 49
+40 - 32 = 8
+57 - 33 = 24
+80 - 44 = 36
+66 - 54 = 12
+45 - 10 = 35
+33 - 5 = 28
+68 - 49 = 19
+97 - 91 = 6
+63 - 43 = 20
+76 - 0 = 76
+87 - 26 = 61
+69 - 27 = 42
+37 - 20 = 17
+82 - 17 = 65
+73 - 63 = 10
+56 - 52 = 4
+63 - 55 = 8
+40 - 3 = 37
+87 - 82 = 5
+24 - 21 = 3
+67 - 42 = 25
+25 - 2 = 23
+52 - 46 = 6
+44 - 19 = 25
+69 - 55 = 14
+7 - 6 = 1
+86 - 59 = 27
+30 - 25 = 5
+26 - 23 = 3
+77 - 11 = 66
+95 - 2 = 93
+13 - 1 = 12
+57 - 51 = 6
+98 - 46 = 52
+60 - 31 = 29
+52 - 6 = 46
+51 - 15 = 36
+94 - 8 = 86
+59 - 8 = 51
+89 - 27 = 62
+11 - 2 = 9
+59 - 12 = 47
+99 - 58 = 41
+8 - 0 = 8
+74 - 18 = 56
+83 - 33 = 50
+93 - 86 = 7
+90 - 70 = 20
+67 - 41 = 26
+89 - 57 = 32
+66 - 64 = 2
+68 - 49 = 19
+37 - 15 = 22
+100 - 58 = 42
+81 - 4 = 77
+87 - 78 = 9
+80 - 54 = 26
+28 - 25 = 3
+89 - 62 = 27
+14 - 12 = 2
+73 - 68 = 5
+57 - 35 = 22
+20 - 16 = 4
+42 - 3 = 39
+84 - 59 = 25
+85 - 71 = 14
+78 - 19 = 59
+78 - 3 = 75
+53 - 20 = 33
+71 - 42 = 29
+23 - 10 = 13
+63 - 44 = 19
+98 - 26 = 72
+58 - 47 = 11
+49 - 19 = 30
+81 - 48 = 33
+65 - 38 = 27
+47 - 3 = 44
+82 - 61 = 21
+79 - 52 = 27
+58 - 7 = 51
+81 - 33 = 48
+63 - 62 = 1
+40 - 8 = 32
+72 - 11 = 61
+92 - 61 = 31
+58 - 14 = 44
+27 - 21 = 6
+70 - 24 = 46
+91 - 28 = 63
+98 - 85 = 13
+97 - 93 = 4
+42 - 32 = 10
+46 - 28 = 18
+31 - 10 = 21
+66 - 45 = 21
+75 - 42 = 33
+58 - 50 = 8
+89 - 7 = 82
+83 - 5 = 78
+62 - 22 = 40
+36 - 7 = 29
+28 - 10 = 18
+61 - 23 = 38
+94 - 58 = 36
+17 - 6 = 11
+57 - 13 = 44
+19 - 8 = 11
+50 - 16 = 34
+91 - 18 = 73
+88 - 1 = 87
+79 - 70 = 9
+86 - 83 = 3
+85 - 59 = 26
+90 - 17 = 73
+94 - 13 = 81
+20 - 2 = 18
+91 - 39 = 52
+88 - 57 = 31
+51 - 15 = 36
+26 - 12 = 14
+91 - 51 = 40
+94 - 66 = 28
+3 - 0 = 3
+29 - 28 = 1
+79 - 58 = 21
+45 - 17 = 28
+61 - 50 = 11
+3 - 0 = 3
+79 - 61 = 18
+89 - 62 = 27
+82 - 16 = 66
+80 - 48 = 32
+49 - 36 = 13
+95 - 48 = 47
+80 - 78 = 2
+80 - 65 = 15
+64 - 62 = 2
+94 - 47 = 47
+88 - 67 = 21
+80 - 32 = 48
+89 - 45 = 44
+86 - 33 = 53
+71 - 20 = 51
+6 - 1 = 5
+96 - 86 = 10
+79 - 59 = 20
+23 - 1 = 22
+69 - 47 = 22
+53 - 30 = 23
+22 - 3 = 19
+63 - 13 = 50
+71 - 64 = 7
+89 - 24 = 65
+99 - 23 = 76
+25 - 7 = 18
+75 - 45 = 30
+80 - 65 = 15
+100 - 12 = 88
+36 - 31 = 5
+49 - 12 = 37
+61 - 30 = 31
+74 - 70 = 4
+85 - 46 = 39
+91 - 23 = 68
+88 - 34 = 54
+43 - 30 = 13
+93 - 44 = 49
+99 - 42 = 57
+49 - 11 = 38
+91 - 49 = 42
+72 - 9 = 63
+65 - 10 = 55
+92 - 5 = 87
+52 - 37 = 15
+88 - 30 = 58
+41 - 34 = 7
+23 - 1 = 22
+89 - 72 = 17
+98 - 36 = 62
+75 - 32 = 43
+32 - 7 = 25
+72 - 2 = 70
+79 - 20 = 59
+97 - 8 = 89
+99 - 79 = 20
+80 - 49 = 31
+74 - 71 = 3
+58 - 22 = 36
+65 - 48 = 17
+42 - 25 = 17
+83 - 25 = 58
+88 - 59 = 29
+96 - 61 = 35
+71 - 53 = 18
+89 - 70 = 19
+66 - 47 = 19
+25 - 5 = 20
+37 - 16 = 21
+100 - 42 = 58
+91 - 5 = 86
+47 - 21 = 26
+70 - 29 = 41
+51 - 22 = 29
+71 - 45 = 26
+87 - 61 = 26
+88 - 22 = 66
+11 - 6 = 5
+82 - 54 = 28
+61 - 16 = 45
+63 - 38 = 25
+55 - 18 = 37
+49 - 24 = 25
+78 - 50 = 28
+49 - 25 = 24
+70 - 47 = 23
+75 - 17 = 58
+69 - 22 = 47
+79 - 49 = 30
+62 - 56 = 6
+71 - 31 = 40
+59 - 23 = 36
+38 - 26 = 12
+35 - 14 = 21
+99 - 50 = 49
+79 - 21 = 58
+78 - 76 = 2
+57 - 16 = 41
+63 - 28 = 35
+99 - 49 = 50
+94 - 81 = 13
+26 - 12 = 14
+100 - 36 = 64
+42 - 32 = 10
+83 - 59 = 24
+6 - 2 = 4
+93 - 33 = 60
+83 - 63 = 20
+27 - 25 = 2
+91 - 78 = 13
+69 - 47 = 22
+24 - 2 = 22
+67 - 34 = 33
+98 - 2 = 96
+74 - 27 = 47
+96 - 84 = 12
+65 - 32 = 33
+80 - 65 = 15
+61 - 32 = 29
+78 - 46 = 32
+71 - 26 = 45
+77 - 34 = 43
+47 - 42 = 5
+95 - 54 = 41
+52 - 50 = 2
+85 - 84 = 1
+58 - 14 = 44
+99 - 41 = 58
+88 - 5 = 83
+71 - 9 = 62
+79 - 3 = 76
+97 - 59 = 38
+18 - 3 = 15
+68 - 33 = 35
+51 - 6 = 45
+64 - 51 = 13
+80 - 48 = 32
+92 - 57 = 35
+77 - 73 = 4
+96 - 56 = 40
+45 - 31 = 14
+21 - 6 = 15
+92 - 80 = 12
+43 - 11 = 32
+49 - 23 = 26
+37 - 2 = 35
+80 - 1 = 79
+34 - 3 = 31
+70 - 51 = 19
+63 - 30 = 33
+98 - 5 = 93
+62 - 41 = 21
+67 - 1 = 66
+85 - 71 = 14
+48 - 20 = 28
+42 - 30 = 12
+62 - 13 = 49
+79 - 29 = 50
+49 - 4 = 45
+58 - 33 = 25
+65 - 9 = 56
+85 - 71 = 14
+79 - 62 = 17
+57 - 36 = 21
+86 - 85 = 1
+72 - 31 = 41
+99 - 59 = 40
+89 - 87 = 2
+73 - 32 = 41
+89 - 88 = 1
+89 - 38 = 51
+45 - 12 = 33
+77 - 16 = 61
+13 - 1 = 12
+52 - 46 = 6
+52 - 45 = 7
+28 - 3 = 25
+25 - 7 = 18
+81 - 7 = 74
+20 - 12 = 8
+81 - 58 = 23
+71 - 43 = 28
+16 - 1 = 15
+38 - 8 = 30
+16 - 6 = 10
+81 - 20 = 61
+93 - 42 = 51
+19 - 7 = 12
+97 - 21 = 76
+19 - 7 = 12
+80 - 7 = 73
+72 - 52 = 20
+60 - 36 = 24
+47 - 33 = 14
+66 - 27 = 39
+78 - 62 = 16
+81 - 51 = 30
+7 - 1 = 6
+58 - 22 = 36
+19 - 2 = 17
+99 - 89 = 10
+88 - 82 = 6
+59 - 23 = 36
+95 - 47 = 48
+49 - 11 = 38
+91 - 52 = 39
+57 - 36 = 21
+92 - 69 = 23
+13 - 11 = 2
+42 - 26 = 16
+33 - 29 = 4
+48 - 20 = 28
+89 - 38 = 51
+42 - 29 = 13
+65 - 16 = 49
+74 - 57 = 17
+57 - 52 = 5
+44 - 39 = 5
+66 - 38 = 28
+49 - 3 = 46
diff --git a/data/question_files/numbers/numbers_1-10.dat b/data/question_files/numbers/numbers_1-10.dat
new file mode 100644
index 0000000..f05e22f
--- /dev/null
+++ b/data/question_files/numbers/numbers_1-10.dat
@@ -0,0 +1,10 @@
+1 = number_images/01x.jpg
+2 = number_images/02x.jpg
+3 = number_images/03x.jpg
+4 = number_images/04x.jpg
+5 = number_images/05x.jpg
+6 = number_images/06x.jpg
+7 = number_images/07x.jpg
+8 = number_images/08x.jpg
+9 = number_images/09x.jpg
+10 = number_images/10x.jpg
diff --git a/data/question_files/numbers/numbers_11-15.dat b/data/question_files/numbers/numbers_11-15.dat
new file mode 100644
index 0000000..a30db9a
--- /dev/null
+++ b/data/question_files/numbers/numbers_11-15.dat
@@ -0,0 +1,6 @@
+11 = number_images/11x.jpg
+12 = number_images/12x.jpg
+13 = number_images/13x.jpg
+14 = number_images/14x.jpg
+14 = number_images/14x.jpg
+15 = number_images/15x.jpg
diff --git a/data/tile.gif b/data/tile.gif
new file mode 100644
index 0000000..5b8371b
--- /dev/null
+++ b/data/tile.gif
Binary files differ
diff --git a/grid.py b/grid.py
new file mode 100644
index 0000000..e616315
--- /dev/null
+++ b/grid.py
@@ -0,0 +1,106 @@
+"""
+grid.py
+
+Includes classes Grid. Grid is a container class
+for Tiles and is in charge of their construction. The Grid
+is a representation of the playing board.
+
+Copyright 2007, Julius B. Lucks, Adrian DelMaestro, Sera L. Young
+
+This file is part of Kuku.
+
+Kuku is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation version 2 of the License.
+
+Kuku is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with Kuku; if not, write to the Free Software
+Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
+The copy of the GNU General Public License is found in the COPYING file
+included in the source distribution.
+
+"""
+
+import pygame
+from tile import Tile
+
+class Grid(object):
+ """An grid that tiles images
+ and manages positions.
+ """
+ def __init__(self, screen, dimensions):
+ grid_offset = (screen.width*(1./4.),0)
+
+ self.dimensions = dimensions
+
+ #hard-coded size of rect 900 x 900
+ tile_size_x = (3./4.)*screen.width/self.dimensions[0]
+ tile_size_y = screen.height/self.dimensions[1]
+
+ #create tiles
+ self.tiles = []
+ rects = []
+
+
+ self.tiles = [Tile(x,y,tile_size_x,tile_size_y,grid_offset)
+ for x in range(self.dimensions[0])
+ for y in range(self.dimensions[1])]
+
+ self.step_width = self.tiles[0].width
+ self.step_height = self.tiles[0].height
+ self.rect = pygame.Rect(0,0,0,0)
+ self.rect = self.rect.unionall([t.get_rect() for t in self.tiles])
+ self.center_position = (dimensions[0]/2,dimensions[1]/2)
+
+
+ def get_tile(self,x,y):
+ """get the tile at the grid position (x,y)
+
+ raise an IndexError if not in grid.
+ """
+ if self.check_bounds(x,y):
+ ind = self.dimensions[1]*x + y
+ return self.tiles[ind]
+ else:
+ raise IndexError
+
+
+ def check_bounds(self,x,y):
+ """make sure grid postion (x,y) fits within the grid"""
+ if x > -1 and \
+ x < self.dimensions[0] and \
+ y > -1 and \
+ y < self.dimensions[1]:
+ return True
+ else:
+ return False
+
+
+ def draw(self,screen):
+ """draws the tiles onto the screen"""
+ dirtyrects = []
+ for t in self.tiles:
+ dirtyrects.extend(t.draw(screen))
+ return dirtyrects
+
+ def draw_tile(self,x,y,screen):
+ ind = self.dimensions[1]*x + y
+ t = self.tiles[ind]
+ dirtyrects = []
+ dirtyrects.extend(t.draw(screen))
+ return dirtyrects
+
+
+ def update(self):
+ """docstring for update"""
+ pass
+
+ def get_center_position(self):
+ """docstring for get_center_position"""
+ return self.center_position
+
diff --git a/kuku.py b/kuku.py
new file mode 100644
index 0000000..820656e
--- /dev/null
+++ b/kuku.py
@@ -0,0 +1,963 @@
+"""
+kuku.py
+
+Copyright 2007, Julius B. Lucks, Adrian DelMaestro, Sera L. Young
+
+This file is part of Kuku.
+
+Kuku is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation version 2 of the License.
+
+Kuku is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with Kuku; if not, write to the Free Software
+Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
+The copy of the GNU General Public License is found in the COPYING file
+included in the source distribution.
+
+"""
+
+# Based on oldalien in pygame/examples
+
+import pygame, os.path, sys
+import random
+if not pygame.font: print 'Warning, fonts disabled'
+from pygame.locals import *
+from grid import Grid
+import pickle as p
+import question
+import re
+
+
+from kuku_utils import *
+
+#import configuration
+from kuku_config import *
+
+
+#i18n
+import gettext
+gettext.install('kuku', './locale', unicode=False)
+presLan_en = gettext.translation("kuku", os.path.join(get_bundle_path(),'locale'), languages=['en'])
+presLan_sw = gettext.translation("kuku", os.path.join(get_bundle_path(),'locale'), languages=['sw'])
+
+presLan_en.install()
+# presLan_sw.install()
+
+try:
+ import sugar
+ dev = 0
+except ImportError:
+ dev = 1
+
+if dev:
+ SCREENRECT = Rect(0,0,400,300)
+ scale_x = 1./3.
+ scale_y = 1./3.
+ FONT_SIZE = 36
+else:
+ SCREENRECT = Rect(0,0,1200,825)
+ scale_x = 1.
+ scale_y = 1.
+ FONT_SIZE = 36
+
+
+dirtyrects = [] # list of update_rects
+class Img: pass # container for images
+
+class StopGame(Exception):
+ pass
+
+
+#Initialize with configs
+
+#Initialize questions - need to do lazy loading to speed up game init
+question_lists = []
+qfIO = question.QuestionFileIO()
+for question_file in QUESTION_FILES:
+ try:
+ print question_file
+ question_list = qfIO.Read_questions(data_path(question_file))
+ except question.ParseError:
+ print 'Problem parsing file, using random questions.'
+ qs = []
+ for j in range(100):
+ q = (random.randint(0,9),
+ random.randint(0,9))
+ question_string = '%i x %i = ?' % q
+ answer = '%i' % (q[0]*q[1])
+ qs.append(question.Question(question_string,
+ answer))
+ question_list = question.QuestionList(qs)
+ question_lists.append(question_list)
+question_group = question.QuestionGroup(question_lists)
+
+
+class State(object):
+ """State object
+
+ maintaines score, lives, high
+ score, etc.
+ """
+
+ def __init__(self):
+ self.score = 0
+ self.lives = PLAYER_LIVES
+ self.high_score = 0
+ self.time = GAME_TIME
+ self.won = 0
+
+ def __str__(self):
+ str = 'score %i\n lives %i\n High Score %i\n Time %i\n Won %i \n' %\
+ (self.score,self.lives,self.high_score,self.time,self.won)
+ return str
+
+ def save(self):
+ """save state object
+
+ in kuku_state.obj"""
+ f = file(data_path('kuku_state.obj'),'w')
+ p.dump(self,f)
+ f.close()
+
+ def update(self,lives=None,score=None,time=None):
+ """update lives, score and time"""
+
+ #update score and time
+ self.score = score or self.score
+ self.time = time or self.time
+
+ #if you have not lost a life (i.e. have a correct answer),
+ # your score is greater than 0, and a multiple of 10,
+ # then you have won
+ # (you have not one if your score is >0 and a multiple of 10,
+ # and you have just lost a life)
+ if lives == self.lives and self.score > 0 and self.score%10 ==0:
+ self.won = 1
+
+ #update lives
+ self.lives = lives or self.lives
+
+ if self.high_score < self.score:
+ self.high_score = self.score
+
+ # if self.score > 0 and self.score%10 ==0:
+ # self.won = 1
+
+ # print self
+
+
+
+
+
+class Actor:
+ "An enhanced sort of sprite class"
+ def __init__(self, image):
+ self.set_image(image)
+ self.rect = image.get_rect()
+
+ def update(self):
+ "update the sprite state for this frame"
+ pass
+
+ def set_image(self,image):
+ """set a new image"""
+ self.image = image
+
+ def draw(self, screen):
+ "draws the sprite into the screen"
+ r = screen.blit(self.image, self.rect)
+ return r
+
+ def erase(self, screen, background):
+ "gets the sprite off of the screen"
+ r = screen.blit(background, self.rect, self.rect)
+ return r
+
+ def get_rect(self):
+ return self.rect
+
+class Player(Actor):
+ "Cheer for our hero"
+ def __init__(self,grid):
+ """grid is the grid the player lives on"""
+ Actor.__init__(self, Img.player_right)
+ self.alive = 1
+ self.grid = grid
+ self.grid_position = self.grid.get_center_position()
+ self.set_rect_position(self.image)
+
+ def set_rect_position(self,cimage):
+ """set_rect_position based on grid_position"""
+ #get tile based on grid position
+ #if can't find tile, then don't move
+ try:
+ t = self.grid.get_tile(self.grid_position[0],
+ self.grid_position[1])
+ self.rect.centerx = t.rect.centerx
+
+ if (cimage.get_rect().height == int(130*scale_y)):
+ self.rect.centery = t.rect.centery
+ else:
+ self.rect.centery = t.rect.centery - int(24*scale_y)
+
+
+ except IndexError:
+ pass
+
+ def move(self, x_direction,y_direction):
+
+ #step = +/- 1
+ x_step = 0
+ y_step = 0
+ if x_direction:
+ x_step = x_direction/abs(x_direction)
+ if y_direction:
+ y_step = y_direction/abs(y_direction)
+
+ #change image to reflect right and left
+ if x_step < 0:
+ self.set_image(Img.player_left)
+ elif x_direction > 0:
+ self.set_image(Img.player_right)
+ step = 1
+ #elif y_direction != 0:
+ #self.set_image(Img.player_right)
+
+ self.move_grid_position(x_step,y_step)
+ self.set_rect_position(self.image)
+
+
+ def move_grid_position(self,x_step,y_step):
+ """docstring for move_grid_position"""
+ #check grid bounds
+ new_position = [self.grid_position[0] + x_step,
+ self.grid_position[1] + y_step]
+ # print 'N',new_position
+ if self.grid.check_bounds(new_position[0],new_position[1]):
+ self.grid_position = new_position
+
+
+class QuestionAnswer:
+ """The question/answer class.
+
+ Displays the questions as well as answers on the screen"""
+
+ def __init__(self, gridsize,q,answer_pool=None):
+ self.Nx = gridsize[0]
+ self.Ny = gridsize[1]
+ self.question = q
+ self.question_string = self.question.q_string
+ self.answer_pool = answer_pool
+
+ self.answers = []
+
+ if self.question.type == question.N_TYPE:
+
+ self.correct_answer = self.question.a_list[0]
+ while (len(self.answers) < self.Nx*self.Ny):
+ ind = random.randint(0,len(answer_pool)-1)
+ self.answers.append(answer_pool[ind])
+ if not (self.correct_answer in self.answers):
+ correct_index = random.randint(0,self.Nx*self.Ny-1)
+ self.answers[correct_index] = self.correct_answer
+
+ elif self.question.type == question.MULTIPLES_TYPE:
+
+ #draw random possibility
+ ind = random.randint(0,self.question.n_answers-1)
+ self.correct_answer = int(self.question.a_list[ind])
+
+ #dirty hack to get which number multiples of
+ self.q_num = int(re.findall('\d',self.question.q_string_raw)[0])
+ if self.correct_answer < 10:
+ maxans = 50
+ else:
+ maxans = 3*self.correct_answer
+
+ while (len(self.answers) < self.Nx*self.Ny):
+ # Construct a random integer between 0 and maxans
+ rand_ans = random.randint(0,maxans)
+ # test if we have that answer yet, if not add to list
+ # make sure no multiples
+ if (rand_ans%self.q_num != 0) and \
+ not (rand_ans in self.answers):
+ self.answers.append(rand_ans)
+
+ # now put the correct answer in a random location if
+ # it doesn't already exist by accident
+ if not (self.correct_answer in self.answers):
+ correct_index = random.randint(0,self.Nx*self.Ny-1)
+ self.answers[correct_index] = self.correct_answer
+
+ else:
+ self.correct_answer = int(self.question.a_list[0])
+ # print self.correct_answer
+
+ if self.correct_answer < 10:
+ maxans = 50
+ else:
+ maxans = 3*self.correct_answer
+
+ while (len(self.answers) < self.Nx*self.Ny):
+ # Construct a random integer between 0 and maxans
+ rand_ans = random.randint(0,maxans)
+ # test if we have that answer yet, if not add to list
+ if not (rand_ans in self.answers):
+ self.answers.append(rand_ans)
+
+ # now put the correct answer in a random location if
+ # it doesn't already exist by accident
+ if not (self.correct_answer in self.answers):
+ correct_index = random.randint(0,self.Nx*self.Ny-1)
+ self.answers[correct_index] = self.correct_answer
+
+
+ def get_correct_answer(self):
+ return self.correct_answer
+
+ def display_question(self,screen,font):
+ """Display the question on the screen."""
+
+ text = font.render(self.question_string,1,(10,10,10))
+
+ # print self.question_string
+
+ #if text to wide, decrease font_size until
+ #it fits
+ font_size = FONT_SIZE
+ while text.get_rect().width > 300.*scale_x:
+ font_size = int(font_size*2./3.)
+ font = pygame.font.Font(None, font_size)
+ text = font.render(self.question_string,1,(10,10,10))
+
+ tlcorner = screen.get_rect().topleft
+ textpos = (tlcorner[0] + 5, tlcorner[1] + 10)
+
+ return [screen.blit(text,textpos)]
+
+ def set_answers(self,screen,grid,font):
+ '''Displays question answers in the BRH corner of each game tile.'''
+
+ for x in range(self.Nx):
+ for y in range(self.Ny):
+ tilenum = x + y*self.Ny
+ if self.question.type != question.N_TYPE:
+ grid.get_tile(x,y).set_answer(answer=self.answers[tilenum],
+ font=font)
+ elif self.question.type == question.N_TYPE:
+ grid.get_tile(x,y).set_answer(image_name=self.answers[tilenum])
+
+
+class Time(object):
+
+ def __init__(self,number,image,screen,font):
+ self.number = number
+ self.font = font
+ self.update = 1
+ self.image = image
+ screen_rect = screen.get_rect()
+ image_rect = self.image.get_rect()
+
+ #max width is 3 digits
+ self.text = self.font.render(str(100),1,(10,10,10))
+
+ self.rect = pygame.Rect(screen_rect.left,
+ (4./8.)*screen_rect.bottom-image_rect.height,
+ image_rect.width+self.text.get_rect().width,
+ image_rect.height)
+ def draw(self,screen):
+ """draw the number of lives left"""
+ dirtyrects = []
+ # print 'score'
+ if self.update:
+ #white out
+ r = screen.fill((255,255,255),self.rect)
+ dirtyrects.append(r)
+
+ r = screen.blit(self.image, self.rect)
+ dirtyrects.append(r)
+
+ self.text = self.font.render(str(self.number),1,(10,10,10))
+ textpos = (self.rect.right - self.text.get_rect().width,
+ self.rect.bottom - self.text.get_rect().height
+ )
+
+ dirtyrects.append(screen.blit(self.text,textpos))
+
+ self.update = 0
+ return dirtyrects
+
+ def add(self,number):
+ """docstring for add"""
+ self.number += number
+ self.update = 1
+
+ def set(self,number):
+ """docstring for set"""
+ self.number = number
+
+ def get_ticks(self):
+ return self.number
+
+
+
+
+
+class Score(object):
+ """keeps Score"""
+ def __init__(self,number,image,screen,font):
+ self.number = number
+ self.font = font
+ self.update = 1
+ self.image = image
+ screen_rect = screen.get_rect()
+ image_rect = self.image.get_rect()
+
+ #max width is 3 digits
+ self.text = self.font.render(str(100),1,(10,10,10))
+
+ self.rect = pygame.Rect(screen_rect.left,
+ (3./4.)*screen_rect.bottom-image_rect.height,
+ image_rect.width+self.text.get_rect().width,
+ image_rect.height)
+
+
+ def draw(self,screen):
+ """draw the number of lives left"""
+ dirtyrects = []
+ # print 'score'
+ if self.update:
+ #white out
+ screen.fill((255,255,255),self.rect)
+
+ r = screen.blit(self.image, self.rect)
+ dirtyrects.append(r)
+
+ self.text = self.font.render(str(self.number),1,(10,10,10))
+ textpos = (self.rect.right - self.text.get_rect().width,
+ self.rect.bottom - self.text.get_rect().height
+ )
+
+ dirtyrects.append(screen.blit(self.text,textpos))
+
+ self.update = 0
+ return dirtyrects
+
+ def add(self,number):
+ """docstring for add"""
+ self.number += number
+ self.update = 1
+
+ def set(self,number):
+ """docstring for set"""
+ self.number = number
+ self.update = 1
+
+ def get_score(self):
+ """docstring for get_score"""
+ return self.number
+
+
+class HighScore(Score):
+ """HighScore"""
+ def __init__(self,number,image,screen,font):
+ Score.__init__(self,number,image,screen,font)
+ screen_rect = screen.get_rect()
+ image_rect = self.image.get_rect()
+ self.rect = pygame.Rect(screen_rect.left,
+ (5./8.)*screen_rect.bottom-image_rect.height,
+ image_rect.width+self.text.get_rect().width,
+ image_rect.height)
+
+
+
+class Lives(object):
+
+ def __init__(self,number,image,screen,font):
+ self.number = number
+ self.font = font
+ self.update = 1
+ self.image = image
+ # self.text_width = 10
+ self.vertical_offset = 10
+ screen_rect = screen.get_rect()
+ image_rect = self.image.get_rect()
+
+ self.text = self.font.render(str(self.number),1,(10,10,10))
+
+ self.rect = pygame.Rect(screen_rect.left,
+ screen_rect.bottom-self.vertical_offset-image_rect.height,
+ image_rect.width+self.text.get_rect().width,
+ image_rect.height)
+
+ def draw_lives(self,screen):
+ """draw the number of lives left"""
+ dirtyrects = []
+
+ if self.update:
+ #white out
+ screen.fill((255,255,255),self.rect)
+
+ r = screen.blit(self.image, self.rect)
+ dirtyrects.append(r)
+
+ self.text = self.font.render(str(self.number),1,(10,10,10))
+ textpos = (self.rect.right - self.text.get_rect().width,
+ self.rect.bottom - self.text.get_rect().height
+ )
+
+ dirtyrects.append(screen.blit(self.text,textpos))
+
+ self.update = 0
+ return dirtyrects
+
+ def kill(self):
+ """take one life (never drop below zero)"""
+ self.number -= 1
+ self.update = 1
+
+ def get_lives(self):
+ """docstring for get_lives"""
+ return self.number
+
+ def set_lives(self,number):
+ """docstring for set_lives"""
+ self.number = number
+ self.update = 1
+
+def game_over(screen,gridsize,font):
+ """the game over screen"""
+ screen.fill((255,255,255))
+ vec = (screen.get_rect().center[0]-Img.game_over.get_rect().center[0],
+ screen.get_rect().center[1]-Img.game_over.get_rect().center[1],
+ )
+ r = Img.game_over.get_rect()
+ r = r.move(vec[0],vec[1])
+ screen.blit(Img.game_over,r)
+ pygame.display.update()
+ while True:
+ evt = pygame.event.wait()
+ if evt.type == pygame.KEYDOWN:
+ if evt.type == pygame.QUIT or evt.key == pygame.K_ESCAPE:
+ raise StopGame
+ else:
+ qa,num_players,score,time_clock = game_start(screen,gridsize,font)
+ return (qa,num_players,score,time_clock)
+
+def game_win(screen,gridsize,font,state):
+ """the game over screen"""
+ screen.fill((255,255,255))
+ vec = (screen.get_rect().center[0]-Img.game_win.get_rect().center[0],
+ screen.get_rect().center[1]-Img.game_win.get_rect().center[1],
+ )
+ r = Img.game_win.get_rect()
+ r = r.move(vec[0],vec[1])
+ screen.blit(Img.game_win,r)
+ pygame.display.update()
+ # print 'win!!', state
+ while True:
+ evt = pygame.event.wait()
+ if evt.type == pygame.KEYDOWN:
+ if evt.type == pygame.QUIT or evt.key == pygame.K_ESCAPE:
+ raise StopGame
+ else:
+ #don't erase score, so game already started
+ qa,num_players,score,time_clock = game_start(screen,gridsize,font,started=1)
+ score.set(state.score)
+ return (qa,num_players,score,time_clock)
+
+
+def game_start(screen,gridsize,font,started=1):
+ """the game over screen"""
+ # Start music
+ pygame.mixer.music.load(data_path('kuku_slow.ogg'))
+ pygame.mixer.music.play(-1,0.0)
+
+ if not started:
+ screen.fill((255,255,255))
+ vec = (screen.get_rect().center[0]-Img.game_start.get_rect().center[0],
+ screen.get_rect().center[1]-Img.game_start.get_rect().center[1],
+ )
+ r = Img.game_start.get_rect()
+ r = r.move(vec[0],vec[1])
+ screen.blit(Img.game_start,r)
+
+ message = _('Begin!')
+ text = font.render(message,1,(10,10,10))
+ twidth = text.get_rect().width
+ theight = text.get_rect().height
+ tlcorner = screen.get_rect().center
+ textpos = (tlcorner[0]-twidth/2, tlcorner[1])
+
+ screen.blit(text,textpos)
+
+ pygame.display.update()
+ while True:
+ evt = pygame.event.wait()
+ if evt.type == pygame.KEYDOWN:
+ qa,num_players,score,time_clock = reset_board(screen,gridsize,font)
+ return (qa,num_players,score,time_clock)
+ else:
+ started = 1
+ qa,num_players,score,time_clock = reset_board(screen,gridsize,font)
+ return (qa,num_players,score,time_clock)
+
+
+
+def reset_board(screen,gridsize,font,
+ num_players=None,score=None,
+ time_clock=None):
+ """docstring for reset_board"""
+ # Stop all sounds
+ #pygame.mixer.stop()
+
+ # # Start music
+ # pygame.mixer.music.load(data_path('kuku_slow.ogg'))
+ # pygame.mixer.music.play(-1,0.0)
+
+ question_list = question_group.next()
+ q = question_list.next()
+ # print q.a_string, q.a_type
+ qa = QuestionAnswer(gridsize,q,
+ answer_pool=question_list.get_all_answers())
+
+ if not num_players:
+ num_players = Lives(PLAYER_LIVES,Img.lives,screen,font)
+ else:
+ num_players.update = 1
+
+ if not score:
+ score = Score(0,Img.correct,screen,font)
+ else:
+ score.update = 1
+
+ if not time_clock:
+ time_clock = Time(GAME_TIME,Img.timer,screen,font)
+
+ screen.fill((255,255,255))
+ pygame.display.update()
+ return (qa,num_players,score,time_clock)
+
+def main():
+ """main pygame loop"""
+ global dirtyrects
+ move_keys = [pygame.K_UP,
+ pygame.K_DOWN,
+ pygame.K_LEFT,
+ pygame.K_RIGHT,
+ pygame.K_KP9,
+ pygame.K_KP1,
+ pygame.K_KP3,
+ pygame.K_KP7,
+ pygame.K_ESCAPE
+ ]
+
+ pygame.init()
+
+ #load the state object if it exists
+ try:
+ f = file(data_path('kuku_state.obj'),'r')
+ state = p.load(f)
+ f.close()
+ except IOError:
+ state = State()
+
+
+ # # Start music
+ # pygame.mixer.music.load(data_path('kuku_slow.ogg'))
+ # pygame.mixer.music.play(-1,0.0)
+
+ # load game sounds
+ bock = pygame.mixer.Sound(data_path('bock.ogg'))
+ peck_good = pygame.mixer.Sound(data_path('peckgood.ogg'))
+ peck_bad = pygame.mixer.Sound(data_path('peckbad.ogg'))
+ kuku_lose = pygame.mixer.Sound(data_path('kuku_death.ogg'))
+ kuku_win = pygame.mixer.Sound(data_path('kuku_win.ogg'))
+
+ # create a font instance
+ font = pygame.font.Font(None, FONT_SIZE)
+
+ #For Mac only
+ # pygame.display.set_icon(pygame.image.load('data/kuku.png'))
+
+ screen = pygame.display.set_mode(SCREENRECT.size,0)
+
+ #whiten screen
+ screen.fill((255,255,255))
+
+ # make background
+ background = pygame.Surface(SCREENRECT.size).convert()
+ background.fill((255,255,255))
+ screen.blit(background, (0,0))
+ pygame.display.update()
+
+ # set the gridsize
+ gridsize = (GRID_SIZE,GRID_SIZE)
+
+ # Load player images
+ kuku = load_image('kuku_default.png',1)
+ kuku_peck = load_image('kuku_pecking.png',1)
+ kuku_stunned = load_image('kuku_stunned.png',1)
+ kuku_happy = load_image('kuku_happy.png',1)
+ kuku_game_start = load_image('kuku_startpage.png',1)
+ kuku_game_over = load_image('kuku_endpage.png',1)
+ kuku_game_win = load_image('kuku_win.png',1)
+ kuku_num_correct = load_image('kuku_num_correct.png',1)
+ kuku_high_score = load_image('kuku_high_score.png',1)
+ kuku_clock = load_image('kuku_clock.png',1)
+
+ Img.game_start = pygame.transform.scale(kuku_game_start,
+ (int(scale_x*kuku_game_start.get_rect().width),
+ int(scale_y*kuku_game_start.get_rect().height)))
+
+ Img.game_over = pygame.transform.scale(kuku_game_over,
+ (int(scale_x*kuku_game_over.get_rect().width),
+ int(scale_y*kuku_game_over.get_rect().height)))
+
+ Img.game_win = pygame.transform.scale(kuku_game_win,
+ (int(scale_x*kuku_game_win.get_rect().width),
+ int(scale_y*kuku_game_win.get_rect().height)))
+
+ Img.player_right = pygame.transform.scale(kuku,
+ (int(scale_x*kuku.get_rect().width),
+ int(scale_y*kuku.get_rect().height)))
+ Img.player_left = pygame.transform.flip(Img.player_right,1,0)
+ Img.peck_right = pygame.transform.scale(kuku_peck,
+ (int(scale_x*kuku_peck.get_rect().width),
+ int(scale_y*kuku_peck.get_rect().height)))
+ Img.peck_left = pygame.transform.flip(Img.peck_right,1,0)
+
+ #change this to get image correct
+ Img.lives = pygame.transform.scale(kuku_peck,
+ (int(scale_x*kuku_peck.get_rect().width),
+ int(scale_y*kuku_peck.get_rect().height)))
+
+ Img.correct = pygame.transform.scale(kuku_num_correct,
+ (int(scale_x*kuku_num_correct.get_rect().width),
+ int(scale_y*kuku_num_correct.get_rect().height)))
+
+ Img.high_score = pygame.transform.scale(kuku_high_score,
+ (int(scale_x*kuku_high_score.get_rect().width),
+ int(scale_y*kuku_high_score.get_rect().height)))
+
+ #clock
+ Img.timer = pygame.transform.scale(kuku_clock,
+ (int(scale_x*kuku_clock.get_rect().width),
+ int(scale_y*kuku_clock.get_rect().height)))
+
+ Img.stunned_right = pygame.transform.scale(kuku_stunned,
+ (int(scale_x*kuku_stunned.get_rect().width),
+ int(scale_y*kuku_stunned.get_rect().height)))
+ Img.stunned_left = pygame.transform.flip(Img.stunned_right,1,0)
+
+ Img.happy_right = pygame.transform.scale(kuku_happy,
+ (int(scale_x*kuku_happy.get_rect().width),
+ int(scale_y*kuku_happy.get_rect().height)))
+ Img.happy_left = pygame.transform.flip(Img.happy_right,1,0)
+
+
+ #create high_score
+ high_score = HighScore(state.high_score,Img.high_score,screen,font)
+
+
+ # print Img.player_right.get_rect().height, Img.stunned_right.get_rect().height
+ #create player
+ grid = Grid(SCREENRECT,gridsize)
+ player = Player(grid)
+
+ # qa,num_players = reset_board(screen,gridsize,font)
+ qa,num_players,score,time_clock = game_start(screen,gridsize,font,started=0)
+
+ # keep track of time
+ clock = pygame.time.Clock()
+ actor_facing = 1
+ x_direction = 0
+ y_direction = 0
+
+ time = 0
+ try:
+ while True:
+ delta = clock.tick(25)
+ time += delta
+ if time > 1000:
+ time = 0
+ Img.correct,screen,font
+ time_clock.add(-1)
+ if time_clock.get_ticks() == 0:
+ num_players.kill()
+ qa,num_players,score,time_clock = reset_board(screen,gridsize,
+ font,
+ num_players=num_players,
+ score=score)
+ state.update(lives=num_players.get_lives(),
+ score=score.get_score(),
+ time =time_clock.get_ticks())
+ high_score.set(state.high_score)
+
+ for evt in pygame.event.get():
+
+ # print 'MAINLOOP TYPE:',evt.key
+
+ if evt.type == pygame.QUIT:
+ raise StopGame
+ elif evt.type == pygame.KEYDOWN:
+ if evt.key == pygame.K_ESCAPE:
+ raise StopGame
+ # elif evt.key == pygame.K_SPACE:
+ elif not evt.key in move_keys:
+ x = player.grid_position[0]
+ y = player.grid_position[1]
+ ctile = grid.draw_tile(x,y,screen)
+
+ #Pecking animation - 1st erase player,
+ #then set pecking image, then only update
+ #these dirtyrects, then delay
+ animate_dirtyrects = [player.erase(screen,grid.get_tile(x,y).get_background())]
+ player.set_image(Img.peck_right)
+ animate_dirtyrects.append(player.draw(screen))
+ pygame.display.update(animate_dirtyrects)
+ pygame.time.wait(200)
+
+ #try an answer
+ if (grid.get_tile(x,y).get_answer() == qa.get_correct_answer()):
+ peck_good.play()
+ score.add(1)
+
+ time_clock.set(GAME_TIME)
+ time_clock.update = 1
+ time = 0
+
+ if actor_facing == 1:
+ player.set_image(Img.happy_right)
+ else:
+ player.set_image(Img.happy_left)
+ #pygame.time.wait(850)
+ qa,num_players,score,time_clock = reset_board(screen,gridsize,
+ font,
+ num_players=num_players,
+ score=score,
+ time_clock=time_clock)
+ state.update(lives=num_players.get_lives(),
+ score=score.get_score(),
+ time =time_clock.get_ticks())
+ high_score.set(state.high_score)
+
+
+ else:
+ peck_bad.play()
+ num_players.kill()
+ time_clock.set(GAME_TIME)
+ time = 0
+
+ #probably right here
+ state.update(lives=num_players.get_lives(),
+ time =time_clock.get_ticks())
+ high_score.set(state.high_score)
+
+
+
+ if actor_facing == 1:
+ player.set_image(Img.stunned_right)
+ player.set_rect_position(Img.stunned_right)
+ else:
+ player.set_image(Img.stunned_left)
+ player.set_rect_position(Img.stunned_left)
+
+
+ elif evt.key == pygame.K_LEFT or evt.key == pygame.K_KP7:
+ bock.play()
+ x_direction = -1
+ elif evt.key == pygame.K_RIGHT or evt.key == pygame.K_KP1:
+ bock.play()
+ x_direction = 1
+ elif evt.key == pygame.K_DOWN or evt.key == pygame.K_KP3:
+ bock.play()
+ y_direction = 1
+ elif evt.key == pygame.K_UP or evt.key == pygame.K_KP9:
+ bock.play()
+ y_direction = -1
+
+ if num_players.get_lives() <= 0:
+ #reset the question
+ # qa,num_players = reset_board(screen,gridsize,font)
+ pygame.mixer.music.fadeout(2000)
+ kuku_lose.play()
+ qa,num_players,score,time_clock = game_over(screen,gridsize,font)
+ state.update(lives=num_players.get_lives(),
+ score=score.get_score(),
+ time =time_clock.get_ticks())
+ high_score.set(state.high_score)
+
+
+
+ if state.won:
+ pygame.mixer.music.fadeout(2000)
+ kuku_win.play()
+ pygame.mixer.music
+ qa,num_players,score,time_clock = game_win(screen,gridsize,font,state)
+ state.update(lives=num_players.get_lives(),
+ score=score.get_score(),
+ time =time_clock.get_ticks())
+ state.won = 0
+ high_score.set(state.high_score)
+
+
+ # determine which direction the actor is facing
+ if x_direction in [-1,1]:
+ actor_facing = x_direction
+
+ for actor in [player]:
+ grid_pos = actor.grid_position
+ # pygame.display.update(actor.erase(screen,
+ # grid.get_tile(grid_pos[0],grid_pos[1]).get_background()))
+ # pygame.display.update(grid.get_tile(grid_pos[0],grid_pos[1]).draw(screen))
+ dirtyrects.extend(grid.get_tile(grid_pos[0],grid_pos[1]).draw(screen))
+ dirtyrects.append(actor.erase(screen,
+ grid.get_tile(grid_pos[0],grid_pos[1]).get_background()))
+
+ actor.update()
+
+ # old_position = player.grid_position
+ player.move(x_direction,y_direction)
+ x_direction = 0
+ y_direction = 0
+
+ #questions and answers
+ dirtyrects.extend(qa.display_question(screen,font))
+ qa.set_answers(screen,grid,font)
+ dirtyrects.extend(grid.draw(screen))
+
+ for actor in [player]:
+ dirtyrects.append(actor.draw(screen))
+
+ #lives
+ dirtyrects.extend(num_players.draw_lives(screen))
+
+ #score
+ dirtyrects.extend(score.draw(screen))
+
+ #high_score
+ dirtyrects.extend(high_score.draw(screen))
+
+ #time_clock
+ dirtyrects.extend(time_clock.draw(screen))
+
+ #do the update
+ pygame.display.update(dirtyrects)
+ dirtyrects = []
+
+ except StopGame:
+ state.score = 0
+ state.lives = PLAYER_LIVES
+ state.time = GAME_TIME
+ state.save()
+
+
+if __name__ == '__main__':
+ main() \ No newline at end of file
diff --git a/kuku.svg b/kuku.svg
new file mode 100644
index 0000000..00a4ffe
--- /dev/null
+++ b/kuku.svg
@@ -0,0 +1,119 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://web.resource.org/cc/"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ width="100"
+ height="100"
+ id="svg2"
+ sodipodi:version="0.32"
+ inkscape:version="0.44.1"
+ version="1.0"
+ sodipodi:docbase="/Users/juliuslucks/olpc"
+ sodipodi:docname="kuku.svg">
+ <defs
+ id="defs4" />
+ <sodipodi:namedview
+ id="base"
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1.0"
+ gridtolerance="10000"
+ guidetolerance="10"
+ objecttolerance="10"
+ inkscape:pageopacity="0.0"
+ inkscape:pageshadow="2"
+ inkscape:zoom="2.8"
+ inkscape:cx="55.331126"
+ inkscape:cy="52.590007"
+ inkscape:document-units="px"
+ inkscape:current-layer="layer1"
+ width="100px"
+ height="100px"
+ units="px"
+ inkscape:window-width="838"
+ inkscape:window-height="575"
+ inkscape:window-x="0"
+ inkscape:window-y="22"
+ showguides="true"
+ inkscape:guide-bbox="true" />
+ <metadata
+ id="metadata7">
+ <rdf:RDF>
+ <cc:Work
+ rdf:about="">
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+ </cc:Work>
+ </rdf:RDF>
+ </metadata>
+ <g
+ inkscape:label="Layer 1"
+ inkscape:groupmode="layer"
+ id="layer1">
+ <g
+ id="g1914"
+ transform="translate(-5.357143,-5.714286)">
+ <path
+ d="M 74.999998 53.57143 A 23.214285 11.785714 0 1 1 28.571428,53.57143 A 23.214285 11.785714 0 1 1 74.999998 53.57143 z"
+ sodipodi:ry="11.785714"
+ sodipodi:rx="23.214285"
+ sodipodi:cy="53.57143"
+ sodipodi:cx="51.785713"
+ id="path1872"
+ style="opacity:1;fill:black;fill-opacity:1;stroke:black;stroke-width:3;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+ sodipodi:type="arc" />
+ <g
+ id="g1878">
+ <path
+ style="fill:none;fill-opacity:0.75;fill-rule:evenodd;stroke:black;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ d="M 42.142857,63.928571 L 33.571429,80.357143 L 41.071429,78.214286"
+ id="path1874" />
+ <path
+ style="fill:none;fill-opacity:0.75;fill-rule:evenodd;stroke:black;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ d="M 38.928571,84.642857 L 33.571429,81.071429 L 33.928571,87.5"
+ id="path1876" />
+ </g>
+ <g
+ transform="matrix(0.642788,-0.766045,0.766045,0.642788,-30.08502,57.38861)"
+ id="g1882">
+ <path
+ style="fill:none;fill-opacity:0.75;fill-rule:evenodd;stroke:black;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ d="M 42.142857,63.928571 L 33.571429,80.357143 L 41.071429,78.214286"
+ id="path1884" />
+ <path
+ style="fill:none;fill-opacity:0.75;fill-rule:evenodd;stroke:black;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ d="M 38.928571,84.642857 L 33.571429,81.071429 L 33.928571,87.5"
+ id="path1886" />
+ </g>
+ <path
+ id="path1906"
+ d="M 64.285714,42.5 L 73.571429,25.357143"
+ style="fill:none;fill-opacity:0.75;fill-rule:evenodd;stroke:black;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
+ <path
+ d="M 79.642856 24.464285 A 4.1071429 3.75 0 1 1 71.42857,24.464285 A 4.1071429 3.75 0 1 1 79.642856 24.464285 z"
+ sodipodi:ry="3.75"
+ sodipodi:rx="4.1071429"
+ sodipodi:cy="24.464285"
+ sodipodi:cx="75.535713"
+ id="path1908"
+ style="opacity:1;fill:black;fill-opacity:1;stroke:black;stroke-width:3;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+ sodipodi:type="arc" />
+ <path
+ id="path1910"
+ d="M 80.685935,26.385133 L 84.0952,30.678281 L 78.918168,28.657976"
+ style="fill:none;fill-opacity:0.75;fill-rule:evenodd;stroke:black;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
+ <path
+ sodipodi:nodetypes="ccccc"
+ id="path1912"
+ d="M 47.729708,42.168767 L 43.31029,33.203663 L 33.587572,27.395286 L 41.163717,37.62308 L 47.729708,42.168767 z "
+ style="fill:none;fill-opacity:0.75;fill-rule:evenodd;stroke:black;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
+ </g>
+ </g>
+</svg>
diff --git a/kuku_config.py b/kuku_config.py
new file mode 100644
index 0000000..8871c65
--- /dev/null
+++ b/kuku_config.py
@@ -0,0 +1,54 @@
+"""
+kuku_config
+
+Configuration keys for Kuku Anakula
+(Need to i81n this file)
+
+GRID_SIZE : Size of the default playing grid
+FRAMES_PER_SEC : Playing speed (?)
+PLAYER_SPEED : How fast the player moves (?)
+GAME_TIME : Number of seconds allowed for each question
+PLAYER_LIVES : Number of Lives allowed for each game
+QUESTION_FILES : List of question files that make up the game curriculum.
+ Each of these files is read and used sequentially throughout the game.
+"""
+
+
+GRID_SIZE = 3
+FRAMES_PER_SEC = 15
+PLAYER_SPEED = 12
+GAME_TIME = 20
+PLAYER_LIVES = 3
+QUESTION_FILES = [
+ #Number questions with images displaying numbers of fruits
+ "question_files/numbers/numbers_1-10.dat",
+
+ #Addition
+ "question_files/arithmetic/addition_p0_0-10.dat",
+
+ #Subtraction
+ "question_files/arithmetic/subtraction_p0_0-10.dat",
+
+ #Addition and Subtraction
+ "question_files/arithmetic/addsub_p0_0-10.dat",
+
+ #Multiplication
+ "question_files/arithmetic/multiplication_p0_0-10.dat",
+
+ #Division
+ "question_files/arithmetic/division_p0_0-10.dat",
+
+ #Multiplication and Division
+ "question_files/arithmetic/multdiv_p0_0-10.dat",
+
+ #Multiples (Divisibly by x)
+ "question_files/arithmetic/multiples_p0_-10-10.dat",
+
+ #All arithmetic
+ "question_files/arithmetic/allops_p0_0-10.dat",
+
+ #All arithmetic with multiples
+ "question_files/arithmetic/random_p0_0-10.dat"
+ ]
+# QUESTION_FILES = ["question_files/arithmetic/my_questions.dat"]
+
diff --git a/kuku_utils.py b/kuku_utils.py
new file mode 100644
index 0000000..ec46ee4
--- /dev/null
+++ b/kuku_utils.py
@@ -0,0 +1,27 @@
+import os
+import pygame
+from pygame.locals import *
+
+try:
+ from sugar.activity.activity import get_bundle_path
+except ImportError:
+ def get_bundle_path():
+ return ''
+
+def data_path(file_name):
+ return os.path.join(get_bundle_path(),'data',file_name)
+
+
+def load_image(file, transparent):
+ "loads an image, prepares it for play"
+ file = data_path(file)
+ try:
+ surface = pygame.image.load(file)
+ except pygame.error:
+ raise SystemExit, 'Could not load image "%s" %s'%(file, pygame.get_error())
+ if transparent:
+ corner = surface.get_at((0, 0))
+ surface.set_colorkey(corner, RLEACCEL)
+ return surface.convert()
+
+
diff --git a/locale/en/LC_MESSAGES/kuku.mo b/locale/en/LC_MESSAGES/kuku.mo
new file mode 100644
index 0000000..6ca41c8
--- /dev/null
+++ b/locale/en/LC_MESSAGES/kuku.mo
Binary files differ
diff --git a/locale/en/LC_MESSAGES/kuku.po b/locale/en/LC_MESSAGES/kuku.po
new file mode 100644
index 0000000..c029d8c
--- /dev/null
+++ b/locale/en/LC_MESSAGES/kuku.po
@@ -0,0 +1,21 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR ORGANIZATION
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"POT-Creation-Date: 2007-06-19 17:15+EDT\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=utf-8\n"
+"Content-Transfer-Encoding: utf-8\n"
+"Generated-By: pygettext.py 1.5\n"
+
+
+#: kuku.py:500
+msgid "Begin!"
+msgstr "Begin!"
+
diff --git a/locale/kuku.pot b/locale/kuku.pot
new file mode 100644
index 0000000..f937e30
--- /dev/null
+++ b/locale/kuku.pot
@@ -0,0 +1,21 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR ORGANIZATION
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"POT-Creation-Date: 2007-06-19 17:15+EDT\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=utf-8\n"
+"Content-Transfer-Encoding: utf-8\n"
+"Generated-By: pygettext.py 1.5\n"
+
+
+#: kuku.py:500
+msgid "Begin!"
+msgstr ""
+
diff --git a/locale/sw/LC_MESSAGES/kuku.mo b/locale/sw/LC_MESSAGES/kuku.mo
new file mode 100644
index 0000000..f41851f
--- /dev/null
+++ b/locale/sw/LC_MESSAGES/kuku.mo
Binary files differ
diff --git a/locale/sw/LC_MESSAGES/kuku.po b/locale/sw/LC_MESSAGES/kuku.po
new file mode 100644
index 0000000..8d84881
--- /dev/null
+++ b/locale/sw/LC_MESSAGES/kuku.po
@@ -0,0 +1,21 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR ORGANIZATION
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"POT-Creation-Date: 2007-06-19 17:15+EDT\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=utf-8\n"
+"Content-Transfer-Encoding: utf-8\n"
+"Generated-By: pygettext.py 1.5\n"
+
+
+#: kuku.py:500
+msgid "Begin!"
+msgstr "Kuanza!"
+
diff --git a/olpcgames/__init__.py b/olpcgames/__init__.py
new file mode 100644
index 0000000..e65c295
--- /dev/null
+++ b/olpcgames/__init__.py
@@ -0,0 +1,8 @@
+try:
+ from canvas import *
+ from activity import *
+ import camera
+except ImportError:
+ pass
+
+widget = None
diff --git a/olpcgames/activity.py b/olpcgames/activity.py
new file mode 100644
index 0000000..91e92a7
--- /dev/null
+++ b/olpcgames/activity.py
@@ -0,0 +1,35 @@
+import pygtk
+pygtk.require('2.0')
+import gtk
+import hippo
+
+from sugar.activity import activity
+from sugar.graphics import units
+from olpcgames.canvas import PyGameCanvas
+
+__all__ = ['PyGameActivity']
+
+class PyGameActivity(activity.Activity):
+
+ game_name = None
+ game_title = 'PyGame Game'
+ game_handler = None
+ game_size = (units.grid_to_pixels(16),
+ units.grid_to_pixels(11))
+
+ def __init__(self, handle):
+ super(PyGameActivity, self).__init__(handle)
+
+ self.set_title(self.game_title)
+
+ toolbar = activity.ActivityToolbar(self)
+ toolbar.show()
+ self.set_toolbox(toolbar)
+ toolbar.title.unset_flags(gtk.CAN_FOCUS)
+
+ assert self.game_handler or self.game_name, 'You must specify a handler module (%r)'%(self.game_handler or self.game_name)
+ self._pgc = PyGameCanvas(*self.game_size)
+ self.set_canvas(self._pgc)
+ self._pgc.grab_focus()
+ self._pgc.connect_game(self.game_handler or self.game_name)
+ gtk.gdk.threads_init()
diff --git a/olpcgames/camera.py b/olpcgames/camera.py
new file mode 100644
index 0000000..96262df
--- /dev/null
+++ b/olpcgames/camera.py
@@ -0,0 +1,76 @@
+import threading
+import time
+import os
+
+import pygame
+import gst
+
+import video
+
+class CameraSprite(object):
+ """Create gstreamer surface for the camera."""
+
+ def __init__(self, x, y):
+ import olpcgames
+ if olpcgames.widget:
+ self._init_video(olpcgames.widget, x, y)
+
+ def _init_video(self, widget, x, y):
+ self._vid = video.VideoWidget()
+ widget._fixed.put(self._vid, x, y)
+ self._vid.show()
+
+ self.player = video.Player(self._vid)
+ self.player.play()
+
+class Camera(object):
+ """A class representing the camera."""
+
+ def __init__(self):
+ self.pipe = gst.parse_launch('v4l2src ! ffmpegcolorspace ! pngenc ! filesink location="/tmp/snap.png"')
+ self.bus = self.pipe.get_bus()
+
+ def snap(self):
+ print 'Starting snap'
+ self.pipe.set_state(gst.STATE_PLAYING)
+ #while True:
+ # evt = self.bus.poll(gst.MESSAGE_ANY, -1)
+ # print 'Event %s %r'%(evt.type, evt)
+ # os.system('du -hcs /tmp/snap.png')
+ tmp = False
+ while True:
+ evt = self.bus.poll(gst.MESSAGE_STATE_CHANGED, -1)
+ old, new, pending = evt.parse_state_changed()
+ if pending == gst.STATE_VOID_PENDING:
+ if tmp:
+ break
+ else:
+ tmp = True
+ print 'Ending snap'
+
+ return pygame.image.load('/tmp/snap.png')
+
+def snap():
+ """Dump a snapshot from the camera to a pygame surface."""
+
+ pipe = gst.parse_launch('v4l2src ! ffmpegcolorspace ! pngenc ! filesink location="/tmp/snap.png"')
+ bus = pipe.get_bus()
+ cond = threading.Condition()
+ cond.acquire()
+
+ def _msg(bus, message):
+ t = message.type
+ if t == gst.MESSAGE_EOS:
+ cond.acquire()
+ cond.notify()
+ cond.release()
+ bus.connect('message', _msg)
+
+ def _snap():
+ pipe.set_state(gst.STATE_PLAYING)
+
+ t = threading.Thread(target=_snap)
+ t.start()
+ cond.wait()
+
+ return pygame.image.load('/tmp/snap.png') \ No newline at end of file
diff --git a/olpcgames/canvas.py b/olpcgames/canvas.py
new file mode 100644
index 0000000..b90238d
--- /dev/null
+++ b/olpcgames/canvas.py
@@ -0,0 +1,283 @@
+import os
+import sys
+import threading
+from pprint import pprint
+
+import pygtk
+pygtk.require('2.0')
+import gtk
+import gobject
+import pygame
+
+import video
+
+__all__ = ['PyGameCanvas']
+
+class MockEvent(object):
+ """Used to inject key-repeat events."""
+
+ def __init__(self, keyval):
+ self.keyval = keyval
+
+class PyGameCanvas(gtk.EventBox):
+
+ key_trans = {
+ 'Alt_L': pygame.K_LALT,
+ 'Alt_R': pygame.K_RALT,
+ 'Control_L': pygame.K_LCTRL,
+ 'Control_R': pygame.K_RCTRL,
+ 'Shift_L': pygame.K_LSHIFT,
+ 'Shift_R': pygame.K_RSHIFT,
+ 'Super_L': pygame.K_LSUPER,
+ 'Super_R': pygame.K_RSUPER,
+ 'KP_Page_Up' : pygame.K_KP9,
+ 'KP_Page_Down' : pygame.K_KP3,
+ 'KP_End' : pygame.K_KP1,
+ 'KP_Home' : pygame.K_KP7,
+ 'KP_Up': pygame.K_KP8,
+ 'KP_Down': pygame.K_KP2,
+ 'KP_Left': pygame.K_KP4,
+ 'KP_Right': pygame.K_KP6
+ }
+
+ mod_map = {
+ pygame.K_LALT: pygame.KMOD_LALT,
+ pygame.K_RALT: pygame.KMOD_RALT,
+ pygame.K_LCTRL: pygame.KMOD_LCTRL,
+ pygame.K_RCTRL: pygame.KMOD_RCTRL,
+ pygame.K_LSHIFT: pygame.KMOD_LSHIFT,
+ pygame.K_RSHIFT: pygame.KMOD_RSHIFT,
+ }
+
+ def __init__(self, width, height):
+
+ # Build the main widget
+ super(PyGameCanvas,self).__init__()
+
+ # Build the sub-widgets
+ self._fixed = gtk.Fixed()
+ self._align = gtk.Alignment(0.5, 0.5)
+ self._inner_evb = gtk.EventBox()
+ self._socket = gtk.Socket()
+
+ # Set our X event masks
+ self.set_events(
+ gtk.gdk.KEY_PRESS_MASK | \
+ gtk.gdk.KEY_RELEASE_MASK \
+ )
+
+ self._inner_evb.set_events(
+ gtk.gdk.POINTER_MOTION_MASK | \
+ gtk.gdk.POINTER_MOTION_HINT_MASK | \
+ gtk.gdk.BUTTON_MOTION_MASK | \
+ gtk.gdk.BUTTON_PRESS_MASK | \
+ gtk.gdk.BUTTON_RELEASE_MASK
+ )
+
+ # Add internal widgets
+ self._inner_evb.set_size_request(width, height)
+ self._inner_evb.add(self._socket)
+ self._socket.show()
+
+ self._align.add(self._inner_evb)
+ self._inner_evb.show()
+
+ self._fixed.put(self._align, 0, 0)
+ self._align.show()
+
+ self.add(self._fixed)
+ self._fixed.show()
+
+ # Callback functions to link the event systems
+ self.connect('unrealize', self._quit)
+ self.connect('key_press_event', self._keydown)
+ self.connect('key_release_event', self._keyup)
+ self._inner_evb.connect('button_press_event', self._mousedown)
+ self._inner_evb.connect('button_release_event', self._mouseup)
+ self._inner_evb.connect('motion-notify-event', self._mousemove)
+
+ # <Cue Thus Spract Zarathustra>
+ self.show()
+ self.set_flags(gtk.CAN_FOCUS)
+
+ # Internal data
+ self.__stopped = False
+ self.__keystate = [0] * 323
+ self.__mouse_pos = (0,0)
+ self.__repeat = (None, None)
+ self.__held = set()
+ self.__held_time_left = {}
+ self.__held_last_time = {}
+ self.__tick_id = None
+
+ def connect_game(self, app):
+ # Setup the embedding
+ os.environ['SDL_WINDOWID'] = str(self._socket.get_id())
+ #print 'Socket ID=%s'%os.environ['SDL_WINDOWID']
+ pygame.init()
+
+ # Hijack some function
+ pygame.key.get_pressed = self._get_pressed
+ pygame.key.set_repeat = self._set_repeat
+ pygame.mouse.get_pos = self._get_mouse_pos
+
+ # Load the modules
+ # NOTE: This is delayed because pygame.init() must come after the embedding is up
+ if ':' not in app:
+ app += ':main'
+ mod_name, fn_name = app.split(':')
+ mod = __import__(mod_name, globals(), locals(), [])
+ fn = getattr(mod, fn_name)
+
+ # Start Pygame
+ self.__thread = threading.Thread(target=self._start, args=[fn])
+ self.__thread.start()
+
+ def _start(self, fn):
+ import olpcgames
+ olpcgames.widget = self
+
+ fn()
+ if not self.__stopped:
+ gtk.main_quit()
+
+ def _quit(self, data=None):
+ print 'Quitting pygame'
+ self.__stopped = True
+ pygame.event.post(pygame.event.Event(pygame.QUIT))
+ self.__thread.join()
+ print 'Gone'
+
+ def _keydown(self, widget, event):
+ key = event.keyval
+ if key in self.__held:
+ return True
+ else:
+ if self.__repeat[0] is not None:
+ self.__held_last_time[key] = pygame.time.get_ticks()
+ self.__held_time_left[key] = self.__repeat[0]
+ self.__held.add(key)
+
+ return self._keyevent(widget, event, pygame.KEYDOWN)
+
+ def _keyup(self, widget, event):
+ key = event.keyval
+ if self.__repeat[0] is not None:
+ if key in self.__held:
+ # This is possibly false if set_repeat() is called with a key held
+ del self.__held_time_left[key]
+ del self.__held_last_time[key]
+ self.__held.discard(key)
+
+ return self._keyevent(widget, event, pygame.KEYUP)
+
+ def _keymods(self):
+ """Extract the keymods as they stand currently."""
+ mod = 0
+ for key_val, mod_val in self.mod_map.iteritems():
+ mod |= self.__keystate[key_val] and mod_val
+ return mod
+
+
+ def _keyevent(self, widget, event, type):
+ key = gtk.gdk.keyval_name(event.keyval)
+ if key is None:
+ # No idea what this key is.
+ return False
+
+ keycode = None
+ if key in self.key_trans:
+ keycode = self.key_trans[key]
+ elif hasattr(pygame, 'K_'+key.upper()):
+ keycode = getattr(pygame, 'K_'+key.upper())
+ elif hasattr(pygame, 'K_'+key.lower()):
+ keycode = getattr(pygame, 'K_'+key.lower())
+ else:
+ print 'Key %s unrecognized'%key
+
+ if keycode is not None:
+ if type == pygame.KEYDOWN:
+ mod = self._keymods()
+ self.__keystate[keycode] = type == pygame.KEYDOWN
+ if type == pygame.KEYUP:
+ mod = self._keymods()
+ ukey = gtk.gdk.keyval_to_unicode(event.keyval)
+ evt = pygame.event.Event(type, key=keycode, unicode=ukey, mod=mod)
+ self._post(evt)
+ return True
+
+ def _get_pressed(self):
+ return self.__keystate
+
+ def _mousedown(self, widget, event):
+ return self._mouseevent(widget, event, pygame.MOUSEBUTTONDOWN)
+
+ def _mouseup(self, widget, event):
+ return self._mouseevent(widget, event, pygame.MOUSEBUTTONUP)
+
+ def _mouseevent(self, widget, event, type):
+ evt = pygame.event.Event(type,
+ button=event.button,
+ pos=(event.x, event.y))
+ self._post(evt)
+ return True
+
+ def _mousemove(self, widget, event):
+ # From http://www.learningpython.com/2006/07/25/writing-a-custom-widget-using-pygtk/
+ # if this is a hint, then let's get all the necessary
+ # information, if not it's all we need.
+ if event.is_hint:
+ x, y, state = event.window.get_pointer()
+ else:
+ x = event.x
+ y = event.y
+ state = event.state
+
+ rel = (x - self.__mouse_pos[0],
+ y - self.__mouse_pos[1])
+ self.__mouse_pos = (x, y)
+
+ buttons = (
+ state & gtk.gdk.BUTTON1_MASK and 1 or 0,
+ state & gtk.gdk.BUTTON2_MASK and 1 or 0,
+ state & gtk.gdk.BUTTON3_MASK and 1 or 0,
+ )
+
+ evt = pygame.event.Event(pygame.MOUSEMOTION,
+ pos=self.__mouse_pos,
+ rel=rel,
+ buttons=buttons)
+ self._post(evt)
+ return True
+
+ def _tick(self):
+ cur_time = pygame.time.get_ticks()
+ for key in self.__held:
+ delta = cur_time - self.__held_last_time[key]
+ self.__held_last_time[key] = cur_time
+
+ self.__held_time_left[key] -= delta
+ if self.__held_time_left[key] <= 0:
+ self.__held_time_left[key] = self.__repeat[1]
+ self._keyevent(None, MockEvent(key), pygame.KEYDOWN)
+
+ return True
+
+ def _set_repeat(self, delay=None, interval=None):
+ if delay is not None and self.__repeat[0] is None:
+ self.__tick_id = gobject.timeout_add(10, self._tick)
+ elif delay is None and self.__repeat[0] is not None:
+ gobject.source_remove(self.__tick_id)
+ self.__repeat = (delay, interval)
+
+ def _get_mouse_pos(self):
+ return self._inner_evb.window.get_pointer()[0:2]
+
+ def _post(self, evt):
+ try:
+ pygame.event.post(evt)
+ except pygame.error, e:
+ if str(e) == 'Event queue full':
+ pass
+ else:
+ raise e
diff --git a/olpcgames/util.py b/olpcgames/util.py
new file mode 100644
index 0000000..528fb35
--- /dev/null
+++ b/olpcgames/util.py
@@ -0,0 +1,11 @@
+import os.path
+
+try:
+ from sugar.activity.activity import get_bundle_path
+except ImportError:
+ def get_bundle_path():
+ return ''
+
+def data_path(file_name):
+ """Return the full path to a file in the data directory."""
+ return os.path.join(get_bundle_path(), 'data', file_name) \ No newline at end of file
diff --git a/olpcgames/video.py b/olpcgames/video.py
new file mode 100644
index 0000000..a0218b4
--- /dev/null
+++ b/olpcgames/video.py
@@ -0,0 +1,69 @@
+import os
+import signal
+
+import pygtk
+pygtk.require('2.0')
+import gtk
+import logging
+import gst
+
+class VideoWidget(gtk.DrawingArea):
+ """A custom widget to render GStreamer video."""
+
+ def __init__(self, x=160, y=120):
+ super(VideoWidget, self).__init__()
+ self._imagesink = None
+ self.unset_flags(gtk.DOUBLE_BUFFERED)
+ self.set_size_request(x,y)
+
+ def do_expose_event(self, event):
+ if self._imagesink:
+ self._imagesink.expose()
+ return False
+ else:
+ return True
+
+ def set_sink(self, sink):
+ assert self.window.xid
+ self._imagesink = sink
+ self._imagesink.set_xwindow_id(self.window.xid)
+
+#pipe_desc = 'v4l2src ! video/x-raw-yuv,width=160,height=120 ! ffmpegcolorspace ! xvimagesink'
+pipe_desc = 'v4l2src ! ffmpegcolorspace ! video/x-raw-yuv ! xvimagesink'
+class Player(object):
+ def __init__(self, videowidget):
+ self._playing = False
+ self._videowidget = videowidget
+
+ self._pipeline = gst.parse_launch(pipe_desc)
+
+ bus = self._pipeline.get_bus()
+ bus.enable_sync_message_emission()
+ bus.add_signal_watch()
+ bus.connect('sync-message::element', self.on_sync_message)
+ bus.connect('message', self.on_message)
+
+ def play(self):
+ if self._playing == False:
+ self._pipeline.set_state(gst.STATE_PLAYING)
+ self._playing = True
+
+ def pause(self):
+ if self._playing == True:
+ self._pipeline.set_state(gst.STATE_PAUSED)
+ self._playing = False
+
+ def on_sync_message(self, bus, message):
+ if message.structure is None:
+ return
+ if message.structure.get_name() == 'prepare-xwindow-id':
+ self._videowidget.set_sink(message.src)
+
+ def on_message(self, bus, message):
+ t = message.type
+ if t == gst.MESSAGE_ERROR:
+ err, debug = message.parse_error()
+ logging.debug("Video error: (%s) %s" % (err, debug))
+ self._playing = False
+ gtk.main_quit()
+ \ No newline at end of file
diff --git a/question.py b/question.py
new file mode 100644
index 0000000..18e90c5
--- /dev/null
+++ b/question.py
@@ -0,0 +1,648 @@
+#!/usr/bin/python
+
+import random
+import math
+import re
+
+EQ_TYPE = 0
+MULTIPLES_TYPE = 1
+ADD_TYPE = 2
+SUB_TYPE = 3
+ADDSUB_TYPE = 4
+MULT_TYPE = 5
+DIV_TYPE = 6
+MULTDIV_TYPE = 7
+N_TYPE = 8
+
+#**********************************
+#**********************************
+class ParseError (Exception) :
+ pass
+
+class OptionError (Exception):
+ pass
+
+class FileError (Exception):
+ pass
+
+#**********************************
+#**********************************
+class QuestionMaker (object) :
+ def __init__ (self,newseed) :
+ self.nop = 4
+ self.addsub = 2
+ self.operators = ("+","-","x","/")
+ random.seed(newseed)
+ #********
+
+ def Gen_arg (self,num_range, pcut, curr_level, max_level, opindex, oplist) :
+ #Generates equation terms
+ #SHOULD only be called by Make_eq_question
+
+ #TAKES the range of allowed numbers
+ #TAKES the probability of generating a nested statement
+ #TAKES the current nesting level
+ #TAKES the maximum nesting level
+ #TAKES an integer giving the index of the last operator used in the question
+ #TAKES list of available operators
+
+ #RETURNS a tuple with [0] = a string containing the term and [1] = the integer value of the term
+
+ rval = random.uniform(0,1)
+ if ( (rval <= pcut) and (opindex >= self.addsub) and (curr_level <= max_level) ) :
+ if (curr_level == max_level) :
+ new_op_list = ["+","-","+","-"] #redirect the reference
+ else :
+ new_op_list = oplist
+ #endif
+
+ (arg,ans) = self.Make_eq_question(num_range, pcut, (curr_level + 1),max_level,new_op_list)
+ arg = "(" + arg + ")"
+ else :
+ arg = round(random.uniform(num_range[0],num_range[1]))
+ ans = int(arg)
+ arg = str(ans)
+ #endif
+ return(arg,ans)
+ #********
+
+ def Make_eq_question (self,num_range, pcut, curr_level, max_level, op_list):
+ #Generates a question string, along with an integer answer
+
+ #TAKES the range numbers allowed in the question
+ #if the minimum of the range is >0 the answer will also be > 0
+ #TAKES the probability of generating a nested term
+ #TAKES an integer >= 1 which gives the current level of nesting
+ #TAKES an integer >= 0 which gives the maximum nesting level
+ #TAKES an list of characters representing the allow operators
+
+ #RETURNS a tuple with a question string and an integer answer
+
+ nflag = True
+ while ( nflag == True ) :
+ qstring = ""
+ opindex = int(math.floor(random.uniform(0,self.nop)))
+ op = op_list[opindex]
+
+ #ensure an integer answer whenever a div op is selected
+ if (op == "/") :
+ ans2 = 0
+ while (ans2 == 0) :
+ (arg2,ans2) = self.Gen_arg (num_range, pcut, curr_level, max_level, opindex,op_list)
+ #end while
+ ans1 = int(round(random.uniform(num_range[0],num_range[1]))*ans2)
+ arg1 = str(ans1)
+ else :
+ (arg1,ans1) = self.Gen_arg (num_range, pcut, curr_level, max_level, opindex,op_list)
+ (arg2,ans2) = self.Gen_arg (num_range, pcut, curr_level, max_level, opindex,op_list)
+ #endif
+
+ qstring = arg1 + " " + op + " " + arg2
+
+ if (op == "+") :
+ ans = ans1 + ans2
+ elif (op == "-") :
+ ans = ans1 - ans2
+ elif (op == "x") :
+ ans = ans1 * ans2
+ else :
+ ans = ans1 / ans2
+ #endif
+
+ if ( (ans > 0) or (num_range[0] < 0) ):
+ nflag = False
+ #end if
+ #end while
+
+ return (qstring,ans)
+ #end Make_eq_question
+ #********
+
+ def Make_multiples_question (self,num_range,max_ans) :
+ #Makes a 'find the multiples' type question
+
+ #TAKES a upper bound on the multiplier (ie: find the multiples of something in |[2,num_range]|)
+ #TAKES a an integer giving the maximum number of answers (# of answers in [1,max_ans])
+
+ #RETURNS a string with the question in the format "%n" where n is the base multiplier,
+ #and an list of answers delimited by sim signs
+
+ ans_string = ""
+ n_ans = int(round(random.uniform(1,max_ans)))
+ base_val = int(round(random.uniform(2,num_range[1])))
+
+ ans_list=[]
+ ans = base_val*int(round(random.uniform(0,num_range[1])))
+ ans_list.append(ans)
+ for i in range(2,n_ans) :
+ ans = base_val*int(round(random.uniform(0,num_range[1])))
+ ans_list.append(ans)
+ #end for
+ if (num_range[0] < 0):
+ base_val = base_val*((-1) **int(math.floor(random.uniform(0,10))) )
+ for i in range(0,len(ans_list)) :
+ ans_list[i] = ans_list[i] * ((-1) **int(math.floor(random.uniform(0,10))) )
+ #end if
+
+ ans_string = str(ans_list[0])
+ for i in range(1,len(ans_list)-1):
+ ans_string += "~" + str(ans_list[i])
+ #end for
+
+ qstring = "%" + str(base_val)
+
+ return(qstring,ans_string)
+ #end Make_mult_question
+ #**********
+
+ def Make_random_question(self,bias,num_range,parameters) :
+ #Makes a question of a random type
+
+ #TAKES the cut off for deciding between a standard question and a multiples type question
+ #TAKES the allowed range of the question arguments
+ #TAKES a list of parameters [0] = max answers in a 'multiples' type question
+ #[1] = pcut for a standard equation question, [2] = max_level for a standard equation question
+
+ rval = random.uniform(0,1)
+ eq_params = [parameters[1],parameters[2]]
+ mult_params = [parameters[0]]
+ if (rval > bias) :
+ q = self.Make_question(EQ_TYPE,num_range,eq_params)
+ else :
+ q = self.Make_question(MULTIPLES_TYPE,num_range,mult_params)
+ #endif
+
+ return(q)
+
+
+ def Make_question (self, type_flag, num_range, parameters) :
+ #Makes a question of a specific type
+
+ #TAKES an integer that determines the question type
+ #TAKES the allowable range for numbers in the question
+ #TAKES an array of question type-specific paramters
+ # if type = standard equation,
+ # parameters[0] = a float in [0,1] that gives the probability of generating a nested statement
+ # parameters[1] = maximum nesting level
+ # if type_flag = find the multiples question
+ # parameters[0] = maximum number of multiples in the answer set
+
+ #RETURNS a question object
+
+ qstring = ""
+ #no switch-like statement unfortunately
+ if (type_flag == EQ_TYPE) : #a standard equation type question
+ if (len(parameters) != 2) :
+ raise(OptionError)
+ #endif
+ pcut = parameters[0]
+ max_level = parameters[1]
+ currlevel = 1
+ (qstring,a) = self.Make_eq_question(num_range,pcut,currlevel,max_level,self.operators)
+ a = str(int(a))
+ elif (type_flag == MULTIPLES_TYPE) : #a 'find the multiples' type question
+ if (len(parameters) != 1) :
+ raise(OptionError)
+ #endif
+ max_ans = parameters[0]
+ (qstring,a) = self.Make_multiples_question(num_range,max_ans)
+ elif (type_flag == ADD_TYPE) :
+ if (len(parameters) != 2) :
+ raise(OptionError)
+ #endif
+ pcut = 0
+ max_level = 0
+ currlevel = 1
+ oplist = ["+","+","+","+"]
+ (qstring,a) = self.Make_eq_question(num_range,pcut,currlevel,max_level,oplist)
+ a = str(int(a))
+ elif (type_flag == SUB_TYPE) :
+ if (len(parameters) != 2) :
+ raise(OptionError)
+ #endif
+ pcut = 0
+ max_level = 0
+ currlevel = 1
+ oplist = ["-","-","-","-"]
+ (qstring,a) = self.Make_eq_question(num_range,pcut,currlevel,max_level,oplist)
+ a = str(int(a))
+ elif (type_flag == ADDSUB_TYPE) :
+ if (len(parameters) != 2) :
+ raise(OptionError)
+ #endif
+ pcut = 0
+ max_level = 0
+ currlevel = 1
+ oplist = ["+","-","+","-"]
+ (qstring,a) = self.Make_eq_question(num_range,pcut,currlevel,max_level,oplist)
+ a = str(int(a))
+ elif (type_flag == MULT_TYPE) :
+ if (len(parameters) != 2) :
+ raise(OptionError)
+ #endif
+ pcut = 0
+ max_level = 0
+ currlevel = 1
+ oplist = ["x","x","x","x"]
+ (qstring,a) = self.Make_eq_question(num_range,pcut,currlevel,max_level,oplist)
+ a = str(int(a))
+ elif (type_flag == DIV_TYPE) :
+ if (len(parameters) != 2) :
+ raise(OptionError)
+ #endif
+ pcut = 0
+ max_level = 0
+ currlevel = 1
+ oplist = ["/","/","/","/"]
+ (qstring,a) = self.Make_eq_question(num_range,pcut,currlevel,max_level,oplist)
+ a = str(int(a))
+ elif (type_flag == MULTDIV_TYPE) :
+ if (len(parameters) != 2) :
+ raise(OptionError)
+ #endif
+ pcut = 0
+ max_level = 0
+ currlevel = 1
+ oplist = ["x","/","x","/"]
+ (qstring,a) = self.Make_eq_question(num_range,pcut,currlevel,max_level,oplist)
+ a = str(int(a))
+ else :
+ raise (OptionError)
+
+ new_q = Question(qstring,a)
+
+ return(new_q)
+ #end Make_Question
+#**********************************
+#**********************************
+class QuestionFileIO (object) :
+ def __init__ (self) :
+ pass
+# self.file_name = file_name
+# self.Read_questions()
+ #********
+
+ def Read_questions (self,file_name) :
+ #Reads questions from a file
+
+ #TAKES a file_name
+
+ #RETURNS a list of Question objects
+ try:
+ f = file(file_name,"r")
+ except IOError:
+ raise(FileError)
+
+ question_list = []
+ for line in f.readlines():
+ if not re.match('#',line):
+ (q,a) = line[:-1].split("=") #chomp
+ question_list.append(Question(q,a))
+
+ # a = re.sub('\s+','',a)
+
+ if (len(question_list) < 1) :
+ raise ParseError
+
+ return (QuestionList(question_list))
+ #end Read_questions
+ #********
+
+ def Write_questions (self,file_name,question_list) :
+ #Writes questions to a file
+
+ #TAKES a file anme
+ #TAKES a list of Question objects
+
+ #RETURNS null
+
+ try:
+ f = file(file_name,"w+")
+ except IOError:
+ raise(FileError)
+
+ for i in question_list :
+ f.write(i.q_string_raw+" = "+i.a_string_raw+"\n")
+
+ f.close()
+ #end Write_questions
+ #********
+
+#**********************************
+#**********************************
+class Question (object) :
+ def __init__ (self, q_raw, a_raw) :
+ self.q_string_raw = q_raw
+ self.a_string_raw = a_raw
+
+ (self.type,self.q_string,self.a_list) = self.Parse_question(q_raw,a_raw)
+ self.n_answers = len(self.a_list)
+ #**********
+
+ def Parse_question(self,q_string,a_string) :
+ #Parses question and answer strings
+
+ #TAKES a unmodified question string
+ #TAKES an unmodified answer string
+
+ #RETURNS an int representing the question type, a formatted question string,
+ #and a *list* of integers representing the answer(s) to the question
+
+ # a multiples question
+ if (q_string[0] == "%") :
+ try :
+ a_list = map(int,a_string.split("~"))
+ qparts = q_string.split("%")
+ except TypeError() :
+ raise ParseError
+
+ type = MULTIPLES_TYPE
+ # new_string = "Find the multiples of " + str(qparts[1])
+ #Modify for smaller string
+ new_string = "Divis by " + str(qparts[1])
+ elif re.search('\.jpg',a_string): #numbers/01x.jpg
+ type = N_TYPE
+ new_string = q_string
+ a_list = [re.sub('\s+','',a_string)] #remove white space
+ else :
+ try :
+ a_list = [int(a_string)]
+ except ValueError() :
+ raise ParseError
+
+ type = EQ_TYPE
+ new_string = q_string
+ #end if
+
+ return(type,new_string,a_list)
+ #end Parse_question
+ #********
+
+#**********************************
+#**********************************
+
+class QuestionList(object):
+ """Manages what the next question is."""
+
+ def __init__(self,question_list):
+ self.question_list = question_list
+ self.num_questions = len(question_list)
+ self.ind = 0
+
+ def next(self):
+ """returns next question"""
+ #might want to use a generator here?
+
+ #loop back questions
+ if self.ind == self.num_questions:
+ self.ind = 0
+
+ self.ind += 1
+ return self.question_list[self.ind-1]
+
+ def get_all_answers(self):
+ """docstring for get_all_answers"""
+ # return [q.a_string for q in self.question_list]
+ a_list = []
+ for q in self.question_list:
+ a_list.extend(q.a_list)
+ return a_list
+
+
+class QuestionGroup(object):
+ """Manages several QuestionList's
+
+ Returns the QuestionList that is next in the
+ series.
+ """
+ def __init__(self, question_lists):
+ self.question_lists = question_lists
+ self.length_lists = [len(l.get_all_answers())
+ for l in self.question_lists]
+ #1st index for question_listt
+ #2nd for question within a question_list
+ self.ind = [0,0]
+
+ def next(self):
+ """return question list corresponding to next question"""
+ if self.ind[1] == self.length_lists[self.ind[0]]:
+ self.ind[0] += 1
+ self.ind[1] = 0
+ if self.ind[0] == len(self.question_lists):
+ self.ind = [0,0]
+ self.ind[1] += 1
+ # print 'ind', self.ind
+ return self.question_lists[self.ind[0]]
+
+
+
+
+def main () :
+ qfr = QuestionFileIO()
+ qlist = qfr.Read_questions("allops_p1_0-10.dat")
+
+ nq = len(qlist)
+ print ("%d" % (nq))
+
+ for i in range(0,nq) :
+ print ("%s : %s |%s = %s|" % (i,qlist[i].type,qlist[i].q_string,qlist[i].a_list))
+# print ("%s" % (qlist[i].q_string))
+ #end for
+
+# qm = QuestionMaker(348)
+# qfr = QuestionFileIO()
+
+# qlist=[]
+# for i in range(0,1000) :
+# qlist.append(qm.Make_random_question(0.0,[-10,10],[5,0.9,3]))
+# #endfor
+# qfr.Write_questions("test.dat",qlist)
+
+# qlist=[]
+# for i in range(0,1000) :
+# qlist.append(qm.Make_question(MULT_TYPE,[0,10],[0,0]))
+# #end for
+# qfr.Write_questions("multiplication_p0_0-10.dat",qlist)
+
+# qlist=[]
+# for i in range(0,1000) :
+# qlist.append(qm.Make_question(MULT_TYPE,[0,100],[0,0]))
+# #end for
+# qfr.Write_questions("multiplication_p0_0-100.dat",qlist)
+
+# qlist=[]
+# for i in range(0,1000) :
+# qlist.append(qm.Make_question(MULT_TYPE,[-10,10],[0,0]))
+# #end for
+# qfr.Write_questions("multiplication_p0_-10-10.dat",qlist)
+
+# qlist=[]
+# for i in range(0,1000) :
+# qlist.append(qm.Make_question(MULT_TYPE,[-100,100],[0,0]))
+# #end for
+# qfr.Write_questions("multiplication_p0_-100-100.dat",qlist)
+
+# qlist=[]
+# for i in range(0,1000) :
+# qlist.append(qm.Make_question(DIV_TYPE,[0,10],[0,0]))
+# #end for
+# qfr.Write_questions("division_p0_0-10.dat",qlist)
+
+# qlist=[]
+# for i in range(0,1000) :
+# qlist.append(qm.Make_question(DIV_TYPE,[0,100],[0,0]))
+# #end for
+# qfr.Write_questions("division_p0_0-100.dat",qlist)
+
+# qlist=[]
+# for i in range(0,1000) :
+# qlist.append(qm.Make_question(DIV_TYPE,[-10,10],[0,0]))
+# #end for
+# qfr.Write_questions("division_p0_-10-10.dat",qlist)
+
+# qlist=[]
+# for i in range(0,1000) :
+# qlist.append(qm.Make_question(DIV_TYPE,[-100,100],[0,0]))
+# #end for
+# qfr.Write_questions("division_p0_-100-100.dat",qlist)
+
+# qlist=[]
+# for i in range(0,1000) :
+# qlist.append(qm.Make_question(ADD_TYPE,[0,10],[0,0]))
+# #end for
+# qfr.Write_questions("addition_p0_0-10.dat",qlist)
+
+# qlist=[]
+# for i in range(0,1000) :
+# qlist.append(qm.Make_question(ADD_TYPE,[0,100],[0,0]))
+# #end for
+# qfr.Write_questions("addition_p0_0-100.dat",qlist)
+
+# qlist=[]
+# for i in range(0,1000) :
+# new_q = qm.Make_question(SUB_TYPE,[0,10],[0,0])
+# qlist.append(new_q)
+# #end for
+# qfr.Write_questions("subtraction_p0_0-10.dat",qlist)
+
+# qlist=[]
+# for i in range(0,1000) :
+# new_q = qm.Make_question(SUB_TYPE,[0,100],[0,0])
+# qlist.append(new_q)
+# #end for
+# qfr.Write_questions("subtraction_p0_0-100.dat",qlist)
+
+# qlist=[]
+# for i in range(0,1000) :
+# new_q = qm.Make_question(ADDSUB_TYPE,[0,10],[0,0])
+# qlist.append(new_q)
+# #end for
+# qfr.Write_questions("addsub_p0_0-10.dat",qlist)
+
+# qlist=[]
+# for i in range(0,1000) :
+# new_q = qm.Make_question(ADDSUB_TYPE,[0,100],[0,0])
+# qlist.append(new_q)
+# #end for
+# qfr.Write_questions("addsub_p0_0-100.dat",qlist)
+
+# qlist=[]
+# for i in range(0,1000) :
+# new_q = qm.Make_question(ADDSUB_TYPE,[-10,10],[0,0])
+# qlist.append(new_q)
+# #end for
+# qfr.Write_questions("addsub_p0_-10-10.dat",qlist)
+
+# qlist=[]
+# for i in range(0,1000) :
+# new_q = qm.Make_question(ADDSUB_TYPE,[-1000,100],[0,0])
+# qlist.append(new_q)
+# #end for
+# qfr.Write_questions("addsub_p0_-100-100.dat",qlist)
+
+# qlist=[]
+# for i in range(0,1000) :
+# qlist.append(qm.Make_question(MULTDIV_TYPE,[0,10],[0,0]))
+# #end for
+# qfr.Write_questions("multdiv_p0_0-10.dat",qlist)
+
+# qlist=[]
+# for i in range(0,1000) :
+# qlist.append(qm.Make_question(MULTDIV_TYPE,[0,100],[0,0]))
+# #end for
+# qfr.Write_questions("multdiv_p0_0-100.dat",qlist)
+
+# qlist=[]
+# for i in range(0,1000) :
+# qlist.append(qm.Make_question(MULTDIV_TYPE,[-10,10],[0,0]))
+# #end for
+# qfr.Write_questions("multdiv_p0_-10-10.dat",qlist)
+
+# qlist=[]
+# for i in range(0,1000) :
+# qlist.append(qm.Make_question(MULTDIV_TYPE,[-100,100],[0,0]))
+# #end for
+# qfr.Write_questions("multdiv_p0_-100-100.dat",qlist)
+
+# qlist=[]
+# for i in range(0,1000) :
+# qlist.append(qm.Make_question(EQ_TYPE,[0,10],[0.5,0]))
+# #end for
+# qfr.Write_questions("allops_p0_0-10.dat",qlist)
+
+# qlist=[]
+# for i in range(0,1000) :
+# qlist.append(qm.Make_question(EQ_TYPE,[0,100],[0.5,0]))
+# #end for
+# qfr.Write_questions("allops_p0_0-100.dat",qlist)
+
+# qlist=[]
+# for i in range(0,1000) :
+# qlist.append(qm.Make_question(EQ_TYPE,[0,10],[0.5,1]))
+# #end for
+# qfr.Write_questions("allops_p1_0-10.dat",qlist)
+
+# qlist=[]
+# for i in range(0,1000) :
+# qlist.append(qm.Make_question(EQ_TYPE,[0,100],[0.5,1]))
+# #end for
+# qfr.Write_questions("allops_p1_0-100.dat",qlist)
+
+# qlist=[]
+# for i in range(0,1000) :
+# qlist.append(qm.Make_question(MULTIPLES_TYPE,[0,10],[5]))
+# #end for
+# qfr.Write_questions("multiples_p0_0-10.dat",qlist)
+
+# qlist=[]
+# for i in range(0,1000) :
+# qlist.append(qm.Make_question(MULTIPLES_TYPE,[-10,10],[5]))
+# #end for
+# qfr.Write_questions("multiples_p0_-10-10.dat",qlist)
+
+# qlist=[]
+# for i in range(0,1000) :
+# qlist.append(qm.Make_random_question(0.2,[0,10],[5,0.3,0]))
+# #endfor
+# qfr.Write_questions("random_p0_0-10.dat",qlist)
+
+# qlist=[]
+# for i in range(0,1000) :
+# qlist.append(qm.Make_random_question(0.2,[-10,10],[5,0.3,0]))
+# #endfor
+# qfr.Write_questions("random_p0_-10-10.dat",qlist)
+
+# qlist=[]
+# for i in range(0,1000) :
+# qlist.append(qm.Make_random_question(0.2,[0,10],[5,0.3,1]))
+# #endfor
+# qfr.Write_questions("random_p1_0-10.dat",qlist)
+
+# qlist=[]
+# for i in range(0,1000) :
+# qlist.append(qm.Make_random_question(0.2,[-10,10],[5,0.3,1]))
+# #endfor
+# qfr.Write_questions("random_p1_-10-10.dat",qlist)
+
+if (__name__ == "__main__") :
+ main()
diff --git a/setup.py b/setup.py
new file mode 100644
index 0000000..9805c43
--- /dev/null
+++ b/setup.py
@@ -0,0 +1,10 @@
+#!/usr/bin/env python
+try:
+ from sugar.activity import bundlebuilder
+ bundlebuilder.start()
+except ImportError:
+ import os
+ os.chdir('..')
+ os.system('cat Kuku.activity/MANIFEST | zip kuku.xo -@')
+ os.system('mv kuku.xo ./Kuku.activity')
+ os.chdir('Kuku.activity')
diff --git a/tile.py b/tile.py
new file mode 100644
index 0000000..da05bbd
--- /dev/null
+++ b/tile.py
@@ -0,0 +1,129 @@
+"""
+tile.py
+
+Includes class Tile which represents
+one tile on a grid.
+
+Copyright 2007, Julius B. Lucks, Adrian DelMaestro, Sera L. Young
+
+This file is part of Kuku.
+
+Kuku is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation version 2 of the License.
+
+Kuku is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with Kuku; if not, write to the Free Software
+Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
+The copy of the GNU General Public License is found in the COPYING file
+included in the source distribution.
+
+
+"""
+
+import pygame
+if not pygame.font: print 'Warning, fonts disabled'
+from kuku_utils import *
+
+class Tile(object):
+ """One tile of the grid"""
+
+ def __init__(self, x=0, y=0, tile_size_x = 0, tile_size_y = 0,offset=(0,0)):
+ """make init on grid position as well"""
+ # self.image = image
+ # rect = image.get_rect()
+ self.width = tile_size_x
+ self.height = tile_size_y
+ self.set_position(x,y,offset)
+ self.answer = ''
+ self.image_name = None
+ self.font = None
+ self.background = pygame.Surface(self.rect.size).convert()
+ self.background.fill((255,255,255))
+
+ def __set_rect(self):
+ """set the internal rectangle"""
+ self.rect = pygame.Rect(self.x,self.y,self.width,self.height)
+
+
+ def set_position(self,x,y,offset):
+ """
+ set the position of the tile in the grid
+
+ x,y are non-negative integer grid positions
+ """
+ self.x = x*self.width + offset[0]
+ self.y = y*self.height + offset[1]
+ self.__set_rect()
+
+ def set_answer(self,answer=None,font=None,image_name=None):
+ """set the answer"""
+ self.answer = answer
+ self.font = font
+ self.image_name = image_name
+ self.image = None
+ if image_name:
+ self.answer = image_name
+ self.image_name = image_name
+ self.image = load_image(self.image_name,1)
+ scale_x = float(self.width )/float(self.image.get_rect().width)
+ scale_y = float(self.height)/float(self.image.get_rect().height)
+ self.image = pygame.transform.scale(self.image,
+ (int(scale_x*self.image.get_rect().width),
+ int(scale_y*self.image.get_rect().height)))
+ self.background = self.image
+
+
+ def get_answer(self):
+ return self.answer
+
+ def get_rect(self):
+ """recturn the internal rectangle
+
+ returns pygame.Rect() instance
+ """
+ return self.rect
+
+ def draw(self,screen):
+ """draw the tile in the rectangle
+
+ returns list of pygame.Rect
+ """
+ # dirtyrects.append(screen.blit(self.image,self.rect))
+ # return [screen.blit(self.image,self.rect)]
+ dirtyrects = []
+
+ #For some reason we have to do this, but seems like
+ #a sloppy fix. Need to maybe make png's and make
+ #sure the transparency layer - see bug #1788
+ #This is needed when rendering font though
+ r = screen.fill((255,255,255),self.rect)
+ dirtyrects.append(r)
+
+ #draw the answer
+ if self.image_name:
+ r = screen.blit(self.image, self.rect)
+ dirtyrects.append(r)
+
+ elif self.font:
+ br = self.rect.bottomright
+
+ text = self.font.render(str(self.answer), 1, (10, 10, 10))
+ twidth = text.get_rect().width
+ theight = text.get_rect().height
+ textpos = (br[0]-twidth-10,br[1]-theight-5)
+ dirtyrects.append(screen.blit(text, textpos))
+
+ #draw the border
+ dirtyrects.append(pygame.draw.rect(screen,(0,0,0),self.rect,1))
+ return dirtyrects
+
+ def get_background(self):
+ """docstring for get_background"""
+ return self.background
+