<<

Title: Railroad Yard Operational Plan

1. Introduction In railroad freight transportation, shipments are consolidated to benefit from economies of scale in core transportation costs. Railroad classification yards, also called marshaling or shunting yards, play an important role as consolidation nodes in networks. At classification yards, inbound trains are disassembled or humped; the are uncoupled on the hump and roll onto the classification tracks by gravity. The railcars are then assembled in the forwarding yard (or departure area) area to generate the desired outbound trains via a system of tracks and switches. Through this procedure, railcars can be routed through the network in blocks in such a way that every origin-destination (OD) pair can be served avoiding a large number of end-to-end connections. Typically, railroad classification yards are classified into three yard types: hump yards, flat yards and gravity yards. A typical hump yard layout is shown in Figure 1.

Receiving Area Hump Classification Area Departure Area Figure 1. Layout of a typical

The yard compound can be generally divided into three main areas, each of which consists of a set of parallel tracks: the Receiving Area where inbound railcars arrive, the Classification Area where railcars are rearranged and the Departure Area where sorted railcars wait until they are departed from the yard. Railcars are brought to the receiving area by inbound trains and pass through the yard from the receiving area to the departure area where they are fetched by outbound trains. Humps make use of the gravitational pulling force between the receiving area and the classification area so that railcars can be rearranged without relying on (classification) engines. The classification area is often connected to the receiving area by one or more hump lead tracks; this allows for a repeated classification (re-hump) of railcars. The car storage capacities of these areas are mainly determined by the number of available tracks and their length. Due to limited space and scarcity of other resources, yards are physically capacitated in terms of (a) the number of cars that can be classified, (b) the number of blocks that can be made in a given time period, (c) the number of trains that can be received in a given time period, (d) the number of trains that can be dispatched in a given time period, and (e) the average dwell time. The main functions of a classification yard include (a) receiving railcars, (b) sorting of railcars into different groups, (c) storing railcars until their corresponding train departure time, and (d) building of outbound trains. The two main processes at each end of the yard compound can be described as follows:  Inbound trains enter the receiving area (on the left in Figure 1) and wait for sorting. Since only one bunch or “string” of railcars can be sorted at a time, the receiving area needs to ensure sufficient storage space for the trains that arrive later. When a train is ready for sorting or classification, it is pushed out of the receiving area through the hump. Each or block of an inbound train is made to run into the classification to which it is assigned.

1

Typically, the classification tracks in the classification area are already occupied by existing railcars. As a result, the railcars will couple automatically with the existing cars on the corresponding track when pushed onto a track.  Outbound trains leave the yard from the departure area (on the right in Figure 1). Engines pull strings of railcars from the departure end of the classification tracks to their designated tracks in the departure area. The railcars or “blocks” are assembled in accordance with the sequence of the railcar’s destination station to make up the outbound trains. During the classification process of a particular train, its railcars could be redistributed over several of the classification tracks, each corresponding to its designated destination stations or directions. The assignment (positioning) of railcars to (on) classification tracks is determined by multiple factors; among these, the designated outbound block for the railcar is the major determinant. Typically, each outbound block is assigned to a classification track. The positioning and movement of railcars on classification tracks synchronize the two main processes at each end of the classification area as both the sorting process and the train building process are carried on in a fairly continuous manner at the receiving end and at the departure end of the classification tracks, respectively.

2. Problem Statement a. Overview Optimizing operational plans of a classification yard is very important for a railroad company as it helps fully utilize the limited resources of its rail network. Typical yard planning performance measures for a yard can be: the number of inbound/outbound trains received/assembled, the number of blocks made, the number of cars handled, or the expected time in system per railcar. Earlier research has focused on minimizing the total waiting time of railcars at the yard. Please see references by Lin and Cheng (2009, 2011) for a list of performance measures definitions. To improve the overall yard throughput, an optimized yard operation plan is highly desirable. However, building a classification yard operation plan is challenging as it covers many interrelated operations and decisions, such as, the sequence of inbound trains’ disassembly, the sequence of outbound trains’ assembly, sorting plans at the hump, block-to-train assignment plan for classification tracks, etc. Essentially, given arrival times of the inbound trains, this problem aims to find the humping schedule and the departure times of the outbound trains subject to the different operational constraints in the yard. The goal is to minimize the total waiting time of railcars in the yard and maximize the total number of railcar processed during a certain period.

Yard Capacity Optimization

Number of Number of Outbound Inbound Trains, Trains and Their Train Design and Their Arrival Yard Operation Departure Time Problem Times Problem

Operational Constraints, Resources and Business Rules

Figure 2. Yard Operational Plan Optimization 2

b. Problem Input, Output and Assumption The overarching goal is to determine an optimized plan of a typical hump yard, supposing that the following information is known:

1. Yard  List of receiving tracks and their capacity in term of number of cars  List of classification tracks and their capacity in term of number of cars  List of departure tracks and their capacity in terms of number of cars 2. Resources:  Number of hump engines  Number of pullback engines 3. Operational parameters  Humping rate (e.g. 2.3 cars per min)  Minimum humping interval (e.g. 10 min between consecutive humping activities)  Technical inspection time for an inbound or outbound train  Expected time to perform a single track pull for each pullback engine (e.g. 10 min)  Expected time for each pullback engine to perform a multi-track pull (e.g. 15 min for each additional track) 4. Operational constraints:  Minimum and maximum train size for outbound trains  Minimum inter-departure times for outbound trains  Business rules associated with the order of cars in classification yard 5. Outbound train pattern:  List of potential outbound trains  Feasible outbound block combinations

Given the above input, participants need to determine:

1. The arrival track for each inbound train. 2. When to start humping each arrival track. 3. Block-to-track assignments over time. 4. When to pullback blocks to the departure tracks. 5. Decide what the outbound train plan should be – departure times and contents of outbound trains.

In order to develop appropriate quantitative-based analytical solution approaches, we make some simplifying assumptions as follows:

1. No railcars are disallowed to move through the hump. 2. An entire track gets humped. That is, no partial track humping is allowed. 3. The sizes and shapes of all railcars are the same. 4. There is only one hump engine working on the hump. 5. A pullback engine is used to assemble the blocks or railcars from the hump into the assigned track. The assembly time is proportional to the number of connections, which is one less than the number of blocks or railcars. 3

6. Typically, the number of railcars assembled in a train is required to be within a certain range. For example, a typical outbound train has between 30 and 40 cars. An exception to this rule is “local trains” which only run within adjacent districts. 7. The total time to disassemble an inbound train includes The total time to disassemble an inbound train includes the time required to move  a railcar from the receiving area, over the hump and then to the classification area, and  an engine running from the hump to the inbound train track in the receiving area. 8. The overall time of assembling an outbound train includes the time required to assemble an engine running from the departure area to the classification tracks in the classification area. 9. A range of technical inspections are required for inbound trains (following the arrival of the trains) at the receiving area and for outbound trains (preceding the departure) at the departure area. Typically, the time for technical inspections is proportional to the number of railcars being processed and the time per railcar on the receiving area is shorter than that on the departure area. For simplicity, we assume a constant inspection time duration for both areas. 10. Pullback engines need extra time to run from one track to another when the railcars or blocks stored on different classification tracks are to be assembled into the same outbound train. There are sufficiently many outbound engines to satisfy the requirements of outbound train departure. 11. At the beginning of the planning horizon, the hump engines are located at the hump, and the pullback engines are located at the departure area. 12. Each classification track is dedicated to a particular block at a given time. Yet, block-to-track assignments can change during the planning horizon. 13. No reclassification is considered in this competition as the sequences of blocks in outbound trains are not required. 14. Other resource not listed here are unrestricted.

3. An Illustrative Example We consider a classification yard with a typical layout, as shown in Figure 3: a receiving area with four tracks (R1:R4), a classification area with six tracks (C1:C6) and a departure area with four tracks (D1:D4).

C1 R1 Hump C2 D1 R2 C3 D2 R3 C4 D3 R4 C5 D4 C6

Figure 3 Layout of the classification yard

There is a single hump engine and a single pullback engine. The processing/activity times for the tasks are listed in Table 1.

4

Table 1 Time Required for Technical Tasks

Technical inspection time (same for inbound 30 min and outbound trains) Average time of humping per railcar 0.4 min (i.e. 2.5 cars per min) Minimum humping interval between 8 min consecutive trains Average time to perform a single track pull; 5 min Average time to perform an additional track for a multi-track pull Average time of combining blocks per track 3 min

Each track area is limited with a track capacity constraint in terms of the maximum number of railcars that each track can hold in the corresponding area. The track capacity limitations are 40, 50, and 40 railcars, respectively for receiving area, classification area and departing area.

Assuming an operational two-day warm-up period, we illustrate the input data and the corresponding planning decisions on a 3rd day of a planning period. It is reasonable to assume that some existing railcars have been stored in the classification area at the beginning of the third day, as shown in the example given in Table 2. For simplicity, one may assume that these railcars in the same classification track have been assembled in one block.

Table 2. Data for Existing Railcars in the Classification Yard at Beginning of Day 3

Classification Track Number of Existing Railcars C1 8 C2 14 C3 9 C4 11 C5 10 C6 18

As part of the given input, the outbound block sequence specifies which blocks can be put together and their order on a departure train. The feasible block sequences are (1) unit trains “B1”, “B2”, “B3”, “B4”, “B5” and “B6”; (2) a combination of blocks “B5, B6”, i.e. the block B5 needs to be placed before the block of B6. To illustrate the planning decisions, we assume that the yard only operates from 9:00 AM to 12:30PM on the third day. As an input to the planning process, Table 3 provides the arrival times of 6 inbound trains and the block ids/track number included in these inbound trains.

5

Table 3. Inbound Train Timetable and Block Distribution

Number of railcars in a block Inbound Train No. Arrival Time B1 B2 B3 B4 B5 B6

i1 9:00 30 5 2

i2 9:10 30 5 5

i3 9:30 17 18 3

i4 9:42 24 11 2

i5 9:55 20 15

i6 10: 05 10 19 7

As the output of the planning process, Table 4 gives the departure times of 6 outbound trains, the block availability at different classification tracks. For example, tracks C3 and C4 have railcars with the blocks to be assembled in train o1.

Table 4 Outbound Train Timetable

Outbound Train No. Departure Time Classification Tracks

o1 11:00 C3,C4

o2 11:10 C1,C2

o3 11:35 C1,C2

o4 11:43 C3,C4

o5 12:15 C5,C6

o6 12:30 C1,C2

In summary, these two tables are the results of the yard capacity planning process, which are also the outputs of the train design problem and the input to the yard operation problem.

4. Detailed Solution Format The goal is to minimize the total railcar delay satisfying essential operational constraints. A participating team needs to submit the following data sheets in Excel Format.

6

a. Block-to-track assignment plan The participants need to determine a block-to-track assignment plan according to inbound train arrival and output train departure patterns. In this example, the block-to-track assignment has been greatly simplified so as to each block is assigned to each classification track as shown below.

Table 5. Block-to-track assignment plan (Sheet No.1: block_to_track_assignment) Track Block Day No Starting Time Ending Time

C1 B1 3 9:30 12:30

C2 B2 3 9:30 12:30

C3 B3 3 9:30 12:30

C4 B4 3 9:30 12:30

C5 B5 3 9:30 12:30

C6 B6 3 9:30 12:30 b. Inbound train information

Table 6. Detailed attributes of inbound trains (Sheet No.2: inbound_train_info)

Inbound Day Arriving Receiving Number Number Destination of Starting Ending Train No No time at track No of blocks of cars blocks (number of time of time of receiving (optional) (optional) cars) (optional) humping humping area job job

i1 3 9:00 R1 3 37 B1(30);B2(5);B5(2) 9:38 9:53

3 B3(30); B4(5); i2 9:10 R2 3 40 10:01 10:17 B5(5)

3 B1(17); B2(18); i3 9:30 R3 3 38 10:25 10:41 B4(3)

3 B3(24); B4(11); i4 9:42 R4 3 37 10:49 11:04 B6(2)

i5 3 9:55 R1 2 35 B1(20); B2(15) 11:12 11:26

3 B3(10); B5(19); i6 10:05 R2 3 36 11:34 11:49 B6(7)

The first train arrives at the receiving area at 9:00 and then spends 30 min for technical inspection. The humping job starts at 9:30, and the hump engine takes 8 min to travel from the hump to the receiving area. The hump engine starts to disassemble railcars of the first train at 9:38, and those 37 railcars takes about 37*0.4 = 14.8 min (rounded up to 15 min) to process. Starting at 9:53, all the 7

railcars from inbound train i1 are assumed to be available on the corresponding tracks, namely C1, C2 and C5, on the classification area.

After 9:53, it takes another 8 min for the hump engine to travel back to the receiving area and its second humping activity starts at 10:01. Train i2 has 40 railcars, which takes 40*0.4 min = 16 min to be humped, leading to the ending time of the humping job at 10:17. It should be noticed that, the technical inspection task for train i2 spans from 9:10 to 9:40, so this train is available to be processed when the hump engine comes back to the receiving area at 10:01. As an example, if this train arrives at the receiving area at 9:40, then its availability is delayed to 10:10, and then in this case the hump engine has to wait till 10:10 to start to disassemble the railcars from the second train.

Similarly, the third train i3 is available 30 min after its arrival time at the receiving area, that is, 9:42+30min = 10:12, and the related third humping activity starts at 10:25. Its 38 railcars takes 15.2 (rounded up to 16) min to be humped. File no. 3 titled “solution_inbound_train_pattern.csv” is used to describe the given and actual proportions of blocks in the final solution.

c. Outbound train information Table 7. Detailed attributes of outbound trains (Sheet No.3: outbound_train_info)

destination Starting Ending departure Pullback number of blocks outbound Day time of time of time at Departure number engine of (associated Train No No pullback pullback departure track No of blocks no railcars number of job job area cars)

o1 3 1 10:22 10:28 11:00 D1 2 39 B3(39)

o2 3 1 10:33 10:39 11:10 D2 2 38 B1(38)

o3 3 1 10:44 10:53 11:35 D3 3 37 B2(37)

o4 3 1 10:58 11:10 11:43 D4 4 30 B4(30)

1 B5(17); o5 3 11:15 11:35 12:15 D1 5 37 B6(20)

o6 3 1 11:40 11:46 12:30 D2 2 37 B 1(37)

The first outbound train has 39 railcars from classification track C3. It is important to trace the sources of those railcars. First, Table 2 indicates that there are 9 railcars on track C3 at the beginning of the planning horizon. Second, by checking Table 3, 30 railcars from block B3 come from inbound train i2 which arrives at 9:10. Those cars are available on the classification area at 10:17, described by Table 6.

Thus, the pullback engine starts to work at 10:17, and it takes 5 min to travel from the departure area to classification track C3. Recall that, there are 2 blocks on track C3, that is, 9 existing railcars at 9:00, 30 railcars from inbound train i2. According to Table 1, each block takes about 3 min to be connected, so those two blocks require 6 min, leading to the ending time of the pullback job at 10:28 8

(=10:17+5+2*3). Furthermore, outbound train o1 is formed and it takes another 30 min to complete the technical inspection, being available at 10:58 for the scheduled departure time at 11:00.

The second outbound train is processed after 10:33 (10:28+ 5 min of travel time). This train includes 38 railcars coming from 8 existing and 30 railcars from inbound train i1. Described in Table 6, both blocks are already available after 9:53, and the pullback job takes 2*3=6 min to finish at 10:39. The scheduled departure time is 11:10 after 30 min of inspection time.

The third outbound train o3 has three blocks on track C2, including 14 existing railcars, 5 from i1 and 18 from i3 (described in Table 3). Thus 3*3=9 min is spent on the whole pullback job, leading to the ending time of 10:53.

Outbound train o4 includes 4 blocks coming from track C4, so it takes 12 min until 11:10 to finish the pullback job. The 5th outbound train o5 has special case of pulling railcars from two different tracks C5 and C6. It has 5 blocks includes two existing blocks at 9:00 and three more received from inbound trains i1, i2 and i4, shown in Table 3. The total pullback time is 5 blocks *3 min + 5 min for additional track = 20 min. So the pullback engine completes its job for o5 at 11:35. The 5th outbound train is an only train with two blocks, so we need to ensure that it meets the outbound block sequence constraint “B5, B6”. Outbound train o6 has 37 railcars, and those 2 blocks come from train i3 and i5, shown in Table 3, the second block is available at 10:26 from Table 6.

It should be noted that the related pullback activity has to be delayed when a block is not available yet. d. Railcar Itinerary The participants also need to submit a file that describes the timestamps of each railcar at critical positions of the yard. Table 8 shows the 30 railcars’ itinerary at the yard (from inbound train i1 to outbound train o2).

Table 8. Detailed itinerary of each car in the yard (Sheet No.4: railcar_itinerary)

Car Des Inb Arri arrivi Rec Starti Endin Dep Pull Star Endi depa outb Depa No tina oun val ng eivi ng g artu back ting ng rture ound rture tion d Day time ng time time re engi time time time Train track of Trai No at trac of of Day ne of of at No No. bloc n recei k hum humpi No No pull pull depa k No ving No. ping ng job back back rture area job job job area

000 B1 i1 3 9: R1 9:38 9:53 3 1 10:3 10:3 11: o2 D2 1 00 3 9 10

000 B1 i1 3 9: R1 9:38 9:53 3 1 10:3 10:3 11: o2 D2 2 00 3 9 10

003 B1 i1 3 9: R1 9:38 9:53 3 1 10:3 10:3 11: o2 D2 0 00 3 9 10

9

Accordingly, plots can be generated to describe the time-dependent number of cars on receiving area, classification area (for each track) and departure area. These plots are used to check if the spatial capacity requirements are met.

40 35

30 25 20

15 # of # railcars 10 5

0

9:16 9:00 9:08 9:24 9:32 9:40 9:48 9:56

10:04 10:20 10:28 10:36 10:44 10:52 11:00 11:08 11:16 11:24 11:32 11:40 11:48 11:56 12:04 12:12 12:20 12:28 10:12

Figure4 Time-dependent number of railcars on classification track C1

Figure 4 plots the number of railcars on track C1 and the related events include:

 8 existing railcars from 9:00,  30 more railcars from inbound trains at 9:58,  outbound train o2 pulls all 38 railcars out of track C1 at 10:39, leaving an empty track at 10:40,  inbound train i3 sends another 17 railcars at 10:41, and inbound train i5 sends 20 railcars at 11:26,and  all 37 railcars are pulled to outbound train o6 at 11:46, and the track keeps empty till the end of planning horizon.

In addition to the tables provided as part of the solution, the solution reports (manuscripts) should also discuss the following performance measures:

(i) The total waiting time of railcars through the yard is calculated as follows: 1) If a car arrives after the beginning of the planning horizon TS and leaves before the end of the planning horizon TE, then, its waiting time is T2-T1, where T2=its arrival time at the departure area and T1= its arrival time at the receiving area. 2) For an existing railcar in the yard at the beginning of the planning horizon, T1 is set to TS. 3) For a railcar still in the yard at the end of the planning horizon, T2 is set to TE.

The unit of waiting time is # of railcars*min. Accordingly, the team should submit performance measures such as average waiting time, maximum waiting time, minimum waiting time.

(ii) The total number of cars being processed per day (the number of railcars through the yard).

10

5. Solution Evaluation

A list of feasibility constraints will be checked for the viability of the solutions is as follows:

1. Time headway requirements: train inter-departure intervals; humping rate; minimum humping interval between consecutive humping activities. 2. Space capacity: the maximum number of inbound trains (or outbound trains) standing in the receiving area (or departure area), the maximum number of railcars held in each track (mainly in classification area) at any time. 3. Processing time constraints: average time to perform a single track or a multiple-track pull, and average time for a pullback engine to couple per block per train. 4. Other constraints: a) Each classification track is dedicated to a particular block at a given time. b) The train size could be from 25 to 150 cars. The length of train can be treated as a soft constraint, while a penalty will be added in the final solution evaluation for violating it. c) Each pullback job (single track or multi-track pull) can only hold up to 140 cars. d) If the proposed solution algorithm cannot handle the entire planning horizon, a solution with a shorter planning horizon (e.g. 7 days) can be submitted, while a penalty will be also added in the final evaluation stage.

In addition to the impact on operational plans, the proposed methodology should also be evaluated from a higher level planning perspective. In this respect, analyzing the impact long-term yard throughput and capacity-related decisions on day-to-day operations, a railroad company is also interested in the following questions:

1. How will fluctuations in train arrivals impact the expected number of trains departing the yard? 2. Where are the bottlenecks on this yard, if any? 3. If the outbound trains can depart on time according to their schedules, how many additional inbound trains, blocks and cars can be processed by the yard? 4. What is the capacity impact of increasing the current block size on the inbound trains or creating new trains that are similar to the existing ones in a given time period?

Based on the approach and the methodology that provides the operational plan, the above issues should also be discussed in the solution report.

References Carlos F. Daganzo, 1986. Static blocking at railyards: sorting implications and track requirements. Transportation Science 20(3), 189-199. Carlos F. Daganzo, Richard G. Dowling, Randolph W. Hall, 1983. Railroad classification yard throughput: the case of multistage triangular sorting. Transportation Research Part A 17(02), 95–106. Elias Dahlhaus, Peter Horak, Mirka Miller, Joseph F. Ryan, 2000. The train marshalling problem. 11

Discrete Applied Mathematics 103, 41-54. Guvenc Şahin, Ravindra K. Ahuja, 2011. Single-Machine scheduIing with stepwise tardiness costs and release times. Journal of Industrial and Management Optimization 11, 825-848. Edward Lin, Clark Cheng, 2009. YardSim: A Simulation Framework and its Implementation in a Major Railroad in the U.S. In Proceedings of the 2009 Winter Simulation Conference, edited by M. D. Rossetti, R. R. Hill, B. Johansson, A. Dunkin and R. G. Ingalls, 2532-2541. Piscataway, New Jersey: Institute of Electrical and Electronics Engineers, Inc. Edward Lin, Clark Cheng, 2011. Simulation and Analysis of Railroad Hump Yards in North America. In Proceedings of the 2011 Winter Simulation Conference, edited by S. Jain, R.R. Creasey, J. Himmelspach, K.P. White, and M. Fu, 3715-3723. Piscataway, New Jersey: Institute of Electrical and Electronics Engineers, Inc. Martin Beckmann, C. B. McGuire, Christopher B. Winsten, 1956. Studies in the Economics of Transportation. Yale University Press: New Haven : 113-171. http://cowles.econ.yale.edu/archive/reprints/specpub-BMW.pdf Shiwei He, Rui Song, Sohail S. Chaudhry, 2003. An integrated dispatching model for rail yards operations. Computers and Operations Research 30, 939-966.

12

2013 RAS Problem Competition Data Sheet

Planning Horizon and Evaluation Period: We consider 24 hours as the planning horizon of a single day in all data sets except data set 1. We consider the first two days as the warm-up period. The capacity output and operation performance are evaluated on day 3 only for the first data set, and between 3rd- 18th day for data sets 2, 3, 4 and 5.

Given Data for Data Set 1: The given input data for data set 1 is modified from the illustrative example.

Given Data for Data Sets 2, 3, 4 and 5 1. Yard Infrastructure  Receiving area: 10 receiving tracks, each can hold up to 185 cars  Classification area: 42 classification tracks, each can hold up to 60 cars  Departure area: 7 departure tracks, each can hold up to 207 cars

2. Resources:  One hump engine: means only one hump can be performed at any given time  Two pullback engines: means two concurrent pullback jobs

3. Operational Parameters:  Maximum humping rate: 2.2 cars/min  Minimum humping interval: 10 min between consecutive humping activities  Technical inspection time is 45 min for both inbound and outbound trains.  Average time to perform a single track pull: 10 min  Average time to perform a multi-track pull: 15 min for each additional track  Minimum and maximum train sizes are 25 cars and 150 cars, respectively.

Remarks: The illustrative example calculates the pullback time as a function of blocks to be handled. For simplicity, the parameters described here only distinguish single-track pulls vs. multi-track pulls, regardless of the number of blocks on each track.

4. Operational Constraints:  Minimum train inter-departure time: 10 min

Outbound Train Combinations The following block combinations provide information on which blocks can be put together into a single outbound train. The sequences of blocks in outbound trains are not required in this competition. For example, “AF, AW, AY” means you can have following combinations of blocks on the train “AF”, “AW”, “AY”, “AF, AW,” “AF, AY”, “AW, AY”, “AF, AW, AY”. Some blocks (e.g. AM) are not present in the sequences below, this means that these blocks form unit trains.

1. Data Sets 2 and 3:

13

Simplified Block Combination

"AD, AF"

"AF, AW, AY"

"AH, AK",

"AN, AP, AJ, BG"

"AR, AW, AY"

2. Data Sets 4 and 5:

"AA, AJ, AN, AP, BC, BE"

"AA, AJ, AN, AP, BG”

"AB, AD, AF, AS, AU, BA, BB”

"AB, AF, AW"

"AC, AG, AX"

"AE, AH, AK"

"AF, AW, AY"

"AH, AK, AT"

"AI, AL"

"AP, BE, BF"

"AQ, BD"

"AR, AW, AY"

"AV, AZ"

14