1{
2 "cells": [
3  {
4   "cell_type": "markdown",
5   "id": "google",
6   "metadata": {},
7   "source": [
8    "##### Copyright 2021 Google LLC."
9   ]
10  },
11  {
12   "cell_type": "markdown",
13   "id": "apache",
14   "metadata": {},
15   "source": [
16    "Licensed under the Apache License, Version 2.0 (the \"License\");\n",
17    "you may not use this file except in compliance with the License.\n",
18    "You may obtain a copy of the License at\n",
19    "\n",
20    "    http://www.apache.org/licenses/LICENSE-2.0\n",
21    "\n",
22    "Unless required by applicable law or agreed to in writing, software\n",
23    "distributed under the License is distributed on an \"AS IS\" BASIS,\n",
24    "WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n",
25    "See the License for the specific language governing permissions and\n",
26    "limitations under the License.\n"
27   ]
28  },
29  {
30   "cell_type": "markdown",
31   "id": "basename",
32   "metadata": {},
33   "source": [
34    "# bus_driver_scheduling_flow_sat"
35   ]
36  },
37  {
38   "cell_type": "markdown",
39   "id": "link",
40   "metadata": {},
41   "source": [
42    "<table align=\"left\">\n",
43    "<td>\n",
44    "<a href=\"https://colab.research.google.com/github/google/or-tools/blob/master/examples/notebook/examples/bus_driver_scheduling_flow_sat.ipynb\"><img src=\"https://raw.githubusercontent.com/google/or-tools/master/tools/colab_32px.png\"/>Run in Google Colab</a>\n",
45    "</td>\n",
46    "<td>\n",
47    "<a href=\"https://github.com/google/or-tools/blob/master/examples/python/bus_driver_scheduling_flow_sat.py\"><img src=\"https://raw.githubusercontent.com/google/or-tools/master/tools/github_32px.png\"/>View source on GitHub</a>\n",
48    "</td>\n",
49    "</table>"
50   ]
51  },
52  {
53   "cell_type": "markdown",
54   "id": "doc",
55   "metadata": {},
56   "source": [
57    "First, you must install [ortools](https://pypi.org/project/ortools/) package in this colab."
58   ]
59  },
60  {
61   "cell_type": "code",
62   "execution_count": null,
63   "id": "install",
64   "metadata": {},
65   "outputs": [],
66   "source": [
67    "!pip install ortools"
68   ]
69  },
70  {
71   "cell_type": "code",
72   "execution_count": null,
73   "id": "code",
74   "metadata": {},
75   "outputs": [],
76   "source": [
77    "# Copyright 2010-2021 Google LLC\n",
78    "# Licensed under the Apache License, Version 2.0 (the \"License\");\n",
79    "# you may not use this file except in compliance with the License.\n",
80    "# You may obtain a copy of the License at\n",
81    "#\n",
82    "#     http://www.apache.org/licenses/LICENSE-2.0\n",
83    "#\n",
84    "# Unless required by applicable law or agreed to in writing, software\n",
85    "# distributed under the License is distributed on an \"AS IS\" BASIS,\n",
86    "# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n",
87    "# See the License for the specific language governing permissions and\n",
88    "# limitations under the License.\n",
89    "\"\"\"This model implements a bus driver scheduling problem.\n",
90    "\n",
91    "Constraints:\n",
92    "- max driving time per driver <= 9h\n",
93    "- max working time per driver <= 12h\n",
94    "- min working time per driver >= 6.5h (soft)\n",
95    "- 30 min break after each 4h of driving time per driver\n",
96    "- 10 min preparation time before the first shift\n",
97    "- 15 min cleaning time after the last shift\n",
98    "- 2 min waiting time after each shift for passenger boarding and alighting\n",
99    "\"\"\"\n",
100    "\n",
101    "import argparse\n",
102    "import collections\n",
103    "import math\n",
104    "\n",
105    "from ortools.sat.python import cp_model\n",
106    "\n",
107    "PARSER = argparse.ArgumentParser()\n",
108    "PARSER.add_argument(\n",
109    "    '--instance', default=1, type=int, help='Instance number (1..3).')\n",
110    "PARSER.add_argument(\n",
111    "    '--output_proto_file',\n",
112    "    default=\"\",\n",
113    "    help='Output file to write the cp_model'\n",
114    "    'proto to.')\n",
115    "PARSER.add_argument('--params', default=\"\", help='Sat solver parameters.')\n",
116    "\n",
117    "SAMPLE_SHIFTS_SMALL = [\n",
118    "    #\n",
119    "    # column description:\n",
120    "    # - shift id\n",
121    "    # - shift start time as hh:mm string (for logging and readability purposes)\n",
122    "    # - shift end time as hh:mm string (for logging and readability purposes)\n",
123    "    # - shift start minute\n",
124    "    # - shift end minute\n",
125    "    # - shift duration in minutes\n",
126    "    #\n",
127    "    [0, '05:18', '06:00', 318, 360, 42],\n",
128    "    [1, '05:26', '06:08', 326, 368, 42],\n",
129    "    [2, '05:40', '05:56', 340, 356, 16],\n",
130    "    [3, '06:06', '06:51', 366, 411, 45],\n",
131    "    [4, '06:40', '07:52', 400, 472, 72],\n",
132    "    [5, '06:42', '07:13', 402, 433, 31],\n",
133    "    [6, '06:48', '08:15', 408, 495, 87],\n",
134    "    [7, '06:59', '08:07', 419, 487, 68],\n",
135    "    [8, '07:20', '07:36', 440, 456, 16],\n",
136    "    [9, '07:35', '08:22', 455, 502, 47],\n",
137    "    [10, '07:50', '08:55', 470, 535, 65],\n",
138    "    [11, '08:00', '09:05', 480, 545, 65],\n",
139    "    [12, '08:00', '08:35', 480, 515, 35],\n",
140    "    [13, '08:11', '09:41', 491, 581, 90],\n",
141    "    [14, '08:28', '08:50', 508, 530, 22],\n",
142    "    [15, '08:35', '08:45', 515, 525, 10],\n",
143    "    [16, '08:40', '08:50', 520, 530, 10],\n",
144    "    [17, '09:03', '10:28', 543, 628, 85],\n",
145    "    [18, '09:23', '09:49', 563, 589, 26],\n",
146    "    [19, '09:30', '09:40', 570, 580, 10],\n",
147    "    [20, '09:57', '10:20', 597, 620, 23],\n",
148    "    [21, '10:09', '11:03', 609, 663, 54],\n",
149    "    [22, '10:20', '10:30', 620, 630, 10],\n",
150    "    [23, '11:00', '11:10', 660, 670, 10],\n",
151    "    [24, '11:45', '12:24', 705, 744, 39],\n",
152    "    [25, '12:18', '13:00', 738, 780, 42],\n",
153    "    [26, '13:18', '14:44', 798, 884, 86],\n",
154    "    [27, '13:53', '14:49', 833, 889, 56],\n",
155    "    [28, '14:03', '14:50', 843, 890, 47],\n",
156    "    [29, '14:28', '15:15', 868, 915, 47],\n",
157    "    [30, '14:30', '15:41', 870, 941, 71],\n",
158    "    [31, '14:48', '15:35', 888, 935, 47],\n",
159    "    [32, '15:03', '15:50', 903, 950, 47],\n",
160    "    [33, '15:28', '16:54', 928, 1014, 86],\n",
161    "    [34, '15:38', '16:25', 938, 985, 47],\n",
162    "    [35, '15:40', '15:56', 940, 956, 16],\n",
163    "    [36, '15:58', '16:45', 958, 1005, 47],\n",
164    "    [37, '16:04', '17:30', 964, 1050, 86],\n",
165    "    [38, '16:28', '17:15', 988, 1035, 47],\n",
166    "    [39, '16:36', '17:21', 996, 1041, 45],\n",
167    "    [40, '16:50', '17:00', 1010, 1020, 10],\n",
168    "    [41, '16:54', '18:20', 1014, 1100, 86],\n",
169    "    [42, '17:01', '17:13', 1021, 1033, 12],\n",
170    "    [43, '17:19', '18:31', 1039, 1111, 72],\n",
171    "    [44, '17:23', '18:10', 1043, 1090, 47],\n",
172    "    [45, '17:34', '18:15', 1054, 1095, 41],\n",
173    "    [46, '18:04', '19:29', 1084, 1169, 85],\n",
174    "    [47, '18:34', '19:58', 1114, 1198, 84],\n",
175    "    [48, '19:56', '20:34', 1196, 1234, 38],\n",
176    "    [49, '20:05', '20:48', 1205, 1248, 43]\n",
177    "]  # yapf:disable\n",
178    "\n",
179    "SAMPLE_SHIFTS_MEDIUM = [\n",
180    "    [0, '04:30', '04:53', 270, 293, 23],\n",
181    "    [1, '04:46', '04:56', 286, 296, 10],\n",
182    "    [2, '04:52', '05:56', 292, 356, 64],\n",
183    "    [3, '04:53', '05:23', 293, 323, 30],\n",
184    "    [4, '05:07', '05:44', 307, 344, 37],\n",
185    "    [5, '05:10', '06:06', 310, 366, 56],\n",
186    "    [6, '05:18', '06:03', 318, 363, 45],\n",
187    "    [7, '05:30', '05:40', 330, 340, 10],\n",
188    "    [8, '05:30', '05:40', 330, 340, 10],\n",
189    "    [9, '05:33', '06:15', 333, 375, 42],\n",
190    "    [10, '05:40', '05:50', 340, 350, 10],\n",
191    "    [11, '05:43', '06:08', 343, 368, 25],\n",
192    "    [12, '05:54', '07:20', 354, 440, 86],\n",
193    "    [13, '06:04', '06:37', 364, 397, 33],\n",
194    "    [14, '06:13', '06:58', 373, 418, 45],\n",
195    "    [15, '06:14', '07:40', 374, 460, 86],\n",
196    "    [16, '06:15', '07:15', 375, 435, 60],\n",
197    "    [17, '06:16', '06:26', 376, 386, 10],\n",
198    "    [18, '06:17', '06:34', 377, 394, 17],\n",
199    "    [19, '06:20', '06:36', 380, 396, 16],\n",
200    "    [20, '06:22', '07:06', 382, 426, 44],\n",
201    "    [21, '06:24', '07:50', 384, 470, 86],\n",
202    "    [22, '06:27', '06:44', 387, 404, 17],\n",
203    "    [23, '06:30', '06:40', 390, 400, 10],\n",
204    "    [24, '06:31', '06:43', 391, 403, 12],\n",
205    "    [25, '06:33', '07:53', 393, 473, 80],\n",
206    "    [26, '06:34', '07:09', 394, 429, 35],\n",
207    "    [27, '06:40', '06:56', 400, 416, 16],\n",
208    "    [28, '06:44', '07:17', 404, 437, 33],\n",
209    "    [29, '06:46', '06:58', 406, 418, 12],\n",
210    "    [30, '06:49', '07:43', 409, 463, 54],\n",
211    "    [31, '06:50', '07:05', 410, 425, 15],\n",
212    "    [32, '06:52', '07:36', 412, 456, 44],\n",
213    "    [33, '06:54', '07:27', 414, 447, 33],\n",
214    "    [34, '06:56', '08:23', 416, 503, 87],\n",
215    "    [35, '07:04', '07:44', 424, 464, 40],\n",
216    "    [36, '07:11', '08:36', 431, 516, 85],\n",
217    "    [37, '07:17', '07:35', 437, 455, 18],\n",
218    "    [38, '07:22', '08:06', 442, 486, 44],\n",
219    "    [39, '07:27', '08:15', 447, 495, 48],\n",
220    "    [40, '07:35', '07:45', 455, 465, 10],\n",
221    "    [41, '07:43', '08:08', 463, 488, 25],\n",
222    "    [42, '07:50', '08:37', 470, 517, 47],\n",
223    "    [43, '07:58', '08:45', 478, 525, 47],\n",
224    "    [44, '08:00', '08:35', 480, 515, 35],\n",
225    "    [45, '08:06', '08:51', 486, 531, 45],\n",
226    "    [46, '08:10', '08:45', 490, 525, 35],\n",
227    "    [47, '08:15', '08:30', 495, 510, 15],\n",
228    "    [48, '08:16', '09:00', 496, 540, 44],\n",
229    "    [49, '08:18', '09:16', 498, 556, 58],\n",
230    "    [50, '08:20', '08:36', 500, 516, 16],\n",
231    "    [51, '08:27', '09:07', 507, 547, 40],\n",
232    "    [52, '08:30', '08:45', 510, 525, 15],\n",
233    "    [53, '08:35', '09:15', 515, 555, 40],\n",
234    "    [54, '08:46', '09:30', 526, 570, 44],\n",
235    "    [55, '08:51', '09:17', 531, 557, 26],\n",
236    "    [56, '08:55', '09:15', 535, 555, 20],\n",
237    "    [57, '08:58', '09:38', 538, 578, 40],\n",
238    "    [58, '09:00', '09:35', 540, 575, 35],\n",
239    "    [59, '09:00', '09:16', 540, 556, 16],\n",
240    "    [60, '09:20', '09:36', 560, 576, 16],\n",
241    "    [61, '09:31', '09:43', 571, 583, 12],\n",
242    "    [62, '09:33', '10:15', 573, 615, 42],\n",
243    "    [63, '09:54', '10:05', 594, 605, 11],\n",
244    "    [64, '10:11', '10:38', 611, 638, 27],\n",
245    "    [65, '10:18', '11:00', 618, 660, 42],\n",
246    "    [66, '10:21', '10:47', 621, 647, 26],\n",
247    "    [67, '10:25', '11:04', 625, 664, 39],\n",
248    "    [68, '10:26', '11:08', 626, 668, 42],\n",
249    "    [69, '10:44', '12:11', 644, 731, 87],\n",
250    "    [70, '11:00', '11:16', 660, 676, 16],\n",
251    "    [71, '11:15', '11:54', 675, 714, 39],\n",
252    "    [72, '11:16', '11:28', 676, 688, 12],\n",
253    "    [73, '11:20', '11:30', 680, 690, 10],\n",
254    "    [74, '11:21', '11:47', 681, 707, 26],\n",
255    "    [75, '11:25', '12:04', 685, 724, 39],\n",
256    "    [76, '11:34', '11:45', 694, 705, 11],\n",
257    "    [77, '11:35', '12:14', 695, 734, 39],\n",
258    "    [78, '11:41', '12:23', 701, 743, 42],\n",
259    "    [79, '11:44', '12:35', 704, 755, 51],\n",
260    "    [80, '11:46', '11:58', 706, 718, 12],\n",
261    "    [81, '12:00', '12:10', 720, 730, 10],\n",
262    "    [82, '12:04', '12:15', 724, 735, 11],\n",
263    "    [83, '12:04', '13:04', 724, 784, 60],\n",
264    "    [84, '12:11', '12:38', 731, 758, 27],\n",
265    "    [85, '12:15', '12:54', 735, 774, 39],\n",
266    "    [86, '12:25', '13:10', 745, 790, 45],\n",
267    "    [87, '12:30', '12:40', 750, 760, 10],\n",
268    "    [88, '12:34', '13:58', 754, 838, 84],\n",
269    "    [89, '12:38', '13:25', 758, 805, 47],\n",
270    "    [90, '12:48', '13:35', 768, 815, 47],\n",
271    "    [91, '13:00', '13:16', 780, 796, 16],\n",
272    "    [92, '13:05', '13:44', 785, 824, 39],\n",
273    "    [93, '13:08', '13:55', 788, 835, 47],\n",
274    "    [94, '13:14', '14:38', 794, 878, 84],\n",
275    "    [95, '13:23', '13:49', 803, 829, 26],\n",
276    "    [96, '13:25', '14:04', 805, 844, 39],\n",
277    "    [97, '13:28', '14:54', 808, 894, 86],\n",
278    "    [98, '13:31', '13:43', 811, 823, 12],\n",
279    "    [99, '13:34', '14:58', 814, 898, 84],\n",
280    "    [100, '13:38', '14:25', 818, 865, 47],\n",
281    "    [101, '13:38', '15:04', 818, 904, 86],\n",
282    "    [102, '13:39', '14:33', 819, 873, 54],\n",
283    "    [103, '13:40', '13:50', 820, 830, 10],\n",
284    "    [104, '13:43', '14:10', 823, 850, 27],\n",
285    "    [105, '13:48', '14:35', 828, 875, 47],\n",
286    "    [106, '13:48', '14:35', 828, 875, 47],\n",
287    "    [107, '13:53', '14:40', 833, 880, 47],\n",
288    "    [108, '13:58', '15:24', 838, 924, 86],\n",
289    "    [109, '13:58', '14:25', 838, 865, 27],\n",
290    "    [110, '14:00', '14:16', 840, 856, 16],\n",
291    "    [111, '14:13', '15:00', 853, 900, 47],\n",
292    "    [112, '14:20', '15:31', 860, 931, 71],\n",
293    "    [113, '14:25', '15:02', 865, 902, 37],\n",
294    "    [114, '14:34', '14:45', 874, 885, 11],\n",
295    "    [115, '14:40', '15:51', 880, 951, 71],\n",
296    "    [116, '14:40', '14:56', 880, 896, 16],\n",
297    "    [117, '14:46', '14:58', 886, 898, 12],\n",
298    "    [118, '14:49', '15:43', 889, 943, 54],\n",
299    "    [119, '14:52', '15:21', 892, 921, 29],\n",
300    "    [120, '14:58', '16:24', 898, 984, 86],\n",
301    "    [121, '14:59', '15:53', 899, 953, 54],\n",
302    "    [122, '15:00', '15:10', 900, 910, 10],\n",
303    "    [123, '15:00', '15:35', 900, 935, 35],\n",
304    "    [124, '15:08', '15:45', 908, 945, 37],\n",
305    "    [125, '15:12', '15:36', 912, 936, 24],\n",
306    "    [126, '15:18', '16:05', 918, 965, 47],\n",
307    "    [127, '15:24', '16:05', 924, 965, 41],\n",
308    "    [128, '15:31', '15:43', 931, 943, 12],\n",
309    "    [129, '15:35', '15:54', 935, 954, 19],\n",
310    "    [130, '15:36', '16:21', 936, 981, 45],\n",
311    "    [131, '15:39', '16:33', 939, 993, 54],\n",
312    "    [132, '15:48', '16:35', 948, 995, 47],\n",
313    "    [133, '15:50', '17:01', 950, 1021, 71],\n",
314    "    [134, '16:03', '16:50', 963, 1010, 47],\n",
315    "    [135, '16:18', '17:44', 978, 1064, 86],\n",
316    "    [136, '16:24', '17:05', 984, 1025, 41],\n",
317    "    [137, '16:28', '17:15', 988, 1035, 47],\n",
318    "    [138, '16:34', '17:15', 994, 1035, 41],\n",
319    "    [139, '16:38', '17:25', 998, 1045, 47],\n",
320    "    [140, '16:40', '16:56', 1000, 1016, 16],\n",
321    "    [141, '16:45', '17:04', 1005, 1024, 19],\n",
322    "    [142, '16:52', '17:36', 1012, 1056, 44],\n",
323    "    [143, '16:58', '17:45', 1018, 1065, 47],\n",
324    "    [144, '17:04', '18:30', 1024, 1110, 86],\n",
325    "    [145, '17:04', '17:45', 1024, 1065, 41],\n",
326    "    [146, '17:09', '18:03', 1029, 1083, 54],\n",
327    "    [147, '17:18', '18:44', 1038, 1124, 86],\n",
328    "    [148, '17:28', '18:15', 1048, 1095, 47],\n",
329    "    [149, '17:29', '18:41', 1049, 1121, 72],\n",
330    "    [150, '17:36', '18:21', 1056, 1101, 45],\n",
331    "    [151, '17:38', '18:25', 1058, 1105, 47],\n",
332    "    [152, '17:40', '17:56', 1060, 1076, 16],\n",
333    "    [153, '17:45', '18:04', 1065, 1084, 19],\n",
334    "    [154, '17:46', '17:58', 1066, 1078, 12],\n",
335    "    [155, '17:48', '18:35', 1068, 1115, 47],\n",
336    "    [156, '17:49', '18:43', 1069, 1123, 54],\n",
337    "    [157, '17:55', '18:14', 1075, 1094, 19],\n",
338    "    [158, '17:58', '18:45', 1078, 1125, 47],\n",
339    "    [159, '18:00', '19:11', 1080, 1151, 71],\n",
340    "    [160, '18:04', '18:45', 1084, 1125, 41],\n",
341    "    [161, '18:09', '19:03', 1089, 1143, 54],\n",
342    "    [162, '18:13', '19:00', 1093, 1140, 47],\n",
343    "    [163, '18:13', '18:40', 1093, 1120, 27],\n",
344    "    [164, '18:19', '19:13', 1099, 1153, 54],\n",
345    "    [165, '18:28', '19:25', 1108, 1165, 57],\n",
346    "    [166, '18:48', '19:28', 1128, 1168, 40],\n",
347    "    [167, '19:03', '19:45', 1143, 1185, 42],\n",
348    "    [168, '19:20', '19:36', 1160, 1176, 16],\n",
349    "    [169, '19:21', '19:31', 1161, 1171, 10],\n",
350    "    [170, '19:25', '20:04', 1165, 1204, 39],\n",
351    "    [171, '19:26', '20:08', 1166, 1208, 42],\n",
352    "    [172, '19:30', '19:40', 1170, 1180, 10],\n",
353    "    [173, '19:44', '20:33', 1184, 1233, 49],\n",
354    "    [174, '19:48', '21:09', 1188, 1269, 81],\n",
355    "    [175, '19:53', '21:02', 1193, 1262, 69],\n",
356    "    [176, '20:04', '20:29', 1204, 1229, 25],\n",
357    "    [177, '20:17', '21:03', 1217, 1263, 46],\n",
358    "    [178, '20:20', '20:57', 1220, 1257, 37],\n",
359    "    [179, '20:29', '21:18', 1229, 1278, 49],\n",
360    "    [180, '20:35', '21:54', 1235, 1314, 79],\n",
361    "    [181, '20:40', '20:50', 1240, 1250, 10],\n",
362    "    [182, '20:47', '21:42', 1247, 1302, 55],\n",
363    "    [183, '21:00', '21:10', 1260, 1270, 10],\n",
364    "    [184, '21:07', '21:44', 1267, 1304, 37],\n",
365    "    [185, '21:14', '22:03', 1274, 1323, 49],\n",
366    "    [186, '21:39', '21:55', 1299, 1315, 16],\n",
367    "    [187, '21:40', '22:17', 1300, 1337, 37],\n",
368    "    [188, '21:40', '21:50', 1300, 1310, 10],\n",
369    "    [189, '21:48', '22:03', 1308, 1323, 15],\n",
370    "    [190, '22:17', '23:03', 1337, 1383, 46],\n",
371    "    [191, '22:43', '23:08', 1363, 1388, 25],\n",
372    "    [192, '23:35', '01:05', 1415, 1505, 90],\n",
373    "    [193, '23:46', '00:01', 1426, 1441, 15],\n",
374    "    [194, '23:47', '00:33', 1427, 1473, 46],\n",
375    "    [195, '23:52', '00:24', 1432, 1464, 32],\n",
376    "    [196, '23:58', '00:38', 1438, 1478, 40],\n",
377    "    [197, '00:02', '00:12', 1442, 1452, 10],\n",
378    "    [198, '00:07', '00:39', 1447, 1479, 32],\n",
379    "    [199, '00:25', '01:12', 1465, 1512, 47]\n",
380    "]  # yapf:disable\n",
381    "\n",
382    "SAMPLE_SHIFTS_LARGE = [\n",
383    "    [0, '04:18', '05:00', 258, 300, 42],\n",
384    "    [1, '04:27', '05:08', 267, 308, 41],\n",
385    "    [2, '04:29', '05:26', 269, 326, 57],\n",
386    "    [3, '04:29', '04:55', 269, 295, 26],\n",
387    "    [4, '04:30', '04:53', 270, 293, 23],\n",
388    "    [5, '04:30', '04:51', 270, 291, 21],\n",
389    "    [6, '04:31', '04:53', 271, 293, 22],\n",
390    "    [7, '04:33', '05:15', 273, 315, 42],\n",
391    "    [8, '04:34', '04:44', 274, 284, 10],\n",
392    "    [9, '04:34', '05:03', 274, 303, 29],\n",
393    "    [10, '04:35', '04:50', 275, 290, 15],\n",
394    "    [11, '04:36', '04:46', 276, 286, 10],\n",
395    "    [12, '04:37', '05:18', 277, 318, 41],\n",
396    "    [13, '04:41', '05:13', 281, 313, 32],\n",
397    "    [14, '04:42', '05:23', 282, 323, 41],\n",
398    "    [15, '04:43', '04:53', 283, 293, 10],\n",
399    "    [16, '04:44', '05:45', 284, 345, 61],\n",
400    "    [17, '04:45', '05:11', 285, 311, 26],\n",
401    "    [18, '04:46', '05:01', 286, 301, 15],\n",
402    "    [19, '04:46', '04:56', 286, 296, 10],\n",
403    "    [20, '04:47', '05:14', 287, 314, 27],\n",
404    "    [21, '04:48', '05:30', 288, 330, 42],\n",
405    "    [22, '04:49', '05:41', 289, 341, 52],\n",
406    "    [23, '04:49', '05:18', 289, 318, 29],\n",
407    "    [24, '04:50', '05:33', 290, 333, 43],\n",
408    "    [25, '04:52', '05:56', 292, 356, 64],\n",
409    "    [26, '04:52', '05:07', 292, 307, 15],\n",
410    "    [27, '04:53', '05:19', 293, 319, 26],\n",
411    "    [28, '04:53', '05:23', 293, 323, 30],\n",
412    "    [29, '04:55', '05:27', 295, 327, 32],\n",
413    "    [30, '04:57', '05:38', 297, 338, 41],\n",
414    "    [31, '05:00', '06:00', 300, 360, 60],\n",
415    "    [32, '05:00', '05:54', 300, 354, 54],\n",
416    "    [33, '05:01', '05:33', 301, 333, 32],\n",
417    "    [34, '05:01', '05:26', 301, 326, 25],\n",
418    "    [35, '05:02', '05:29', 302, 329, 27],\n",
419    "    [36, '05:02', '05:12', 302, 312, 10],\n",
420    "    [37, '05:03', '05:45', 303, 345, 42],\n",
421    "    [38, '05:03', '05:18', 303, 318, 15],\n",
422    "    [39, '05:03', '06:28', 303, 388, 85],\n",
423    "    [40, '05:03', '05:13', 303, 313, 10],\n",
424    "    [41, '05:04', '06:24', 304, 384, 80],\n",
425    "    [42, '05:07', '05:44', 307, 344, 37],\n",
426    "    [43, '05:08', '05:48', 308, 348, 40],\n",
427    "    [44, '05:10', '06:06', 310, 366, 56],\n",
428    "    [45, '05:11', '05:37', 311, 337, 26],\n",
429    "    [46, '05:11', '05:53', 311, 353, 42],\n",
430    "    [47, '05:13', '06:15', 313, 375, 62],\n",
431    "    [48, '05:13', '05:38', 313, 338, 25],\n",
432    "    [49, '05:16', '05:44', 316, 344, 28],\n",
433    "    [50, '05:17', '05:27', 317, 327, 10],\n",
434    "    [51, '05:18', '06:40', 318, 400, 82],\n",
435    "    [52, '05:18', '06:03', 318, 363, 45],\n",
436    "    [53, '05:18', '06:11', 318, 371, 53],\n",
437    "    [54, '05:18', '06:00', 318, 360, 42],\n",
438    "    [55, '05:19', '06:34', 319, 394, 75],\n",
439    "    [56, '05:20', '06:17', 320, 377, 57],\n",
440    "    [57, '05:22', '05:59', 322, 359, 37],\n",
441    "    [58, '05:24', '05:48', 324, 348, 24],\n",
442    "    [59, '05:25', '05:40', 325, 340, 15],\n",
443    "    [60, '05:26', '06:08', 326, 368, 42],\n",
444    "    [61, '05:27', '06:30', 327, 390, 63],\n",
445    "    [62, '05:27', '05:54', 327, 354, 27],\n",
446    "    [63, '05:28', '05:53', 328, 353, 25],\n",
447    "    [64, '05:29', '05:44', 329, 344, 15],\n",
448    "    [65, '05:30', '05:40', 330, 340, 10],\n",
449    "    [66, '05:30', '05:40', 330, 340, 10],\n",
450    "    [67, '05:30', '05:40', 330, 340, 10],\n",
451    "    [68, '05:32', '06:53', 332, 413, 81],\n",
452    "    [69, '05:33', '07:00', 333, 420, 87],\n",
453    "    [70, '05:33', '06:15', 333, 375, 42],\n",
454    "    [71, '05:33', '05:47', 333, 347, 14],\n",
455    "    [72, '05:37', '06:13', 337, 373, 36],\n",
456    "    [73, '05:37', '06:05', 337, 365, 28],\n",
457    "    [74, '05:38', '06:33', 338, 393, 55],\n",
458    "    [75, '05:38', '06:04', 338, 364, 26],\n",
459    "    [76, '05:38', '06:18', 338, 378, 40],\n",
460    "    [77, '05:39', '05:54', 339, 354, 15],\n",
461    "    [78, '05:40', '05:56', 340, 356, 16],\n",
462    "    [79, '05:40', '06:41', 340, 401, 61],\n",
463    "    [80, '05:40', '05:50', 340, 350, 10],\n",
464    "    [81, '05:41', '06:23', 341, 383, 42],\n",
465    "    [82, '05:41', '06:01', 341, 361, 20],\n",
466    "    [83, '05:43', '06:08', 343, 368, 25],\n",
467    "    [84, '05:44', '07:10', 344, 430, 86],\n",
468    "    [85, '05:44', '05:55', 344, 355, 11],\n",
469    "    [86, '05:45', '06:44', 345, 404, 59],\n",
470    "    [87, '05:47', '06:17', 347, 377, 30],\n",
471    "    [88, '05:48', '07:08', 348, 428, 80],\n",
472    "    [89, '05:48', '06:30', 348, 390, 42],\n",
473    "    [90, '05:50', '06:50', 350, 410, 60],\n",
474    "    [91, '05:50', '06:00', 350, 360, 10],\n",
475    "    [92, '05:50', '06:00', 350, 360, 10],\n",
476    "    [93, '05:50', '06:51', 350, 411, 61],\n",
477    "    [94, '05:52', '06:33', 352, 393, 41],\n",
478    "    [95, '05:52', '06:36', 352, 396, 44],\n",
479    "    [96, '05:52', '06:23', 352, 383, 31],\n",
480    "    [97, '05:54', '06:14', 354, 374, 20],\n",
481    "    [98, '05:54', '07:20', 354, 440, 86],\n",
482    "    [99, '05:55', '06:40', 355, 400, 45],\n",
483    "    [100, '05:55', '06:27', 355, 387, 32],\n",
484    "    [101, '05:56', '06:35', 356, 395, 39],\n",
485    "    [102, '05:56', '06:06', 356, 366, 10],\n",
486    "    [103, '05:57', '06:21', 357, 381, 24],\n",
487    "    [104, '05:58', '07:23', 358, 443, 85],\n",
488    "    [105, '05:58', '06:23', 358, 383, 25],\n",
489    "    [106, '05:58', '06:08', 358, 368, 10],\n",
490    "    [107, '05:58', '06:43', 358, 403, 45],\n",
491    "    [108, '06:00', '06:10', 360, 370, 10],\n",
492    "    [109, '06:00', '06:16', 360, 376, 16],\n",
493    "    [110, '06:00', '07:01', 360, 421, 61],\n",
494    "    [111, '06:01', '07:00', 361, 420, 59],\n",
495    "    [112, '06:01', '06:13', 361, 373, 12],\n",
496    "    [113, '06:01', '06:45', 361, 405, 44],\n",
497    "    [114, '06:03', '06:50', 363, 410, 47],\n",
498    "    [115, '06:04', '06:37', 364, 397, 33],\n",
499    "    [116, '06:04', '07:30', 364, 450, 86],\n",
500    "    [117, '06:05', '06:24', 365, 384, 19],\n",
501    "    [118, '06:06', '06:51', 366, 411, 45],\n",
502    "    [119, '06:07', '06:43', 367, 403, 36],\n",
503    "    [120, '06:08', '07:30', 368, 450, 82],\n",
504    "    [121, '06:10', '06:20', 370, 380, 10],\n",
505    "    [122, '06:10', '07:17', 370, 437, 67],\n",
506    "    [123, '06:11', '06:54', 371, 414, 43],\n",
507    "    [124, '06:11', '06:21', 371, 381, 10],\n",
508    "    [125, '06:13', '06:38', 373, 398, 25],\n",
509    "    [126, '06:13', '06:58', 373, 418, 45],\n",
510    "    [127, '06:13', '06:53', 373, 413, 40],\n",
511    "    [128, '06:14', '07:03', 374, 423, 49],\n",
512    "    [129, '06:14', '06:47', 374, 407, 33],\n",
513    "    [130, '06:14', '07:40', 374, 460, 86],\n",
514    "    [131, '06:15', '07:15', 375, 435, 60],\n",
515    "    [132, '06:16', '06:28', 376, 388, 12],\n",
516    "    [133, '06:16', '06:26', 376, 386, 10],\n",
517    "    [134, '06:17', '06:34', 377, 394, 17],\n",
518    "    [135, '06:18', '07:06', 378, 426, 48],\n",
519    "    [136, '06:18', '07:38', 378, 458, 80],\n",
520    "    [137, '06:18', '07:02', 378, 422, 44],\n",
521    "    [138, '06:19', '06:53', 379, 413, 34],\n",
522    "    [139, '06:20', '07:25', 380, 445, 65],\n",
523    "    [140, '06:20', '06:36', 380, 396, 16],\n",
524    "    [141, '06:20', '06:30', 380, 390, 10],\n",
525    "    [142, '06:20', '06:30', 380, 390, 10],\n",
526    "    [143, '06:21', '06:49', 381, 409, 28],\n",
527    "    [144, '06:22', '07:06', 382, 426, 44],\n",
528    "    [145, '06:24', '07:50', 384, 470, 86],\n",
529    "    [146, '06:24', '06:57', 384, 417, 33],\n",
530    "    [147, '06:26', '07:45', 386, 465, 79],\n",
531    "    [148, '06:26', '07:10', 386, 430, 44],\n",
532    "    [149, '06:27', '06:44', 387, 404, 17],\n",
533    "    [150, '06:28', '06:53', 388, 413, 25],\n",
534    "    [151, '06:28', '07:14', 388, 434, 46],\n",
535    "    [152, '06:29', '07:03', 389, 423, 34],\n",
536    "    [153, '06:30', '06:40', 390, 400, 10],\n",
537    "    [154, '06:30', '07:37', 390, 457, 67],\n",
538    "    [155, '06:31', '06:43', 391, 403, 12],\n",
539    "    [156, '06:33', '07:14', 393, 434, 41],\n",
540    "    [157, '06:33', '07:53', 393, 473, 80],\n",
541    "    [158, '06:34', '08:16', 394, 496, 102],\n",
542    "    [159, '06:34', '07:09', 394, 429, 35],\n",
543    "    [160, '06:34', '07:07', 394, 427, 33],\n",
544    "    [161, '06:36', '07:21', 396, 441, 45],\n",
545    "    [162, '06:37', '07:22', 397, 442, 45],\n",
546    "    [163, '06:37', '06:54', 397, 414, 17],\n",
547    "    [164, '06:38', '07:30', 398, 450, 52],\n",
548    "    [165, '06:38', '07:18', 398, 438, 40],\n",
549    "    [166, '06:39', '07:33', 399, 453, 54],\n",
550    "    [167, '06:40', '07:52', 400, 472, 72],\n",
551    "    [168, '06:40', '06:50', 400, 410, 10],\n",
552    "    [169, '06:40', '07:22', 400, 442, 42],\n",
553    "    [170, '06:40', '06:56', 400, 416, 16],\n",
554    "    [171, '06:41', '08:00', 401, 480, 79],\n",
555    "    [172, '06:42', '07:26', 402, 446, 44],\n",
556    "    [173, '06:42', '07:13', 402, 433, 31],\n",
557    "    [174, '06:43', '07:08', 403, 428, 25],\n",
558    "    [175, '06:43', '07:30', 403, 450, 47],\n",
559    "    [176, '06:43', '07:23', 403, 443, 40],\n",
560    "    [177, '06:44', '07:17', 404, 437, 33],\n",
561    "    [178, '06:44', '08:13', 404, 493, 89],\n",
562    "    [179, '06:46', '07:01', 406, 421, 15],\n",
563    "    [180, '06:46', '06:58', 406, 418, 12],\n",
564    "    [181, '06:47', '07:04', 407, 424, 17],\n",
565    "    [182, '06:48', '08:15', 408, 495, 87],\n",
566    "    [183, '06:48', '07:34', 408, 454, 46],\n",
567    "    [184, '06:48', '07:37', 408, 457, 49],\n",
568    "    [185, '06:49', '07:43', 409, 463, 54],\n",
569    "    [186, '06:50', '08:00', 410, 480, 70],\n",
570    "    [187, '06:50', '07:00', 410, 420, 10],\n",
571    "    [188, '06:50', '07:05', 410, 425, 15],\n",
572    "    [189, '06:51', '07:18', 411, 438, 27],\n",
573    "    [190, '06:52', '07:36', 412, 456, 44],\n",
574    "    [191, '06:53', '07:37', 413, 457, 44],\n",
575    "    [192, '06:54', '08:20', 414, 500, 86],\n",
576    "    [193, '06:54', '07:27', 414, 447, 33],\n",
577    "    [194, '06:54', '07:20', 414, 440, 26],\n",
578    "    [195, '06:56', '08:23', 416, 503, 87],\n",
579    "    [196, '06:57', '07:12', 417, 432, 15],\n",
580    "    [197, '06:57', '07:58', 417, 478, 61],\n",
581    "    [198, '06:57', '07:45', 417, 465, 48],\n",
582    "    [199, '06:57', '07:40', 417, 460, 43],\n",
583    "    [200, '06:58', '07:23', 418, 443, 25],\n",
584    "    [201, '06:59', '07:53', 419, 473, 54],\n",
585    "    [202, '06:59', '08:07', 419, 487, 68],\n",
586    "    [203, '07:00', '07:10', 420, 430, 10],\n",
587    "    [204, '07:00', '07:16', 420, 436, 16],\n",
588    "    [205, '07:01', '08:30', 421, 510, 89],\n",
589    "    [206, '07:01', '07:13', 421, 433, 12],\n",
590    "    [207, '07:01', '07:43', 421, 463, 42],\n",
591    "    [208, '07:03', '08:30', 423, 510, 87],\n",
592    "    [209, '07:04', '07:37', 424, 457, 33],\n",
593    "    [210, '07:04', '07:44', 424, 464, 40],\n",
594    "    [211, '07:05', '07:52', 425, 472, 47],\n",
595    "    [212, '07:05', '08:05', 425, 485, 60],\n",
596    "    [213, '07:05', '07:46', 425, 466, 41],\n",
597    "    [214, '07:06', '07:51', 426, 471, 45],\n",
598    "    [215, '07:07', '08:08', 427, 488, 61],\n",
599    "    [216, '07:07', '07:52', 427, 472, 45],\n",
600    "    [217, '07:07', '08:16', 427, 496, 69],\n",
601    "    [218, '07:07', '07:27', 427, 447, 20],\n",
602    "    [219, '07:09', '07:50', 429, 470, 41],\n",
603    "    [220, '07:09', '08:40', 429, 520, 91],\n",
604    "    [221, '07:09', '08:03', 429, 483, 54],\n",
605    "    [222, '07:10', '07:20', 430, 440, 10],\n",
606    "    [223, '07:11', '08:36', 431, 516, 85],\n",
607    "    [224, '07:12', '08:00', 432, 480, 48],\n",
608    "    [225, '07:12', '07:47', 432, 467, 35],\n",
609    "    [226, '07:13', '07:54', 433, 474, 41],\n",
610    "    [227, '07:13', '07:38', 433, 458, 25],\n",
611    "    [228, '07:14', '07:59', 434, 479, 45],\n",
612    "    [229, '07:16', '08:50', 436, 530, 94],\n",
613    "    [230, '07:16', '07:28', 436, 448, 12],\n",
614    "    [231, '07:17', '07:35', 437, 455, 18],\n",
615    "    [232, '07:17', '07:58', 437, 478, 41],\n",
616    "    [233, '07:18', '08:06', 438, 486, 48],\n",
617    "    [234, '07:18', '08:44', 438, 524, 86],\n",
618    "    [235, '07:19', '08:13', 439, 493, 54],\n",
619    "    [236, '07:20', '08:02', 440, 482, 42],\n",
620    "    [237, '07:20', '08:07', 440, 487, 47],\n",
621    "    [238, '07:20', '07:30', 440, 450, 10],\n",
622    "    [239, '07:20', '07:57', 440, 477, 37],\n",
623    "    [240, '07:20', '07:36', 440, 456, 16],\n",
624    "    [241, '07:21', '07:48', 441, 468, 27],\n",
625    "    [242, '07:22', '08:06', 442, 486, 44],\n",
626    "    [243, '07:22', '08:25', 442, 505, 63],\n",
627    "    [244, '07:24', '08:27', 444, 507, 63],\n",
628    "    [245, '07:24', '08:05', 444, 485, 41],\n",
629    "    [246, '07:26', '08:23', 446, 503, 57],\n",
630    "    [247, '07:26', '08:52', 446, 532, 86],\n",
631    "    [248, '07:27', '08:07', 447, 487, 40],\n",
632    "    [249, '07:27', '07:42', 447, 462, 15],\n",
633    "    [250, '07:27', '08:15', 447, 495, 48],\n",
634    "    [251, '07:28', '07:53', 448, 473, 25],\n",
635    "    [252, '07:28', '08:09', 448, 489, 41],\n",
636    "    [253, '07:28', '07:38', 448, 458, 10],\n",
637    "    [254, '07:30', '08:35', 450, 515, 65],\n",
638    "    [255, '07:31', '07:43', 451, 463, 12],\n",
639    "    [256, '07:32', '08:13', 452, 493, 41],\n",
640    "    [257, '07:34', '09:00', 454, 540, 86],\n",
641    "    [258, '07:34', '08:33', 454, 513, 59],\n",
642    "    [259, '07:34', '09:04', 454, 544, 90],\n",
643    "    [260, '07:35', '08:22', 455, 502, 47],\n",
644    "    [261, '07:35', '07:45', 455, 465, 10],\n",
645    "    [262, '07:35', '08:16', 455, 496, 41],\n",
646    "    [263, '07:36', '08:17', 456, 497, 41],\n",
647    "    [264, '07:36', '08:36', 456, 516, 60],\n",
648    "    [265, '07:37', '07:50', 457, 470, 13],\n",
649    "    [266, '07:40', '07:56', 460, 476, 16],\n",
650    "    [267, '07:40', '08:20', 460, 500, 40],\n",
651    "    [268, '07:40', '08:45', 460, 525, 65],\n",
652    "    [269, '07:41', '08:39', 461, 519, 58],\n",
653    "    [270, '07:41', '07:51', 461, 471, 10],\n",
654    "    [271, '07:42', '08:30', 462, 510, 48],\n",
655    "    [272, '07:42', '08:21', 462, 501, 39],\n",
656    "    [273, '07:43', '08:08', 463, 488, 25],\n",
657    "    [274, '07:43', '08:24', 463, 504, 41],\n",
658    "    [275, '07:44', '09:10', 464, 550, 86],\n",
659    "    [276, '07:44', '08:43', 464, 523, 59],\n",
660    "    [277, '07:46', '08:28', 466, 508, 42],\n",
661    "    [278, '07:46', '07:58', 466, 478, 12],\n",
662    "    [279, '07:47', '08:00', 467, 480, 13],\n",
663    "    [280, '07:48', '09:14', 468, 554, 86],\n",
664    "    [281, '07:49', '08:32', 469, 512, 43],\n",
665    "    [282, '07:50', '08:55', 470, 535, 65],\n",
666    "    [283, '07:50', '08:00', 470, 480, 10],\n",
667    "    [284, '07:50', '08:37', 470, 517, 47],\n",
668    "    [285, '07:50', '08:26', 470, 506, 36],\n",
669    "    [286, '07:51', '08:18', 471, 498, 27],\n",
670    "    [287, '07:52', '08:21', 472, 501, 29],\n",
671    "    [288, '07:53', '08:35', 473, 515, 42],\n",
672    "    [289, '07:54', '09:19', 474, 559, 85],\n",
673    "    [290, '07:55', '08:53', 475, 533, 58],\n",
674    "    [291, '07:56', '08:54', 476, 534, 58],\n",
675    "    [292, '07:57', '08:39', 477, 519, 42],\n",
676    "    [293, '07:57', '08:10', 477, 490, 13],\n",
677    "    [294, '07:58', '08:45', 478, 525, 47],\n",
678    "    [295, '07:58', '08:23', 478, 503, 25],\n",
679    "    [296, '08:00', '08:10', 480, 490, 10],\n",
680    "    [297, '08:00', '09:05', 480, 545, 65],\n",
681    "    [298, '08:00', '08:16', 480, 496, 16],\n",
682    "    [299, '08:00', '08:35', 480, 515, 35],\n",
683    "    [300, '08:01', '08:13', 481, 493, 12],\n",
684    "    [301, '08:01', '08:43', 481, 523, 42],\n",
685    "    [302, '08:03', '09:26', 483, 566, 83],\n",
686    "    [303, '08:04', '09:29', 484, 569, 85],\n",
687    "    [304, '08:05', '08:21', 485, 501, 16],\n",
688    "    [305, '08:05', '08:47', 485, 527, 42],\n",
689    "    [306, '08:06', '08:51', 486, 531, 45],\n",
690    "    [307, '08:06', '09:03', 486, 543, 57],\n",
691    "    [308, '08:07', '08:20', 487, 500, 13],\n",
692    "    [309, '08:08', '08:55', 488, 535, 47],\n",
693    "    [310, '08:08', '08:50', 488, 530, 42],\n",
694    "    [311, '08:10', '08:45', 490, 525, 35],\n",
695    "    [312, '08:10', '09:15', 490, 555, 65],\n",
696    "    [313, '08:10', '08:20', 490, 500, 10],\n",
697    "    [314, '08:11', '09:41', 491, 581, 90],\n",
698    "    [315, '08:12', '08:55', 492, 535, 43],\n",
699    "    [316, '08:13', '08:38', 493, 518, 25],\n",
700    "    [317, '08:14', '09:38', 494, 578, 84],\n",
701    "    [318, '08:15', '08:30', 495, 510, 15],\n",
702    "    [319, '08:16', '08:30', 496, 510, 14],\n",
703    "    [320, '08:16', '08:28', 496, 508, 12],\n",
704    "    [321, '08:16', '09:00', 496, 540, 44],\n",
705    "    [322, '08:17', '09:13', 497, 553, 56],\n",
706    "    [323, '08:18', '09:16', 498, 556, 58],\n",
707    "    [324, '08:18', '09:05', 498, 545, 47],\n",
708    "    [325, '08:20', '08:36', 500, 516, 16],\n",
709    "    [326, '08:20', '08:55', 500, 535, 35],\n",
710    "    [327, '08:20', '09:05', 500, 545, 45],\n",
711    "    [328, '08:20', '08:30', 500, 510, 10],\n",
712    "    [329, '08:20', '09:25', 500, 565, 65],\n",
713    "    [330, '08:21', '08:38', 501, 518, 17],\n",
714    "    [331, '08:21', '08:47', 501, 527, 26],\n",
715    "    [332, '08:22', '08:45', 502, 525, 23],\n",
716    "    [333, '08:23', '09:10', 503, 550, 47],\n",
717    "    [334, '08:24', '09:48', 504, 588, 84],\n",
718    "    [335, '08:26', '08:46', 506, 526, 20],\n",
719    "    [336, '08:27', '09:07', 507, 547, 40],\n",
720    "    [337, '08:28', '08:50', 508, 530, 22],\n",
721    "    [338, '08:28', '09:56', 508, 596, 88],\n",
722    "    [339, '08:28', '09:23', 508, 563, 55],\n",
723    "    [340, '08:29', '09:20', 509, 560, 51],\n",
724    "    [341, '08:30', '09:05', 510, 545, 35],\n",
725    "    [342, '08:30', '08:45', 510, 525, 15],\n",
726    "    [343, '08:30', '08:40', 510, 520, 10],\n",
727    "    [344, '08:30', '09:35', 510, 575, 65],\n",
728    "    [345, '08:31', '08:43', 511, 523, 12],\n",
729    "    [346, '08:31', '09:13', 511, 553, 42],\n",
730    "    [347, '08:34', '09:58', 514, 598, 84],\n",
731    "    [348, '08:35', '08:55', 515, 535, 20],\n",
732    "    [349, '08:35', '09:15', 515, 555, 40],\n",
733    "    [350, '08:35', '08:45', 515, 525, 10],\n",
734    "    [351, '08:36', '08:46', 516, 526, 10],\n",
735    "    [352, '08:36', '09:00', 516, 540, 24],\n",
736    "    [353, '08:38', '09:20', 518, 560, 42],\n",
737    "    [354, '08:38', '09:35', 518, 575, 57],\n",
738    "    [355, '08:38', '09:14', 518, 554, 36],\n",
739    "    [356, '08:39', '09:33', 519, 573, 54],\n",
740    "    [357, '08:40', '09:45', 520, 585, 65],\n",
741    "    [358, '08:40', '08:50', 520, 530, 10],\n",
742    "    [359, '08:40', '08:56', 520, 536, 16],\n",
743    "    [360, '08:42', '09:25', 522, 565, 43],\n",
744    "    [361, '08:43', '09:08', 523, 548, 25],\n",
745    "    [362, '08:44', '09:35', 524, 575, 51],\n",
746    "    [363, '08:45', '09:00', 525, 540, 15],\n",
747    "    [364, '08:45', '09:05', 525, 545, 20],\n",
748    "    [365, '08:46', '09:24', 526, 564, 38],\n",
749    "    [366, '08:46', '08:58', 526, 538, 12],\n",
750    "    [367, '08:46', '09:30', 526, 570, 44],\n",
751    "    [368, '08:48', '10:11', 528, 611, 83],\n",
752    "    [369, '08:48', '10:13', 528, 613, 85],\n",
753    "    [370, '08:49', '09:43', 529, 583, 54],\n",
754    "    [371, '08:50', '09:30', 530, 570, 40],\n",
755    "    [372, '08:50', '10:00', 530, 600, 70],\n",
756    "    [373, '08:50', '09:00', 530, 540, 10],\n",
757    "    [374, '08:51', '09:17', 531, 557, 26],\n",
758    "    [375, '08:53', '09:20', 533, 560, 27],\n",
759    "    [376, '08:53', '09:35', 533, 575, 42],\n",
760    "    [377, '08:55', '09:34', 535, 574, 39],\n",
761    "    [378, '08:55', '09:15', 535, 555, 20],\n",
762    "    [379, '08:58', '09:38', 538, 578, 40],\n",
763    "    [380, '08:58', '10:26', 538, 626, 88],\n",
764    "    [381, '08:59', '09:53', 539, 593, 54],\n",
765    "    [382, '08:59', '09:50', 539, 590, 51],\n",
766    "    [383, '09:00', '09:35', 540, 575, 35],\n",
767    "    [384, '09:00', '09:16', 540, 556, 16],\n",
768    "    [385, '09:00', '09:10', 540, 550, 10],\n",
769    "    [386, '09:00', '09:16', 540, 556, 16],\n",
770    "    [387, '09:01', '09:13', 541, 553, 12],\n",
771    "    [388, '09:03', '09:45', 543, 585, 42],\n",
772    "    [389, '09:03', '10:28', 543, 628, 85],\n",
773    "    [390, '09:05', '09:44', 545, 584, 39],\n",
774    "    [391, '09:05', '09:25', 545, 565, 20],\n",
775    "    [392, '09:08', '09:53', 548, 593, 45],\n",
776    "    [393, '09:08', '10:04', 548, 604, 56],\n",
777    "    [394, '09:09', '10:03', 549, 603, 54],\n",
778    "    [395, '09:10', '10:15', 550, 615, 65],\n",
779    "    [396, '09:10', '09:20', 550, 560, 10],\n",
780    "    [397, '09:11', '09:38', 551, 578, 27],\n",
781    "    [398, '09:13', '10:00', 553, 600, 47],\n",
782    "    [399, '09:14', '09:39', 554, 579, 25],\n",
783    "    [400, '09:14', '10:05', 554, 605, 51],\n",
784    "    [401, '09:15', '09:54', 555, 594, 39],\n",
785    "    [402, '09:16', '09:28', 556, 568, 12],\n",
786    "    [403, '09:18', '10:43', 558, 643, 85],\n",
787    "    [404, '09:18', '10:41', 558, 641, 83],\n",
788    "    [405, '09:18', '09:58', 558, 598, 40],\n",
789    "    [406, '09:19', '10:13', 559, 613, 54],\n",
790    "    [407, '09:20', '09:30', 560, 570, 10],\n",
791    "    [408, '09:20', '09:36', 560, 576, 16],\n",
792    "    [409, '09:21', '09:47', 561, 587, 26],\n",
793    "    [410, '09:23', '10:30', 563, 630, 67],\n",
794    "    [411, '09:23', '10:05', 563, 605, 42],\n",
795    "    [412, '09:23', '09:49', 563, 589, 26],\n",
796    "    [413, '09:24', '09:35', 564, 575, 11],\n",
797    "    [414, '09:25', '09:35', 565, 575, 10],\n",
798    "    [415, '09:25', '10:04', 565, 604, 39],\n",
799    "    [416, '09:28', '10:08', 568, 608, 40],\n",
800    "    [417, '09:29', '09:45', 569, 585, 16],\n",
801    "    [418, '09:29', '10:20', 569, 620, 51],\n",
802    "    [419, '09:29', '10:56', 569, 656, 87],\n",
803    "    [420, '09:29', '10:23', 569, 623, 54],\n",
804    "    [421, '09:30', '09:40', 570, 580, 10],\n",
805    "    [422, '09:31', '09:43', 571, 583, 12],\n",
806    "    [423, '09:33', '10:58', 573, 658, 85],\n",
807    "    [424, '09:33', '10:15', 573, 615, 42],\n",
808    "    [425, '09:34', '09:45', 574, 585, 11],\n",
809    "    [426, '09:35', '10:14', 575, 614, 39],\n",
810    "    [427, '09:38', '10:45', 578, 645, 67],\n",
811    "    [428, '09:39', '10:33', 579, 633, 54],\n",
812    "    [429, '09:40', '09:56', 580, 596, 16],\n",
813    "    [430, '09:40', '09:50', 580, 590, 10],\n",
814    "    [431, '09:41', '10:08', 581, 608, 27],\n",
815    "    [432, '09:41', '10:23', 581, 623, 42],\n",
816    "    [433, '09:44', '10:35', 584, 635, 51],\n",
817    "    [434, '09:44', '11:11', 584, 671, 87],\n",
818    "    [435, '09:44', '09:55', 584, 595, 11],\n",
819    "    [436, '09:45', '10:24', 585, 624, 39],\n",
820    "    [437, '09:46', '09:58', 586, 598, 12],\n",
821    "    [438, '09:48', '10:30', 588, 630, 42],\n",
822    "    [439, '09:48', '11:13', 588, 673, 85],\n",
823    "    [440, '09:48', '10:04', 588, 604, 16],\n",
824    "    [441, '09:49', '10:43', 589, 643, 54],\n",
825    "    [442, '09:50', '10:00', 590, 600, 10],\n",
826    "    [443, '09:51', '10:17', 591, 617, 26],\n",
827    "    [444, '09:53', '10:49', 593, 649, 56],\n",
828    "    [445, '09:53', '11:00', 593, 660, 67],\n",
829    "    [446, '09:54', '10:05', 594, 605, 11],\n",
830    "    [447, '09:55', '10:34', 595, 634, 39],\n",
831    "    [448, '09:56', '10:38', 596, 638, 42],\n",
832    "    [449, '09:57', '10:20', 597, 620, 23],\n",
833    "    [450, '09:59', '11:26', 599, 686, 87],\n",
834    "    [451, '09:59', '10:50', 599, 650, 51],\n",
835    "    [452, '09:59', '10:53', 599, 653, 54],\n",
836    "    [453, '10:00', '10:16', 600, 616, 16],\n",
837    "    [454, '10:00', '10:10', 600, 610, 10],\n",
838    "    [455, '10:01', '10:13', 601, 613, 12],\n",
839    "    [456, '10:03', '11:28', 603, 688, 85],\n",
840    "    [457, '10:03', '10:45', 603, 645, 42],\n",
841    "    [458, '10:04', '10:15', 604, 615, 11],\n",
842    "    [459, '10:05', '10:44', 605, 644, 39],\n",
843    "    [460, '10:08', '11:15', 608, 675, 67],\n",
844    "    [461, '10:09', '11:03', 609, 663, 54],\n",
845    "    [462, '10:10', '10:20', 610, 620, 10],\n",
846    "    [463, '10:11', '10:38', 611, 638, 27],\n",
847    "    [464, '10:11', '10:53', 611, 653, 42],\n",
848    "    [465, '10:14', '11:05', 614, 665, 51],\n",
849    "    [466, '10:14', '11:41', 614, 701, 87],\n",
850    "    [467, '10:14', '10:25', 614, 625, 11],\n",
851    "    [468, '10:15', '10:54', 615, 654, 39],\n",
852    "    [469, '10:16', '10:28', 616, 628, 12],\n",
853    "    [470, '10:18', '11:43', 618, 703, 85],\n",
854    "    [471, '10:18', '11:00', 618, 660, 42],\n",
855    "    [472, '10:19', '11:13', 619, 673, 54],\n",
856    "    [473, '10:20', '10:30', 620, 630, 10],\n",
857    "    [474, '10:20', '10:36', 620, 636, 16],\n",
858    "    [475, '10:21', '10:47', 621, 647, 26],\n",
859    "    [476, '10:23', '11:30', 623, 690, 67],\n",
860    "    [477, '10:23', '10:45', 623, 645, 22],\n",
861    "    [478, '10:24', '10:35', 624, 635, 11],\n",
862    "    [479, '10:25', '11:04', 625, 664, 39],\n",
863    "    [480, '10:26', '11:08', 626, 668, 42],\n",
864    "    [481, '10:29', '11:20', 629, 680, 51],\n",
865    "    [482, '10:29', '11:23', 629, 683, 54],\n",
866    "    [483, '10:29', '11:56', 629, 716, 87],\n",
867    "    [484, '10:30', '10:40', 630, 640, 10],\n",
868    "    [485, '10:31', '10:43', 631, 643, 12],\n",
869    "    [486, '10:33', '11:15', 633, 675, 42],\n",
870    "    [487, '10:33', '11:58', 633, 718, 85],\n",
871    "    [488, '10:34', '10:45', 634, 645, 11],\n",
872    "    [489, '10:35', '11:14', 635, 674, 39],\n",
873    "    [490, '10:38', '11:45', 638, 705, 67],\n",
874    "    [491, '10:39', '11:33', 639, 693, 54],\n",
875    "    [492, '10:40', '10:50', 640, 650, 10],\n",
876    "    [493, '10:40', '10:56', 640, 656, 16],\n",
877    "    [494, '10:41', '11:23', 641, 683, 42],\n",
878    "    [495, '10:41', '11:08', 641, 668, 27],\n",
879    "    [496, '10:44', '12:11', 644, 731, 87],\n",
880    "    [497, '10:44', '11:35', 644, 695, 51],\n",
881    "    [498, '10:44', '10:55', 644, 655, 11],\n",
882    "    [499, '10:45', '11:24', 645, 684, 39],\n",
883    "    [500, '10:46', '10:58', 646, 658, 12],\n",
884    "    [501, '10:48', '12:13', 648, 733, 85],\n",
885    "    [502, '10:48', '11:30', 648, 690, 42],\n",
886    "    [503, '10:49', '11:43', 649, 703, 54],\n",
887    "    [504, '10:50', '11:00', 650, 660, 10],\n",
888    "    [505, '10:51', '11:17', 651, 677, 26],\n",
889    "    [506, '10:53', '12:00', 653, 720, 67],\n",
890    "    [507, '10:53', '11:20', 653, 680, 27],\n",
891    "    [508, '10:54', '11:05', 654, 665, 11],\n",
892    "    [509, '10:55', '11:34', 655, 694, 39],\n",
893    "    [510, '10:56', '11:38', 656, 698, 42],\n",
894    "    [511, '10:59', '11:14', 659, 674, 15],\n",
895    "    [512, '10:59', '12:26', 659, 746, 87],\n",
896    "    [513, '10:59', '11:53', 659, 713, 54],\n",
897    "    [514, '10:59', '11:50', 659, 710, 51],\n",
898    "    [515, '11:00', '11:16', 660, 676, 16],\n",
899    "    [516, '11:00', '11:10', 660, 670, 10],\n",
900    "    [517, '11:01', '11:13', 661, 673, 12],\n",
901    "    [518, '11:03', '11:45', 663, 705, 42],\n",
902    "    [519, '11:03', '12:28', 663, 748, 85],\n",
903    "    [520, '11:04', '11:15', 664, 675, 11],\n",
904    "    [521, '11:05', '11:44', 665, 704, 39],\n",
905    "    [522, '11:08', '12:15', 668, 735, 67],\n",
906    "    [523, '11:09', '12:03', 669, 723, 54],\n",
907    "    [524, '11:10', '11:20', 670, 680, 10],\n",
908    "    [525, '11:11', '11:38', 671, 698, 27],\n",
909    "    [526, '11:11', '11:53', 671, 713, 42],\n",
910    "    [527, '11:14', '11:25', 674, 685, 11],\n",
911    "    [528, '11:14', '12:05', 674, 725, 51],\n",
912    "    [529, '11:14', '12:38', 674, 758, 84],\n",
913    "    [530, '11:14', '12:41', 674, 761, 87],\n",
914    "    [531, '11:15', '11:54', 675, 714, 39],\n",
915    "    [532, '11:16', '11:28', 676, 688, 12],\n",
916    "    [533, '11:18', '12:00', 678, 720, 42],\n",
917    "    [534, '11:19', '12:13', 679, 733, 54],\n",
918    "    [535, '11:20', '11:30', 680, 690, 10],\n",
919    "    [536, '11:20', '11:36', 680, 696, 16],\n",
920    "    [537, '11:21', '11:47', 681, 707, 26],\n",
921    "    [538, '11:23', '12:30', 683, 750, 67],\n",
922    "    [539, '11:23', '11:49', 683, 709, 26],\n",
923    "    [540, '11:24', '12:48', 684, 768, 84],\n",
924    "    [541, '11:24', '11:35', 684, 695, 11],\n",
925    "    [542, '11:25', '12:04', 685, 724, 39],\n",
926    "    [543, '11:26', '12:08', 686, 728, 42],\n",
927    "    [544, '11:29', '11:44', 689, 704, 15],\n",
928    "    [545, '11:29', '12:23', 689, 743, 54],\n",
929    "    [546, '11:29', '12:20', 689, 740, 51],\n",
930    "    [547, '11:29', '12:54', 689, 774, 85],\n",
931    "    [548, '11:30', '11:40', 690, 700, 10],\n",
932    "    [549, '11:31', '11:43', 691, 703, 12],\n",
933    "    [550, '11:33', '12:15', 693, 735, 42],\n",
934    "    [551, '11:34', '12:58', 694, 778, 84],\n",
935    "    [552, '11:34', '11:45', 694, 705, 11],\n",
936    "    [553, '11:35', '12:14', 695, 734, 39],\n",
937    "    [554, '11:38', '12:45', 698, 765, 67],\n",
938    "    [555, '11:39', '12:33', 699, 753, 54],\n",
939    "    [556, '11:40', '11:56', 700, 716, 16],\n",
940    "    [557, '11:40', '11:50', 700, 710, 10],\n",
941    "    [558, '11:41', '12:08', 701, 728, 27],\n",
942    "    [559, '11:41', '12:23', 701, 743, 42],\n",
943    "    [560, '11:44', '11:55', 704, 715, 11],\n",
944    "    [561, '11:44', '13:14', 704, 794, 90],\n",
945    "    [562, '11:44', '13:08', 704, 788, 84],\n",
946    "    [563, '11:44', '12:35', 704, 755, 51],\n",
947    "    [564, '11:45', '12:24', 705, 744, 39],\n",
948    "    [565, '11:46', '11:58', 706, 718, 12],\n",
949    "    [566, '11:48', '12:30', 708, 750, 42],\n",
950    "    [567, '11:49', '12:43', 709, 763, 54],\n",
951    "    [568, '11:50', '12:00', 710, 720, 10],\n",
952    "    [569, '11:51', '12:17', 711, 737, 26],\n",
953    "    [570, '11:53', '12:49', 713, 769, 56],\n",
954    "    [571, '11:53', '13:00', 713, 780, 67],\n",
955    "    [572, '11:54', '13:18', 714, 798, 84],\n",
956    "    [573, '11:54', '12:05', 714, 725, 11],\n",
957    "    [574, '11:55', '12:40', 715, 760, 45],\n",
958    "    [575, '11:55', '12:34', 715, 754, 39],\n",
959    "    [576, '11:56', '12:35', 716, 755, 39],\n",
960    "    [577, '11:57', '12:20', 717, 740, 23],\n",
961    "    [578, '11:58', '12:29', 718, 749, 31],\n",
962    "    [579, '11:59', '12:50', 719, 770, 51],\n",
963    "    [580, '11:59', '12:53', 719, 773, 54],\n",
964    "    [581, '11:59', '13:24', 719, 804, 85],\n",
965    "    [582, '11:59', '12:14', 719, 734, 15],\n",
966    "    [583, '12:00', '12:16', 720, 736, 16],\n",
967    "    [584, '12:00', '12:10', 720, 730, 10],\n",
968    "    [585, '12:01', '12:45', 721, 765, 44],\n",
969    "    [586, '12:01', '12:13', 721, 733, 12],\n",
970    "    [587, '12:03', '12:50', 723, 770, 47],\n",
971    "    [588, '12:04', '12:15', 724, 735, 11],\n",
972    "    [589, '12:04', '13:04', 724, 784, 60],\n",
973    "    [590, '12:04', '13:28', 724, 808, 84],\n",
974    "    [591, '12:05', '12:44', 725, 764, 39],\n",
975    "    [592, '12:08', '13:11', 728, 791, 63],\n",
976    "    [593, '12:08', '12:39', 728, 759, 31],\n",
977    "    [594, '12:09', '13:03', 729, 783, 54],\n",
978    "    [595, '12:10', '12:20', 730, 740, 10],\n",
979    "    [596, '12:11', '12:55', 731, 775, 44],\n",
980    "    [597, '12:11', '12:38', 731, 758, 27],\n",
981    "    [598, '12:14', '13:05', 734, 785, 51],\n",
982    "    [599, '12:14', '12:25', 734, 745, 11],\n",
983    "    [600, '12:14', '13:44', 734, 824, 90],\n",
984    "    [601, '12:14', '13:38', 734, 818, 84],\n",
985    "    [602, '12:15', '12:54', 735, 774, 39],\n",
986    "    [603, '12:16', '12:28', 736, 748, 12],\n",
987    "    [604, '12:18', '13:00', 738, 780, 42],\n",
988    "    [605, '12:19', '13:13', 739, 793, 54],\n",
989    "    [606, '12:20', '12:30', 740, 750, 10],\n",
990    "    [607, '12:20', '13:31', 740, 811, 71],\n",
991    "    [608, '12:20', '12:30', 740, 750, 10],\n",
992    "    [609, '12:20', '12:36', 740, 756, 16],\n",
993    "    [610, '12:21', '12:47', 741, 767, 26],\n",
994    "    [611, '12:23', '12:45', 743, 765, 22],\n",
995    "    [612, '12:24', '12:35', 744, 755, 11],\n",
996    "    [613, '12:24', '13:48', 744, 828, 84],\n",
997    "    [614, '12:25', '13:10', 745, 790, 45],\n",
998    "    [615, '12:25', '13:04', 745, 784, 39],\n",
999    "    [616, '12:26', '13:05', 746, 785, 39],\n",
1000    "    [617, '12:28', '13:54', 748, 834, 86],\n",
1001    "    [618, '12:28', '12:38', 748, 758, 10],\n",
1002    "    [619, '12:28', '13:15', 748, 795, 47],\n",
1003    "    [620, '12:29', '13:23', 749, 803, 54],\n",
1004    "    [621, '12:30', '13:41', 750, 821, 71],\n",
1005    "    [622, '12:30', '12:40', 750, 760, 10],\n",
1006    "    [623, '12:31', '13:15', 751, 795, 44],\n",
1007    "    [624, '12:31', '12:43', 751, 763, 12],\n",
1008    "    [625, '12:33', '12:48', 753, 768, 15],\n",
1009    "    [626, '12:33', '13:20', 753, 800, 47],\n",
1010    "    [627, '12:34', '13:58', 754, 838, 84],\n",
1011    "    [628, '12:34', '13:34', 754, 814, 60],\n",
1012    "    [629, '12:34', '12:45', 754, 765, 11],\n",
1013    "    [630, '12:35', '13:14', 755, 794, 39],\n",
1014    "    [631, '12:38', '13:25', 758, 805, 47],\n",
1015    "    [632, '12:38', '13:25', 758, 805, 47],\n",
1016    "    [633, '12:38', '14:04', 758, 844, 86],\n",
1017    "    [634, '12:39', '13:33', 759, 813, 54],\n",
1018    "    [635, '12:40', '13:51', 760, 831, 71],\n",
1019    "    [636, '12:40', '12:50', 760, 770, 10],\n",
1020    "    [637, '12:40', '12:56', 760, 776, 16],\n",
1021    "    [638, '12:41', '13:08', 761, 788, 27],\n",
1022    "    [639, '12:43', '13:30', 763, 810, 47],\n",
1023    "    [640, '12:44', '12:55', 764, 775, 11],\n",
1024    "    [641, '12:44', '14:08', 764, 848, 84],\n",
1025    "    [642, '12:45', '13:24', 765, 804, 39],\n",
1026    "    [643, '12:46', '12:58', 766, 778, 12],\n",
1027    "    [644, '12:46', '13:21', 766, 801, 35],\n",
1028    "    [645, '12:48', '14:14', 768, 854, 86],\n",
1029    "    [646, '12:48', '13:35', 768, 815, 47],\n",
1030    "    [647, '12:48', '12:58', 768, 778, 10],\n",
1031    "    [648, '12:48', '13:35', 768, 815, 47],\n",
1032    "    [649, '12:49', '13:43', 769, 823, 54],\n",
1033    "    [650, '12:50', '14:01', 770, 841, 71],\n",
1034    "    [651, '12:50', '13:00', 770, 780, 10],\n",
1035    "    [652, '12:50', '13:00', 770, 780, 10],\n",
1036    "    [653, '12:51', '13:17', 771, 797, 26],\n",
1037    "    [654, '12:53', '13:20', 773, 800, 27],\n",
1038    "    [655, '12:53', '13:24', 773, 804, 31],\n",
1039    "    [656, '12:53', '13:40', 773, 820, 47],\n",
1040    "    [657, '12:54', '14:18', 774, 858, 84],\n",
1041    "    [658, '12:54', '13:05', 774, 785, 11],\n",
1042    "    [659, '12:55', '13:34', 775, 814, 39],\n",
1043    "    [660, '12:58', '14:24', 778, 864, 86],\n",
1044    "    [661, '12:58', '13:25', 778, 805, 27],\n",
1045    "    [662, '12:58', '13:45', 778, 825, 47],\n",
1046    "    [663, '12:58', '13:45', 778, 825, 47],\n",
1047    "    [664, '12:59', '13:53', 779, 833, 54],\n",
1048    "    [665, '13:00', '13:10', 780, 790, 10],\n",
1049    "    [666, '13:00', '13:16', 780, 796, 16],\n",
1050    "    [667, '13:00', '14:11', 780, 851, 71],\n",
1051    "    [668, '13:01', '13:13', 781, 793, 12],\n",
1052    "    [669, '13:03', '13:34', 783, 814, 31],\n",
1053    "    [670, '13:03', '13:50', 783, 830, 47],\n",
1054    "    [671, '13:04', '13:15', 784, 795, 11],\n",
1055    "    [672, '13:04', '14:28', 784, 868, 84],\n",
1056    "    [673, '13:05', '13:44', 785, 824, 39],\n",
1057    "    [674, '13:08', '13:55', 788, 835, 47],\n",
1058    "    [675, '13:08', '14:34', 788, 874, 86],\n",
1059    "    [676, '13:08', '13:55', 788, 835, 47],\n",
1060    "    [677, '13:09', '14:03', 789, 843, 54],\n",
1061    "    [678, '13:10', '13:20', 790, 800, 10],\n",
1062    "    [679, '13:10', '14:21', 790, 861, 71],\n",
1063    "    [680, '13:13', '14:00', 793, 840, 47],\n",
1064    "    [681, '13:13', '13:40', 793, 820, 27],\n",
1065    "    [682, '13:14', '14:38', 794, 878, 84],\n",
1066    "    [683, '13:14', '13:25', 794, 805, 11],\n",
1067    "    [684, '13:15', '13:54', 795, 834, 39],\n",
1068    "    [685, '13:16', '13:28', 796, 808, 12],\n",
1069    "    [686, '13:18', '14:05', 798, 845, 47],\n",
1070    "    [687, '13:18', '14:44', 798, 884, 86],\n",
1071    "    [688, '13:18', '14:05', 798, 845, 47],\n",
1072    "    [689, '13:19', '14:13', 799, 853, 54],\n",
1073    "    [690, '13:20', '13:36', 800, 816, 16],\n",
1074    "    [691, '13:20', '14:31', 800, 871, 71],\n",
1075    "    [692, '13:20', '13:30', 800, 810, 10],\n",
1076    "    [693, '13:21', '13:47', 801, 827, 26],\n",
1077    "    [694, '13:23', '14:10', 803, 850, 47],\n",
1078    "    [695, '13:23', '13:49', 803, 829, 26],\n",
1079    "    [696, '13:24', '14:48', 804, 888, 84],\n",
1080    "    [697, '13:24', '13:35', 804, 815, 11],\n",
1081    "    [698, '13:25', '14:04', 805, 844, 39],\n",
1082    "    [699, '13:28', '14:15', 808, 855, 47],\n",
1083    "    [700, '13:28', '14:54', 808, 894, 86],\n",
1084    "    [701, '13:28', '13:55', 808, 835, 27],\n",
1085    "    [702, '13:28', '14:15', 808, 855, 47],\n",
1086    "    [703, '13:29', '14:23', 809, 863, 54],\n",
1087    "    [704, '13:30', '13:40', 810, 820, 10],\n",
1088    "    [705, '13:30', '14:41', 810, 881, 71],\n",
1089    "    [706, '13:31', '13:43', 811, 823, 12],\n",
1090    "    [707, '13:33', '14:20', 813, 860, 47],\n",
1091    "    [708, '13:34', '14:58', 814, 898, 84],\n",
1092    "    [709, '13:34', '13:45', 814, 825, 11],\n",
1093    "    [710, '13:35', '14:14', 815, 854, 39],\n",
1094    "    [711, '13:38', '14:25', 818, 865, 47],\n",
1095    "    [712, '13:38', '14:25', 818, 865, 47],\n",
1096    "    [713, '13:38', '15:04', 818, 904, 86],\n",
1097    "    [714, '13:39', '14:33', 819, 873, 54],\n",
1098    "    [715, '13:40', '13:50', 820, 830, 10],\n",
1099    "    [716, '13:40', '13:56', 820, 836, 16],\n",
1100    "    [717, '13:40', '14:51', 820, 891, 71],\n",
1101    "    [718, '13:43', '14:30', 823, 870, 47],\n",
1102    "    [719, '13:43', '14:10', 823, 850, 27],\n",
1103    "    [720, '13:44', '15:09', 824, 909, 85],\n",
1104    "    [721, '13:44', '13:55', 824, 835, 11],\n",
1105    "    [722, '13:45', '14:24', 825, 864, 39],\n",
1106    "    [723, '13:46', '13:58', 826, 838, 12],\n",
1107    "    [724, '13:48', '14:35', 828, 875, 47],\n",
1108    "    [725, '13:48', '15:14', 828, 914, 86],\n",
1109    "    [726, '13:48', '14:35', 828, 875, 47],\n",
1110    "    [727, '13:49', '14:43', 829, 883, 54],\n",
1111    "    [728, '13:50', '14:00', 830, 840, 10],\n",
1112    "    [729, '13:50', '15:01', 830, 901, 71],\n",
1113    "    [730, '13:51', '14:17', 831, 857, 26],\n",
1114    "    [731, '13:53', '14:40', 833, 880, 47],\n",
1115    "    [732, '13:53', '14:49', 833, 889, 56],\n",
1116    "    [733, '13:54', '14:05', 834, 845, 11],\n",
1117    "    [734, '13:54', '15:19', 834, 919, 85],\n",
1118    "    [735, '13:55', '14:34', 835, 874, 39],\n",
1119    "    [736, '13:57', '14:20', 837, 860, 23],\n",
1120    "    [737, '13:58', '15:24', 838, 924, 86],\n",
1121    "    [738, '13:58', '14:45', 838, 885, 47],\n",
1122    "    [739, '13:58', '14:45', 838, 885, 47],\n",
1123    "    [740, '13:58', '14:25', 838, 865, 27],\n",
1124    "    [741, '13:59', '14:53', 839, 893, 54],\n",
1125    "    [742, '14:00', '14:16', 840, 856, 16],\n",
1126    "    [743, '14:00', '14:10', 840, 850, 10],\n",
1127    "    [744, '14:00', '15:11', 840, 911, 71],\n",
1128    "    [745, '14:01', '14:13', 841, 853, 12],\n",
1129    "    [746, '14:03', '14:50', 843, 890, 47],\n",
1130    "    [747, '14:04', '14:15', 844, 855, 11],\n",
1131    "    [748, '14:04', '15:29', 844, 929, 85],\n",
1132    "    [749, '14:05', '14:44', 845, 884, 39],\n",
1133    "    [750, '14:08', '14:55', 848, 895, 47],\n",
1134    "    [751, '14:08', '14:55', 848, 895, 47],\n",
1135    "    [752, '14:08', '15:34', 848, 934, 86],\n",
1136    "    [753, '14:09', '15:03', 849, 903, 54],\n",
1137    "    [754, '14:10', '15:21', 850, 921, 71],\n",
1138    "    [755, '14:10', '14:20', 850, 860, 10],\n",
1139    "    [756, '14:13', '15:00', 853, 900, 47],\n",
1140    "    [757, '14:13', '14:40', 853, 880, 27],\n",
1141    "    [758, '14:14', '15:40', 854, 940, 86],\n",
1142    "    [759, '14:14', '14:25', 854, 865, 11],\n",
1143    "    [760, '14:15', '14:54', 855, 894, 39],\n",
1144    "    [761, '14:16', '14:28', 856, 868, 12],\n",
1145    "    [762, '14:18', '15:05', 858, 905, 47],\n",
1146    "    [763, '14:18', '15:44', 858, 944, 86],\n",
1147    "    [764, '14:18', '15:05', 858, 905, 47],\n",
1148    "    [765, '14:19', '15:13', 859, 913, 54],\n",
1149    "    [766, '14:20', '15:31', 860, 931, 71],\n",
1150    "    [767, '14:20', '14:30', 860, 870, 10],\n",
1151    "    [768, '14:20', '14:36', 860, 876, 16],\n",
1152    "    [769, '14:21', '14:47', 861, 887, 26],\n",
1153    "    [770, '14:23', '15:10', 863, 910, 47],\n",
1154    "    [771, '14:23', '14:45', 863, 885, 22],\n",
1155    "    [772, '14:24', '15:50', 864, 950, 86],\n",
1156    "    [773, '14:24', '14:35', 864, 875, 11],\n",
1157    "    [774, '14:25', '15:02', 865, 902, 37],\n",
1158    "    [775, '14:26', '14:52', 866, 892, 26],\n",
1159    "    [776, '14:28', '15:15', 868, 915, 47],\n",
1160    "    [777, '14:28', '14:55', 868, 895, 27],\n",
1161    "    [778, '14:28', '15:54', 868, 954, 86],\n",
1162    "    [779, '14:28', '15:15', 868, 915, 47],\n",
1163    "    [780, '14:29', '15:23', 869, 923, 54],\n",
1164    "    [781, '14:30', '15:41', 870, 941, 71],\n",
1165    "    [782, '14:30', '14:40', 870, 880, 10],\n",
1166    "    [783, '14:31', '14:43', 871, 883, 12],\n",
1167    "    [784, '14:33', '15:20', 873, 920, 47],\n",
1168    "    [785, '14:34', '16:00', 874, 960, 86],\n",
1169    "    [786, '14:34', '14:45', 874, 885, 11],\n",
1170    "    [787, '14:35', '15:11', 875, 911, 36],\n",
1171    "    [788, '14:38', '15:25', 878, 925, 47],\n",
1172    "    [789, '14:38', '15:25', 878, 925, 47],\n",
1173    "    [790, '14:38', '16:04', 878, 964, 86],\n",
1174    "    [791, '14:39', '15:33', 879, 933, 54],\n",
1175    "    [792, '14:40', '14:50', 880, 890, 10],\n",
1176    "    [793, '14:40', '15:51', 880, 951, 71],\n",
1177    "    [794, '14:40', '14:56', 880, 896, 16],\n",
1178    "    [795, '14:43', '15:30', 883, 930, 47],\n",
1179    "    [796, '14:43', '15:10', 883, 910, 27],\n",
1180    "    [797, '14:44', '15:00', 884, 900, 16],\n",
1181    "    [798, '14:44', '16:10', 884, 970, 86],\n",
1182    "    [799, '14:45', '15:19', 885, 919, 34],\n",
1183    "    [800, '14:46', '14:58', 886, 898, 12],\n",
1184    "    [801, '14:48', '15:35', 888, 935, 47],\n",
1185    "    [802, '14:48', '15:35', 888, 935, 47],\n",
1186    "    [803, '14:48', '17:04', 888, 1024, 136],\n",
1187    "    [804, '14:49', '15:43', 889, 943, 54],\n",
1188    "    [805, '14:50', '16:01', 890, 961, 71],\n",
1189    "    [806, '14:50', '15:00', 890, 900, 10],\n",
1190    "    [807, '14:51', '15:17', 891, 917, 26],\n",
1191    "    [808, '14:52', '15:27', 892, 927, 35],\n",
1192    "    [809, '14:52', '15:21', 892, 921, 29],\n",
1193    "    [810, '14:53', '15:40', 893, 940, 47],\n",
1194    "    [811, '14:54', '15:08', 894, 908, 14],\n",
1195    "    [812, '14:54', '16:20', 894, 980, 86],\n",
1196    "    [813, '14:58', '16:24', 898, 984, 86],\n",
1197    "    [814, '14:58', '15:45', 898, 945, 47],\n",
1198    "    [815, '14:58', '15:25', 898, 925, 27],\n",
1199    "    [816, '14:58', '15:45', 898, 945, 47],\n",
1200    "    [817, '14:59', '15:53', 899, 953, 54],\n",
1201    "    [818, '15:00', '15:10', 900, 910, 10],\n",
1202    "    [819, '15:00', '15:35', 900, 935, 35],\n",
1203    "    [820, '15:00', '16:11', 900, 971, 71],\n",
1204    "    [821, '15:00', '15:16', 900, 916, 16],\n",
1205    "    [822, '15:01', '15:13', 901, 913, 12],\n",
1206    "    [823, '15:02', '15:16', 902, 916, 14],\n",
1207    "    [824, '15:03', '15:50', 903, 950, 47],\n",
1208    "    [825, '15:04', '16:30', 904, 990, 86],\n",
1209    "    [826, '15:08', '16:34', 908, 994, 86],\n",
1210    "    [827, '15:08', '15:55', 908, 955, 47],\n",
1211    "    [828, '15:08', '15:55', 908, 955, 47],\n",
1212    "    [829, '15:08', '15:45', 908, 945, 37],\n",
1213    "    [830, '15:09', '16:14', 909, 974, 65],\n",
1214    "    [831, '15:09', '16:03', 909, 963, 54],\n",
1215    "    [832, '15:10', '16:21', 910, 981, 71],\n",
1216    "    [833, '15:10', '15:20', 910, 920, 10],\n",
1217    "    [834, '15:11', '15:24', 911, 924, 13],\n",
1218    "    [835, '15:12', '15:36', 912, 936, 24],\n",
1219    "    [836, '15:13', '16:00', 913, 960, 47],\n",
1220    "    [837, '15:13', '15:40', 913, 940, 27],\n",
1221    "    [838, '15:14', '16:40', 914, 1000, 86],\n",
1222    "    [839, '15:16', '15:28', 916, 928, 12],\n",
1223    "    [840, '15:16', '15:55', 916, 955, 39],\n",
1224    "    [841, '15:18', '16:05', 918, 965, 47],\n",
1225    "    [842, '15:18', '16:44', 918, 1004, 86],\n",
1226    "    [843, '15:18', '16:05', 918, 965, 47],\n",
1227    "    [844, '15:19', '16:13', 919, 973, 54],\n",
1228    "    [845, '15:19', '15:34', 919, 934, 15],\n",
1229    "    [846, '15:20', '15:30', 920, 930, 10],\n",
1230    "    [847, '15:20', '16:31', 920, 991, 71],\n",
1231    "    [848, '15:20', '15:36', 920, 936, 16],\n",
1232    "    [849, '15:21', '15:47', 921, 947, 26],\n",
1233    "    [850, '15:21', '16:06', 921, 966, 45],\n",
1234    "    [851, '15:23', '16:10', 923, 970, 47],\n",
1235    "    [852, '15:24', '16:50', 924, 1010, 86],\n",
1236    "    [853, '15:24', '16:05', 924, 965, 41],\n",
1237    "    [854, '15:27', '15:51', 927, 951, 24],\n",
1238    "    [855, '15:27', '15:44', 927, 944, 17],\n",
1239    "    [856, '15:28', '16:15', 928, 975, 47],\n",
1240    "    [857, '15:28', '16:54', 928, 1014, 86],\n",
1241    "    [858, '15:28', '16:15', 928, 975, 47],\n",
1242    "    [859, '15:28', '15:55', 928, 955, 27],\n",
1243    "    [860, '15:29', '16:23', 929, 983, 54],\n",
1244    "    [861, '15:30', '16:41', 930, 1001, 71],\n",
1245    "    [862, '15:30', '15:40', 930, 940, 10],\n",
1246    "    [863, '15:31', '15:43', 931, 943, 12],\n",
1247    "    [864, '15:33', '16:20', 933, 980, 47],\n",
1248    "    [865, '15:34', '17:00', 934, 1020, 86],\n",
1249    "    [866, '15:34', '16:15', 934, 975, 41],\n",
1250    "    [867, '15:35', '15:54', 935, 954, 19],\n",
1251    "    [868, '15:36', '16:21', 936, 981, 45],\n",
1252    "    [869, '15:38', '16:25', 938, 985, 47],\n",
1253    "    [870, '15:38', '16:25', 938, 985, 47],\n",
1254    "    [871, '15:38', '16:39', 938, 999, 61],\n",
1255    "    [872, '15:39', '16:33', 939, 993, 54],\n",
1256    "    [873, '15:40', '15:50', 940, 950, 10],\n",
1257    "    [874, '15:40', '16:51', 940, 1011, 71],\n",
1258    "    [875, '15:40', '15:56', 940, 956, 16],\n",
1259    "    [876, '15:43', '16:10', 943, 970, 27],\n",
1260    "    [877, '15:43', '16:30', 943, 990, 47],\n",
1261    "    [878, '15:44', '17:10', 944, 1030, 86],\n",
1262    "    [879, '15:44', '16:25', 944, 985, 41],\n",
1263    "    [880, '15:45', '16:04', 945, 964, 19],\n",
1264    "    [881, '15:46', '15:58', 946, 958, 12],\n",
1265    "    [882, '15:48', '16:35', 948, 995, 47],\n",
1266    "    [883, '15:48', '16:35', 948, 995, 47],\n",
1267    "    [884, '15:48', '17:14', 948, 1034, 86],\n",
1268    "    [885, '15:49', '16:43', 949, 1003, 54],\n",
1269    "    [886, '15:50', '16:00', 950, 960, 10],\n",
1270    "    [887, '15:50', '17:01', 950, 1021, 71],\n",
1271    "    [888, '15:51', '16:18', 951, 978, 27],\n",
1272    "    [889, '15:52', '16:36', 952, 996, 44],\n",
1273    "    [890, '15:53', '16:40', 953, 1000, 47],\n",
1274    "    [891, '15:54', '17:20', 954, 1040, 86],\n",
1275    "    [892, '15:54', '16:35', 954, 995, 41],\n",
1276    "    [893, '15:55', '16:14', 955, 974, 19],\n",
1277    "    [894, '15:58', '16:25', 958, 985, 27],\n",
1278    "    [895, '15:58', '16:45', 958, 1005, 47],\n",
1279    "    [896, '15:58', '16:45', 958, 1005, 47],\n",
1280    "    [897, '15:58', '17:24', 958, 1044, 86],\n",
1281    "    [898, '15:59', '17:11', 959, 1031, 72],\n",
1282    "    [899, '15:59', '16:53', 959, 1013, 54],\n",
1283    "    [900, '16:00', '16:10', 960, 970, 10],\n",
1284    "    [901, '16:00', '16:16', 960, 976, 16],\n",
1285    "    [902, '16:01', '16:13', 961, 973, 12],\n",
1286    "    [903, '16:03', '16:50', 963, 1010, 47],\n",
1287    "    [904, '16:04', '17:30', 964, 1050, 86],\n",
1288    "    [905, '16:04', '16:45', 964, 1005, 41],\n",
1289    "    [906, '16:05', '16:24', 965, 984, 19],\n",
1290    "    [907, '16:06', '16:51', 966, 1011, 45],\n",
1291    "    [908, '16:08', '16:55', 968, 1015, 47],\n",
1292    "    [909, '16:08', '17:34', 968, 1054, 86],\n",
1293    "    [910, '16:08', '16:55', 968, 1015, 47],\n",
1294    "    [911, '16:09', '17:03', 969, 1023, 54],\n",
1295    "    [912, '16:09', '17:21', 969, 1041, 72],\n",
1296    "    [913, '16:10', '16:20', 970, 980, 10],\n",
1297    "    [914, '16:13', '16:40', 973, 1000, 27],\n",
1298    "    [915, '16:13', '17:00', 973, 1020, 47],\n",
1299    "    [916, '16:14', '16:55', 974, 1015, 41],\n",
1300    "    [917, '16:14', '17:40', 974, 1060, 86],\n",
1301    "    [918, '16:15', '16:34', 975, 994, 19],\n",
1302    "    [919, '16:16', '16:28', 976, 988, 12],\n",
1303    "    [920, '16:18', '17:05', 978, 1025, 47],\n",
1304    "    [921, '16:18', '17:05', 978, 1025, 47],\n",
1305    "    [922, '16:18', '17:44', 978, 1064, 86],\n",
1306    "    [923, '16:19', '17:31', 979, 1051, 72],\n",
1307    "    [924, '16:19', '17:13', 979, 1033, 54],\n",
1308    "    [925, '16:20', '16:30', 980, 990, 10],\n",
1309    "    [926, '16:20', '16:36', 980, 996, 16],\n",
1310    "    [927, '16:21', '16:48', 981, 1008, 27],\n",
1311    "    [928, '16:22', '17:06', 982, 1026, 44],\n",
1312    "    [929, '16:23', '17:10', 983, 1030, 47],\n",
1313    "    [930, '16:24', '17:05', 984, 1025, 41],\n",
1314    "    [931, '16:24', '17:50', 984, 1070, 86],\n",
1315    "    [932, '16:25', '16:44', 985, 1004, 19],\n",
1316    "    [933, '16:28', '17:15', 988, 1035, 47],\n",
1317    "    [934, '16:28', '17:15', 988, 1035, 47],\n",
1318    "    [935, '16:28', '16:55', 988, 1015, 27],\n",
1319    "    [936, '16:28', '17:54', 988, 1074, 86],\n",
1320    "    [937, '16:29', '17:23', 989, 1043, 54],\n",
1321    "    [938, '16:29', '17:41', 989, 1061, 72],\n",
1322    "    [939, '16:30', '16:40', 990, 1000, 10],\n",
1323    "    [940, '16:31', '16:43', 991, 1003, 12],\n",
1324    "    [941, '16:33', '17:20', 993, 1040, 47],\n",
1325    "    [942, '16:34', '17:15', 994, 1035, 41],\n",
1326    "    [943, '16:34', '18:00', 994, 1080, 86],\n",
1327    "    [944, '16:35', '16:54', 995, 1014, 19],\n",
1328    "    [945, '16:36', '17:21', 996, 1041, 45],\n",
1329    "    [946, '16:38', '17:25', 998, 1045, 47],\n",
1330    "    [947, '16:38', '17:25', 998, 1045, 47],\n",
1331    "    [948, '16:38', '18:04', 998, 1084, 86],\n",
1332    "    [949, '16:39', '17:33', 999, 1053, 54],\n",
1333    "    [950, '16:39', '17:51', 999, 1071, 72],\n",
1334    "    [951, '16:40', '16:56', 1000, 1016, 16],\n",
1335    "    [952, '16:40', '16:50', 1000, 1010, 10],\n",
1336    "    [953, '16:43', '17:10', 1003, 1030, 27],\n",
1337    "    [954, '16:43', '17:30', 1003, 1050, 47],\n",
1338    "    [955, '16:44', '17:25', 1004, 1045, 41],\n",
1339    "    [956, '16:44', '18:10', 1004, 1090, 86],\n",
1340    "    [957, '16:45', '17:04', 1005, 1024, 19],\n",
1341    "    [958, '16:46', '16:58', 1006, 1018, 12],\n",
1342    "    [959, '16:48', '18:14', 1008, 1094, 86],\n",
1343    "    [960, '16:48', '17:35', 1008, 1055, 47],\n",
1344    "    [961, '16:48', '17:35', 1008, 1055, 47],\n",
1345    "    [962, '16:49', '18:01', 1009, 1081, 72],\n",
1346    "    [963, '16:49', '17:43', 1009, 1063, 54],\n",
1347    "    [964, '16:50', '17:00', 1010, 1020, 10],\n",
1348    "    [965, '16:51', '17:18', 1011, 1038, 27],\n",
1349    "    [966, '16:52', '17:36', 1012, 1056, 44],\n",
1350    "    [967, '16:53', '17:40', 1013, 1060, 47],\n",
1351    "    [968, '16:54', '18:20', 1014, 1100, 86],\n",
1352    "    [969, '16:54', '17:35', 1014, 1055, 41],\n",
1353    "    [970, '16:55', '17:14', 1015, 1034, 19],\n",
1354    "    [971, '16:58', '17:25', 1018, 1045, 27],\n",
1355    "    [972, '16:58', '17:45', 1018, 1065, 47],\n",
1356    "    [973, '16:58', '17:45', 1018, 1065, 47],\n",
1357    "    [974, '16:58', '18:24', 1018, 1104, 86],\n",
1358    "    [975, '16:59', '18:11', 1019, 1091, 72],\n",
1359    "    [976, '16:59', '17:53', 1019, 1073, 54],\n",
1360    "    [977, '17:00', '17:16', 1020, 1036, 16],\n",
1361    "    [978, '17:00', '17:10', 1020, 1030, 10],\n",
1362    "    [979, '17:01', '17:13', 1021, 1033, 12],\n",
1363    "    [980, '17:03', '17:50', 1023, 1070, 47],\n",
1364    "    [981, '17:04', '18:30', 1024, 1110, 86],\n",
1365    "    [982, '17:04', '17:45', 1024, 1065, 41],\n",
1366    "    [983, '17:05', '17:24', 1025, 1044, 19],\n",
1367    "    [984, '17:06', '17:51', 1026, 1071, 45],\n",
1368    "    [985, '17:08', '17:55', 1028, 1075, 47],\n",
1369    "    [986, '17:08', '17:55', 1028, 1075, 47],\n",
1370    "    [987, '17:08', '18:34', 1028, 1114, 86],\n",
1371    "    [988, '17:09', '18:03', 1029, 1083, 54],\n",
1372    "    [989, '17:09', '18:21', 1029, 1101, 72],\n",
1373    "    [990, '17:10', '17:20', 1030, 1040, 10],\n",
1374    "    [991, '17:13', '17:40', 1033, 1060, 27],\n",
1375    "    [992, '17:13', '18:00', 1033, 1080, 47],\n",
1376    "    [993, '17:14', '17:55', 1034, 1075, 41],\n",
1377    "    [994, '17:14', '18:40', 1034, 1120, 86],\n",
1378    "    [995, '17:15', '17:34', 1035, 1054, 19],\n",
1379    "    [996, '17:16', '17:28', 1036, 1048, 12],\n",
1380    "    [997, '17:18', '18:05', 1038, 1085, 47],\n",
1381    "    [998, '17:18', '18:05', 1038, 1085, 47],\n",
1382    "    [999, '17:18', '18:44', 1038, 1124, 86],\n",
1383    "    [1000, '17:19', '18:31', 1039, 1111, 72],\n",
1384    "    [1001, '17:19', '18:13', 1039, 1093, 54],\n",
1385    "    [1002, '17:20', '17:36', 1040, 1056, 16],\n",
1386    "    [1003, '17:20', '17:30', 1040, 1050, 10],\n",
1387    "    [1004, '17:21', '17:47', 1041, 1067, 26],\n",
1388    "    [1005, '17:22', '18:06', 1042, 1086, 44],\n",
1389    "    [1006, '17:23', '18:10', 1043, 1090, 47],\n",
1390    "    [1007, '17:24', '18:50', 1044, 1130, 86],\n",
1391    "    [1008, '17:24', '18:05', 1044, 1085, 41],\n",
1392    "    [1009, '17:25', '17:44', 1045, 1064, 19],\n",
1393    "    [1010, '17:28', '17:55', 1048, 1075, 27],\n",
1394    "    [1011, '17:28', '18:15', 1048, 1095, 47],\n",
1395    "    [1012, '17:28', '18:15', 1048, 1095, 47],\n",
1396    "    [1013, '17:28', '18:54', 1048, 1134, 86],\n",
1397    "    [1014, '17:29', '18:41', 1049, 1121, 72],\n",
1398    "    [1015, '17:29', '18:23', 1049, 1103, 54],\n",
1399    "    [1016, '17:30', '17:40', 1050, 1060, 10],\n",
1400    "    [1017, '17:31', '17:43', 1051, 1063, 12],\n",
1401    "    [1018, '17:33', '18:20', 1053, 1100, 47],\n",
1402    "    [1019, '17:34', '18:15', 1054, 1095, 41],\n",
1403    "    [1020, '17:34', '19:00', 1054, 1140, 86],\n",
1404    "    [1021, '17:35', '17:54', 1055, 1074, 19],\n",
1405    "    [1022, '17:36', '18:21', 1056, 1101, 45],\n",
1406    "    [1023, '17:38', '18:25', 1058, 1105, 47],\n",
1407    "    [1024, '17:38', '19:04', 1058, 1144, 86],\n",
1408    "    [1025, '17:38', '18:25', 1058, 1105, 47],\n",
1409    "    [1026, '17:39', '18:51', 1059, 1131, 72],\n",
1410    "    [1027, '17:39', '18:33', 1059, 1113, 54],\n",
1411    "    [1028, '17:40', '17:56', 1060, 1076, 16],\n",
1412    "    [1029, '17:40', '17:50', 1060, 1070, 10],\n",
1413    "    [1030, '17:43', '18:10', 1063, 1090, 27],\n",
1414    "    [1031, '17:43', '18:30', 1063, 1110, 47],\n",
1415    "    [1032, '17:44', '18:25', 1064, 1105, 41],\n",
1416    "    [1033, '17:44', '19:14', 1064, 1154, 90],\n",
1417    "    [1034, '17:45', '18:04', 1065, 1084, 19],\n",
1418    "    [1035, '17:46', '17:58', 1066, 1078, 12],\n",
1419    "    [1036, '17:48', '18:35', 1068, 1115, 47],\n",
1420    "    [1037, '17:48', '18:35', 1068, 1115, 47],\n",
1421    "    [1038, '17:48', '19:14', 1068, 1154, 86],\n",
1422    "    [1039, '17:49', '19:01', 1069, 1141, 72],\n",
1423    "    [1040, '17:49', '18:43', 1069, 1123, 54],\n",
1424    "    [1041, '17:50', '18:00', 1070, 1080, 10],\n",
1425    "    [1042, '17:51', '18:17', 1071, 1097, 26],\n",
1426    "    [1043, '17:52', '18:36', 1072, 1116, 44],\n",
1427    "    [1044, '17:53', '18:40', 1073, 1120, 47],\n",
1428    "    [1045, '17:54', '18:35', 1074, 1115, 41],\n",
1429    "    [1046, '17:54', '18:57', 1074, 1137, 63],\n",
1430    "    [1047, '17:55', '18:14', 1075, 1094, 19],\n",
1431    "    [1048, '17:58', '18:45', 1078, 1125, 47],\n",
1432    "    [1049, '17:58', '18:45', 1078, 1125, 47],\n",
1433    "    [1050, '17:58', '18:25', 1078, 1105, 27],\n",
1434    "    [1051, '17:58', '19:26', 1078, 1166, 88],\n",
1435    "    [1052, '17:59', '18:53', 1079, 1133, 54],\n",
1436    "    [1053, '18:00', '19:11', 1080, 1151, 71],\n",
1437    "    [1054, '18:00', '18:10', 1080, 1090, 10],\n",
1438    "    [1055, '18:00', '18:16', 1080, 1096, 16],\n",
1439    "    [1056, '18:01', '18:13', 1081, 1093, 12],\n",
1440    "    [1057, '18:03', '18:50', 1083, 1130, 47],\n",
1441    "    [1058, '18:04', '18:45', 1084, 1125, 41],\n",
1442    "    [1059, '18:04', '19:29', 1084, 1169, 85],\n",
1443    "    [1060, '18:05', '18:24', 1085, 1104, 19],\n",
1444    "    [1061, '18:06', '18:51', 1086, 1131, 45],\n",
1445    "    [1062, '18:08', '18:55', 1088, 1135, 47],\n",
1446    "    [1063, '18:08', '19:06', 1088, 1146, 58],\n",
1447    "    [1064, '18:08', '18:55', 1088, 1135, 47],\n",
1448    "    [1065, '18:09', '19:03', 1089, 1143, 54],\n",
1449    "    [1066, '18:10', '18:20', 1090, 1100, 10],\n",
1450    "    [1067, '18:10', '19:21', 1090, 1161, 71],\n",
1451    "    [1068, '18:13', '19:00', 1093, 1140, 47],\n",
1452    "    [1069, '18:13', '18:40', 1093, 1120, 27],\n",
1453    "    [1070, '18:14', '19:43', 1094, 1183, 89],\n",
1454    "    [1071, '18:14', '18:55', 1094, 1135, 41],\n",
1455    "    [1072, '18:15', '18:34', 1095, 1114, 19],\n",
1456    "    [1073, '18:16', '18:28', 1096, 1108, 12],\n",
1457    "    [1074, '18:17', '18:27', 1097, 1107, 10],\n",
1458    "    [1075, '18:18', '19:41', 1098, 1181, 83],\n",
1459    "    [1076, '18:18', '18:58', 1098, 1138, 40],\n",
1460    "    [1077, '18:18', '19:05', 1098, 1145, 47],\n",
1461    "    [1078, '18:19', '19:13', 1099, 1153, 54],\n",
1462    "    [1079, '18:20', '19:31', 1100, 1171, 71],\n",
1463    "    [1080, '18:20', '18:36', 1100, 1116, 16],\n",
1464    "    [1081, '18:20', '18:30', 1100, 1110, 10],\n",
1465    "    [1082, '18:22', '19:05', 1102, 1145, 43],\n",
1466    "    [1083, '18:23', '19:05', 1103, 1145, 42],\n",
1467    "    [1084, '18:24', '19:27', 1104, 1167, 63],\n",
1468    "    [1085, '18:24', '19:05', 1104, 1145, 41],\n",
1469    "    [1086, '18:25', '18:44', 1105, 1124, 19],\n",
1470    "    [1087, '18:28', '19:25', 1108, 1165, 57],\n",
1471    "    [1088, '18:28', '18:55', 1108, 1135, 27],\n",
1472    "    [1089, '18:28', '19:08', 1108, 1148, 40],\n",
1473    "    [1090, '18:28', '19:15', 1108, 1155, 47],\n",
1474    "    [1091, '18:29', '19:23', 1109, 1163, 54],\n",
1475    "    [1092, '18:30', '19:05', 1110, 1145, 35],\n",
1476    "    [1093, '18:30', '18:40', 1110, 1120, 10],\n",
1477    "    [1094, '18:31', '18:43', 1111, 1123, 12],\n",
1478    "    [1095, '18:33', '19:15', 1113, 1155, 42],\n",
1479    "    [1096, '18:34', '19:58', 1114, 1198, 84],\n",
1480    "    [1097, '18:34', '19:14', 1114, 1154, 40],\n",
1481    "    [1098, '18:35', '18:55', 1115, 1135, 20],\n",
1482    "    [1099, '18:36', '19:20', 1116, 1160, 44],\n",
1483    "    [1100, '18:38', '19:25', 1118, 1165, 47],\n",
1484    "    [1101, '18:38', '19:23', 1118, 1163, 45],\n",
1485    "    [1102, '18:38', '19:56', 1118, 1196, 78],\n",
1486    "    [1103, '18:39', '19:33', 1119, 1173, 54],\n",
1487    "    [1104, '18:40', '18:50', 1120, 1130, 10],\n",
1488    "    [1105, '18:40', '19:45', 1120, 1185, 65],\n",
1489    "    [1106, '18:40', '18:56', 1120, 1136, 16],\n",
1490    "    [1107, '18:43', '19:10', 1123, 1150, 27],\n",
1491    "    [1108, '18:43', '19:30', 1123, 1170, 47],\n",
1492    "    [1109, '18:44', '19:24', 1124, 1164, 40],\n",
1493    "    [1110, '18:45', '19:05', 1125, 1145, 20],\n",
1494    "    [1111, '18:46', '18:58', 1126, 1138, 12],\n",
1495    "    [1112, '18:48', '19:35', 1128, 1175, 47],\n",
1496    "    [1113, '18:48', '20:12', 1128, 1212, 84],\n",
1497    "    [1114, '18:48', '20:11', 1128, 1211, 83],\n",
1498    "    [1115, '18:48', '19:28', 1128, 1168, 40],\n",
1499    "    [1116, '18:49', '19:43', 1129, 1183, 54],\n",
1500    "    [1117, '18:50', '19:00', 1130, 1140, 10],\n",
1501    "    [1118, '18:51', '19:01', 1131, 1141, 10],\n",
1502    "    [1119, '18:53', '19:35', 1133, 1175, 42],\n",
1503    "    [1120, '18:53', '19:15', 1133, 1155, 22],\n",
1504    "    [1121, '18:53', '20:00', 1133, 1200, 67],\n",
1505    "    [1122, '18:55', '19:15', 1135, 1155, 20],\n",
1506    "    [1123, '18:55', '19:34', 1135, 1174, 39],\n",
1507    "    [1124, '18:58', '19:38', 1138, 1178, 40],\n",
1508    "    [1125, '18:59', '19:53', 1139, 1193, 54],\n",
1509    "    [1126, '18:59', '19:50', 1139, 1190, 51],\n",
1510    "    [1127, '18:59', '19:53', 1139, 1193, 54],\n",
1511    "    [1128, '19:00', '19:16', 1140, 1156, 16],\n",
1512    "    [1129, '19:00', '19:10', 1140, 1150, 10],\n",
1513    "    [1130, '19:00', '19:16', 1140, 1156, 16],\n",
1514    "    [1131, '19:01', '19:13', 1141, 1153, 12],\n",
1515    "    [1132, '19:03', '20:26', 1143, 1226, 83],\n",
1516    "    [1133, '19:03', '19:45', 1143, 1185, 42],\n",
1517    "    [1134, '19:05', '19:44', 1145, 1184, 39],\n",
1518    "    [1135, '19:05', '19:25', 1145, 1165, 20],\n",
1519    "    [1136, '19:08', '20:15', 1148, 1215, 67],\n",
1520    "    [1137, '19:08', '19:35', 1148, 1175, 27],\n",
1521    "    [1138, '19:09', '19:49', 1149, 1189, 40],\n",
1522    "    [1139, '19:09', '20:03', 1149, 1203, 54],\n",
1523    "    [1140, '19:10', '19:20', 1150, 1160, 10],\n",
1524    "    [1141, '19:10', '19:20', 1150, 1160, 10],\n",
1525    "    [1142, '19:11', '19:53', 1151, 1193, 42],\n",
1526    "    [1143, '19:14', '20:26', 1154, 1226, 72],\n",
1527    "    [1144, '19:14', '19:35', 1154, 1175, 21],\n",
1528    "    [1145, '19:14', '19:24', 1154, 1164, 10],\n",
1529    "    [1146, '19:14', '20:05', 1154, 1205, 51],\n",
1530    "    [1147, '19:15', '19:30', 1155, 1170, 15],\n",
1531    "    [1148, '19:15', '19:54', 1155, 1194, 39],\n",
1532    "    [1149, '19:18', '20:39', 1158, 1239, 81],\n",
1533    "    [1150, '19:18', '20:00', 1158, 1200, 42],\n",
1534    "    [1151, '19:19', '20:14', 1159, 1214, 55],\n",
1535    "    [1152, '19:20', '19:30', 1160, 1170, 10],\n",
1536    "    [1153, '19:20', '19:36', 1160, 1176, 16],\n",
1537    "    [1154, '19:21', '19:31', 1161, 1171, 10],\n",
1538    "    [1155, '19:23', '20:30', 1163, 1230, 67],\n",
1539    "    [1156, '19:23', '19:35', 1163, 1175, 12],\n",
1540    "    [1157, '19:24', '19:45', 1164, 1185, 21],\n",
1541    "    [1158, '19:24', '19:45', 1164, 1185, 21],\n",
1542    "    [1159, '19:25', '20:04', 1165, 1204, 39],\n",
1543    "    [1160, '19:26', '20:08', 1166, 1208, 42],\n",
1544    "    [1161, '19:29', '20:02', 1169, 1202, 33],\n",
1545    "    [1162, '19:29', '20:18', 1169, 1218, 49],\n",
1546    "    [1163, '19:29', '20:41', 1169, 1241, 72],\n",
1547    "    [1164, '19:30', '19:40', 1170, 1180, 10],\n",
1548    "    [1165, '19:33', '20:54', 1173, 1254, 81],\n",
1549    "    [1166, '19:33', '20:17', 1173, 1217, 44],\n",
1550    "    [1167, '19:34', '19:55', 1174, 1195, 21],\n",
1551    "    [1168, '19:35', '20:14', 1175, 1214, 39],\n",
1552    "    [1169, '19:38', '20:05', 1178, 1205, 27],\n",
1553    "    [1170, '19:38', '20:45', 1178, 1245, 67],\n",
1554    "    [1171, '19:39', '20:12', 1179, 1212, 33],\n",
1555    "    [1172, '19:40', '19:50', 1180, 1190, 10],\n",
1556    "    [1173, '19:40', '19:56', 1180, 1196, 16],\n",
1557    "    [1174, '19:41', '20:27', 1181, 1227, 46],\n",
1558    "    [1175, '19:43', '19:55', 1183, 1195, 12],\n",
1559    "    [1176, '19:44', '20:05', 1184, 1205, 21],\n",
1560    "    [1177, '19:44', '20:33', 1184, 1233, 49],\n",
1561    "    [1178, '19:44', '21:00', 1184, 1260, 76],\n",
1562    "    [1179, '19:45', '20:24', 1185, 1224, 39],\n",
1563    "    [1180, '19:48', '20:37', 1188, 1237, 49],\n",
1564    "    [1181, '19:48', '21:09', 1188, 1269, 81],\n",
1565    "    [1182, '19:50', '20:00', 1190, 1200, 10],\n",
1566    "    [1183, '19:52', '20:29', 1192, 1229, 37],\n",
1567    "    [1184, '19:53', '20:08', 1193, 1208, 15],\n",
1568    "    [1185, '19:53', '21:02', 1193, 1262, 69],\n",
1569    "    [1186, '19:53', '20:20', 1193, 1220, 27],\n",
1570    "    [1187, '19:54', '20:19', 1194, 1219, 25],\n",
1571    "    [1188, '19:55', '20:34', 1195, 1234, 39],\n",
1572    "    [1189, '19:56', '20:34', 1196, 1234, 38],\n",
1573    "    [1190, '19:59', '20:48', 1199, 1248, 49],\n",
1574    "    [1191, '19:59', '21:20', 1199, 1280, 81],\n",
1575    "    [1192, '20:00', '20:16', 1200, 1216, 16],\n",
1576    "    [1193, '20:00', '20:10', 1200, 1210, 10],\n",
1577    "    [1194, '20:03', '20:42', 1203, 1242, 39],\n",
1578    "    [1195, '20:03', '21:24', 1203, 1284, 81],\n",
1579    "    [1196, '20:04', '20:29', 1204, 1229, 25],\n",
1580    "    [1197, '20:05', '20:48', 1205, 1248, 43],\n",
1581    "    [1198, '20:07', '20:44', 1207, 1244, 37],\n",
1582    "    [1199, '20:08', '20:40', 1208, 1240, 32],\n",
1583    "    [1200, '20:08', '20:35', 1208, 1235, 27],\n",
1584    "    [1201, '20:10', '20:20', 1210, 1220, 10],\n",
1585    "    [1202, '20:10', '20:22', 1210, 1222, 12],\n",
1586    "    [1203, '20:11', '20:47', 1211, 1247, 36],\n",
1587    "    [1204, '20:14', '21:04', 1214, 1264, 50],\n",
1588    "    [1205, '20:14', '21:03', 1214, 1263, 49],\n",
1589    "    [1206, '20:17', '21:03', 1217, 1263, 46],\n",
1590    "    [1207, '20:18', '21:39', 1218, 1299, 81],\n",
1591    "    [1208, '20:20', '20:30', 1220, 1230, 10],\n",
1592    "    [1209, '20:20', '20:57', 1220, 1257, 37],\n",
1593    "    [1210, '20:20', '20:36', 1220, 1236, 16],\n",
1594    "    [1211, '20:22', '20:59', 1222, 1259, 37],\n",
1595    "    [1212, '20:22', '20:42', 1222, 1242, 20],\n",
1596    "    [1213, '20:24', '20:49', 1224, 1249, 25],\n",
1597    "    [1214, '20:27', '21:22', 1227, 1282, 55],\n",
1598    "    [1215, '20:29', '21:18', 1229, 1278, 49],\n",
1599    "    [1216, '20:30', '21:07', 1230, 1267, 37],\n",
1600    "    [1217, '20:30', '20:40', 1230, 1240, 10],\n",
1601    "    [1218, '20:30', '20:40', 1230, 1240, 10],\n",
1602    "    [1219, '20:30', '21:40', 1230, 1300, 70],\n",
1603    "    [1220, '20:32', '21:18', 1232, 1278, 46],\n",
1604    "    [1221, '20:35', '21:54', 1235, 1314, 79],\n",
1605    "    [1222, '20:37', '21:14', 1237, 1274, 37],\n",
1606    "    [1223, '20:38', '21:08', 1238, 1268, 30],\n",
1607    "    [1224, '20:40', '20:50', 1240, 1250, 10],\n",
1608    "    [1225, '20:40', '21:17', 1240, 1277, 37],\n",
1609    "    [1226, '20:40', '20:56', 1240, 1256, 16],\n",
1610    "    [1227, '20:44', '21:33', 1244, 1293, 49],\n",
1611    "    [1228, '20:47', '21:33', 1247, 1293, 46],\n",
1612    "    [1229, '20:47', '21:42', 1247, 1302, 55],\n",
1613    "    [1230, '20:50', '21:00', 1250, 1260, 10],\n",
1614    "    [1231, '20:50', '22:00', 1250, 1320, 70],\n",
1615    "    [1232, '20:50', '22:09', 1250, 1329, 79],\n",
1616    "    [1233, '20:50', '21:27', 1250, 1287, 37],\n",
1617    "    [1234, '20:52', '21:29', 1252, 1289, 37],\n",
1618    "    [1235, '20:53', '21:20', 1253, 1280, 27],\n",
1619    "    [1236, '20:56', '21:11', 1256, 1271, 15],\n",
1620    "    [1237, '20:59', '21:48', 1259, 1308, 49],\n",
1621    "    [1238, '21:00', '21:10', 1260, 1270, 10],\n",
1622    "    [1239, '21:00', '21:37', 1260, 1297, 37],\n",
1623    "    [1240, '21:02', '21:48', 1262, 1308, 46],\n",
1624    "    [1241, '21:05', '22:24', 1265, 1344, 79],\n",
1625    "    [1242, '21:07', '21:44', 1267, 1304, 37],\n",
1626    "    [1243, '21:07', '22:02', 1267, 1322, 55],\n",
1627    "    [1244, '21:08', '21:38', 1268, 1298, 30],\n",
1628    "    [1245, '21:10', '22:25', 1270, 1345, 75],\n",
1629    "    [1246, '21:10', '21:20', 1270, 1280, 10],\n",
1630    "    [1247, '21:10', '21:47', 1270, 1307, 37],\n",
1631    "    [1248, '21:14', '22:03', 1274, 1323, 49],\n",
1632    "    [1249, '21:17', '22:03', 1277, 1323, 46],\n",
1633    "    [1250, '21:20', '22:18', 1280, 1338, 58],\n",
1634    "    [1251, '21:20', '21:57', 1280, 1317, 37],\n",
1635    "    [1252, '21:20', '21:30', 1280, 1290, 10],\n",
1636    "    [1253, '21:22', '21:59', 1282, 1319, 37],\n",
1637    "    [1254, '21:24', '21:49', 1284, 1309, 25],\n",
1638    "    [1255, '21:27', '22:21', 1287, 1341, 54],\n",
1639    "    [1256, '21:30', '22:07', 1290, 1327, 37],\n",
1640    "    [1257, '21:30', '22:20', 1290, 1340, 50],\n",
1641    "    [1258, '21:30', '21:40', 1290, 1300, 10],\n",
1642    "    [1259, '21:32', '22:18', 1292, 1338, 46],\n",
1643    "    [1260, '21:32', '22:01', 1292, 1321, 29],\n",
1644    "    [1261, '21:35', '22:54', 1295, 1374, 79],\n",
1645    "    [1262, '21:37', '22:14', 1297, 1334, 37],\n",
1646    "    [1263, '21:39', '21:55', 1299, 1315, 16],\n",
1647    "    [1264, '21:40', '22:17', 1300, 1337, 37],\n",
1648    "    [1265, '21:40', '21:50', 1300, 1310, 10],\n",
1649    "    [1266, '21:41', '22:08', 1301, 1328, 27],\n",
1650    "    [1267, '21:47', '22:16', 1307, 1336, 29],\n",
1651    "    [1268, '21:47', '22:51', 1307, 1371, 64],\n",
1652    "    [1269, '21:47', '22:33', 1307, 1353, 46],\n",
1653    "    [1270, '21:48', '22:03', 1308, 1323, 15],\n",
1654    "    [1271, '21:50', '22:55', 1310, 1375, 65],\n",
1655    "    [1272, '21:50', '22:27', 1310, 1347, 37],\n",
1656    "    [1273, '21:50', '22:00', 1310, 1320, 10],\n",
1657    "    [1274, '21:52', '22:29', 1312, 1349, 37],\n",
1658    "    [1275, '21:53', '22:19', 1313, 1339, 26],\n",
1659    "    [1276, '22:00', '22:38', 1320, 1358, 38],\n",
1660    "    [1277, '22:00', '22:10', 1320, 1330, 10],\n",
1661    "    [1278, '22:02', '22:12', 1322, 1332, 10],\n",
1662    "    [1279, '22:02', '22:48', 1322, 1368, 46],\n",
1663    "    [1280, '22:04', '22:31', 1324, 1351, 27],\n",
1664    "    [1281, '22:05', '23:24', 1325, 1404, 79],\n",
1665    "    [1282, '22:07', '22:44', 1327, 1364, 37],\n",
1666    "    [1283, '22:07', '22:39', 1327, 1359, 32],\n",
1667    "    [1284, '22:09', '22:25', 1329, 1345, 16],\n",
1668    "    [1285, '22:10', '23:25', 1330, 1405, 75],\n",
1669    "    [1286, '22:13', '22:38', 1333, 1358, 25],\n",
1670    "    [1287, '22:13', '22:53', 1333, 1373, 40],\n",
1671    "    [1288, '22:17', '22:27', 1337, 1347, 10],\n",
1672    "    [1289, '22:17', '23:03', 1337, 1383, 46],\n",
1673    "    [1290, '22:19', '22:46', 1339, 1366, 27],\n",
1674    "    [1291, '22:22', '22:59', 1342, 1379, 37],\n",
1675    "    [1292, '22:24', '22:48', 1344, 1368, 24],\n",
1676    "    [1293, '22:27', '22:52', 1347, 1372, 25],\n",
1677    "    [1294, '22:27', '23:21', 1347, 1401, 54],\n",
1678    "    [1295, '22:28', '23:08', 1348, 1388, 40],\n",
1679    "    [1296, '22:30', '23:17', 1350, 1397, 47],\n",
1680    "    [1297, '22:32', '22:42', 1352, 1362, 10],\n",
1681    "    [1298, '22:32', '23:11', 1352, 1391, 39],\n",
1682    "    [1299, '22:34', '23:01', 1354, 1381, 27],\n",
1683    "    [1300, '22:35', '23:54', 1355, 1434, 79],\n",
1684    "    [1301, '22:37', '23:14', 1357, 1394, 37],\n",
1685    "    [1302, '22:43', '23:23', 1363, 1403, 40],\n",
1686    "    [1303, '22:43', '23:08', 1363, 1388, 25],\n",
1687    "    [1304, '22:47', '23:33', 1367, 1413, 46],\n",
1688    "    [1305, '22:47', '22:57', 1367, 1377, 10],\n",
1689    "    [1306, '22:49', '23:16', 1369, 1396, 27],\n",
1690    "    [1307, '22:52', '23:29', 1372, 1409, 37],\n",
1691    "    [1308, '22:53', '23:15', 1373, 1395, 22],\n",
1692    "    [1309, '22:55', '23:55', 1375, 1435, 60],\n",
1693    "    [1310, '22:57', '23:51', 1377, 1431, 54],\n",
1694    "    [1311, '22:58', '23:38', 1378, 1418, 40],\n",
1695    "    [1312, '23:02', '23:41', 1382, 1421, 39],\n",
1696    "    [1313, '23:02', '23:12', 1382, 1392, 10],\n",
1697    "    [1314, '23:04', '23:31', 1384, 1411, 27],\n",
1698    "    [1315, '23:05', '00:24', 1385, 1464, 79],\n",
1699    "    [1316, '23:07', '23:44', 1387, 1424, 37],\n",
1700    "    [1317, '23:13', '23:53', 1393, 1433, 40],\n",
1701    "    [1318, '23:13', '23:38', 1393, 1418, 25],\n",
1702    "    [1319, '23:17', '00:03', 1397, 1443, 46],\n",
1703    "    [1320, '23:17', '23:27', 1397, 1407, 10],\n",
1704    "    [1321, '23:19', '23:46', 1399, 1426, 27],\n",
1705    "    [1322, '23:22', '23:59', 1402, 1439, 37],\n",
1706    "    [1323, '23:25', '00:25', 1405, 1465, 60],\n",
1707    "    [1324, '23:27', '00:21', 1407, 1461, 54],\n",
1708    "    [1325, '23:28', '00:08', 1408, 1448, 40],\n",
1709    "    [1326, '23:32', '23:42', 1412, 1422, 10],\n",
1710    "    [1327, '23:34', '00:01', 1414, 1441, 27],\n",
1711    "    [1328, '23:35', '01:05', 1415, 1505, 90],\n",
1712    "    [1329, '23:37', '00:09', 1417, 1449, 32],\n",
1713    "    [1330, '23:43', '00:23', 1423, 1463, 40],\n",
1714    "    [1331, '23:43', '00:08', 1423, 1448, 25],\n",
1715    "    [1332, '23:46', '00:01', 1426, 1441, 15],\n",
1716    "    [1333, '23:47', '23:57', 1427, 1437, 10],\n",
1717    "    [1334, '23:47', '00:33', 1427, 1473, 46],\n",
1718    "    [1335, '23:52', '00:24', 1432, 1464, 32],\n",
1719    "    [1336, '23:55', '00:49', 1435, 1489, 54],\n",
1720    "    [1337, '23:57', '00:57', 1437, 1497, 60],\n",
1721    "    [1338, '23:58', '00:38', 1438, 1478, 40],\n",
1722    "    [1339, '00:02', '00:12', 1442, 1452, 10],\n",
1723    "    [1340, '00:07', '00:39', 1447, 1479, 32],\n",
1724    "    [1341, '00:13', '00:38', 1453, 1478, 25],\n",
1725    "    [1342, '00:13', '00:51', 1453, 1491, 38],\n",
1726    "    [1343, '00:15', '01:14', 1455, 1514, 59],\n",
1727    "    [1344, '00:17', '01:23', 1457, 1523, 66],\n",
1728    "    [1345, '00:23', '00:33', 1463, 1473, 10],\n",
1729    "    [1346, '00:24', '00:40', 1464, 1480, 16],\n",
1730    "    [1347, '00:25', '01:12', 1465, 1512, 47],\n",
1731    "    [1348, '00:28', '01:07', 1468, 1507, 39],\n",
1732    "    [1349, '00:33', '01:05', 1473, 1505, 32],\n",
1733    "    [1350, '00:43', '01:21', 1483, 1521, 38],\n",
1734    "    [1351, '00:44', '00:54', 1484, 1494, 10],\n",
1735    "    [1352, '00:47', '01:09', 1487, 1509, 22],\n",
1736    "    [1353, '00:47', '01:26', 1487, 1526, 39],\n",
1737    "    [1354, '00:54', '01:04', 1494, 1504, 10],\n",
1738    "    [1355, '00:57', '01:07', 1497, 1507, 10]\n",
1739    "]  # yapf:disable\n",
1740    "\n",
1741    "\n",
1742    "def find_minimum_number_of_drivers(shifts, params):\n",
1743    "    \"\"\"Minimize the number of needed drivers.\"\"\"\n",
1744    "\n",
1745    "    num_shifts = len(shifts)\n",
1746    "\n",
1747    "    # All durations are in minutes.\n",
1748    "    max_driving_time = 540  # 8 hours.\n",
1749    "    max_driving_time_without_pauses = 240  # 4 hours\n",
1750    "    min_pause_after_4h = 30\n",
1751    "    min_delay_between_shifts = 2\n",
1752    "    max_working_time = 720\n",
1753    "    min_working_time = 390  # 6.5 hours\n",
1754    "    extra_time = 10 + 25\n",
1755    "    max_break = 180\n",
1756    "\n",
1757    "    # Computed data.\n",
1758    "    total_driving_time = sum(shift[5] for shift in shifts)\n",
1759    "    min_num_drivers = int(\n",
1760    "        math.ceil(total_driving_time * 1.0 / max_driving_time))\n",
1761    "    min_start_time = min(shift[3] for shift in shifts)\n",
1762    "    max_end_time = max(shift[4] for shift in shifts)\n",
1763    "\n",
1764    "    print('Bus driver scheduling')\n",
1765    "    print('  num shifts =', num_shifts)\n",
1766    "    print('  total driving time =', total_driving_time, 'minutes')\n",
1767    "    print('  min num drivers =', min_num_drivers)\n",
1768    "    print('  min start time =', min_start_time)\n",
1769    "    print('  max end time =', max_end_time)\n",
1770    "\n",
1771    "    # We are going to build a flow from a the start of the day to the end\n",
1772    "    # of the day.\n",
1773    "    #\n",
1774    "    # Along the path, we will accumulate driving time, accrued time since the\n",
1775    "    # last break, and total working time.\n",
1776    "\n",
1777    "    model = cp_model.CpModel()\n",
1778    "\n",
1779    "    # Per node info\n",
1780    "    driving_time = {}\n",
1781    "    working_time = {}\n",
1782    "    no_break_driving_time = {}\n",
1783    "\n",
1784    "    incoming_literals = collections.defaultdict(list)\n",
1785    "    outgoing_literals = collections.defaultdict(list)\n",
1786    "    outgoing_source_literals = []\n",
1787    "    incoming_sink_literals = []\n",
1788    "\n",
1789    "    all_literals = []\n",
1790    "\n",
1791    "    # Create all the shift variables before iterating on the transitions\n",
1792    "    # between these shifts.\n",
1793    "    for shift in range(num_shifts):\n",
1794    "        driving_time[shift] = model.NewIntVar(0, max_driving_time, 'dt_%i' % shift)\n",
1795    "        no_break_driving_time[shift] = model.NewIntVar(\n",
1796    "            0, max_driving_time_without_pauses, 'nbdt_%i' % shift)\n",
1797    "        working_time[shift] = model.NewIntVar(\n",
1798    "            0, max_working_time, 'wt_%i' % shift)\n",
1799    "\n",
1800    "    for shift in range(num_shifts):\n",
1801    "        duration = shifts[shift][5]\n",
1802    "\n",
1803    "        # Arc from source to shift.\n",
1804    "        #    - set the working time of the driver\n",
1805    "        #    - increase driving time and driving time since the last break\n",
1806    "        source_lit = model.NewBoolVar('from source to %i' % shift)\n",
1807    "        all_literals.append(source_lit)\n",
1808    "        outgoing_source_literals.append(source_lit)\n",
1809    "        incoming_literals[shift].append(source_lit)\n",
1810    "        model.Add(driving_time[shift] == duration).OnlyEnforceIf(source_lit)\n",
1811    "        model.Add(no_break_driving_time[shift] == duration).OnlyEnforceIf(\n",
1812    "            source_lit)\n",
1813    "        model.Add(working_time[shift] == duration + extra_time).OnlyEnforceIf(\n",
1814    "            source_lit)\n",
1815    "\n",
1816    "        # Arc from shift to sink\n",
1817    "        #     - checks that working time is greater than min_working_time\n",
1818    "        sink_lit = model.NewBoolVar('from %i to sink' % shift)\n",
1819    "        all_literals.append(sink_lit)\n",
1820    "        outgoing_literals[shift].append(sink_lit)\n",
1821    "        incoming_sink_literals.append(sink_lit)\n",
1822    "        model.Add(working_time[shift] >= min_working_time).OnlyEnforceIf(sink_lit)\n",
1823    "\n",
1824    "        for other in range(num_shifts):\n",
1825    "            delay = shifts[other][3] - shifts[shift][4]\n",
1826    "            if delay < min_delay_between_shifts:\n",
1827    "                continue\n",
1828    "            if delay > max_break:\n",
1829    "                break  # Assumes start times are sorted.\n",
1830    "            other_duration = shifts[other][5]\n",
1831    "            lit = model.NewBoolVar('from %i to %i' % (shift, other))\n",
1832    "            all_literals.append(lit)\n",
1833    "\n",
1834    "            # Increase driving time\n",
1835    "            model.Add(driving_time[other] ==\n",
1836    "                      driving_time[shift] + other_duration).OnlyEnforceIf(lit)\n",
1837    "\n",
1838    "            # Increase no_break_driving or reset it to 0 depending on the delay\n",
1839    "            if delay >= min_pause_after_4h:\n",
1840    "                model.Add(no_break_driving_time[other] ==\n",
1841    "                          other_duration).OnlyEnforceIf(lit)\n",
1842    "            else:\n",
1843    "                model.Add(\n",
1844    "                    no_break_driving_time[other] ==\n",
1845    "                    no_break_driving_time[shift] + other_duration).OnlyEnforceIf(lit)\n",
1846    "\n",
1847    "            # Increase working time\n",
1848    "            model.Add(working_time[other] == working_time[shift] + delay +\n",
1849    "                      other_duration).OnlyEnforceIf(lit)\n",
1850    "\n",
1851    "            # Add arc\n",
1852    "            outgoing_literals[shift].append(lit)\n",
1853    "            incoming_literals[other].append(lit)\n",
1854    "\n",
1855    "    # Create dag constraint.\n",
1856    "    for shift in range(num_shifts):\n",
1857    "        model.Add(sum(outgoing_literals[shift]) == 1)\n",
1858    "        model.Add(sum(incoming_literals[shift]) == 1)\n",
1859    "\n",
1860    "    # Num drivers\n",
1861    "    num_drivers = model.NewIntVar(min_num_drivers, min_num_drivers * 3, 'num_drivers')\n",
1862    "    model.Add(sum(incoming_sink_literals) == num_drivers)\n",
1863    "    model.Add(sum(outgoing_source_literals) == num_drivers)\n",
1864    "\n",
1865    "    model.Minimize(num_drivers)      \n",
1866    "\n",
1867    "    # Solve model.\n",
1868    "    solver = cp_model.CpSolver()\n",
1869    "    solver.parameters.log_search_progress = True\n",
1870    "    #solver.parameters.num_search_workers = 16\n",
1871    "    # solver.parameters.boolean_encoding_level = 0\n",
1872    "    # solver.parameters.lns_focus_on_decision_variables = True\n",
1873    "    status = solver.Solve(model)\n",
1874    "\n",
1875    "    if status != cp_model.OPTIMAL and status != cp_model.FEASIBLE:\n",
1876    "        return -1\n",
1877    "\n",
1878    "    # Display solution\n",
1879    "    optimal_num_drivers = int(solver.ObjectiveValue())\n",
1880    "    print('minimal number of drivers =', optimal_num_drivers)\n",
1881    "    return optimal_num_drivers\n",
1882    "\n",
1883    "\n",
1884    "\"\"\"Optimize the bus driver allocation in two passes.\"\"\"\n",
1885    "print('----------- first pass: minimize the number of drivers')\n",
1886    "shifts = []\n",
1887    "if args.instance == 1:\n",
1888    "    shifts = SAMPLE_SHIFTS_SMALL\n",
1889    "elif args.instance == 2:\n",
1890    "    shifts = SAMPLE_SHIFTS_MEDIUM\n",
1891    "elif args.instance == 3:\n",
1892    "    shifts = SAMPLE_SHIFTS_LARGE\n",
1893    "num_drivers = find_minimum_number_of_drivers(shifts, args.params)\n",
1894    "\n",
1895    "print('----------- second pass: minimize the sum of working times')\n",
1896    "#bus_driver_scheduling(False, num_drivers)\n",
1897    "\n"
1898   ]
1899  }
1900 ],
1901 "metadata": {},
1902 "nbformat": 4,
1903 "nbformat_minor": 5
1904}
1905