diff --git a/WifiModem.jar b/WifiModem.jar
deleted file mode 100644
index b4b61f012b7dcd3929dd5628cfd89bff93880b75..0000000000000000000000000000000000000000
Binary files a/WifiModem.jar and /dev/null differ
diff --git a/automail.properties b/automail.properties
deleted file mode 100644
index d344a4aac1670324c53b9cf22a7fdf5010e78339..0000000000000000000000000000000000000000
--- a/automail.properties
+++ /dev/null
@@ -1,15 +0,0 @@
-# Seed
-#Seed=2020
-Seed=30006
-# Floors
-Floors=12
-# Mail_To_Create
-Mail_to_Create=200
-# Mail_Max_Weight
-Mail_Max_Weight=2000
-# The duration of receiving new mails
-Mail_Receving_Length=120
-# Robots
-Robots=3
-ChargeThreshold=0
-CommercialDisplay=false
diff --git a/bin/automail/Automail.class b/bin/automail/Automail.class
deleted file mode 100644
index 62843ad187fb228ee40a5d26040d3cea93fada0d..0000000000000000000000000000000000000000
Binary files a/bin/automail/Automail.class and /dev/null differ
diff --git a/bin/automail/MailItem.class b/bin/automail/MailItem.class
deleted file mode 100644
index a7c448693495b3db5f22c336e5b7ff348c696be8..0000000000000000000000000000000000000000
Binary files a/bin/automail/MailItem.class and /dev/null differ
diff --git a/bin/automail/MailPool$Item.class b/bin/automail/MailPool$Item.class
deleted file mode 100644
index 3d1e38b51eec6c8c4e1491fb8dbf424bf38c1fc0..0000000000000000000000000000000000000000
Binary files a/bin/automail/MailPool$Item.class and /dev/null differ
diff --git a/bin/automail/MailPool$ItemComparator.class b/bin/automail/MailPool$ItemComparator.class
deleted file mode 100644
index c805875b7dcc0b6cb1b79f61cc9a1ab251999238..0000000000000000000000000000000000000000
Binary files a/bin/automail/MailPool$ItemComparator.class and /dev/null differ
diff --git a/bin/automail/MailPool.class b/bin/automail/MailPool.class
deleted file mode 100644
index da791cb42c34ef784d112335c4fd4a04fff77586..0000000000000000000000000000000000000000
Binary files a/bin/automail/MailPool.class and /dev/null differ
diff --git a/bin/automail/Robot$RobotState.class b/bin/automail/Robot$RobotState.class
deleted file mode 100644
index 7a06471d0faeef4b50a6c1f2aab1f1b56ddc5cb7..0000000000000000000000000000000000000000
Binary files a/bin/automail/Robot$RobotState.class and /dev/null differ
diff --git a/bin/automail/Robot.class b/bin/automail/Robot.class
deleted file mode 100644
index 54873ff5cbd973888165384dff98f9f32f788e79..0000000000000000000000000000000000000000
Binary files a/bin/automail/Robot.class and /dev/null differ
diff --git a/bin/exceptions/ExcessiveDeliveryException.class b/bin/exceptions/ExcessiveDeliveryException.class
deleted file mode 100644
index 0d6e88683faf2307f1bb3fe254dd791494a2bdd9..0000000000000000000000000000000000000000
Binary files a/bin/exceptions/ExcessiveDeliveryException.class and /dev/null differ
diff --git a/bin/exceptions/ItemTooHeavyException.class b/bin/exceptions/ItemTooHeavyException.class
deleted file mode 100644
index 7d360f113a93bcd944eb5bc9d8d26901f2713688..0000000000000000000000000000000000000000
Binary files a/bin/exceptions/ItemTooHeavyException.class and /dev/null differ
diff --git a/bin/exceptions/MailAlreadyDeliveredException.class b/bin/exceptions/MailAlreadyDeliveredException.class
deleted file mode 100644
index 85bf1e255d75951054ad85d843a11d84a881c709..0000000000000000000000000000000000000000
Binary files a/bin/exceptions/MailAlreadyDeliveredException.class and /dev/null differ
diff --git a/bin/simulation/Building.class b/bin/simulation/Building.class
deleted file mode 100644
index 6678acdcf8ae93daeab7e80009725a553edc9b4c..0000000000000000000000000000000000000000
Binary files a/bin/simulation/Building.class and /dev/null differ
diff --git a/bin/simulation/Clock.class b/bin/simulation/Clock.class
deleted file mode 100644
index 6c169fe5d8969d75545edc3b0f1e2cb80c815fe2..0000000000000000000000000000000000000000
Binary files a/bin/simulation/Clock.class and /dev/null differ
diff --git a/bin/simulation/IMailDelivery.class b/bin/simulation/IMailDelivery.class
deleted file mode 100644
index bb88966905293af8ebdb81a32c69b4fa75f977ce..0000000000000000000000000000000000000000
Binary files a/bin/simulation/IMailDelivery.class and /dev/null differ
diff --git a/bin/simulation/MailGenerator.class b/bin/simulation/MailGenerator.class
deleted file mode 100644
index 5badad3f6cf87e7380200279401e7f23cb2ae704..0000000000000000000000000000000000000000
Binary files a/bin/simulation/MailGenerator.class and /dev/null differ
diff --git a/bin/simulation/Simulation$ReportDelivery.class b/bin/simulation/Simulation$ReportDelivery.class
deleted file mode 100644
index 01d9be852ee89259d1d5038192494a2d315fb797..0000000000000000000000000000000000000000
Binary files a/bin/simulation/Simulation$ReportDelivery.class and /dev/null differ
diff --git a/bin/simulation/Simulation.class b/bin/simulation/Simulation.class
deleted file mode 100644
index a783d4b0ac2713bda772c7af90b274741cafaf18..0000000000000000000000000000000000000000
Binary files a/bin/simulation/Simulation.class and /dev/null differ
diff --git a/expected.txt b/expected.txt
deleted file mode 100644
index 8075c2a7430afe1d9e8c7ffb5a2cf225af180648..0000000000000000000000000000000000000000
--- a/expected.txt
+++ /dev/null
@@ -1,742 +0,0 @@
-#Floors: 12
-#Created mails: 200
-#Maximum weight: 2000
-#Mail receiving length: 120
-#Robots: 3
-#Charge Threshold: 0.0
-#Charge Display: false
-#A Random Seed: 30006
-Setting up Wifi Modem
-Modem Turnon on Floor[1]
-T:   0 >   R0(0) changed from RETURNING to WAITING
-T:   0 >   R1(0) changed from RETURNING to WAITING
-T:   0 >   R2(0) changed from RETURNING to WAITING
-T:   1 > new addToPool [Mail Item:: ID:    129 | Arrival:    1 | Destination:  3 | Weight: 1812]
-T:   1 >   R0(0) changed from WAITING to DELIVERING
-T:   1 >   R0(0)-> [Mail Item:: ID:    129 | Arrival:    1 | Destination:  3 | Weight: 1812]
-T:   2 > new addToPool [Mail Item:: ID:     69 | Arrival:    2 | Destination:  6 | Weight:  439]
-T:   2 >   R1(0) changed from WAITING to DELIVERING
-T:   2 >   R1(0)-> [Mail Item:: ID:     69 | Arrival:    2 | Destination:  6 | Weight:  439]
-T:   4 > new addToPool [Mail Item:: ID:     23 | Arrival:    4 | Destination: 11 | Weight: 2000]
-T:   4 > new addToPool [Mail Item:: ID:     96 | Arrival:    4 | Destination:  8 | Weight:  490]
-T:   4 > Delivered(   1) [Mail Item:: ID:    129 | Arrival:    1 | Destination:  3 | Weight: 1812]
-T:   4 >   R0(0) changed from DELIVERING to RETURNING
-T:   4 >   R2(1) changed from WAITING to DELIVERING
-T:   4 >   R2(1)-> [Mail Item:: ID:     23 | Arrival:    4 | Destination: 11 | Weight: 2000]
-T:   5 > new addToPool [Mail Item:: ID:     46 | Arrival:    5 | Destination:  3 | Weight:  903]
-T:   5 > new addToPool [Mail Item:: ID:     85 | Arrival:    5 | Destination:  9 | Weight:  389]
-T:   5 > new addToPool [Mail Item:: ID:    108 | Arrival:    5 | Destination:  3 | Weight:  478]
-T:   7 >   R0(0) changed from RETURNING to WAITING
-T:   8 >   R0(1) changed from WAITING to DELIVERING
-T:   8 >   R0(1)-> [Mail Item:: ID:     85 | Arrival:    5 | Destination:  9 | Weight:  389]
-T:   8 > Delivered(   2) [Mail Item:: ID:     69 | Arrival:    2 | Destination:  6 | Weight:  439]
-T:   8 >   R1(0) changed from DELIVERING to RETURNING
-T:   9 > new addToPool [Mail Item:: ID:     41 | Arrival:    9 | Destination: 11 | Weight: 1544]
-T:  10 > new addToPool [Mail Item:: ID:    102 | Arrival:   10 | Destination:  1 | Weight:  676]
-T:  12 > new addToPool [Mail Item:: ID:     36 | Arrival:   12 | Destination:  3 | Weight:  710]
-T:  12 > new addToPool [Mail Item:: ID:    137 | Arrival:   12 | Destination:  7 | Weight: 2000]
-T:  13 > new addToPool [Mail Item:: ID:     10 | Arrival:   13 | Destination: 11 | Weight:  684]
-T:  13 > new addToPool [Mail Item:: ID:     97 | Arrival:   13 | Destination:  9 | Weight:  825]
-T:  13 > new addToPool [Mail Item:: ID:    134 | Arrival:   13 | Destination:  9 | Weight: 1729]
-T:  14 > new addToPool [Mail Item:: ID:    121 | Arrival:   14 | Destination:  4 | Weight: 1538]
-T:  14 >   R1(0) changed from RETURNING to WAITING
-T:  15 > new addToPool [Mail Item:: ID:      1 | Arrival:   15 | Destination:  4 | Weight: 1198]
-T:  15 > new addToPool [Mail Item:: ID:     15 | Arrival:   15 | Destination:  6 | Weight:  847]
-T:  15 > new addToPool [Mail Item:: ID:     51 | Arrival:   15 | Destination:  4 | Weight:  933]
-T:  15 > new addToPool [Mail Item:: ID:    148 | Arrival:   15 | Destination: 12 | Weight:  586]
-T:  15 > new addToPool [Mail Item:: ID:    150 | Arrival:   15 | Destination: 10 | Weight:  846]
-T:  15 >   R1(1) changed from WAITING to DELIVERING
-T:  15 >   R1(1)-> [Mail Item:: ID:    148 | Arrival:   15 | Destination: 12 | Weight:  586]
-T:  15 > Delivered(   3) [Mail Item:: ID:     23 | Arrival:    4 | Destination: 11 | Weight: 2000]
-T:  15 >   R2(0)-> [Mail Item:: ID:     96 | Arrival:    4 | Destination:  8 | Weight:  490]
-T:  16 > new addToPool [Mail Item:: ID:     12 | Arrival:   16 | Destination:  6 | Weight: 1193]
-T:  16 > new addToPool [Mail Item:: ID:     64 | Arrival:   16 | Destination:  7 | Weight: 1146]
-T:  16 > new addToPool [Mail Item:: ID:     90 | Arrival:   16 | Destination:  6 | Weight: 1392]
-T:  16 > new addToPool [Mail Item:: ID:    124 | Arrival:   16 | Destination:  7 | Weight: 1580]
-T:  16 > new addToPool [Mail Item:: ID:    130 | Arrival:   16 | Destination:  5 | Weight: 1580]
-T:  17 > new addToPool [Mail Item:: ID:     56 | Arrival:   17 | Destination:  9 | Weight: 1298]
-T:  17 > new addToPool [Mail Item:: ID:     63 | Arrival:   17 | Destination:  5 | Weight: 2000]
-T:  17 > new addToPool [Mail Item:: ID:    114 | Arrival:   17 | Destination: 12 | Weight: 1738]
-T:  17 > Delivered(   4) [Mail Item:: ID:     85 | Arrival:    5 | Destination:  9 | Weight:  389]
-T:  17 >   R0(0)-> [Mail Item:: ID:     46 | Arrival:    5 | Destination:  3 | Weight:  903]
-T:  18 > new addToPool [Mail Item:: ID:     79 | Arrival:   18 | Destination:  4 | Weight: 2000]
-T:  18 > new addToPool [Mail Item:: ID:    131 | Arrival:   18 | Destination:  2 | Weight: 1514]
-T:  19 > new addToPool [Mail Item:: ID:     22 | Arrival:   19 | Destination:  3 | Weight: 1129]
-T:  19 > Delivered(   5) [Mail Item:: ID:     96 | Arrival:    4 | Destination:  8 | Weight:  490]
-T:  19 >   R2(0) changed from DELIVERING to RETURNING
-T:  21 > new addToPool [Mail Item:: ID:     42 | Arrival:   21 | Destination:  5 | Weight:  215]
-T:  21 > new addToPool [Mail Item:: ID:    122 | Arrival:   21 | Destination: 10 | Weight: 1706]
-T:  22 > new addToPool [Mail Item:: ID:     34 | Arrival:   22 | Destination:  7 | Weight:  245]
-T:  22 > new addToPool [Mail Item:: ID:    107 | Arrival:   22 | Destination:  4 | Weight: 1290]
-T:  23 > new addToPool [Mail Item:: ID:     82 | Arrival:   23 | Destination:  6 | Weight: 1348]
-T:  24 > new addToPool [Mail Item:: ID:     62 | Arrival:   24 | Destination:  3 | Weight:  401]
-T:  24 > Delivered(   6) [Mail Item:: ID:     46 | Arrival:    5 | Destination:  3 | Weight:  903]
-T:  24 >   R0(0) changed from DELIVERING to RETURNING
-T:  25 > new addToPool [Mail Item:: ID:     33 | Arrival:   25 | Destination:  6 | Weight: 1819]
-T:  25 > new addToPool [Mail Item:: ID:    117 | Arrival:   25 | Destination: 10 | Weight: 1152]
-T:  25 > new addToPool [Mail Item:: ID:    153 | Arrival:   25 | Destination: 11 | Weight:  479]
-T:  27 >   R0(0) changed from RETURNING to WAITING
-T:  27 > Delivered(   7) [Mail Item:: ID:    148 | Arrival:   15 | Destination: 12 | Weight:  586]
-T:  27 >   R1(0)-> [Mail Item:: ID:     41 | Arrival:    9 | Destination: 11 | Weight: 1544]
-T:  27 >   R2(0) changed from RETURNING to WAITING
-T:  28 > new addToPool [Mail Item:: ID:      5 | Arrival:   28 | Destination: 10 | Weight: 1045]
-T:  28 > new addToPool [Mail Item:: ID:    123 | Arrival:   28 | Destination: 12 | Weight: 1555]
-T:  28 > new addToPool [Mail Item:: ID:    139 | Arrival:   28 | Destination:  2 | Weight:  603]
-T:  28 > new addToPool [Mail Item:: ID:    152 | Arrival:   28 | Destination:  1 | Weight:  220]
-T:  28 >   R0(1) changed from WAITING to DELIVERING
-T:  28 >   R0(1)-> [Mail Item:: ID:    114 | Arrival:   17 | Destination: 12 | Weight: 1738]
-T:  28 >   R2(1) changed from WAITING to DELIVERING
-T:  28 >   R2(1)-> [Mail Item:: ID:     10 | Arrival:   13 | Destination: 11 | Weight:  684]
-T:  29 > new addToPool [Mail Item:: ID:     13 | Arrival:   29 | Destination: 10 | Weight:  564]
-T:  29 > new addToPool [Mail Item:: ID:     54 | Arrival:   29 | Destination:  2 | Weight:  575]
-T:  29 > new addToPool [Mail Item:: ID:     73 | Arrival:   29 | Destination: 11 | Weight: 1282]
-T:  29 > new addToPool [Mail Item:: ID:     81 | Arrival:   29 | Destination:  2 | Weight: 1748]
-T:  29 > Delivered(   8) [Mail Item:: ID:     41 | Arrival:    9 | Destination: 11 | Weight: 1544]
-T:  29 >   R1(0) changed from DELIVERING to RETURNING
-T:  30 > new addToPool [Mail Item:: ID:    149 | Arrival:   30 | Destination:  6 | Weight:  436]
-T:  32 > new addToPool [Mail Item:: ID:     14 | Arrival:   32 | Destination:  3 | Weight: 1598]
-T:  32 > new addToPool [Mail Item:: ID:     68 | Arrival:   32 | Destination:  9 | Weight: 1581]
-T:  33 > new addToPool [Mail Item:: ID:     27 | Arrival:   33 | Destination: 11 | Weight:  923]
-T:  34 > new addToPool [Mail Item:: ID:    110 | Arrival:   34 | Destination:  9 | Weight: 1265]
-T:  34 > new addToPool [Mail Item:: ID:    113 | Arrival:   34 | Destination: 11 | Weight:  681]
-T:  35 > new addToPool [Mail Item:: ID:     88 | Arrival:   35 | Destination: 12 | Weight:  778]
-T:  35 > new addToPool [Mail Item:: ID:    140 | Arrival:   35 | Destination:  7 | Weight: 1468]
-T:  36 > new addToPool [Mail Item:: ID:    136 | Arrival:   36 | Destination:  6 | Weight: 1494]
-T:  36 > new addToPool [Mail Item:: ID:    146 | Arrival:   36 | Destination: 11 | Weight:  598]
-T:  37 > new addToPool [Mail Item:: ID:     78 | Arrival:   37 | Destination:  8 | Weight:  973]
-T:  37 > new addToPool [Mail Item:: ID:    143 | Arrival:   37 | Destination:  9 | Weight:  227]
-T:  38 > new addToPool [Mail Item:: ID:     44 | Arrival:   38 | Destination:  9 | Weight:  653]
-T:  38 > new addToPool [Mail Item:: ID:    100 | Arrival:   38 | Destination:  4 | Weight:  269]
-T:  39 > new addToPool [Mail Item:: ID:     58 | Arrival:   39 | Destination: 11 | Weight:  415]
-T:  39 > new addToPool [Mail Item:: ID:     74 | Arrival:   39 | Destination:  3 | Weight:  787]
-T:  39 > Delivered(   9) [Mail Item:: ID:     10 | Arrival:   13 | Destination: 11 | Weight:  684]
-T:  39 >   R2(0)-> [Mail Item:: ID:    153 | Arrival:   25 | Destination: 11 | Weight:  479]
-T:  40 > new addToPool [Mail Item:: ID:     76 | Arrival:   40 | Destination:  4 | Weight: 1385]
-T:  40 > Delivered(  10) [Mail Item:: ID:    114 | Arrival:   17 | Destination: 12 | Weight: 1738]
-T:  40 >   R0(0)-> [Mail Item:: ID:    123 | Arrival:   28 | Destination: 12 | Weight: 1555]
-T:  40 >   R1(0) changed from RETURNING to WAITING
-T:  40 > Delivered(  11) [Mail Item:: ID:    153 | Arrival:   25 | Destination: 11 | Weight:  479]
-T:  40 >   R2(0) changed from DELIVERING to RETURNING
-T:  41 > new addToPool [Mail Item:: ID:    132 | Arrival:   41 | Destination: 11 | Weight: 1193]
-T:  41 > Delivered(  12) [Mail Item:: ID:    123 | Arrival:   28 | Destination: 12 | Weight: 1555]
-T:  41 >   R0(0) changed from DELIVERING to RETURNING
-T:  41 >   R1(1) changed from WAITING to DELIVERING
-T:  41 >   R1(1)-> [Mail Item:: ID:     88 | Arrival:   35 | Destination: 12 | Weight:  778]
-T:  42 > new addToPool [Mail Item:: ID:    103 | Arrival:   42 | Destination: 12 | Weight:  323]
-T:  42 > new addToPool [Mail Item:: ID:    128 | Arrival:   42 | Destination: 12 | Weight:  943]
-T:  43 > new addToPool [Mail Item:: ID:     20 | Arrival:   43 | Destination: 11 | Weight:  972]
-T:  43 > new addToPool [Mail Item:: ID:    141 | Arrival:   43 | Destination:  5 | Weight:  362]
-T:  45 > new addToPool [Mail Item:: ID:    119 | Arrival:   45 | Destination:  1 | Weight:  302]
-T:  46 > new addToPool [Mail Item:: ID:     72 | Arrival:   46 | Destination:  1 | Weight: 1996]
-T:  49 > new addToPool [Mail Item:: ID:     18 | Arrival:   49 | Destination:  6 | Weight:  706]
-T:  49 > new addToPool [Mail Item:: ID:     99 | Arrival:   49 | Destination:  3 | Weight: 1921]
-T:  49 > new addToPool [Mail Item:: ID:    109 | Arrival:   49 | Destination:  8 | Weight:  446]
-T:  50 > new addToPool [Mail Item:: ID:    142 | Arrival:   50 | Destination:  2 | Weight:  322]
-T:  51 > new addToPool [Mail Item:: ID:     80 | Arrival:   51 | Destination:  2 | Weight:  535]
-T:  51 >   R2(0) changed from RETURNING to WAITING
-T:  52 > new addToPool [Mail Item:: ID:     16 | Arrival:   52 | Destination:  5 | Weight: 2000]
-T:  52 >   R2(1) changed from WAITING to DELIVERING
-T:  52 >   R2(1)-> [Mail Item:: ID:    103 | Arrival:   42 | Destination: 12 | Weight:  323]
-T:  53 >   R0(0) changed from RETURNING to WAITING
-T:  53 > Delivered(  13) [Mail Item:: ID:     88 | Arrival:   35 | Destination: 12 | Weight:  778]
-T:  53 >   R1(0)-> [Mail Item:: ID:     73 | Arrival:   29 | Destination: 11 | Weight: 1282]
-T:  54 > new addToPool [Mail Item:: ID:     71 | Arrival:   54 | Destination:  4 | Weight: 2000]
-T:  54 >   R0(1) changed from WAITING to DELIVERING
-T:  54 >   R0(1)-> [Mail Item:: ID:     27 | Arrival:   33 | Destination: 11 | Weight:  923]
-T:  55 > new addToPool [Mail Item:: ID:     89 | Arrival:   55 | Destination:  9 | Weight: 1749]
-T:  55 > new addToPool [Mail Item:: ID:    105 | Arrival:   55 | Destination: 12 | Weight:  799]
-T:  55 > Delivered(  14) [Mail Item:: ID:     73 | Arrival:   29 | Destination: 11 | Weight: 1282]
-T:  55 >   R1(0) changed from DELIVERING to RETURNING
-T:  57 > new addToPool [Mail Item:: ID:      7 | Arrival:   57 | Destination:  1 | Weight:  777]
-T:  57 > new addToPool [Mail Item:: ID:     65 | Arrival:   57 | Destination:  7 | Weight:  361]
-T:  57 > new addToPool [Mail Item:: ID:     84 | Arrival:   57 | Destination:  6 | Weight:  697]
-T:  58 > new addToPool [Mail Item:: ID:     35 | Arrival:   58 | Destination:  7 | Weight:  804]
-T:  61 > new addToPool [Mail Item:: ID:     40 | Arrival:   61 | Destination: 10 | Weight: 1604]
-T:  61 > new addToPool [Mail Item:: ID:     50 | Arrival:   61 | Destination:  6 | Weight:  570]
-T:  61 > new addToPool [Mail Item:: ID:     98 | Arrival:   61 | Destination:  7 | Weight: 1029]
-T:  61 > new addToPool [Mail Item:: ID:    126 | Arrival:   61 | Destination:  6 | Weight: 1101]
-T:  62 > new addToPool [Mail Item:: ID:      3 | Arrival:   62 | Destination:  3 | Weight:  678]
-T:  62 > new addToPool [Mail Item:: ID:     94 | Arrival:   62 | Destination: 12 | Weight:  793]
-T:  63 > new addToPool [Mail Item:: ID:     29 | Arrival:   63 | Destination: 11 | Weight:  842]
-T:  63 > new addToPool [Mail Item:: ID:    159 | Arrival:   63 | Destination:  8 | Weight:  690]
-T:  64 > new addToPool [Mail Item:: ID:     49 | Arrival:   64 | Destination:  5 | Weight: 2000]
-T:  64 > new addToPool [Mail Item:: ID:     91 | Arrival:   64 | Destination: 10 | Weight:  578]
-T:  64 > new addToPool [Mail Item:: ID:    157 | Arrival:   64 | Destination:  3 | Weight:  551]
-T:  64 > Delivered(  15) [Mail Item:: ID:    103 | Arrival:   42 | Destination: 12 | Weight:  323]
-T:  64 >   R2(0)-> [Mail Item:: ID:    128 | Arrival:   42 | Destination: 12 | Weight:  943]
-T:  65 > Delivered(  16) [Mail Item:: ID:     27 | Arrival:   33 | Destination: 11 | Weight:  923]
-T:  65 >   R0(0)-> [Mail Item:: ID:    113 | Arrival:   34 | Destination: 11 | Weight:  681]
-T:  65 > Delivered(  17) [Mail Item:: ID:    128 | Arrival:   42 | Destination: 12 | Weight:  943]
-T:  65 >   R2(0) changed from DELIVERING to RETURNING
-T:  66 > new addToPool [Mail Item:: ID:     70 | Arrival:   66 | Destination: 10 | Weight:  299]
-T:  66 > new addToPool [Mail Item:: ID:    111 | Arrival:   66 | Destination:  3 | Weight: 1479]
-T:  66 > Delivered(  18) [Mail Item:: ID:    113 | Arrival:   34 | Destination: 11 | Weight:  681]
-T:  66 >   R0(0) changed from DELIVERING to RETURNING
-T:  66 >   R1(0) changed from RETURNING to WAITING
-T:  67 >   R1(1) changed from WAITING to DELIVERING
-T:  67 >   R1(1)-> [Mail Item:: ID:    105 | Arrival:   55 | Destination: 12 | Weight:  799]
-T:  68 > new addToPool [Mail Item:: ID:     21 | Arrival:   68 | Destination: 12 | Weight:  992]
-T:  68 > new addToPool [Mail Item:: ID:    160 | Arrival:   68 | Destination:  6 | Weight:  832]
-T:  70 > new addToPool [Mail Item:: ID:     67 | Arrival:   70 | Destination: 11 | Weight: 1258]
-T:  71 > new addToPool [Mail Item:: ID:      8 | Arrival:   71 | Destination:  1 | Weight: 1615]
-T:  72 > new addToPool [Mail Item:: ID:     17 | Arrival:   72 | Destination:  7 | Weight:  480]
-T:  73 > new addToPool [Mail Item:: ID:     45 | Arrival:   73 | Destination:  9 | Weight:  205]
-T:  74 > new addToPool [Mail Item:: ID:      0 | Arrival:   74 | Destination: 12 | Weight: 1711]
-T:  74 > new addToPool [Mail Item:: ID:     95 | Arrival:   74 | Destination:  5 | Weight:  424]
-T:  77 > new addToPool [Mail Item:: ID:     66 | Arrival:   77 | Destination:  8 | Weight:  312]
-T:  77 >   R0(0) changed from RETURNING to WAITING
-T:  77 >   R2(0) changed from RETURNING to WAITING
-T:  78 > new addToPool [Mail Item:: ID:    147 | Arrival:   78 | Destination:  9 | Weight:  502]
-T:  78 >   R0(1) changed from WAITING to DELIVERING
-T:  78 >   R0(1)-> [Mail Item:: ID:     21 | Arrival:   68 | Destination: 12 | Weight:  992]
-T:  78 >   R2(1) changed from WAITING to DELIVERING
-T:  78 >   R2(1)-> [Mail Item:: ID:    146 | Arrival:   36 | Destination: 11 | Weight:  598]
-T:  79 > Delivered(  19) [Mail Item:: ID:    105 | Arrival:   55 | Destination: 12 | Weight:  799]
-T:  79 >   R1(0)-> [Mail Item:: ID:     94 | Arrival:   62 | Destination: 12 | Weight:  793]
-T:  80 > new addToPool [Mail Item:: ID:      2 | Arrival:   80 | Destination:  6 | Weight: 1422]
-T:  80 > new addToPool [Mail Item:: ID:    116 | Arrival:   80 | Destination:  7 | Weight:  252]
-T:  80 > Delivered(  20) [Mail Item:: ID:     94 | Arrival:   62 | Destination: 12 | Weight:  793]
-T:  80 >   R1(0) changed from DELIVERING to RETURNING
-T:  81 > new addToPool [Mail Item:: ID:     30 | Arrival:   81 | Destination:  3 | Weight:  590]
-T:  81 > new addToPool [Mail Item:: ID:     47 | Arrival:   81 | Destination:  8 | Weight:  450]
-T:  82 > new addToPool [Mail Item:: ID:    112 | Arrival:   82 | Destination:  8 | Weight: 2000]
-T:  82 > new addToPool [Mail Item:: ID:    120 | Arrival:   82 | Destination:  9 | Weight:  907]
-T:  83 > new addToPool [Mail Item:: ID:    106 | Arrival:   83 | Destination:  8 | Weight:  461]
-T:  84 > new addToPool [Mail Item:: ID:    158 | Arrival:   84 | Destination:  9 | Weight:  723]
-T:  85 > new addToPool [Mail Item:: ID:     83 | Arrival:   85 | Destination: 11 | Weight:  380]
-T:  85 > new addToPool [Mail Item:: ID:     86 | Arrival:   85 | Destination:  7 | Weight: 1137]
-T:  86 > new addToPool [Mail Item:: ID:    133 | Arrival:   86 | Destination:  3 | Weight:  743]
-T:  88 > new addToPool [Mail Item:: ID:    156 | Arrival:   88 | Destination:  8 | Weight:  703]
-T:  89 > new addToPool [Mail Item:: ID:    118 | Arrival:   89 | Destination:  2 | Weight: 1204]
-T:  89 > Delivered(  21) [Mail Item:: ID:    146 | Arrival:   36 | Destination: 11 | Weight:  598]
-T:  89 >   R2(0)-> [Mail Item:: ID:     58 | Arrival:   39 | Destination: 11 | Weight:  415]
-T:  90 > Delivered(  22) [Mail Item:: ID:     21 | Arrival:   68 | Destination: 12 | Weight:  992]
-T:  90 >   R0(0)-> [Mail Item:: ID:      0 | Arrival:   74 | Destination: 12 | Weight: 1711]
-T:  90 > Delivered(  23) [Mail Item:: ID:     58 | Arrival:   39 | Destination: 11 | Weight:  415]
-T:  90 >   R2(0) changed from DELIVERING to RETURNING
-T:  91 > Delivered(  24) [Mail Item:: ID:      0 | Arrival:   74 | Destination: 12 | Weight: 1711]
-T:  91 >   R0(0) changed from DELIVERING to RETURNING
-T:  92 >   R1(0) changed from RETURNING to WAITING
-T:  93 > new addToPool [Mail Item:: ID:     24 | Arrival:   93 | Destination: 10 | Weight: 1337]
-T:  93 >   R1(1) changed from WAITING to DELIVERING
-T:  93 >   R1(1)-> [Mail Item:: ID:    132 | Arrival:   41 | Destination: 11 | Weight: 1193]
-T:  94 > new addToPool [Mail Item:: ID:     59 | Arrival:   94 | Destination: 12 | Weight: 1790]
-T:  96 > new addToPool [Mail Item:: ID:     43 | Arrival:   96 | Destination:  7 | Weight: 1180]
-T:  96 > new addToPool [Mail Item:: ID:     77 | Arrival:   96 | Destination:  5 | Weight:  361]
-T:  97 > new addToPool [Mail Item:: ID:     19 | Arrival:   97 | Destination: 11 | Weight:  881]
-T:  97 > new addToPool [Mail Item:: ID:     75 | Arrival:   97 | Destination:  1 | Weight: 2000]
-T:  97 > new addToPool [Mail Item:: ID:    104 | Arrival:   97 | Destination:  2 | Weight:  778]
-T: 101 > new addToPool [Mail Item:: ID:      6 | Arrival:  101 | Destination:  5 | Weight: 1000]
-T: 101 > new addToPool [Mail Item:: ID:     37 | Arrival:  101 | Destination: 11 | Weight:  830]
-T: 101 > new addToPool [Mail Item:: ID:    127 | Arrival:  101 | Destination:  8 | Weight:  685]
-T: 101 > new addToPool [Mail Item:: ID:    138 | Arrival:  101 | Destination:  3 | Weight:  834]
-T: 101 >   R2(0) changed from RETURNING to WAITING
-T: 102 > new addToPool [Mail Item:: ID:     38 | Arrival:  102 | Destination: 10 | Weight:  685]
-T: 102 >   R2(1) changed from WAITING to DELIVERING
-T: 102 >   R2(1)-> [Mail Item:: ID:     59 | Arrival:   94 | Destination: 12 | Weight: 1790]
-T: 103 >   R0(0) changed from RETURNING to WAITING
-T: 104 > new addToPool [Mail Item:: ID:     31 | Arrival:  104 | Destination:  6 | Weight: 1107]
-T: 104 >   R0(1) changed from WAITING to DELIVERING
-T: 104 >   R0(1)-> [Mail Item:: ID:     67 | Arrival:   70 | Destination: 11 | Weight: 1258]
-T: 104 > Delivered(  25) [Mail Item:: ID:    132 | Arrival:   41 | Destination: 11 | Weight: 1193]
-T: 104 >   R1(0)-> [Mail Item:: ID:     20 | Arrival:   43 | Destination: 11 | Weight:  972]
-T: 105 > new addToPool [Mail Item:: ID:     28 | Arrival:  105 | Destination: 12 | Weight:  863]
-T: 105 > new addToPool [Mail Item:: ID:     87 | Arrival:  105 | Destination:  8 | Weight:  878]
-T: 105 > Delivered(  26) [Mail Item:: ID:     20 | Arrival:   43 | Destination: 11 | Weight:  972]
-T: 105 >   R1(0) changed from DELIVERING to RETURNING
-T: 106 > new addToPool [Mail Item:: ID:     32 | Arrival:  106 | Destination:  3 | Weight:  702]
-T: 108 > new addToPool [Mail Item:: ID:    125 | Arrival:  108 | Destination:  6 | Weight:  273]
-T: 108 > new addToPool [Mail Item:: ID:    154 | Arrival:  108 | Destination:  8 | Weight:  286]
-T: 109 > new addToPool [Mail Item:: ID:      4 | Arrival:  109 | Destination:  9 | Weight: 1030]
-T: 109 > new addToPool [Mail Item:: ID:     52 | Arrival:  109 | Destination:  3 | Weight:  308]
-T: 109 > new addToPool [Mail Item:: ID:     93 | Arrival:  109 | Destination:  4 | Weight:  702]
-T: 109 > new addToPool [Mail Item:: ID:    101 | Arrival:  109 | Destination:  8 | Weight:  373]
-T: 109 > new addToPool [Mail Item:: ID:    155 | Arrival:  109 | Destination:  8 | Weight: 2000]
-T: 110 > new addToPool [Mail Item:: ID:     60 | Arrival:  110 | Destination:  7 | Weight:  223]
-T: 111 > new addToPool [Mail Item:: ID:     53 | Arrival:  111 | Destination: 10 | Weight: 2000]
-T: 111 > new addToPool [Mail Item:: ID:     57 | Arrival:  111 | Destination:  1 | Weight: 1270]
-T: 112 > new addToPool [Mail Item:: ID:     55 | Arrival:  112 | Destination: 10 | Weight: 1743]
-T: 112 > new addToPool [Mail Item:: ID:    145 | Arrival:  112 | Destination: 10 | Weight:  686]
-T: 113 > new addToPool [Mail Item:: ID:     25 | Arrival:  113 | Destination: 12 | Weight:  793]
-T: 114 > Delivered(  27) [Mail Item:: ID:     59 | Arrival:   94 | Destination: 12 | Weight: 1790]
-T: 114 >   R2(0)-> [Mail Item:: ID:     29 | Arrival:   63 | Destination: 11 | Weight:  842]
-T: 115 > new addToPool [Mail Item:: ID:    115 | Arrival:  115 | Destination: 11 | Weight:  980]
-T: 115 > new addToPool [Mail Item:: ID:    144 | Arrival:  115 | Destination:  1 | Weight:  405]
-T: 115 > Delivered(  28) [Mail Item:: ID:     67 | Arrival:   70 | Destination: 11 | Weight: 1258]
-T: 115 >   R0(0)-> [Mail Item:: ID:     83 | Arrival:   85 | Destination: 11 | Weight:  380]
-T: 116 > new addToPool [Mail Item:: ID:     11 | Arrival:  116 | Destination:  9 | Weight:  879]
-T: 116 > Delivered(  29) [Mail Item:: ID:     83 | Arrival:   85 | Destination: 11 | Weight:  380]
-T: 116 >   R0(0) changed from DELIVERING to RETURNING
-T: 116 >   R1(0) changed from RETURNING to WAITING
-T: 116 > Delivered(  30) [Mail Item:: ID:     29 | Arrival:   63 | Destination: 11 | Weight:  842]
-T: 116 >   R2(0) changed from DELIVERING to RETURNING
-T: 117 > new addToPool [Mail Item:: ID:     26 | Arrival:  117 | Destination:  4 | Weight: 1164]
-T: 117 > new addToPool [Mail Item:: ID:     48 | Arrival:  117 | Destination:  7 | Weight:  412]
-T: 117 >   R1(1) changed from WAITING to DELIVERING
-T: 117 >   R1(1)-> [Mail Item:: ID:     28 | Arrival:  105 | Destination: 12 | Weight:  863]
-T: 118 > new addToPool [Mail Item:: ID:     39 | Arrival:  118 | Destination:  4 | Weight: 1282]
-T: 118 > new addToPool [Mail Item:: ID:    135 | Arrival:  118 | Destination:  3 | Weight:  373]
-T: 119 > new addToPool [Mail Item:: ID:     61 | Arrival:  119 | Destination:  2 | Weight:  747]
-T: 120 > new addToPool [Mail Item:: ID:      9 | Arrival:  120 | Destination:  5 | Weight:  678]
-T: 120 > new addToPool [Mail Item:: ID:     92 | Arrival:  120 | Destination:  2 | Weight: 1185]
-T: 120 > new addToPool [Mail Item:: ID:    151 | Arrival:  120 | Destination: 10 | Weight: 1552]
-T: 127 >   R0(0) changed from RETURNING to WAITING
-T: 127 >   R2(0) changed from RETURNING to WAITING
-T: 128 >   R0(1) changed from WAITING to DELIVERING
-T: 128 >   R0(1)-> [Mail Item:: ID:     19 | Arrival:   97 | Destination: 11 | Weight:  881]
-T: 128 >   R2(1) changed from WAITING to DELIVERING
-T: 128 >   R2(1)-> [Mail Item:: ID:    115 | Arrival:  115 | Destination: 11 | Weight:  980]
-T: 129 > Delivered(  31) [Mail Item:: ID:     28 | Arrival:  105 | Destination: 12 | Weight:  863]
-T: 129 >   R1(0)-> [Mail Item:: ID:     25 | Arrival:  113 | Destination: 12 | Weight:  793]
-T: 130 > Delivered(  32) [Mail Item:: ID:     25 | Arrival:  113 | Destination: 12 | Weight:  793]
-T: 130 >   R1(0) changed from DELIVERING to RETURNING
-T: 139 > Delivered(  33) [Mail Item:: ID:     19 | Arrival:   97 | Destination: 11 | Weight:  881]
-T: 139 >   R0(0)-> [Mail Item:: ID:     37 | Arrival:  101 | Destination: 11 | Weight:  830]
-T: 139 > Delivered(  34) [Mail Item:: ID:    115 | Arrival:  115 | Destination: 11 | Weight:  980]
-T: 139 >   R2(0)-> [Mail Item:: ID:    150 | Arrival:   15 | Destination: 10 | Weight:  846]
-T: 140 > Delivered(  35) [Mail Item:: ID:     37 | Arrival:  101 | Destination: 11 | Weight:  830]
-T: 140 >   R0(0) changed from DELIVERING to RETURNING
-T: 141 > Delivered(  36) [Mail Item:: ID:    150 | Arrival:   15 | Destination: 10 | Weight:  846]
-T: 141 >   R2(0) changed from DELIVERING to RETURNING
-T: 142 >   R1(0) changed from RETURNING to WAITING
-T: 143 >   R1(1) changed from WAITING to DELIVERING
-T: 143 >   R1(1)-> [Mail Item:: ID:    122 | Arrival:   21 | Destination: 10 | Weight: 1706]
-T: 151 >   R0(0) changed from RETURNING to WAITING
-T: 151 >   R2(0) changed from RETURNING to WAITING
-T: 152 >   R0(1) changed from WAITING to DELIVERING
-T: 152 >   R0(1)-> [Mail Item:: ID:      5 | Arrival:   28 | Destination: 10 | Weight: 1045]
-T: 152 >   R2(1) changed from WAITING to DELIVERING
-T: 152 >   R2(1)-> [Mail Item:: ID:     40 | Arrival:   61 | Destination: 10 | Weight: 1604]
-T: 153 > Delivered(  37) [Mail Item:: ID:    122 | Arrival:   21 | Destination: 10 | Weight: 1706]
-T: 153 >   R1(0)-> [Mail Item:: ID:    117 | Arrival:   25 | Destination: 10 | Weight: 1152]
-T: 154 > Delivered(  38) [Mail Item:: ID:    117 | Arrival:   25 | Destination: 10 | Weight: 1152]
-T: 154 >   R1(0) changed from DELIVERING to RETURNING
-T: 162 > Delivered(  39) [Mail Item:: ID:      5 | Arrival:   28 | Destination: 10 | Weight: 1045]
-T: 162 >   R0(0)-> [Mail Item:: ID:     13 | Arrival:   29 | Destination: 10 | Weight:  564]
-T: 162 > Delivered(  40) [Mail Item:: ID:     40 | Arrival:   61 | Destination: 10 | Weight: 1604]
-T: 162 >   R2(0)-> [Mail Item:: ID:     91 | Arrival:   64 | Destination: 10 | Weight:  578]
-T: 163 > Delivered(  41) [Mail Item:: ID:     13 | Arrival:   29 | Destination: 10 | Weight:  564]
-T: 163 >   R0(0) changed from DELIVERING to RETURNING
-T: 163 > Delivered(  42) [Mail Item:: ID:     91 | Arrival:   64 | Destination: 10 | Weight:  578]
-T: 163 >   R2(0) changed from DELIVERING to RETURNING
-T: 164 >   R1(0) changed from RETURNING to WAITING
-T: 165 >   R1(1) changed from WAITING to DELIVERING
-T: 165 >   R1(1)-> [Mail Item:: ID:     70 | Arrival:   66 | Destination: 10 | Weight:  299]
-T: 173 >   R0(0) changed from RETURNING to WAITING
-T: 173 >   R2(0) changed from RETURNING to WAITING
-T: 174 >   R0(1) changed from WAITING to DELIVERING
-T: 174 >   R0(1)-> [Mail Item:: ID:     38 | Arrival:  102 | Destination: 10 | Weight:  685]
-T: 174 >   R2(1) changed from WAITING to DELIVERING
-T: 174 >   R2(1)-> [Mail Item:: ID:     55 | Arrival:  112 | Destination: 10 | Weight: 1743]
-T: 175 > Delivered(  43) [Mail Item:: ID:     70 | Arrival:   66 | Destination: 10 | Weight:  299]
-T: 175 >   R1(0)-> [Mail Item:: ID:     24 | Arrival:   93 | Destination: 10 | Weight: 1337]
-T: 176 > Delivered(  44) [Mail Item:: ID:     24 | Arrival:   93 | Destination: 10 | Weight: 1337]
-T: 176 >   R1(0) changed from DELIVERING to RETURNING
-T: 184 > Delivered(  45) [Mail Item:: ID:     38 | Arrival:  102 | Destination: 10 | Weight:  685]
-T: 184 >   R0(0)-> [Mail Item:: ID:     53 | Arrival:  111 | Destination: 10 | Weight: 2000]
-T: 184 > Delivered(  46) [Mail Item:: ID:     55 | Arrival:  112 | Destination: 10 | Weight: 1743]
-T: 184 >   R2(0)-> [Mail Item:: ID:    145 | Arrival:  112 | Destination: 10 | Weight:  686]
-T: 185 > Delivered(  47) [Mail Item:: ID:     53 | Arrival:  111 | Destination: 10 | Weight: 2000]
-T: 185 >   R0(0) changed from DELIVERING to RETURNING
-T: 185 > Delivered(  48) [Mail Item:: ID:    145 | Arrival:  112 | Destination: 10 | Weight:  686]
-T: 185 >   R2(0) changed from DELIVERING to RETURNING
-T: 186 >   R1(0) changed from RETURNING to WAITING
-T: 187 >   R1(1) changed from WAITING to DELIVERING
-T: 187 >   R1(1)-> [Mail Item:: ID:    151 | Arrival:  120 | Destination: 10 | Weight: 1552]
-T: 195 >   R0(0) changed from RETURNING to WAITING
-T: 195 >   R2(0) changed from RETURNING to WAITING
-T: 196 >   R0(1) changed from WAITING to DELIVERING
-T: 196 >   R0(1)-> [Mail Item:: ID:    134 | Arrival:   13 | Destination:  9 | Weight: 1729]
-T: 196 >   R2(1) changed from WAITING to DELIVERING
-T: 196 >   R2(1)-> [Mail Item:: ID:     68 | Arrival:   32 | Destination:  9 | Weight: 1581]
-T: 197 > Delivered(  49) [Mail Item:: ID:    151 | Arrival:  120 | Destination: 10 | Weight: 1552]
-T: 197 >   R1(0)-> [Mail Item:: ID:     97 | Arrival:   13 | Destination:  9 | Weight:  825]
-T: 199 > Delivered(  50) [Mail Item:: ID:     97 | Arrival:   13 | Destination:  9 | Weight:  825]
-T: 199 >   R1(0) changed from DELIVERING to RETURNING
-T: 205 > Delivered(  51) [Mail Item:: ID:    134 | Arrival:   13 | Destination:  9 | Weight: 1729]
-T: 205 >   R0(0)-> [Mail Item:: ID:     56 | Arrival:   17 | Destination:  9 | Weight: 1298]
-T: 205 > Delivered(  52) [Mail Item:: ID:     68 | Arrival:   32 | Destination:  9 | Weight: 1581]
-T: 205 >   R2(0)-> [Mail Item:: ID:    110 | Arrival:   34 | Destination:  9 | Weight: 1265]
-T: 206 > Delivered(  53) [Mail Item:: ID:     56 | Arrival:   17 | Destination:  9 | Weight: 1298]
-T: 206 >   R0(0) changed from DELIVERING to RETURNING
-T: 206 > Delivered(  54) [Mail Item:: ID:    110 | Arrival:   34 | Destination:  9 | Weight: 1265]
-T: 206 >   R2(0) changed from DELIVERING to RETURNING
-T: 208 >   R1(0) changed from RETURNING to WAITING
-T: 209 >   R1(1) changed from WAITING to DELIVERING
-T: 209 >   R1(1)-> [Mail Item:: ID:    143 | Arrival:   37 | Destination:  9 | Weight:  227]
-T: 215 >   R0(0) changed from RETURNING to WAITING
-T: 215 >   R2(0) changed from RETURNING to WAITING
-T: 216 >   R0(1) changed from WAITING to DELIVERING
-T: 216 >   R0(1)-> [Mail Item:: ID:     89 | Arrival:   55 | Destination:  9 | Weight: 1749]
-T: 216 >   R2(1) changed from WAITING to DELIVERING
-T: 216 >   R2(1)-> [Mail Item:: ID:    147 | Arrival:   78 | Destination:  9 | Weight:  502]
-T: 218 > Delivered(  55) [Mail Item:: ID:    143 | Arrival:   37 | Destination:  9 | Weight:  227]
-T: 218 >   R1(0)-> [Mail Item:: ID:     44 | Arrival:   38 | Destination:  9 | Weight:  653]
-T: 219 > Delivered(  56) [Mail Item:: ID:     44 | Arrival:   38 | Destination:  9 | Weight:  653]
-T: 219 >   R1(0) changed from DELIVERING to RETURNING
-T: 225 > Delivered(  57) [Mail Item:: ID:     89 | Arrival:   55 | Destination:  9 | Weight: 1749]
-T: 225 >   R0(0)-> [Mail Item:: ID:     45 | Arrival:   73 | Destination:  9 | Weight:  205]
-T: 225 > Delivered(  58) [Mail Item:: ID:    147 | Arrival:   78 | Destination:  9 | Weight:  502]
-T: 225 >   R2(0)-> [Mail Item:: ID:    120 | Arrival:   82 | Destination:  9 | Weight:  907]
-T: 226 > Delivered(  59) [Mail Item:: ID:     45 | Arrival:   73 | Destination:  9 | Weight:  205]
-T: 226 >   R0(0) changed from DELIVERING to RETURNING
-T: 226 > Delivered(  60) [Mail Item:: ID:    120 | Arrival:   82 | Destination:  9 | Weight:  907]
-T: 226 >   R2(0) changed from DELIVERING to RETURNING
-T: 228 >   R1(0) changed from RETURNING to WAITING
-T: 229 >   R1(1) changed from WAITING to DELIVERING
-T: 229 >   R1(1)-> [Mail Item:: ID:    158 | Arrival:   84 | Destination:  9 | Weight:  723]
-T: 235 >   R0(0) changed from RETURNING to WAITING
-T: 235 >   R2(0) changed from RETURNING to WAITING
-T: 236 >   R0(1) changed from WAITING to DELIVERING
-T: 236 >   R0(1)-> [Mail Item:: ID:     11 | Arrival:  116 | Destination:  9 | Weight:  879]
-T: 236 >   R2(1) changed from WAITING to DELIVERING
-T: 236 >   R2(1)-> [Mail Item:: ID:    109 | Arrival:   49 | Destination:  8 | Weight:  446]
-T: 238 > Delivered(  61) [Mail Item:: ID:    158 | Arrival:   84 | Destination:  9 | Weight:  723]
-T: 238 >   R1(0)-> [Mail Item:: ID:      4 | Arrival:  109 | Destination:  9 | Weight: 1030]
-T: 239 > Delivered(  62) [Mail Item:: ID:      4 | Arrival:  109 | Destination:  9 | Weight: 1030]
-T: 239 >   R1(0) changed from DELIVERING to RETURNING
-T: 244 > Delivered(  63) [Mail Item:: ID:    109 | Arrival:   49 | Destination:  8 | Weight:  446]
-T: 244 >   R2(0)-> [Mail Item:: ID:    159 | Arrival:   63 | Destination:  8 | Weight:  690]
-T: 245 > Delivered(  64) [Mail Item:: ID:     11 | Arrival:  116 | Destination:  9 | Weight:  879]
-T: 245 >   R0(0)-> [Mail Item:: ID:     78 | Arrival:   37 | Destination:  8 | Weight:  973]
-T: 245 > Delivered(  65) [Mail Item:: ID:    159 | Arrival:   63 | Destination:  8 | Weight:  690]
-T: 245 >   R2(0) changed from DELIVERING to RETURNING
-T: 247 > Delivered(  66) [Mail Item:: ID:     78 | Arrival:   37 | Destination:  8 | Weight:  973]
-T: 247 >   R0(0) changed from DELIVERING to RETURNING
-T: 248 >   R1(0) changed from RETURNING to WAITING
-T: 249 >   R1(1) changed from WAITING to DELIVERING
-T: 249 >   R1(1)-> [Mail Item:: ID:     66 | Arrival:   77 | Destination:  8 | Weight:  312]
-T: 253 >   R2(0) changed from RETURNING to WAITING
-T: 254 >   R2(1) changed from WAITING to DELIVERING
-T: 254 >   R2(1)-> [Mail Item:: ID:    112 | Arrival:   82 | Destination:  8 | Weight: 2000]
-T: 255 >   R0(0) changed from RETURNING to WAITING
-T: 256 >   R0(1) changed from WAITING to DELIVERING
-T: 256 >   R0(1)-> [Mail Item:: ID:    156 | Arrival:   88 | Destination:  8 | Weight:  703]
-T: 257 > Delivered(  67) [Mail Item:: ID:     66 | Arrival:   77 | Destination:  8 | Weight:  312]
-T: 257 >   R1(0)-> [Mail Item:: ID:     47 | Arrival:   81 | Destination:  8 | Weight:  450]
-T: 258 > Delivered(  68) [Mail Item:: ID:     47 | Arrival:   81 | Destination:  8 | Weight:  450]
-T: 258 >   R1(0) changed from DELIVERING to RETURNING
-T: 262 > Delivered(  69) [Mail Item:: ID:    112 | Arrival:   82 | Destination:  8 | Weight: 2000]
-T: 262 >   R2(0)-> [Mail Item:: ID:    106 | Arrival:   83 | Destination:  8 | Weight:  461]
-T: 263 > Delivered(  70) [Mail Item:: ID:    106 | Arrival:   83 | Destination:  8 | Weight:  461]
-T: 263 >   R2(0) changed from DELIVERING to RETURNING
-T: 264 > Delivered(  71) [Mail Item:: ID:    156 | Arrival:   88 | Destination:  8 | Weight:  703]
-T: 264 >   R0(0)-> [Mail Item:: ID:    127 | Arrival:  101 | Destination:  8 | Weight:  685]
-T: 265 > Delivered(  72) [Mail Item:: ID:    127 | Arrival:  101 | Destination:  8 | Weight:  685]
-T: 265 >   R0(0) changed from DELIVERING to RETURNING
-T: 266 >   R1(0) changed from RETURNING to WAITING
-T: 267 >   R1(1) changed from WAITING to DELIVERING
-T: 267 >   R1(1)-> [Mail Item:: ID:     87 | Arrival:  105 | Destination:  8 | Weight:  878]
-T: 271 >   R2(0) changed from RETURNING to WAITING
-T: 272 >   R2(1) changed from WAITING to DELIVERING
-T: 272 >   R2(1)-> [Mail Item:: ID:    101 | Arrival:  109 | Destination:  8 | Weight:  373]
-T: 273 >   R0(0) changed from RETURNING to WAITING
-T: 274 >   R0(1) changed from WAITING to DELIVERING
-T: 274 >   R0(1)-> [Mail Item:: ID:    137 | Arrival:   12 | Destination:  7 | Weight: 2000]
-T: 275 > Delivered(  73) [Mail Item:: ID:     87 | Arrival:  105 | Destination:  8 | Weight:  878]
-T: 275 >   R1(0)-> [Mail Item:: ID:    154 | Arrival:  108 | Destination:  8 | Weight:  286]
-T: 276 > Delivered(  74) [Mail Item:: ID:    154 | Arrival:  108 | Destination:  8 | Weight:  286]
-T: 276 >   R1(0) changed from DELIVERING to RETURNING
-T: 280 > Delivered(  75) [Mail Item:: ID:    101 | Arrival:  109 | Destination:  8 | Weight:  373]
-T: 280 >   R2(0)-> [Mail Item:: ID:    155 | Arrival:  109 | Destination:  8 | Weight: 2000]
-T: 281 > Delivered(  76) [Mail Item:: ID:    137 | Arrival:   12 | Destination:  7 | Weight: 2000]
-T: 281 >   R0(0)-> [Mail Item:: ID:     64 | Arrival:   16 | Destination:  7 | Weight: 1146]
-T: 281 > Delivered(  77) [Mail Item:: ID:    155 | Arrival:  109 | Destination:  8 | Weight: 2000]
-T: 281 >   R2(0) changed from DELIVERING to RETURNING
-T: 282 > Delivered(  78) [Mail Item:: ID:     64 | Arrival:   16 | Destination:  7 | Weight: 1146]
-T: 282 >   R0(0) changed from DELIVERING to RETURNING
-T: 284 >   R1(0) changed from RETURNING to WAITING
-T: 285 >   R1(1) changed from WAITING to DELIVERING
-T: 285 >   R1(1)-> [Mail Item:: ID:    124 | Arrival:   16 | Destination:  7 | Weight: 1580]
-T: 289 >   R0(0) changed from RETURNING to WAITING
-T: 289 >   R2(0) changed from RETURNING to WAITING
-T: 290 >   R0(1) changed from WAITING to DELIVERING
-T: 290 >   R0(1)-> [Mail Item:: ID:    140 | Arrival:   35 | Destination:  7 | Weight: 1468]
-T: 290 >   R2(1) changed from WAITING to DELIVERING
-T: 290 >   R2(1)-> [Mail Item:: ID:     35 | Arrival:   58 | Destination:  7 | Weight:  804]
-T: 292 > Delivered(  79) [Mail Item:: ID:    124 | Arrival:   16 | Destination:  7 | Weight: 1580]
-T: 292 >   R1(0)-> [Mail Item:: ID:     34 | Arrival:   22 | Destination:  7 | Weight:  245]
-T: 293 > Delivered(  80) [Mail Item:: ID:     34 | Arrival:   22 | Destination:  7 | Weight:  245]
-T: 293 >   R1(0) changed from DELIVERING to RETURNING
-T: 297 > Delivered(  81) [Mail Item:: ID:    140 | Arrival:   35 | Destination:  7 | Weight: 1468]
-T: 297 >   R0(0)-> [Mail Item:: ID:     65 | Arrival:   57 | Destination:  7 | Weight:  361]
-T: 297 > Delivered(  82) [Mail Item:: ID:     35 | Arrival:   58 | Destination:  7 | Weight:  804]
-T: 297 >   R2(0)-> [Mail Item:: ID:     98 | Arrival:   61 | Destination:  7 | Weight: 1029]
-T: 298 > Delivered(  83) [Mail Item:: ID:     65 | Arrival:   57 | Destination:  7 | Weight:  361]
-T: 298 >   R0(0) changed from DELIVERING to RETURNING
-T: 298 > Delivered(  84) [Mail Item:: ID:     98 | Arrival:   61 | Destination:  7 | Weight: 1029]
-T: 298 >   R2(0) changed from DELIVERING to RETURNING
-T: 300 >   R1(0) changed from RETURNING to WAITING
-T: 301 >   R1(1) changed from WAITING to DELIVERING
-T: 301 >   R1(1)-> [Mail Item:: ID:     17 | Arrival:   72 | Destination:  7 | Weight:  480]
-T: 305 >   R0(0) changed from RETURNING to WAITING
-T: 305 >   R2(0) changed from RETURNING to WAITING
-T: 306 >   R0(1) changed from WAITING to DELIVERING
-T: 306 >   R0(1)-> [Mail Item:: ID:     86 | Arrival:   85 | Destination:  7 | Weight: 1137]
-T: 306 >   R2(1) changed from WAITING to DELIVERING
-T: 306 >   R2(1)-> [Mail Item:: ID:     60 | Arrival:  110 | Destination:  7 | Weight:  223]
-T: 308 > Delivered(  85) [Mail Item:: ID:     17 | Arrival:   72 | Destination:  7 | Weight:  480]
-T: 308 >   R1(0)-> [Mail Item:: ID:    116 | Arrival:   80 | Destination:  7 | Weight:  252]
-T: 309 > Delivered(  86) [Mail Item:: ID:    116 | Arrival:   80 | Destination:  7 | Weight:  252]
-T: 309 >   R1(0) changed from DELIVERING to RETURNING
-T: 313 > Delivered(  87) [Mail Item:: ID:     86 | Arrival:   85 | Destination:  7 | Weight: 1137]
-T: 313 >   R0(0)-> [Mail Item:: ID:     43 | Arrival:   96 | Destination:  7 | Weight: 1180]
-T: 313 > Delivered(  88) [Mail Item:: ID:     60 | Arrival:  110 | Destination:  7 | Weight:  223]
-T: 313 >   R2(0)-> [Mail Item:: ID:     48 | Arrival:  117 | Destination:  7 | Weight:  412]
-T: 314 > Delivered(  89) [Mail Item:: ID:     43 | Arrival:   96 | Destination:  7 | Weight: 1180]
-T: 314 >   R0(0) changed from DELIVERING to RETURNING
-T: 314 > Delivered(  90) [Mail Item:: ID:     48 | Arrival:  117 | Destination:  7 | Weight:  412]
-T: 314 >   R2(0) changed from DELIVERING to RETURNING
-T: 316 >   R1(0) changed from RETURNING to WAITING
-T: 317 >   R1(1) changed from WAITING to DELIVERING
-T: 317 >   R1(1)-> [Mail Item:: ID:     15 | Arrival:   15 | Destination:  6 | Weight:  847]
-T: 321 >   R0(0) changed from RETURNING to WAITING
-T: 321 >   R2(0) changed from RETURNING to WAITING
-T: 322 >   R0(1) changed from WAITING to DELIVERING
-T: 322 >   R0(1)-> [Mail Item:: ID:     90 | Arrival:   16 | Destination:  6 | Weight: 1392]
-T: 322 >   R2(1) changed from WAITING to DELIVERING
-T: 322 >   R2(1)-> [Mail Item:: ID:     33 | Arrival:   25 | Destination:  6 | Weight: 1819]
-T: 323 > Delivered(  91) [Mail Item:: ID:     15 | Arrival:   15 | Destination:  6 | Weight:  847]
-T: 323 >   R1(0)-> [Mail Item:: ID:     12 | Arrival:   16 | Destination:  6 | Weight: 1193]
-T: 324 > Delivered(  92) [Mail Item:: ID:     12 | Arrival:   16 | Destination:  6 | Weight: 1193]
-T: 324 >   R1(0) changed from DELIVERING to RETURNING
-T: 328 > Delivered(  93) [Mail Item:: ID:     90 | Arrival:   16 | Destination:  6 | Weight: 1392]
-T: 328 >   R0(0)-> [Mail Item:: ID:     82 | Arrival:   23 | Destination:  6 | Weight: 1348]
-T: 328 > Delivered(  94) [Mail Item:: ID:     33 | Arrival:   25 | Destination:  6 | Weight: 1819]
-T: 328 >   R2(0)-> [Mail Item:: ID:    149 | Arrival:   30 | Destination:  6 | Weight:  436]
-T: 329 > Delivered(  95) [Mail Item:: ID:     82 | Arrival:   23 | Destination:  6 | Weight: 1348]
-T: 329 >   R0(0) changed from DELIVERING to RETURNING
-T: 329 > Delivered(  96) [Mail Item:: ID:    149 | Arrival:   30 | Destination:  6 | Weight:  436]
-T: 329 >   R2(0) changed from DELIVERING to RETURNING
-T: 330 >   R1(0) changed from RETURNING to WAITING
-T: 331 >   R1(1) changed from WAITING to DELIVERING
-T: 331 >   R1(1)-> [Mail Item:: ID:    136 | Arrival:   36 | Destination:  6 | Weight: 1494]
-T: 335 >   R0(0) changed from RETURNING to WAITING
-T: 335 >   R2(0) changed from RETURNING to WAITING
-T: 336 >   R0(1) changed from WAITING to DELIVERING
-T: 336 >   R0(1)-> [Mail Item:: ID:     84 | Arrival:   57 | Destination:  6 | Weight:  697]
-T: 336 >   R2(1) changed from WAITING to DELIVERING
-T: 336 >   R2(1)-> [Mail Item:: ID:    126 | Arrival:   61 | Destination:  6 | Weight: 1101]
-T: 337 > Delivered(  97) [Mail Item:: ID:    136 | Arrival:   36 | Destination:  6 | Weight: 1494]
-T: 337 >   R1(0)-> [Mail Item:: ID:     18 | Arrival:   49 | Destination:  6 | Weight:  706]
-T: 338 > Delivered(  98) [Mail Item:: ID:     18 | Arrival:   49 | Destination:  6 | Weight:  706]
-T: 338 >   R1(0) changed from DELIVERING to RETURNING
-T: 342 > Delivered(  99) [Mail Item:: ID:     84 | Arrival:   57 | Destination:  6 | Weight:  697]
-T: 342 >   R0(0)-> [Mail Item:: ID:     50 | Arrival:   61 | Destination:  6 | Weight:  570]
-T: 342 > Delivered( 100) [Mail Item:: ID:    126 | Arrival:   61 | Destination:  6 | Weight: 1101]
-T: 342 >   R2(0)-> [Mail Item:: ID:    160 | Arrival:   68 | Destination:  6 | Weight:  832]
-T: 343 > Delivered( 101) [Mail Item:: ID:     50 | Arrival:   61 | Destination:  6 | Weight:  570]
-T: 343 >   R0(0) changed from DELIVERING to RETURNING
-T: 343 > Delivered( 102) [Mail Item:: ID:    160 | Arrival:   68 | Destination:  6 | Weight:  832]
-T: 343 >   R2(0) changed from DELIVERING to RETURNING
-T: 344 >   R1(0) changed from RETURNING to WAITING
-T: 345 >   R1(1) changed from WAITING to DELIVERING
-T: 345 >   R1(1)-> [Mail Item:: ID:      2 | Arrival:   80 | Destination:  6 | Weight: 1422]
-T: 349 >   R0(0) changed from RETURNING to WAITING
-T: 349 >   R2(0) changed from RETURNING to WAITING
-T: 350 >   R0(1) changed from WAITING to DELIVERING
-T: 350 >   R0(1)-> [Mail Item:: ID:    125 | Arrival:  108 | Destination:  6 | Weight:  273]
-T: 350 >   R2(1) changed from WAITING to DELIVERING
-T: 350 >   R2(1)-> [Mail Item:: ID:     63 | Arrival:   17 | Destination:  5 | Weight: 2000]
-T: 351 > Delivered( 103) [Mail Item:: ID:      2 | Arrival:   80 | Destination:  6 | Weight: 1422]
-T: 351 >   R1(0)-> [Mail Item:: ID:     31 | Arrival:  104 | Destination:  6 | Weight: 1107]
-T: 352 > Delivered( 104) [Mail Item:: ID:     31 | Arrival:  104 | Destination:  6 | Weight: 1107]
-T: 352 >   R1(0) changed from DELIVERING to RETURNING
-T: 355 > Delivered( 105) [Mail Item:: ID:     63 | Arrival:   17 | Destination:  5 | Weight: 2000]
-T: 355 >   R2(0)-> [Mail Item:: ID:     42 | Arrival:   21 | Destination:  5 | Weight:  215]
-T: 356 > Delivered( 106) [Mail Item:: ID:    125 | Arrival:  108 | Destination:  6 | Weight:  273]
-T: 356 >   R0(0)-> [Mail Item:: ID:    130 | Arrival:   16 | Destination:  5 | Weight: 1580]
-T: 356 > Delivered( 107) [Mail Item:: ID:     42 | Arrival:   21 | Destination:  5 | Weight:  215]
-T: 356 >   R2(0) changed from DELIVERING to RETURNING
-T: 358 > Delivered( 108) [Mail Item:: ID:    130 | Arrival:   16 | Destination:  5 | Weight: 1580]
-T: 358 >   R0(0) changed from DELIVERING to RETURNING
-T: 358 >   R1(0) changed from RETURNING to WAITING
-T: 359 >   R1(1) changed from WAITING to DELIVERING
-T: 359 >   R1(1)-> [Mail Item:: ID:    141 | Arrival:   43 | Destination:  5 | Weight:  362]
-T: 361 >   R2(0) changed from RETURNING to WAITING
-T: 362 >   R2(1) changed from WAITING to DELIVERING
-T: 362 >   R2(1)-> [Mail Item:: ID:     49 | Arrival:   64 | Destination:  5 | Weight: 2000]
-T: 363 >   R0(0) changed from RETURNING to WAITING
-T: 364 >   R0(1) changed from WAITING to DELIVERING
-T: 364 >   R0(1)-> [Mail Item:: ID:     77 | Arrival:   96 | Destination:  5 | Weight:  361]
-T: 364 > Delivered( 109) [Mail Item:: ID:    141 | Arrival:   43 | Destination:  5 | Weight:  362]
-T: 364 >   R1(0)-> [Mail Item:: ID:     16 | Arrival:   52 | Destination:  5 | Weight: 2000]
-T: 365 > Delivered( 110) [Mail Item:: ID:     16 | Arrival:   52 | Destination:  5 | Weight: 2000]
-T: 365 >   R1(0) changed from DELIVERING to RETURNING
-T: 367 > Delivered( 111) [Mail Item:: ID:     49 | Arrival:   64 | Destination:  5 | Weight: 2000]
-T: 367 >   R2(0)-> [Mail Item:: ID:     95 | Arrival:   74 | Destination:  5 | Weight:  424]
-T: 368 > Delivered( 112) [Mail Item:: ID:     95 | Arrival:   74 | Destination:  5 | Weight:  424]
-T: 368 >   R2(0) changed from DELIVERING to RETURNING
-T: 369 > Delivered( 113) [Mail Item:: ID:     77 | Arrival:   96 | Destination:  5 | Weight:  361]
-T: 369 >   R0(0)-> [Mail Item:: ID:      6 | Arrival:  101 | Destination:  5 | Weight: 1000]
-T: 370 > Delivered( 114) [Mail Item:: ID:      6 | Arrival:  101 | Destination:  5 | Weight: 1000]
-T: 370 >   R0(0) changed from DELIVERING to RETURNING
-T: 370 >   R1(0) changed from RETURNING to WAITING
-T: 371 >   R1(1) changed from WAITING to DELIVERING
-T: 371 >   R1(1)-> [Mail Item:: ID:      9 | Arrival:  120 | Destination:  5 | Weight:  678]
-T: 373 >   R2(0) changed from RETURNING to WAITING
-T: 374 >   R2(1) changed from WAITING to DELIVERING
-T: 374 >   R2(1)-> [Mail Item:: ID:      1 | Arrival:   15 | Destination:  4 | Weight: 1198]
-T: 375 >   R0(0) changed from RETURNING to WAITING
-T: 376 >   R0(1) changed from WAITING to DELIVERING
-T: 376 >   R0(1)-> [Mail Item:: ID:     79 | Arrival:   18 | Destination:  4 | Weight: 2000]
-T: 376 > Delivered( 115) [Mail Item:: ID:      9 | Arrival:  120 | Destination:  5 | Weight:  678]
-T: 376 >   R1(0)-> [Mail Item:: ID:    121 | Arrival:   14 | Destination:  4 | Weight: 1538]
-T: 378 > Delivered( 116) [Mail Item:: ID:    121 | Arrival:   14 | Destination:  4 | Weight: 1538]
-T: 378 >   R1(0) changed from DELIVERING to RETURNING
-T: 378 > Delivered( 117) [Mail Item:: ID:      1 | Arrival:   15 | Destination:  4 | Weight: 1198]
-T: 378 >   R2(0)-> [Mail Item:: ID:     51 | Arrival:   15 | Destination:  4 | Weight:  933]
-T: 379 > Delivered( 118) [Mail Item:: ID:     51 | Arrival:   15 | Destination:  4 | Weight:  933]
-T: 379 >   R2(0) changed from DELIVERING to RETURNING
-T: 380 > Delivered( 119) [Mail Item:: ID:     79 | Arrival:   18 | Destination:  4 | Weight: 2000]
-T: 380 >   R0(0)-> [Mail Item:: ID:    107 | Arrival:   22 | Destination:  4 | Weight: 1290]
-T: 381 > Delivered( 120) [Mail Item:: ID:    107 | Arrival:   22 | Destination:  4 | Weight: 1290]
-T: 381 >   R0(0) changed from DELIVERING to RETURNING
-T: 382 >   R1(0) changed from RETURNING to WAITING
-T: 383 >   R1(1) changed from WAITING to DELIVERING
-T: 383 >   R1(1)-> [Mail Item:: ID:    100 | Arrival:   38 | Destination:  4 | Weight:  269]
-T: 383 >   R2(0) changed from RETURNING to WAITING
-T: 384 >   R2(1) changed from WAITING to DELIVERING
-T: 384 >   R2(1)-> [Mail Item:: ID:     71 | Arrival:   54 | Destination:  4 | Weight: 2000]
-T: 385 >   R0(0) changed from RETURNING to WAITING
-T: 386 >   R0(1) changed from WAITING to DELIVERING
-T: 386 >   R0(1)-> [Mail Item:: ID:     26 | Arrival:  117 | Destination:  4 | Weight: 1164]
-T: 387 > Delivered( 121) [Mail Item:: ID:    100 | Arrival:   38 | Destination:  4 | Weight:  269]
-T: 387 >   R1(0)-> [Mail Item:: ID:     76 | Arrival:   40 | Destination:  4 | Weight: 1385]
-T: 388 > Delivered( 122) [Mail Item:: ID:     76 | Arrival:   40 | Destination:  4 | Weight: 1385]
-T: 388 >   R1(0) changed from DELIVERING to RETURNING
-T: 388 > Delivered( 123) [Mail Item:: ID:     71 | Arrival:   54 | Destination:  4 | Weight: 2000]
-T: 388 >   R2(0)-> [Mail Item:: ID:     93 | Arrival:  109 | Destination:  4 | Weight:  702]
-T: 389 > Delivered( 124) [Mail Item:: ID:     93 | Arrival:  109 | Destination:  4 | Weight:  702]
-T: 389 >   R2(0) changed from DELIVERING to RETURNING
-T: 390 > Delivered( 125) [Mail Item:: ID:     26 | Arrival:  117 | Destination:  4 | Weight: 1164]
-T: 390 >   R0(0)-> [Mail Item:: ID:     39 | Arrival:  118 | Destination:  4 | Weight: 1282]
-T: 391 > Delivered( 126) [Mail Item:: ID:     39 | Arrival:  118 | Destination:  4 | Weight: 1282]
-T: 391 >   R0(0) changed from DELIVERING to RETURNING
-T: 392 >   R1(0) changed from RETURNING to WAITING
-T: 393 >   R1(1) changed from WAITING to DELIVERING
-T: 393 >   R1(1)-> [Mail Item:: ID:    108 | Arrival:    5 | Destination:  3 | Weight:  478]
-T: 393 >   R2(0) changed from RETURNING to WAITING
-T: 394 >   R2(1) changed from WAITING to DELIVERING
-T: 394 >   R2(1)-> [Mail Item:: ID:     22 | Arrival:   19 | Destination:  3 | Weight: 1129]
-T: 395 >   R0(0) changed from RETURNING to WAITING
-T: 396 >   R0(1) changed from WAITING to DELIVERING
-T: 396 >   R0(1)-> [Mail Item:: ID:     14 | Arrival:   32 | Destination:  3 | Weight: 1598]
-T: 396 > Delivered( 127) [Mail Item:: ID:    108 | Arrival:    5 | Destination:  3 | Weight:  478]
-T: 396 >   R1(0)-> [Mail Item:: ID:     36 | Arrival:   12 | Destination:  3 | Weight:  710]
-T: 397 > Delivered( 128) [Mail Item:: ID:     36 | Arrival:   12 | Destination:  3 | Weight:  710]
-T: 397 >   R1(0) changed from DELIVERING to RETURNING
-T: 397 > Delivered( 129) [Mail Item:: ID:     22 | Arrival:   19 | Destination:  3 | Weight: 1129]
-T: 397 >   R2(0)-> [Mail Item:: ID:     62 | Arrival:   24 | Destination:  3 | Weight:  401]
-T: 398 > Delivered( 130) [Mail Item:: ID:     62 | Arrival:   24 | Destination:  3 | Weight:  401]
-T: 398 >   R2(0) changed from DELIVERING to RETURNING
-T: 399 > Delivered( 131) [Mail Item:: ID:     14 | Arrival:   32 | Destination:  3 | Weight: 1598]
-T: 399 >   R0(0)-> [Mail Item:: ID:     74 | Arrival:   39 | Destination:  3 | Weight:  787]
-T: 400 > Delivered( 132) [Mail Item:: ID:     74 | Arrival:   39 | Destination:  3 | Weight:  787]
-T: 400 >   R0(0) changed from DELIVERING to RETURNING
-T: 400 >   R1(0) changed from RETURNING to WAITING
-T: 401 >   R1(1) changed from WAITING to DELIVERING
-T: 401 >   R1(1)-> [Mail Item:: ID:     99 | Arrival:   49 | Destination:  3 | Weight: 1921]
-T: 401 >   R2(0) changed from RETURNING to WAITING
-T: 402 >   R2(1) changed from WAITING to DELIVERING
-T: 402 >   R2(1)-> [Mail Item:: ID:    157 | Arrival:   64 | Destination:  3 | Weight:  551]
-T: 403 >   R0(0) changed from RETURNING to WAITING
-T: 404 >   R0(1) changed from WAITING to DELIVERING
-T: 404 >   R0(1)-> [Mail Item:: ID:     30 | Arrival:   81 | Destination:  3 | Weight:  590]
-T: 404 > Delivered( 133) [Mail Item:: ID:     99 | Arrival:   49 | Destination:  3 | Weight: 1921]
-T: 404 >   R1(0)-> [Mail Item:: ID:      3 | Arrival:   62 | Destination:  3 | Weight:  678]
-T: 405 > Delivered( 134) [Mail Item:: ID:      3 | Arrival:   62 | Destination:  3 | Weight:  678]
-T: 405 >   R1(0) changed from DELIVERING to RETURNING
-T: 405 > Delivered( 135) [Mail Item:: ID:    157 | Arrival:   64 | Destination:  3 | Weight:  551]
-T: 405 >   R2(0)-> [Mail Item:: ID:    111 | Arrival:   66 | Destination:  3 | Weight: 1479]
-T: 406 > Delivered( 136) [Mail Item:: ID:    111 | Arrival:   66 | Destination:  3 | Weight: 1479]
-T: 406 >   R2(0) changed from DELIVERING to RETURNING
-T: 407 > Delivered( 137) [Mail Item:: ID:     30 | Arrival:   81 | Destination:  3 | Weight:  590]
-T: 407 >   R0(0)-> [Mail Item:: ID:    133 | Arrival:   86 | Destination:  3 | Weight:  743]
-T: 408 > Delivered( 138) [Mail Item:: ID:    133 | Arrival:   86 | Destination:  3 | Weight:  743]
-T: 408 >   R0(0) changed from DELIVERING to RETURNING
-T: 408 >   R1(0) changed from RETURNING to WAITING
-T: 409 >   R1(1) changed from WAITING to DELIVERING
-T: 409 >   R1(1)-> [Mail Item:: ID:    138 | Arrival:  101 | Destination:  3 | Weight:  834]
-T: 409 >   R2(0) changed from RETURNING to WAITING
-T: 410 >   R2(1) changed from WAITING to DELIVERING
-T: 410 >   R2(1)-> [Mail Item:: ID:     52 | Arrival:  109 | Destination:  3 | Weight:  308]
-T: 411 >   R0(0) changed from RETURNING to WAITING
-T: 412 >   R0(1) changed from WAITING to DELIVERING
-T: 412 >   R0(1)-> [Mail Item:: ID:    131 | Arrival:   18 | Destination:  2 | Weight: 1514]
-T: 412 > Delivered( 139) [Mail Item:: ID:    138 | Arrival:  101 | Destination:  3 | Weight:  834]
-T: 412 >   R1(0)-> [Mail Item:: ID:     32 | Arrival:  106 | Destination:  3 | Weight:  702]
-T: 413 > Delivered( 140) [Mail Item:: ID:     32 | Arrival:  106 | Destination:  3 | Weight:  702]
-T: 413 >   R1(0) changed from DELIVERING to RETURNING
-T: 413 > Delivered( 141) [Mail Item:: ID:     52 | Arrival:  109 | Destination:  3 | Weight:  308]
-T: 413 >   R2(0)-> [Mail Item:: ID:    135 | Arrival:  118 | Destination:  3 | Weight:  373]
-T: 414 > Delivered( 142) [Mail Item:: ID:    131 | Arrival:   18 | Destination:  2 | Weight: 1514]
-T: 414 >   R0(0)-> [Mail Item:: ID:    139 | Arrival:   28 | Destination:  2 | Weight:  603]
-T: 414 > Delivered( 143) [Mail Item:: ID:    135 | Arrival:  118 | Destination:  3 | Weight:  373]
-T: 414 >   R2(0) changed from DELIVERING to RETURNING
-T: 415 > Delivered( 144) [Mail Item:: ID:    139 | Arrival:   28 | Destination:  2 | Weight:  603]
-T: 415 >   R0(0) changed from DELIVERING to RETURNING
-T: 416 >   R1(0) changed from RETURNING to WAITING
-T: 417 >   R0(0) changed from RETURNING to WAITING
-T: 417 >   R1(1) changed from WAITING to DELIVERING
-T: 417 >   R1(1)-> [Mail Item:: ID:     54 | Arrival:   29 | Destination:  2 | Weight:  575]
-T: 417 >   R2(0) changed from RETURNING to WAITING
-T: 418 >   R0(1) changed from WAITING to DELIVERING
-T: 418 >   R0(1)-> [Mail Item:: ID:    142 | Arrival:   50 | Destination:  2 | Weight:  322]
-T: 418 >   R2(1) changed from WAITING to DELIVERING
-T: 418 >   R2(1)-> [Mail Item:: ID:    118 | Arrival:   89 | Destination:  2 | Weight: 1204]
-T: 419 > Delivered( 145) [Mail Item:: ID:     54 | Arrival:   29 | Destination:  2 | Weight:  575]
-T: 419 >   R1(0)-> [Mail Item:: ID:     81 | Arrival:   29 | Destination:  2 | Weight: 1748]
-T: 420 > Delivered( 146) [Mail Item:: ID:    142 | Arrival:   50 | Destination:  2 | Weight:  322]
-T: 420 >   R0(0)-> [Mail Item:: ID:     80 | Arrival:   51 | Destination:  2 | Weight:  535]
-T: 420 > Delivered( 147) [Mail Item:: ID:     81 | Arrival:   29 | Destination:  2 | Weight: 1748]
-T: 420 >   R1(0) changed from DELIVERING to RETURNING
-T: 420 > Delivered( 148) [Mail Item:: ID:    118 | Arrival:   89 | Destination:  2 | Weight: 1204]
-T: 420 >   R2(0)-> [Mail Item:: ID:    104 | Arrival:   97 | Destination:  2 | Weight:  778]
-T: 421 > Delivered( 149) [Mail Item:: ID:     80 | Arrival:   51 | Destination:  2 | Weight:  535]
-T: 421 >   R0(0) changed from DELIVERING to RETURNING
-T: 421 > Delivered( 150) [Mail Item:: ID:    104 | Arrival:   97 | Destination:  2 | Weight:  778]
-T: 421 >   R2(0) changed from DELIVERING to RETURNING
-T: 422 >   R1(0) changed from RETURNING to WAITING
-T: 423 >   R0(0) changed from RETURNING to WAITING
-T: 423 >   R1(1) changed from WAITING to DELIVERING
-T: 423 >   R1(1)-> [Mail Item:: ID:     61 | Arrival:  119 | Destination:  2 | Weight:  747]
-T: 423 >   R2(0) changed from RETURNING to WAITING
-T: 424 >   R0(1) changed from WAITING to DELIVERING
-T: 424 >   R0(1)-> [Mail Item:: ID:    102 | Arrival:   10 | Destination:  1 | Weight:  676]
-T: 424 >   R2(1) changed from WAITING to DELIVERING
-T: 424 >   R2(1)-> [Mail Item:: ID:    119 | Arrival:   45 | Destination:  1 | Weight:  302]
-T: 425 > Delivered( 151) [Mail Item:: ID:    102 | Arrival:   10 | Destination:  1 | Weight:  676]
-T: 425 >   R0(0)-> [Mail Item:: ID:    152 | Arrival:   28 | Destination:  1 | Weight:  220]
-T: 425 > Delivered( 152) [Mail Item:: ID:     61 | Arrival:  119 | Destination:  2 | Weight:  747]
-T: 425 >   R1(0)-> [Mail Item:: ID:     92 | Arrival:  120 | Destination:  2 | Weight: 1185]
-T: 425 > Delivered( 153) [Mail Item:: ID:    119 | Arrival:   45 | Destination:  1 | Weight:  302]
-T: 425 >   R2(0)-> [Mail Item:: ID:     72 | Arrival:   46 | Destination:  1 | Weight: 1996]
-T: 426 > Delivered( 154) [Mail Item:: ID:    152 | Arrival:   28 | Destination:  1 | Weight:  220]
-T: 426 >   R0(0) changed from DELIVERING to RETURNING
-T: 426 > Delivered( 155) [Mail Item:: ID:     92 | Arrival:  120 | Destination:  2 | Weight: 1185]
-T: 426 >   R1(0) changed from DELIVERING to RETURNING
-T: 426 > Delivered( 156) [Mail Item:: ID:     72 | Arrival:   46 | Destination:  1 | Weight: 1996]
-T: 426 >   R2(0) changed from DELIVERING to RETURNING
-T: 427 >   R0(0) changed from RETURNING to WAITING
-T: 427 >   R2(0) changed from RETURNING to WAITING
-T: 428 >   R0(1) changed from WAITING to DELIVERING
-T: 428 >   R0(1)-> [Mail Item:: ID:      7 | Arrival:   57 | Destination:  1 | Weight:  777]
-T: 428 >   R1(0) changed from RETURNING to WAITING
-T: 428 >   R2(1) changed from WAITING to DELIVERING
-T: 428 >   R2(1)-> [Mail Item:: ID:     75 | Arrival:   97 | Destination:  1 | Weight: 2000]
-T: 429 > Delivered( 157) [Mail Item:: ID:      7 | Arrival:   57 | Destination:  1 | Weight:  777]
-T: 429 >   R0(0)-> [Mail Item:: ID:      8 | Arrival:   71 | Destination:  1 | Weight: 1615]
-T: 429 >   R1(0) changed from WAITING to DELIVERING
-T: 429 >   R1(0)-> [Mail Item:: ID:    144 | Arrival:  115 | Destination:  1 | Weight:  405]
-T: 429 > Delivered( 158) [Mail Item:: ID:     75 | Arrival:   97 | Destination:  1 | Weight: 2000]
-T: 429 >   R2(0)-> [Mail Item:: ID:     57 | Arrival:  111 | Destination:  1 | Weight: 1270]
-T: 430 > Delivered( 159) [Mail Item:: ID:      8 | Arrival:   71 | Destination:  1 | Weight: 1615]
-T: 430 >   R0(0) changed from DELIVERING to RETURNING
-T: 430 > Delivered( 160) [Mail Item:: ID:    144 | Arrival:  115 | Destination:  1 | Weight:  405]
-T: 430 >   R1(0) changed from DELIVERING to RETURNING
-T: 430 > Delivered( 161) [Mail Item:: ID:     57 | Arrival:  111 | Destination:  1 | Weight: 1270]
-T: 430 >   R2(0) changed from DELIVERING to RETURNING
-T: 431 | Simulation complete!
-Final Delivery time: 431
-Delay: 103191.73
\ No newline at end of file
diff --git a/src/automail/Automail.java b/src/automail/Automail.java
deleted file mode 100644
index c01a21d78591e45487afceb75ed6f5fbc589102f..0000000000000000000000000000000000000000
--- a/src/automail/Automail.java
+++ /dev/null
@@ -1,20 +0,0 @@
-package automail;
-
-import simulation.IMailDelivery;
-
-public class Automail {
-	      
-    public Robot[] robots;
-    public MailPool mailPool;
-    
-    public Automail(MailPool mailPool, IMailDelivery delivery, int numRobots) {  	
-    	/** Initialize the MailPool */
-    	
-    	this.mailPool = mailPool;
-    	
-    	/** Initialize robots */
-    	robots = new Robot[numRobots];
-    	for (int i = 0; i < numRobots; i++) robots[i] = new Robot(delivery, mailPool, i);
-    }
-    
-}
diff --git a/src/automail/MailItem.java b/src/automail/MailItem.java
deleted file mode 100644
index cb560bcbe4ced0c3a63dff354cc43d958621354b..0000000000000000000000000000000000000000
--- a/src/automail/MailItem.java
+++ /dev/null
@@ -1,82 +0,0 @@
-package automail;
-
-import java.util.Map;
-import java.util.TreeMap;
-
-// import java.util.UUID;
-
-/**
- * Represents a mail item
- */
-public class MailItem {
-	
-    /** Represents the destination floor to which the mail is intended to go */
-    protected final int destination_floor;
-    /** The mail identifier */
-    protected final String id;
-    /** The time the mail item arrived */
-    protected final int arrival_time;
-    /** The weight in grams of the mail item */
-    protected final int weight;
-
-    /**
-     * Constructor for a MailItem
-     * @param dest_floor the destination floor intended for this mail item
-     * @param arrival_time the time that the mail arrived
-     * @param weight the weight of this mail item
-     */
-    public MailItem(int dest_floor, int arrival_time, int weight){
-        this.destination_floor = dest_floor;
-        this.id = String.valueOf(hashCode());
-        this.arrival_time = arrival_time;
-        this.weight = weight;
-    }
-
-    @Override
-    public String toString(){
-        return String.format("Mail Item:: ID: %6s | Arrival: %4d | Destination: %2d | Weight: %4d", id, arrival_time, destination_floor, weight);
-    }
-
-    /**
-     *
-     * @return the destination floor of the mail item
-     */
-    public int getDestFloor() {
-        return destination_floor;
-    }
-    
-    /**
-     *
-     * @return the ID of the mail item
-     */
-    public String getId() {
-        return id;
-    }
-
-    /**
-     *
-     * @return the arrival time of the mail item
-     */
-    public int getArrivalTime(){
-        return arrival_time;
-    }
-
-    /**
-    *
-    * @return the weight of the mail item
-    */
-   public int getWeight(){
-       return weight;
-   }
-   
-	static private int count = 0;
-	static private Map<Integer, Integer> hashMap = new TreeMap<Integer, Integer>();
-
-	@Override
-	public int hashCode() {
-		Integer hash0 = super.hashCode();
-		Integer hash = hashMap.get(hash0);
-		if (hash == null) { hash = count++; hashMap.put(hash0, hash); }
-		return hash;
-	}
-}
diff --git a/src/automail/MailPool.java b/src/automail/MailPool.java
deleted file mode 100644
index dde35f93676aad9d49bba1ec064c9b612cdbc658..0000000000000000000000000000000000000000
--- a/src/automail/MailPool.java
+++ /dev/null
@@ -1,100 +0,0 @@
-package automail;
-
-import java.util.LinkedList;
-import java.util.Comparator;
-import java.util.ListIterator;
-
-import exceptions.ItemTooHeavyException;
-
-/**
- * addToPool is called when there are mail items newly arrived at the building to add to the MailPool or
- * if a robot returns with some undelivered items - these are added back to the MailPool.
- * The data structure and algorithms used in the MailPool is your choice.
- * 
- */
-public class MailPool {
-
-	private class Item {
-		int destination;
-		MailItem mailItem;
-		// Use stable sort to keep arrival time relative positions
-		
-		public Item(MailItem mailItem) {
-			destination = mailItem.getDestFloor();
-			this.mailItem = mailItem;
-		}
-	}
-	
-	public class ItemComparator implements Comparator<Item> {
-		@Override
-		public int compare(Item i1, Item i2) {
-			int order = 0;
-			if (i1.destination < i2.destination) {
-				order = 1;
-			} else if (i1.destination > i2.destination) {
-				order = -1;
-			}
-			return order;
-		}
-	}
-	
-	private LinkedList<Item> pool;
-	private LinkedList<Robot> robots;
-
-	public MailPool(int nrobots){
-		// Start empty
-		pool = new LinkedList<Item>();
-		robots = new LinkedList<Robot>();
-	}
-
-	/**
-     * Adds an item to the mail pool
-     * @param mailItem the mail item being added.
-     */
-	public void addToPool(MailItem mailItem) {
-		Item item = new Item(mailItem);
-		pool.add(item);
-		pool.sort(new ItemComparator());
-	}
-	
-	
-	
-	/**
-     * load up any waiting robots with mailItems, if any.
-     */
-	public void loadItemsToRobot() throws ItemTooHeavyException {
-		//List available robots
-		ListIterator<Robot> i = robots.listIterator();
-		while (i.hasNext()) loadItem(i);
-	}
-	
-	//load items to the robot
-	private void loadItem(ListIterator<Robot> i) throws ItemTooHeavyException {
-		Robot robot = i.next();
-		assert(robot.isEmpty());
-		// System.out.printf("P: %3d%n", pool.size());
-		ListIterator<Item> j = pool.listIterator();
-		if (pool.size() > 0) {
-			try {
-			robot.addToHand(j.next().mailItem); // hand first as we want higher priority delivered first
-			j.remove();
-			if (pool.size() > 0) {
-				robot.addToTube(j.next().mailItem);
-				j.remove();
-			}
-			robot.dispatch(); // send the robot off if it has any items to deliver
-			i.remove();       // remove from mailPool queue
-			} catch (Exception e) { 
-	            throw e; 
-	        } 
-		}
-	}
-
-	/**
-     * @param robot refers to a robot which has arrived back ready for more mailItems to deliver
-     */	
-	public void registerWaiting(Robot robot) { // assumes won't be there already
-		robots.add(robot);
-	}
-
-}
diff --git a/src/automail/Robot.java b/src/automail/Robot.java
deleted file mode 100644
index 27e23c98221c8f22e2a3b564cfab4a9a63f4094e..0000000000000000000000000000000000000000
--- a/src/automail/Robot.java
+++ /dev/null
@@ -1,176 +0,0 @@
-package automail;
-
-import exceptions.ExcessiveDeliveryException;
-import exceptions.ItemTooHeavyException;
-import simulation.Building;
-import simulation.Clock;
-import simulation.IMailDelivery;
-
-/**
- * The robot delivers mail!
- */
-public class Robot {
-	
-    static public final int INDIVIDUAL_MAX_WEIGHT = 2000;
-
-    IMailDelivery delivery;
-    protected final String id;
-    /** Possible states the robot can be in */
-    public enum RobotState { DELIVERING, WAITING, RETURNING }
-    public RobotState current_state;
-    private int current_floor;
-    private int destination_floor;
-    private MailPool mailPool;
-    private boolean receivedDispatch;
-    
-    private MailItem deliveryItem = null;
-    private MailItem tube = null;
-    
-    private int deliveryCounter;
-    
-
-    /**
-     * Initiates the robot's location at the start to be at the mailroom
-     * also set it to be waiting for mail.
-     * @param behaviour governs selection of mail items for delivery and behaviour on priority arrivals
-     * @param delivery governs the final delivery
-     * @param mailPool is the source of mail items
-     */
-    public Robot(IMailDelivery delivery, MailPool mailPool, int number){
-    	this.id = "R" + number;
-        // current_state = RobotState.WAITING;
-    	current_state = RobotState.RETURNING;
-        current_floor = Building.MAILROOM_LOCATION;
-        this.delivery = delivery;
-        this.mailPool = mailPool;
-        this.receivedDispatch = false;
-        this.deliveryCounter = 0;
-    }
-    
-    /**
-     * This is called when a robot is assigned the mail items and ready to dispatch for the delivery 
-     */
-    public void dispatch() {
-    	receivedDispatch = true;
-    }
-
-    /**
-     * This is called on every time step
-     * @throws ExcessiveDeliveryException if robot delivers more than the capacity of the tube without refilling
-     */
-    public void operate() throws ExcessiveDeliveryException {   
-    	switch(current_state) {
-    		/** This state is triggered when the robot is returning to the mailroom after a delivery */
-    		case RETURNING:
-    			/** If its current position is at the mailroom, then the robot should change state */
-                if(current_floor == Building.MAILROOM_LOCATION){
-                	if (tube != null) {
-                		mailPool.addToPool(tube);
-                        System.out.printf("T: %3d > old addToPool [%s]%n", Clock.Time(), tube.toString());
-                        tube = null;
-                	}
-        			/** Tell the sorter the robot is ready */
-        			mailPool.registerWaiting(this);
-                	changeState(RobotState.WAITING);
-                } else {
-                	/** If the robot is not at the mailroom floor yet, then move towards it! */
-                    moveTowards(Building.MAILROOM_LOCATION);
-                	break;
-                }
-    		case WAITING:
-                /** If the StorageTube is ready and the Robot is waiting in the mailroom then start the delivery */
-                if(!isEmpty() && receivedDispatch){
-                	receivedDispatch = false;
-                	deliveryCounter = 0; // reset delivery counter
-                	setDestination();
-                	changeState(RobotState.DELIVERING);
-                }
-                break;
-    		case DELIVERING:
-    			if(current_floor == destination_floor){ // If already here drop off either way
-                    /** Delivery complete, report this to the simulator! */
-                    delivery.deliver(deliveryItem);
-                    deliveryItem = null;
-                    deliveryCounter++;
-                    if(deliveryCounter > 2){  // Implies a simulation bug
-                    	throw new ExcessiveDeliveryException();
-                    }
-                    /** Check if want to return, i.e. if there is no item in the tube*/
-                    if(tube == null){
-                    	changeState(RobotState.RETURNING);
-                    }
-                    else{
-                        /** If there is another item, set the robot's route to the location to deliver the item */
-                        deliveryItem = tube;
-                        tube = null;
-                        setDestination();
-                        changeState(RobotState.DELIVERING);
-                    }
-    			} else {
-	        		/** The robot is not at the destination yet, move towards it! */
-	                moveTowards(destination_floor);
-    			}
-                break;
-    	}
-    }
-
-    /**
-     * Sets the route for the robot
-     */
-    private void setDestination() {
-        /** Set the destination floor */
-        destination_floor = deliveryItem.getDestFloor();
-    }
-
-    /**
-     * Generic function that moves the robot towards the destination
-     * @param destination the floor towards which the robot is moving
-     */
-    private void moveTowards(int destination) {
-        if(current_floor < destination){
-            current_floor++;
-        } else {
-            current_floor--;
-        }
-    }
-    
-    private String getIdTube() {
-    	return String.format("%s(%1d)", this.id, (tube == null ? 0 : 1));
-    }
-    
-    /**
-     * Prints out the change in state
-     * @param nextState the state to which the robot is transitioning
-     */
-    private void changeState(RobotState nextState){
-    	assert(!(deliveryItem == null && tube != null));
-    	if (current_state != nextState) {
-            System.out.printf("T: %3d > %7s changed from %s to %s%n", Clock.Time(), getIdTube(), current_state, nextState);
-    	}
-    	current_state = nextState;
-    	if(nextState == RobotState.DELIVERING){
-            System.out.printf("T: %3d > %7s-> [%s]%n", Clock.Time(), getIdTube(), deliveryItem.toString());
-    	}
-    }
-
-	public MailItem getTube() {
-		return tube;
-	}
-
-	public boolean isEmpty() {
-		return (deliveryItem == null && tube == null);
-	}
-
-	public void addToHand(MailItem mailItem) throws ItemTooHeavyException {
-		assert(deliveryItem == null);
-		deliveryItem = mailItem;
-		if (deliveryItem.weight > INDIVIDUAL_MAX_WEIGHT) throw new ItemTooHeavyException();
-	}
-
-	public void addToTube(MailItem mailItem) throws ItemTooHeavyException {
-		assert(tube == null);
-		tube = mailItem;
-		if (tube.weight > INDIVIDUAL_MAX_WEIGHT) throw new ItemTooHeavyException();
-	}
-
-}
diff --git a/src/exceptions/ExcessiveDeliveryException.java b/src/exceptions/ExcessiveDeliveryException.java
deleted file mode 100644
index db1962e00da4c1b99bc241109346ede6e90bf950..0000000000000000000000000000000000000000
--- a/src/exceptions/ExcessiveDeliveryException.java
+++ /dev/null
@@ -1,10 +0,0 @@
-package exceptions;
-
-/**
- * An exception thrown when the robot tries to deliver more items than its tube capacity without refilling.
- */
-public class ExcessiveDeliveryException extends Throwable {
-	public ExcessiveDeliveryException(){
-		super("Attempting to deliver more than 4 items in a single trip!!");
-	}
-}
diff --git a/src/exceptions/ItemTooHeavyException.java b/src/exceptions/ItemTooHeavyException.java
deleted file mode 100644
index 7084c003d059b1b0d96e067dfd9d99584c986180..0000000000000000000000000000000000000000
--- a/src/exceptions/ItemTooHeavyException.java
+++ /dev/null
@@ -1,10 +0,0 @@
-package exceptions;
-
-/**
- * This exception is thrown when a robot takes a MailItem from its StorageTube which is too heavy for that robot
- */
-public class ItemTooHeavyException extends Exception {
-    public ItemTooHeavyException(){
-        super("Item too heavy! Dropped by robot.");
-    }
-}
diff --git a/src/exceptions/MailAlreadyDeliveredException.java b/src/exceptions/MailAlreadyDeliveredException.java
deleted file mode 100644
index db8b3ec7757883690f3625cfeffa52abdb2b0ac9..0000000000000000000000000000000000000000
--- a/src/exceptions/MailAlreadyDeliveredException.java
+++ /dev/null
@@ -1,10 +0,0 @@
-package exceptions;
-
-/**
- * An exception thrown when a mail that is already delivered attempts to be delivered again.
- */
-public class MailAlreadyDeliveredException extends Throwable    {
-    public MailAlreadyDeliveredException(){
-        super("This mail has already been delivered!");
-    }
-}
diff --git a/src/simulation/Building.java b/src/simulation/Building.java
deleted file mode 100644
index 8ca4c2052f77523dbac69389a46243a5f6058ccd..0000000000000000000000000000000000000000
--- a/src/simulation/Building.java
+++ /dev/null
@@ -1,15 +0,0 @@
-package simulation;
-
-public class Building {
-	
-	
-    /** The number of floors in the building **/
-    public static int FLOORS;
-    
-    /** Represents the ground floor location */
-    public static final int LOWEST_FLOOR = 1;
-    
-    /** Represents the mailroom location */
-    public static final int MAILROOM_LOCATION = 1;
-
-}
diff --git a/src/simulation/Clock.java b/src/simulation/Clock.java
deleted file mode 100644
index 667fe343255fe488e10a62585b06f76edcbd8907..0000000000000000000000000000000000000000
--- a/src/simulation/Clock.java
+++ /dev/null
@@ -1,18 +0,0 @@
-package simulation;
-
-public class Clock {
-	
-	/** Represents the current time **/
-    private static int Time = 0;
-    
-    /** The threshold for the latest time for mail to arrive **/
-    public static int MAIL_RECEVING_LENGTH;
-
-    public static int Time() {
-    	return Time;
-    }
-    
-    public static void Tick() {
-    	Time++;
-    }
-}
diff --git a/src/simulation/IMailDelivery.java b/src/simulation/IMailDelivery.java
deleted file mode 100644
index fdcdff78fe87b35794052210295d1bc57e6e2022..0000000000000000000000000000000000000000
--- a/src/simulation/IMailDelivery.java
+++ /dev/null
@@ -1,16 +0,0 @@
-package simulation;
-
-import automail.MailItem;
-
-/**
- * a MailDelivery is used by the Robot to deliver mail once it has arrived at the correct location
- */
-public interface IMailDelivery {
-
-	/**
-     * Delivers an item at its floor
-     * @param mailItem the mail item being delivered.
-     */
-	void deliver(MailItem mailItem);
-    
-}
\ No newline at end of file
diff --git a/src/simulation/MailGenerator.java b/src/simulation/MailGenerator.java
deleted file mode 100644
index 14e3404ea9803204f713d43ec46feb107a02c128..0000000000000000000000000000000000000000
--- a/src/simulation/MailGenerator.java
+++ /dev/null
@@ -1,135 +0,0 @@
-package simulation;
-
-import java.util.*;
-
-import automail.MailItem;
-import automail.MailPool;
-
-/**
- * This class generates the mail
- */
-public class MailGenerator {
-
-    public final int MAIL_TO_CREATE;
-    public final int MAIL_MAX_WEIGHT;
-    
-    private int mailCreated;
-
-    private final Random random;
-    /** This seed is used to make the behaviour deterministic */
-    
-    private boolean complete;
-    private MailPool mailPool;
-
-    private Map<Integer,ArrayList<MailItem>> allMail;
-
-    /**
-     * Constructor for mail generation
-     * @param mailToCreate roughly how many mail items to create
-     * @param mailMaxWeight limits the maximum weight of the mail
-     * @param mailPool where mail items go on arrival
-     * @param seed random seed for generating mail
-     */
-    public MailGenerator(int mailToCreate, int mailMaxWeight, MailPool mailPool, HashMap<Boolean,Integer> seed){
-        if(seed.containsKey(true)){
-        	this.random = new Random((long) seed.get(true));
-        }
-        else{
-        	this.random = new Random();	
-        }
-        // Vary arriving mail by +/-20%
-        MAIL_TO_CREATE = mailToCreate*4/5 + random.nextInt(mailToCreate*2/5);
-        MAIL_MAX_WEIGHT = mailMaxWeight;
-        // System.out.println("Num Mail Items: "+MAIL_TO_CREATE);
-        mailCreated = 0;
-        complete = false;
-        allMail = new HashMap<Integer,ArrayList<MailItem>>();
-        this.mailPool = mailPool;
-    }
-
-    /**
-     * @return a new mail item that needs to be delivered
-     */
-    private MailItem generateMail(){
-    	MailItem newMailItem;
-        int destinationFloor = generateDestinationFloor();
-        int arrivalTime = generateArrivalTime();
-        int weight = generateWeight();
-        
-        newMailItem = new MailItem(destinationFloor,arrivalTime,weight);
-        return newMailItem;
-    }
-
-    /**
-     * @return a destination floor between the ranges of GROUND_FLOOR to FLOOR
-     */
-    private int generateDestinationFloor(){
-        return Building.LOWEST_FLOOR + random.nextInt(Building.FLOORS);
-    }
-
-    /**
-     * @return a random weight
-     */
-    private int generateWeight(){
-    	final double mean = 200.0; // grams for normal item
-    	final double stddev = 1000.0; // grams
-    	double base = random.nextGaussian();
-    	if (base < 0) base = -base;
-    	int weight = (int) (mean + base * stddev);
-        return weight > MAIL_MAX_WEIGHT ? MAIL_MAX_WEIGHT : weight;
-    }
-    
-    /**
-     * @return a random arrival time before the last delivery time
-     */
-    private int generateArrivalTime(){
-        return 1 + random.nextInt(Clock.MAIL_RECEVING_LENGTH);
-    }
-
-    /**
-     * This class initializes all mails and sets their corresponding values,
-     * All generated mails will be saved in allMail
-     */
-    public void generateAllMail(){
-        while(!complete){
-            MailItem newMail =  generateMail();
-            int timeToDeliver = newMail.getArrivalTime();
-            /** Check if key exists for this time **/
-            if(allMail.containsKey(timeToDeliver)){
-                /** Add to existing array */
-                allMail.get(timeToDeliver).add(newMail);
-            }
-            else{
-                /** If the key doesn't exist then set a new key along with the array of MailItems to add during
-                 * that time step.
-                 */
-                ArrayList<MailItem> newMailList = new ArrayList<MailItem>();
-                newMailList.add(newMail);
-                allMail.put(timeToDeliver,newMailList);
-            }
-            /** Mark the mail as created */
-            mailCreated++;
-
-            /** Once we have satisfied the amount of mail to create, we're done!*/
-            if(mailCreated == MAIL_TO_CREATE){
-                complete = true;
-            }
-        }
-
-    }
-    
-    /**
-     * Given the clock time, put the generated mails into the mailPool.
-     * So that the robot will can pick up the mails from the pool.
-     */
-    public void addToMailPool(){
-    	// Check if there are any mail to create
-        if(this.allMail.containsKey(Clock.Time())){
-            for(MailItem mailItem : allMail.get(Clock.Time())){
-                System.out.printf("T: %3d > new addToPool [%s]%n", Clock.Time(), mailItem.toString());
-                mailPool.addToPool(mailItem);
-            }
-        }
-    }
-    
-}
diff --git a/src/simulation/Simulation.java b/src/simulation/Simulation.java
deleted file mode 100644
index fc38b5e81d26d4572290ac73eb910b3d9d5cfe0c..0000000000000000000000000000000000000000
--- a/src/simulation/Simulation.java
+++ /dev/null
@@ -1,181 +0,0 @@
-package simulation;
-
-import exceptions.ExcessiveDeliveryException;
-import exceptions.ItemTooHeavyException;
-import exceptions.MailAlreadyDeliveredException;
-
-import java.io.FileReader;
-import java.io.IOException;
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.Properties;
-
-import com.unimelb.swen30006.wifimodem.WifiModem;
-
-import automail.Automail;
-import automail.MailItem;
-import automail.MailPool;
-
-/**
- * This class simulates the behaviour of AutoMail
- */
-public class Simulation {
-	private static int NUM_ROBOTS;
-	private static double CHARGE_THRESHOLD;
-	private static boolean CHARGE_DISPLAY;
-	
-    /** Constant for the mail generator */
-    private static int MAIL_TO_CREATE;
-    private static int MAIL_MAX_WEIGHT;
-    
-    private static ArrayList<MailItem> MAIL_DELIVERED;
-    private static double total_delay = 0;
-    private static WifiModem wModem = null;
-
-    public static void main(String[] args) throws InstantiationException, IllegalAccessException, ClassNotFoundException, IOException {
-    	
-    	/** Load properties for simulation based on either default or a properties file.**/
-    	Properties automailProperties = setUpProperties();
-    	
-    	//An array list to record mails that have been delivered
-        MAIL_DELIVERED = new ArrayList<MailItem>();
-                
-        /** This code section below is to save a random seed for generating mails.
-         * If a program argument is entered, the first argument will be a random seed.
-         * If not a random seed will be from a properties file. 
-         * Otherwise, no a random seed. */
-        
-        /** Used to see whether a seed is initialized or not */
-        HashMap<Boolean, Integer> seedMap = new HashMap<>();
-        if (args.length == 0 ) { // No arg
-        	String seedProp = automailProperties.getProperty("Seed");
-        	if (seedProp == null) { // and no property
-        		seedMap.put(false, 0); // so randomise
-        	} else { // Use property seed
-        		seedMap.put(true, Integer.parseInt(seedProp));
-        	}
-        } else { // Use arg seed - overrides property
-        	seedMap.put(true, Integer.parseInt(args[0]));
-        }
-        Integer seed = seedMap.get(true);
-        System.out.println("#A Random Seed: " + (seed == null ? "null" : seed.toString()));
-        
-        // Install the modem & turn on the modem
-        try {
-        	System.out.println("Setting up Wifi Modem");
-        	wModem = WifiModem.getInstance(Building.MAILROOM_LOCATION);
-			System.out.println(wModem.Turnon());
-		} catch (Exception mException) {
-			mException.printStackTrace();
-		}
-        
-        /**
-         * This code section is for running a simulation
-         */
-        /* Instantiate MailPool and Automail */
-     	MailPool mailPool = new MailPool(NUM_ROBOTS);
-        Automail automail = new Automail(mailPool, new ReportDelivery(), NUM_ROBOTS);
-        MailGenerator mailGenerator = new MailGenerator(MAIL_TO_CREATE, MAIL_MAX_WEIGHT, mailPool, seedMap);
-        
-        /** Generate all the mails */
-        mailGenerator.generateAllMail();
-        while(MAIL_DELIVERED.size() != mailGenerator.MAIL_TO_CREATE) {
-        	// System.out.printf("Delivered: %4d; Created: %4d%n", MAIL_DELIVERED.size(), mailGenerator.MAIL_TO_CREATE);
-            mailGenerator.addToMailPool();
-            try {
-                automail.mailPool.loadItemsToRobot();
-				for (int i=0; i < NUM_ROBOTS; i++) {
-					automail.robots[i].operate();
-				}
-			} catch (ExcessiveDeliveryException|ItemTooHeavyException e) {
-				e.printStackTrace();
-				System.out.println("Simulation unable to complete.");
-				System.exit(0);
-			}
-            Clock.Tick();
-        }
-        printResults();
-        System.out.println(wModem.Turnoff());
-    }
-    
-    static private Properties setUpProperties() throws IOException {
-    	Properties automailProperties = new Properties();
-		// Default properties
-    	automailProperties.setProperty("Robots", "Standard");
-    	automailProperties.setProperty("Floors", "10");
-    	automailProperties.setProperty("Mail_to_Create", "80");
-    	automailProperties.setProperty("ChargeThreshold", "0");
-    	automailProperties.setProperty("ChargeDisplay", "false");
-    	
-    	// Read properties
-		FileReader inStream = null;
-		try {
-			inStream = new FileReader("automail.properties");
-			automailProperties.load(inStream);
-		} finally {
-			 if (inStream != null) {
-	                inStream.close();
-	            }
-		}
-		
-		// Floors
-		Building.FLOORS = Integer.parseInt(automailProperties.getProperty("Floors"));
-        System.out.println("#Floors: " + Building.FLOORS);
-		// Mail_to_Create
-		MAIL_TO_CREATE = Integer.parseInt(automailProperties.getProperty("Mail_to_Create"));
-        System.out.println("#Created mails: " + MAIL_TO_CREATE);
-        // Mail_to_Create
-     	MAIL_MAX_WEIGHT = Integer.parseInt(automailProperties.getProperty("Mail_Max_Weight"));
-        System.out.println("#Maximum weight: " + MAIL_MAX_WEIGHT);
-		// Last_Delivery_Time
-		Clock.MAIL_RECEVING_LENGTH = Integer.parseInt(automailProperties.getProperty("Mail_Receving_Length"));
-        System.out.println("#Mail receiving length: " + Clock.MAIL_RECEVING_LENGTH);
-		// Robots
-		NUM_ROBOTS = Integer.parseInt(automailProperties.getProperty("Robots"));
-		System.out.print("#Robots: "); System.out.println(NUM_ROBOTS);
-		assert(NUM_ROBOTS > 0);
-		// Charge Threshold 
-		CHARGE_THRESHOLD = Double.parseDouble(automailProperties.getProperty("ChargeThreshold"));
-		System.out.println("#Charge Threshold: " + CHARGE_THRESHOLD);
-		// Charge Display
-		CHARGE_DISPLAY = Boolean.parseBoolean(automailProperties.getProperty("ChargeDisplay"));
-		System.out.println("#Charge Display: " + CHARGE_DISPLAY);
-		
-		return automailProperties;
-    }
-    
-    static class ReportDelivery implements IMailDelivery {
-    	
-    	/** Confirm the delivery and calculate the total score */
-    	public void deliver(MailItem deliveryItem){
-    		if(!MAIL_DELIVERED.contains(deliveryItem)){
-    			MAIL_DELIVERED.add(deliveryItem);
-                System.out.printf("T: %3d > Delivered(%4d) [%s]%n", Clock.Time(), MAIL_DELIVERED.size(), deliveryItem.toString());
-    			// Calculate delivery score
-    			total_delay += calculateDeliveryDelay(deliveryItem);
-    		}
-    		else{
-    			try {
-    				throw new MailAlreadyDeliveredException();
-    			} catch (MailAlreadyDeliveredException e) {
-    				e.printStackTrace();
-    			}
-    		}
-    	}
-
-    }
-    
-    private static double calculateDeliveryDelay(MailItem deliveryItem) {
-    	// Penalty for longer delivery times
-    	final double penalty = 1.2;
-    	double priority_weight = 0;
-        // Take (delivery time - arrivalTime)**penalty * (1+sqrt(priority_weight))
-        return Math.pow(Clock.Time() - deliveryItem.getArrivalTime(),penalty)*(1+Math.sqrt(priority_weight));
-    }
-
-    public static void printResults(){
-        System.out.println("T: "+Clock.Time()+" | Simulation complete!");
-        System.out.println("Final Delivery time: "+Clock.Time());
-        System.out.printf("Delay: %.2f%n", total_delay);
-    }
-}