Polish version    English version  
  History of OI -> VIII OI 2000/2001


 News
 About Olympic
 History of OI
XVII OI 2009/2010
XVI OI 2008/2009
XV OI 2007/2008
XIV OI 2006/2007
XIII OI 2005/2006
XII OI 2004/2005
XI OI 2003/2004
X OI 2002/2003
IX OI 2001/2002
VIII OI 2000/2001
Stage III - results
Stage II - results
Stage I - results
Problems
Regulations
Organization
Hints
Schedule
Stats
VII OI 1999/2000
VI OI 1998/1999
V OI 1997/1998
IV OI 1996/1997
III OI 1995/1996
II OI 1994/1995
I OI 1993/1994
 OI books
 National team
 Olympic camps
 Photo gallery
 Links
 SIO
 MAIN
VIII Olimpiada Informatyczna 2000/2001

Task: POD
Author: Zbigniew Czech
Travel

II stage contest, the second day  


Let' us consider a diagram describing a net of municipal transportation, for example a bus-net, tram-net or underground-net etc. Vertices of the diagram (numbered 1,2,...,n), correspond to stations, edges (pi,pj), (were pi <>pj) denote that there is a direct connections from the station pi to the station pj (1<=pi, pj<=n). Transportation lines are numbered 1,2,...,k. The transportation line no. l is defined as a series of stations pl,1, pl,2,...,pl,sl, on which vehicles of the line no. l stop, and durations rl,1, rl,2,...,rl,sl-1 of traveling between stations --- rl,1 is the time necessary to get from the station pl,1 to the station pl,2, or vice versa (i.e. from the station pl,2 to the station pl,1); rl,2 is the time necessary to get from the station pl,2 to pl,3, etc. All the stations of a line are different (i.e. i<>j implies pl,i<>pl,j). In the transportation line no. l vehicles run with certain frequency cl, where cl is a number from the set {6, 10, 12, 15, 20, 30, 60}. The vehicles in the transportation line no. l start from the station pl,1 at each hour of the day and night, g:0, (0<=g<=23), and than according to the frequency of the line i.e. at g:cl,g:2cl,... etc. (g:cl means cl minutes after hour g). Vehicles of the line l  run in two directions: from the station pl,1 to pl,sl, and from the station pl,sl to pl,1. The hours of departure of the vehicles of the transportation line no. l from the station pl,sl are the same as from the station pl,1
In such a transportation net we want to make a trip from the start station x to the finish station y. We assume that the trip is possible and will take no longer than 24 hours. During the trip one can change transportation lines as many times as he/she wants to. Say, the time of a change is equal to 0, however, while changing the line we have to take under consideration the time of waiting for the vehicle that we want to get into. Our purpose is to get from the start station x, to the finish station y, as quick as it is possible. 

 

Example

On the picture below you can see a scheme of the transportation net with 6 stations and two lines: no. 1 and no. 2. Vehicles of the line no. 1 go between stations 1, 3, 4 and 6, vehicles of the line no. 2 go between stations 2, 4, 3 and 5. The frequencies with which the vehicles run are equal to c1=15 and c2=20 respectively. The durations of travel between stations are written next to the edges of the net; they are given indices 1 and 2 for particular lines.

Let us assume, that at 23:30 we stay on the station no. 5 and we want to get to the station no. 6. It is necessary to wait 10 minutes and then (at 23:40) one can leave using line no. 2. There are two options of our trip. The first option is to get to the station no. 3 at 23:51, wait 3 minutes, change to the line no. 1 at 23:54 and get to the station 6 at 0:16 (the next day). The second option is to take the line no. 2 and get to the station no. 4 at 0:8 a.m., we wait 13 minutes and at 0:21 a.m. we take the vehicle of the line no. 1 and we get to the station no. 6 at 0:31. Thus the earliest time we can get to the station no. 6 is at 0:16.

 

Task

Write a program which:

  • reads from the text file POD.IN the description of the transportation net, transportation lines, number of the start station x, number of the finish station y, the hour and minute of the beginning of the trip --- gx and mx respectively,
  • finds the shortest time of the trip from the start station x to the finish station y,
  • writes to the text file POD.OUT the earliest possible time of getting to the finish station y --- gy and my (hour and minute respectively).

Input

In the first line of the text file POD.IN there are written six integers, separated by single spaces:

  • the number of stations n (1<=n<=1000),
  • the number of lines k (1<=k<=2000),
  • the number of the start station x (1<=x<=n),
  • the number of the finish station y (1<=y<=n),
  • the hour of the beginning of the trip gx (0<=gx<=23),
  • the minute of the beginning of the trip mx (0<=mx<=59). 

The stations are numbered from 1 to n, the transportation lines from 1 to k. In the following 3k lines the transportation lines are described - the description of each of them takes three consecutive lines. 

  • In the first line describing the transportation line no. l there are written two integers, separated by a single space: sl, the number of stations (2<=sl<=n), and cl - the frequency with which the vehicles run (cl belongs to: {6, 10, 12, 15, 20, 30, 60}).
  • In the second line describing the transportation line no. l there are sl different integers, separated by single spaces: pl,1,pl,2,...,pl,sl --- the numbers of consecutive stations on the transportation line no. l (1<=pl,i<=n, for 1<=i<=sl).
  • In the third line describing the transportation line no. l there are written sl-1 integers separated by single spaces: rl,1, rl,2,..., rl,sl-1 --- the times (in minutes) necessary to go between the consecutive stations of this transportation line (1<=rl,i<=240, for 1<=i<=sl-1). 

The total number of stations on all transportation lines is not greater than 4000 (i.e. s1+s2+...+sk<=4000). 

Output

Your program should write in the only line of the text file POD.OUT two integers, separated by a single space: the hour of the earliest possible arrival to the finish station gy (0<=gy<=23) and the minute of the earliest possible arrival to the finish station my (0<=my<=59).

Example

For the input file POD.IN:

6 2 5 6 23 30
4 15
1 3 4 6
9 12 10
4 20
5 3 4 2
11 17 11
the correct answer is the output file POD.OUT:
0 16



Print friendly version