At this moment, you are not allowed access to the question.

Task 2. Safe-T-Cam

Available Marks: 9

Drivers slow down briefly for marked speed cameras, but calculating average speeds between checkpoints can be a more effective way of detecting consistently speeding vehicles.

Assume there are three checkpoints numbered 1, 2 and 3, spaced along a highway with a 110km/hr speed limit. Checkpoints 1 and 2 are 133.0 km apart and checkpoints 2 and 3 are 57.5km apart. Each checkpoint has an accurate clock and reliable numberplate recognition equipment. After each vehicle passes, the time, checkpoint number and numberplate are sent to a central log.

Your task is to read the log and identify any speeding vehicles.

The data is presented as a single file with the rows in strict time order, preceded by the number of rows on the first line (up to 300). Each data item consists of three fields, separated by a space:

You can assume the supplied data uses the correct format, all times are legitimate and so on.

The program's output consists of only the rows that indicate that a vehicle's average speed has exceeded the speed limit for the section that ends at that checkpoint, along with the calculated average speed in km/hr to 1 decimal place.

The output must be in chronological order, same as the input.

Example

Input:
7
02:12:49 1 MYTRUK
02:21:52 1 BI66BT
03:17:21 2 MYTRUK
03:22:55 2 2SLOW
03:42:18 2 BI66BT
03:55:37 3 2SLOW
04:12:58 3 BI66BT

Output:
03:17:21 2 MYTRUK 123.7
04:12:58 3 BI66BT 112.5

Test Data

You should test your program on the following long data set:
250
13:07:15 1 RA58EC
13:07:25 1 TS67NH
13:07:48 1 WZ11ZN
13:07:53 1 DM13OR
13:08:41 1 UM17HA
13:08:57 1 DU07WI
13:09:57 1 NF00OD
13:10:07 1 ZOOM98
13:10:32 1 AD78YQ
13:10:34 1 LM91XR
13:12:20 1 JA61RD
13:13:00 1 STQLN
13:13:06 1 VX53MY
13:13:15 1 JX64XY
13:14:14 1 ZI31OE
13:14:28 1 ZOOM99
13:15:49 1 RP75XK
13:16:23 1 UA37TY
13:18:06 1 OS61YP
13:18:17 1 LEMANS
13:18:42 1 JX33RT
13:18:54 1 VW48PU
13:19:19 1 BT73EC
13:19:24 1 YK65QD
13:19:40 1 LINFOX
13:19:58 1 PB4UGO
13:20:00 1 TB31YK
13:20:04 1 US00GP
13:21:07 1 OJ74JG
13:21:14 1 RM08PC
13:21:24 1 KN90YF
13:21:46 1 SY14LJ
13:22:04 1 CN15EE
13:22:24 1 MYBMW
13:23:01 1 QW20QT
13:23:15 1 50BER
13:24:06 1 FG43KY
13:24:23 1 THSTIG
13:24:40 1 SC77NC
13:24:52 1 PF85NJ
13:26:23 1 OP22QI
13:27:19 1 OZ26WC
13:29:03 1 GI47PC
13:29:12 1 NR80VS
13:29:14 1 UL45LZ
13:29:21 1 VZ89KR
13:29:25 1 SE21VN
13:29:53 1 EF04DY
13:30:21 1 HB06VI
13:31:08 1 H8COPS
13:31:10 1 NP84HG
13:32:27 1 XD22YM
13:32:29 1 QO43DJ
13:32:52 1 SK93IQ
13:32:59 1 XY13XS
13:33:20 1 PY43JF
13:34:46 1 TO56HT
13:35:42 1 ZX38BC
13:36:00 1 LB34KH
13:36:11 1 JQ59CG
13:36:16 1 BH59CW
13:36:20 1 VC38LK
13:36:26 1 WW54SN
13:37:00 1 RC07GN
13:37:15 1 VV60FW
13:38:53 1 IR99TT
13:39:08 1 HP10MT
13:39:52 1 RH80OK
13:40:12 1 JT50UU
13:41:20 1 NQ34LX
13:41:41 1 SS80CY
13:41:52 1 4MYHSC
13:42:05 1 OM46VU
13:42:27 1 VF31XW
13:42:47 1 PC2013
13:43:19 1 BJ13VY
13:43:45 1 HN43VZ
13:44:00 1 EI25KB
13:44:07 1 ZJ46HV
13:44:36 1 JS98BQ
13:45:14 1 EJ04YX
13:45:45 1 XP92CE
13:47:02 1 SXYCAR
13:48:09 1 KK09LY
14:08:27 2 GB72NM
14:16:11 2 VW46BL
14:18:09 2 KG06AF
14:18:09 2 TS67NH
14:19:55 2 HT70JW
14:21:52 2 STQLN
14:22:11 2 UM17HA
14:24:21 2 JX34SZ
14:25:14 2 ZOOM99
14:25:41 2 WZ11ZN
14:27:50 2 LEMANS
14:27:58 2 FS19UM
14:28:06 2 JX64XY
14:29:09 2 TK72GR
14:30:21 2 DM13OR
14:31:20 2 RM08PC
14:33:06 2 DU07WI
14:33:31 2 NF00OD
14:33:48 2 JX33RT
14:34:34 2 THSTIG
14:34:39 2 ZOOM98
14:34:41 2 TB31YK
14:35:01 2 AD78YQ
14:35:06 2 DK82BX
14:35:14 2 LINFOX
14:35:24 2 UA37TY
14:35:31 2 VX53MY
14:36:37 2 YK65QD
14:36:38 2 CN15EE
14:37:07 2 FG43KY
14:38:17 2 US00GP
14:38:39 3 GB72NM
14:38:42 2 UU91CK
14:39:26 2 QW20QT
14:39:28 2 RA58EC
14:39:31 2 JA61RD
14:39:49 2 BW74CO
14:40:28 2 MX62VO
14:40:44 2 RTFM
14:41:03 2 OS61YP
14:43:11 2 VQ11GF
14:44:09 2 50BER
14:44:54 2 OZ26WC
14:45:05 2 UL45LZ
14:45:36 2 VW48PU
14:46:00 2 EF04DY
14:46:19 2 NP84HG
14:46:20 2 OJ74JG
14:46:46 2 GI47PC
14:46:47 2 H8COPS
14:47:04 2 BT73EC
14:47:52 2 KN90YF
14:47:52 2 XD22YM
14:48:00 3 VW46BL
14:48:38 2 ZI31OE
14:49:03 2 QO43DJ
14:50:23 2 OP22QI
14:50:59 2 BH59CW
14:51:09 3 KG06AF
14:51:21 2 PB4UGO
14:51:52 3 TS67NH
14:52:16 2 BG54GL
14:53:21 2 SY14LJ
14:53:34 3 HT70JW
14:53:42 3 UM17HA
14:53:47 2 NR80VS
14:53:54 3 ZOOM99
14:54:22 2 PC2013
14:55:07 2 VZ89KR
14:55:14 2 MYBMW
14:55:19 2 SE21VN
14:55:58 2 4MYHSC
14:56:00 3 STQLN
14:57:36 2 VV60FW
14:57:47 2 SXYCAR
14:57:58 2 SC77NC
14:58:16 3 JX64XY
14:58:17 3 JX34SZ
14:58:18 2 OM46VU
14:58:26 3 LEMANS
14:58:28 2 ZX38BC
14:59:55 2 WW54SN
14:59:56 3 WZ11ZN
15:00:00 3 IMLATE
15:01:14 2 SK93IQ
15:02:11 3 FS19UM
15:02:12 2 RP75XK
15:02:17 2 BJ13VY
15:02:21 2 TO56HT
15:04:41 2 VC38LK
15:04:46 2 RC07GN
15:04:47 2 EJ04YX
15:04:48 3 RM08PC
15:05:08 2 KK09LY
15:05:48 2 JT50UU
15:05:50 3 THSTIG
15:05:54 3 LINFOX
15:06:11 2 VF31XW
15:06:28 2 PY43JF
15:06:31 2 PF85NJ
15:06:51 3 TB31YK
15:07:02 2 JQ59CG
15:07:29 3 DU07WI
15:07:32 3 TK72GR
15:08:00 3 SC44IP
15:08:14 2 HN43VZ
15:08:15 2 XY13XS
15:08:23 3 NF00OD
15:08:43 2 XP92CE
15:09:24 3 JX33RT
15:09:35 3 DM13OR
15:09:40 2 LB34KH
15:09:57 2 NQ34LX
15:10:20 3 ZOOM98
15:10:41 2 JS98BQ
15:10:43 2 LM91XR
15:10:50 2 SS80CY
15:10:53 3 AD78YQ
15:11:08 3 YK65QD
15:11:23 3 UA37TY
15:12:27 3 FG43KY
15:13:14 3 MX62VO
15:13:18 3 US00GP
15:14:00 3 CN15EE
15:14:25 2 HP10MT
15:15:19 2 RH80OK
15:15:33 3 OZ26WC
15:15:36 2 HB06VI
15:15:50 3 VQ11GF
15:16:25 3 QW20QT
15:16:48 3 DK82BX
15:17:09 3 H8COPS
15:18:14 3 50BER
15:19:22 3 JA61RD
15:19:41 3 UU91CK
15:19:50 3 RTFM
15:20:16 3 OS61YP
15:20:20 3 NP84HG
15:20:41 3 UL45LZ
15:20:57 3 GI47PC
15:21:01 3 EF04DY
15:21:12 3 RA58EC
15:21:31 3 OJ74JG
15:21:39 3 VW48PU
15:21:59 3 XD22YM
15:22:09 3 BW74CO
15:22:28 2 ZJ46HV
15:22:33 3 QO43DJ
15:24:58 3 OP22QI
15:25:25 3 BH59CW
15:26:04 3 BT73EC
15:26:08 2 EI25KB
15:27:10 3 PC2013
15:27:18 3 PB4UGO
15:28:51 3 ZI31OE
15:29:49 3 SXYCAR
15:30:18 3 NR80VS
15:30:49 3 VZ89KR
15:31:57 3 SE21VN
15:34:09 3 BG54GL
15:34:34 3 OM46VU
15:34:42 3 BJ13VY
15:34:46 3 VV60FW
15:35:14 3 MYBMW
15:35:22 3 SY14LJ
15:35:29 3 KK09LY

Step 0

Refresh the browser window if the page has been idle for some time.

Step 1

Cut and paste the output of your program for the long test case into the box below:

Step 2

Paste the source code for your program into the box below.

Step 3

When you are sure all the data has been entered correctly on the form press the submit button below.

You may submit multiple times. Only your most recent submission for each question will be marked.