To compile the code, please use the following command on bash
 stack ghc -- -O2 -threaded -rtsopts -eventlog partition.hs 

To run the code, use the following command on bash
 ./partition testA +RTS -NB
*** A is the test case number you want to test
*** B is the number of threads you want to use for the run

To create your own test...
Step1 - create a file that will store your test case
Step2 - in the file, write in the list of integers with spaces between the numbers
	- for example, to partition a list [1,2,3,4,5,6], write 1 2 3 4 5 6
Step3 - run the file using the command `./partition 'filename' +RTS -NB`
*** 'filename' is the name of your test file
*** please only use integers as input elements

The test cases are
test0 - "Empty" 
	- testing for edge case where there are 0 elements but partition is possible
test1 - "-1 1"
	- testing for edge case where there are less than 3 elements but partition is possible. Also a negative number
test2 - "1 2 3 4 5 6 7 8 9 16 11 12 13 14 15 10 16 17 18"
	- testing to see if input list adds up to multiple of 3
test3 - "1 1 1"
	- testing a simple partition
test4 - "3 9 1 19 4 5 28 6 7 8 28 2 19 16 13 19 12 17 28 14 15 16 11"
	- testing a slightly complicated partition
test5 - "1 2 3 4 5 6 7 8 9 10 11 300 13 14 15 16 17 18 18"
	- testing a case where there is no possible partition
test6 - "3 9 1 30 19 4 5 28 6 7 8 28 2 19 16 30 13 19 12 17 30 28 14 15 16 11"
	- testing a complex partition