@@ -191,13 +189,7 @@
axiom-public-releases
Axiom Releases
- http://nexus.axiomalaska.com/nexus/content/repositories/public-releases
-
-
-
- oba-public
- One Bus Away Public
- http://nexus.onebusaway.org/nexus/content/repositories/public/
+ https://nexus.axiomalaska.com/nexus/content/repositories/public-releases
diff --git a/src/main/java/com/conveyal/analysis/components/LocalWorkerLauncher.java b/src/main/java/com/conveyal/analysis/components/LocalWorkerLauncher.java
index 0d73f13f..be8699da 100644
--- a/src/main/java/com/conveyal/analysis/components/LocalWorkerLauncher.java
+++ b/src/main/java/com/conveyal/analysis/components/LocalWorkerLauncher.java
@@ -4,7 +4,7 @@
import com.conveyal.file.FileStorage;
import com.conveyal.gtfs.GTFSCache;
import com.conveyal.r5.analyst.WorkerCategory;
-import com.conveyal.r5.analyst.cluster.AnalystWorker;
+import com.conveyal.r5.analyst.cluster.AnalysisWorker;
import com.conveyal.r5.streets.OSMCache;
import com.conveyal.r5.transit.TransportNetworkCache;
import org.slf4j.Logger;
@@ -90,7 +90,7 @@ public void launch (WorkerCategory category, WorkerTags workerTags, int nOnDeman
if (i > 0) {
singleWorkerConfig.setProperty("listen-for-single-point", "false");
}
- AnalystWorker worker = new AnalystWorker(singleWorkerConfig, fileStorage, transportNetworkCache);
+ AnalysisWorker worker = new AnalysisWorker(singleWorkerConfig, fileStorage, transportNetworkCache);
Thread workerThread = new Thread(worker, "WORKER " + i);
workerThreads.add(workerThread);
workerThread.start();
diff --git a/src/main/java/com/conveyal/analysis/components/broker/Broker.java b/src/main/java/com/conveyal/analysis/components/broker/Broker.java
index 21b068a6..08023a8e 100644
--- a/src/main/java/com/conveyal/analysis/components/broker/Broker.java
+++ b/src/main/java/com/conveyal/analysis/components/broker/Broker.java
@@ -6,12 +6,17 @@
import com.conveyal.analysis.components.eventbus.EventBus;
import com.conveyal.analysis.components.eventbus.RegionalAnalysisEvent;
import com.conveyal.analysis.components.eventbus.WorkerEvent;
+import com.conveyal.analysis.models.RegionalAnalysis;
import com.conveyal.analysis.results.MultiOriginAssembler;
+import com.conveyal.analysis.util.JsonUtil;
import com.conveyal.file.FileStorage;
+import com.conveyal.file.FileStorageKey;
+import com.conveyal.file.FileUtils;
import com.conveyal.r5.analyst.WorkerCategory;
import com.conveyal.r5.analyst.cluster.RegionalTask;
import com.conveyal.r5.analyst.cluster.RegionalWorkResult;
import com.conveyal.r5.analyst.cluster.WorkerStatus;
+import com.conveyal.r5.analyst.scenario.Scenario;
import com.google.common.collect.ListMultimap;
import com.google.common.collect.MultimapBuilder;
import gnu.trove.TCollections;
@@ -22,6 +27,7 @@
import org.slf4j.LoggerFactory;
import java.io.File;
+import java.io.IOException;
import java.util.ArrayList;
import java.util.Collection;
import java.util.Collections;
@@ -79,6 +85,7 @@ public interface Config {
boolean offline ();
int maxWorkers ();
String resultsBucket ();
+ String bundleBucket ();
boolean testTaskRedelivery ();
}
@@ -145,21 +152,25 @@ public Broker (Config config, FileStorage fileStorage, EventBus eventBus, Worker
* Enqueue a set of tasks for a regional analysis.
* Only a single task is passed in, which the broker will expand into all the individual tasks for a regional job.
* We pass in the group and user only to tag any newly created workers. This should probably be done in the caller.
- * TODO push the creation of the TemplateTask down into this method, to avoid last two parameters?
- * TODO make the tags a simple Map from String -> String here and for worker startup.
*/
- public synchronized void enqueueTasksForRegionalJob (RegionalTask templateTask, WorkerTags workerTags) {
+ public synchronized void enqueueTasksForRegionalJob (RegionalAnalysis regionalAnalysis) {
+
+ // Make a copy of the regional task inside the RegionalAnalysis, replacing the scenario with a scenario ID.
+ RegionalTask templateTask = templateTaskFromRegionalAnalysis(regionalAnalysis);
+
LOG.info("Enqueuing tasks for job {} using template task.", templateTask.jobId);
if (findJob(templateTask.jobId) != null) {
LOG.error("Someone tried to enqueue job {} but it already exists.", templateTask.jobId);
throw new RuntimeException("Enqueued duplicate job " + templateTask.jobId);
}
+ WorkerTags workerTags = WorkerTags.fromRegionalAnalysis(regionalAnalysis);
Job job = new Job(templateTask, workerTags);
jobs.put(job.workerCategory, job);
// Register the regional job so results received from multiple workers can be assembled into one file.
- // TODO encapsulate resultAssemblers in a new component
- MultiOriginAssembler assembler = new MultiOriginAssembler(job, config.resultsBucket(), fileStorage);
+ // TODO encapsulate MultiOriginAssemblers in a new Component
+ MultiOriginAssembler assembler =
+ new MultiOriginAssembler(regionalAnalysis, job, config.resultsBucket(), fileStorage);
resultAssemblers.put(templateTask.jobId, assembler);
@@ -177,6 +188,48 @@ public synchronized void enqueueTasksForRegionalJob (RegionalTask templateTask,
eventBus.send(new RegionalAnalysisEvent(templateTask.jobId, STARTED).forUser(workerTags.user, workerTags.group));
}
+ /**
+ * The single RegionalTask object represents a lot of individual accessibility tasks at many different origin
+ * points, typically on a grid. Before passing that RegionalTask on to the Broker (which distributes tasks to
+ * workers and tracks progress), we remove the details of the scenario, substituting the scenario's unique ID
+ * to save time and bandwidth. This avoids repeatedly sending the scenario details to the worker in every task,
+ * as they are often quite voluminous. The workers will fetch the scenario once from S3 and cache it based on
+ * its ID only. We protectively clone this task because we're going to null out its scenario field, and don't
+ * want to affect the original object which contains all the scenario details.
+ * TODO Why is all this detail added after the Persistence call?
+ * We don't want to store all the details added below in Mongo?
+ */
+ private RegionalTask templateTaskFromRegionalAnalysis (RegionalAnalysis regionalAnalysis) {
+ RegionalTask templateTask = regionalAnalysis.request.clone();
+ // First replace the inline scenario with a scenario ID, storing the scenario for retrieval by workers.
+ Scenario scenario = templateTask.scenario;
+ templateTask.scenarioId = scenario.id;
+ // Null out the scenario in the template task, avoiding repeated serialization to the workers as massive JSON.
+ templateTask.scenario = null;
+ String fileName = String.format("%s_%s.json", regionalAnalysis.bundleId, scenario.id);
+ FileStorageKey fileStorageKey = new FileStorageKey(config.bundleBucket(), fileName);
+ try {
+ File localScenario = FileUtils.createScratchFile("json");
+ JsonUtil.objectMapper.writeValue(localScenario, scenario);
+ fileStorage.moveIntoStorage(fileStorageKey, localScenario);
+ } catch (IOException e) {
+ LOG.error("Error storing scenario for retrieval by workers.", e);
+ }
+ // Fill in all the fields in the template task that will remain the same across all tasks in a job.
+ // I am not sure why we are re-setting all these fields, it seems like they are already set when the task is
+ // initialized by AnalysisRequest.populateTask. But we'd want to thoroughly check that assumption before
+ // eliminating or moving these lines.
+ templateTask.jobId = regionalAnalysis._id;
+ templateTask.graphId = regionalAnalysis.bundleId;
+ templateTask.workerVersion = regionalAnalysis.workerVersion;
+ templateTask.height = regionalAnalysis.height;
+ templateTask.width = regionalAnalysis.width;
+ templateTask.north = regionalAnalysis.north;
+ templateTask.west = regionalAnalysis.west;
+ templateTask.zoom = regionalAnalysis.zoom;
+ return templateTask;
+ }
+
/**
* Create on-demand worker for a given job.
*/
diff --git a/src/main/java/com/conveyal/analysis/components/broker/Job.java b/src/main/java/com/conveyal/analysis/components/broker/Job.java
index d67215b3..76631a87 100644
--- a/src/main/java/com/conveyal/analysis/components/broker/Job.java
+++ b/src/main/java/com/conveyal/analysis/components/broker/Job.java
@@ -14,11 +14,7 @@
/**
* A Job is a collection of tasks that represent all the origins in a regional analysis. All the
- * tasks must have the same network ID and be run against the same R5 version on the workers.
- *
- * There is no concern about multiple tasks having the same ID, because those IDs are created by the
- * broker. An unlikely potential problem is that if the broker restarts, the workers might mark the
- * wrong tasks as completed.
+ * tasks in a Job must have the same network ID and be run against the same R5 version on the workers.
*/
public class Job {
@@ -70,10 +66,7 @@ public class Job {
*/
protected int nTasksDelivered;
- /**
- * Every task in this job will be based on this template task, but have its origin
- * coordinates changed.
- */
+ /** Every task in this job will be based on this template task, but have its origin coordinates changed. */
public final RegionalTask templateTask;
/**
diff --git a/src/main/java/com/conveyal/analysis/components/broker/RedeliveryTest.java b/src/main/java/com/conveyal/analysis/components/broker/RedeliveryTest.java
index 05cf41cd..a90f52a9 100644
--- a/src/main/java/com/conveyal/analysis/components/broker/RedeliveryTest.java
+++ b/src/main/java/com/conveyal/analysis/components/broker/RedeliveryTest.java
@@ -2,6 +2,7 @@
import com.conveyal.analysis.components.Components;
import com.conveyal.analysis.components.LocalComponents;
+import com.conveyal.analysis.models.RegionalAnalysis;
import com.conveyal.r5.analyst.cluster.RegionalTask;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -63,8 +64,9 @@ private static void sendFakeJob(Broker broker) {
templateTask.height = 1;
templateTask.width = N_TASKS_PER_JOB;
templateTask.scenarioId = "FAKE";
- WorkerTags workerTags = new WorkerTags("testGroup", "testUser", "projectId", "regionId");
- broker.enqueueTasksForRegionalJob(templateTask, workerTags);
+ RegionalAnalysis regionalAnalysis = new RegionalAnalysis();
+ regionalAnalysis.request = templateTask;
+ broker.enqueueTasksForRegionalJob(regionalAnalysis);
}
public static String compactUUID() {
diff --git a/src/main/java/com/conveyal/analysis/controllers/AggregationAreaController.java b/src/main/java/com/conveyal/analysis/controllers/AggregationAreaController.java
index f89488db..2830306b 100644
--- a/src/main/java/com/conveyal/analysis/controllers/AggregationAreaController.java
+++ b/src/main/java/com/conveyal/analysis/controllers/AggregationAreaController.java
@@ -3,6 +3,7 @@
import com.conveyal.analysis.AnalysisServerException;
import com.conveyal.analysis.models.AggregationArea;
import com.conveyal.analysis.persistence.Persistence;
+import com.conveyal.analysis.util.HttpUtils;
import com.conveyal.file.FileStorage;
import com.conveyal.file.FileStorageKey;
import com.conveyal.file.FileUtils;
@@ -11,9 +12,6 @@
import com.google.common.io.Files;
import com.mongodb.QueryBuilder;
import org.apache.commons.fileupload.FileItem;
-import org.apache.commons.fileupload.FileItemFactory;
-import org.apache.commons.fileupload.disk.DiskFileItemFactory;
-import org.apache.commons.fileupload.servlet.ServletFileUpload;
import org.json.simple.JSONObject;
import org.locationtech.jts.geom.Envelope;
import org.locationtech.jts.geom.Geometry;
@@ -30,6 +28,7 @@
import java.text.MessageFormat;
import java.util.ArrayList;
import java.util.Collection;
+import java.util.Collections;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
@@ -45,7 +44,6 @@
public class AggregationAreaController implements HttpController {
private static final Logger LOG = LoggerFactory.getLogger(AggregationAreaController.class);
- private static final FileItemFactory fileItemFactory = new DiskFileItemFactory();
/**
* Arbitrary limit to prevent UI clutter from many aggregation areas (e.g. if someone uploads thousands of blocks).
@@ -67,6 +65,8 @@ public AggregationAreaController (FileStorage fileStorage, Config config) {
this.config = config;
}
+
+
private FileStorageKey getStoragePath (AggregationArea area) {
return new FileStorageKey(config.gridBucket(), area.getS3Key());
}
@@ -81,8 +81,7 @@ private FileStorageKey getStoragePath (AggregationArea area) {
*/
private List createAggregationAreas (Request req, Response res) throws Exception {
ArrayList aggregationAreas = new ArrayList<>();
- ServletFileUpload sfu = new ServletFileUpload(fileItemFactory);
- Map> query = sfu.parseParameterMap(req.raw());
+ Map> query = HttpUtils.getRequestFiles(req.raw());
// 1. Extract relevant files: .shp, .prj, .dbf, and .shx. ======================================================
Map filesByName = query.get("files").stream()
@@ -119,10 +118,17 @@ private List createAggregationAreas (Request req, Response res)
filesByName.get(baseName + ".shx").write(shxFile);
}
- ShapefileReader reader = new ShapefileReader(shpFile);
-
// 2. Read features ============================================================================================
- List features = reader.wgs84Stream().collect(Collectors.toList());
+ ShapefileReader reader = null;
+ List features;
+ try {
+ reader = new ShapefileReader(shpFile);
+ features = reader.wgs84Stream().collect(Collectors.toList());
+ } finally {
+ if (reader != null) reader.close();
+ }
+
+
Map areas = new HashMap<>();
if (features.size() > MAX_FEATURES) {
@@ -140,7 +146,7 @@ private List createAggregationAreas (Request req, Response res)
} else {
// Don't union. Name each area by looking up its value for the name property in the request.
String nameProperty = query.get("nameProperty").get(0).getString("UTF-8");
- features.stream().forEach(f -> areas.put(readProperty(f, nameProperty), (Geometry) f.getDefaultGeometry()));
+ features.forEach(f -> areas.put(readProperty(f, nameProperty), (Geometry) f.getDefaultGeometry()));
}
// 3. Convert to raster grids, then store them. ================================================================
areas.forEach((String name, Geometry geometry) -> {
diff --git a/src/main/java/com/conveyal/analysis/controllers/BrokerController.java b/src/main/java/com/conveyal/analysis/controllers/BrokerController.java
index 77c8ceab..e6e5abd2 100644
--- a/src/main/java/com/conveyal/analysis/controllers/BrokerController.java
+++ b/src/main/java/com/conveyal/analysis/controllers/BrokerController.java
@@ -17,7 +17,7 @@
import com.conveyal.analysis.util.HttpStatus;
import com.conveyal.analysis.util.JsonUtil;
import com.conveyal.r5.analyst.WorkerCategory;
-import com.conveyal.r5.analyst.cluster.AnalystWorker;
+import com.conveyal.r5.analyst.cluster.AnalysisWorker;
import com.conveyal.r5.analyst.cluster.RegionalTask;
import com.conveyal.r5.analyst.cluster.RegionalWorkResult;
import com.conveyal.r5.analyst.cluster.TravelTimeSurfaceTask;
@@ -87,7 +87,7 @@ public BrokerController (Broker broker, EventBus eventBus) {
* This HTTP client contacts workers to send them single-point tasks for immediate processing.
* TODO we should eventually switch to the new Java standard HttpClient.
*/
- private static HttpClient httpClient = AnalystWorker.makeHttpClient();
+ private static HttpClient httpClient = AnalysisWorker.makeHttpClient();
/**
* Spark handler functions return Objects.
diff --git a/src/main/java/com/conveyal/analysis/controllers/BundleController.java b/src/main/java/com/conveyal/analysis/controllers/BundleController.java
index 72e00c6e..08635381 100644
--- a/src/main/java/com/conveyal/analysis/controllers/BundleController.java
+++ b/src/main/java/com/conveyal/analysis/controllers/BundleController.java
@@ -5,6 +5,7 @@
import com.conveyal.analysis.components.TaskScheduler;
import com.conveyal.analysis.models.Bundle;
import com.conveyal.analysis.persistence.Persistence;
+import com.conveyal.analysis.util.HttpUtils;
import com.conveyal.analysis.util.JsonUtil;
import com.conveyal.file.FileStorage;
import com.conveyal.file.FileStorageKey;
@@ -18,10 +19,7 @@
import com.conveyal.r5.util.ExceptionUtils;
import com.mongodb.QueryBuilder;
import org.apache.commons.fileupload.FileItem;
-import org.apache.commons.fileupload.FileItemFactory;
import org.apache.commons.fileupload.disk.DiskFileItem;
-import org.apache.commons.fileupload.disk.DiskFileItemFactory;
-import org.apache.commons.fileupload.servlet.ServletFileUpload;
import org.bson.types.ObjectId;
import org.locationtech.jts.geom.Envelope;
import org.slf4j.Logger;
@@ -103,7 +101,7 @@ public interface Config {
*/
private Bundle create (Request req, Response res) {
// create the bundle
- final Map> files = getFiles(req);
+ final Map> files = HttpUtils.getRequestFiles(req.raw());
final Bundle bundle = new Bundle();
try {
bundle.name = files.get("bundleName").get(0).getString("UTF-8");
@@ -283,22 +281,6 @@ private Collection getBundles (Request req, Response res) {
// UTILITY METHODS
- /** Extract files from a Spark Request containing RFC 1867 multipart form-based file upload data. */
- private static Map> getFiles (Request req) {
- // The Javadoc on this factory class doesn't say anything about thread safety. Looking at the source code it
- // all looks threadsafe. But also very lightweight to instantiate, so in this code run by multiple threads
- // we play it safe and always create a new factory.
- // Setting a size threshold of 0 causes all files to be written to disk, which allows processing them in a
- // uniform way in other threads, after the request handler has returned.
- FileItemFactory fileItemFactory = new DiskFileItemFactory(0, null);
- ServletFileUpload sfu = new ServletFileUpload(fileItemFactory);
- try {
- return sfu.parseParameterMap(req.raw());
- } catch (Exception e) {
- throw AnalysisServerException.badRequest(ExceptionUtils.asString(e));
- }
- }
-
/**
* Bundles created before 2018-10-04 do not have service start and end dates. This method sets the service start
* and end dates for pre-existing bundles that do not have them set already. A database migration wasn't done
diff --git a/src/main/java/com/conveyal/analysis/controllers/RegionalAnalysisController.java b/src/main/java/com/conveyal/analysis/controllers/RegionalAnalysisController.java
index e3ca2c1a..ead5cb5a 100644
--- a/src/main/java/com/conveyal/analysis/controllers/RegionalAnalysisController.java
+++ b/src/main/java/com/conveyal/analysis/controllers/RegionalAnalysisController.java
@@ -4,8 +4,8 @@
import com.conveyal.analysis.SelectingGridReducer;
import com.conveyal.analysis.components.broker.Broker;
import com.conveyal.analysis.components.broker.JobStatus;
-import com.conveyal.analysis.components.broker.WorkerTags;
import com.conveyal.analysis.models.AnalysisRequest;
+import com.conveyal.analysis.models.OpportunityDataset;
import com.conveyal.analysis.models.Project;
import com.conveyal.analysis.models.RegionalAnalysis;
import com.conveyal.analysis.persistence.Persistence;
@@ -16,7 +16,6 @@
import com.conveyal.file.FileUtils;
import com.conveyal.r5.analyst.Grid;
import com.conveyal.r5.analyst.cluster.RegionalTask;
-import com.conveyal.r5.analyst.scenario.Scenario;
import com.google.common.primitives.Ints;
import com.mongodb.QueryBuilder;
import gnu.trove.list.array.TIntArrayList;
@@ -41,6 +40,7 @@
import static com.conveyal.analysis.util.JsonUtil.toJson;
import static com.google.common.base.Preconditions.checkArgument;
+import static com.google.common.base.Preconditions.checkNotNull;
import static com.google.common.base.Preconditions.checkState;
/**
@@ -90,6 +90,11 @@ private Collection getRegionalAnalysesForRegion(Request req, R
return getRegionalAnalysesForRegion(req.params("regionId"), req.attribute("accessGroup"));
}
+ // Note: this includes the modifications object which can be very large
+ private RegionalAnalysis getRegionalAnalysis(Request req, Response res) {
+ return Persistence.regionalAnalyses.findByIdIfPermitted(req.params("_id"), req.attribute("accessGroup"));
+ }
+
/**
* Looks up all regional analyses for a region and checks the broker for jobs associated with them. If a JobStatus
* exists it adds it to the list of running analyses.
@@ -178,26 +183,32 @@ private Object getRegionalResults (Request req, Response res) throws IOException
}
// Which channel to extract from results with multiple values per origin (for different travel time cutoffs)
- // and multiple output files per analysis (for different percentiles of travel time). The base case is older
- // regional analyses with only a single cutoff, and no percentile in the file name.
+ // and multiple output files per analysis (for different percentiles of travel time and/or different
+ // destination pointsets). These initial values are for older regional analysis results with only a single
+ // cutoff, and no percentile or destination gridId in the file name.
+ // For newer analyses that have multiple cutoffs, percentiles, or destination pointsets, these initial values
+ // are coming from deprecated fields, are not meaningful and will be overwritten below from query parameters.
int percentile = analysis.travelTimePercentile;
int cutoffMinutes = analysis.cutoffMinutes;
int cutoffIndex = 0;
+ String destinationPointSetId = analysis.grid;
- // Handle newer regional analyses with multiple cutoffs in an array. If a query parameter is supplied, range
- // check it, otherwise use the middle value in the list.
+ // Handle newer regional analyses with multiple cutoffs in an array.
+ // If a query parameter is supplied, range check it, otherwise use the middle value in the list.
+ // The cutoff variable holds the actual cutoff in minutes, not the position in the array of cutoffs.
if (analysis.cutoffsMinutes != null) {
int nCutoffs = analysis.cutoffsMinutes.length;
checkState(nCutoffs > 0, "Regional analysis has no cutoffs.");
cutoffMinutes = getIntQueryParameter(req, "cutoff", analysis.cutoffsMinutes[nCutoffs / 2]);
cutoffIndex = new TIntArrayList(analysis.cutoffsMinutes).indexOf(cutoffMinutes);
- checkArgument(cutoffIndex >= 0,
+ checkState(cutoffIndex >= 0,
"Travel time cutoff for this regional analysis must be taken from this list: (%s)",
Ints.join(", ", analysis.cutoffsMinutes)
);
}
// Handle newer regional analyses with multiple percentiles in an array.
+ // If a query parameter is supplied, range check it, otherwise use the middle value in the list.
// The percentile variable holds the actual percentile (25, 50, 95) not the position in the array.
if (analysis.travelTimePercentiles != null) {
int nPercentiles = analysis.travelTimePercentiles.length;
@@ -208,6 +219,19 @@ private Object getRegionalResults (Request req, Response res) throws IOException
Ints.join(", ", analysis.travelTimePercentiles));
}
+ // Handle even newer regional analyses with multiple destination pointsets per analysis.
+ if (analysis.destinationPointSetIds != null) {
+ int nGrids = analysis.destinationPointSetIds.length;
+ checkState(nGrids > 0, "Regional analysis has no grids.");
+ destinationPointSetId = req.queryParams("destinationPointSetId");
+ if (destinationPointSetId == null) {
+ destinationPointSetId = analysis.destinationPointSetIds[0];
+ }
+ checkArgument(Arrays.asList(analysis.destinationPointSetIds).contains(destinationPointSetId),
+ "Destination gridId must be one of: %s",
+ String.join(",", analysis.destinationPointSetIds));
+ }
+
// It seems like you would check regionalAnalysis.complete to choose between redirecting to s3 and fetching
// the partially completed local file. But this field is never set to true - it's on a UI model object that
// isn't readily accessible to the internal Job-tracking mechanism of the back end. Instead, just try to fetch
@@ -240,8 +264,8 @@ private Object getRegionalResults (Request req, Response res) throws IOException
}
} else {
// The analysis has already completed, results should be stored and retrieved from S3 via redirects.
- LOG.info("Returning {} minute accessibility (percentile {}) for regional analysis {}.",
- cutoffMinutes, percentile, regionalAnalysisId);
+ LOG.info("Returning {} minute accessibility to pointset {} (percentile {}) for regional analysis {}.",
+ cutoffMinutes, destinationPointSetId, percentile, regionalAnalysisId);
FileStorageFormat format = FileStorageFormat.valueOf(fileFormatExtension.toUpperCase());
if (!FileStorageFormat.GRID.equals(format) && !FileStorageFormat.PNG.equals(format) && !FileStorageFormat.TIFF.equals(format)) {
throw AnalysisServerException.badRequest("Format \"" + format + "\" is invalid. Request format must be \"grid\", \"png\", or \"tiff\".");
@@ -251,15 +275,28 @@ private Object getRegionalResults (Request req, Response res) throws IOException
// We do this even for results generated by older workers, so they will be re-extracted with the new name.
// These grids are reasonably small, we may be able to just send all cutoffs to the UI instead of selecting.
String singleCutoffKey =
- String.format("%s_P%d_C%d.%s", regionalAnalysisId, percentile, cutoffMinutes, fileFormatExtension);
+ String.format("%s_%s_P%d_C%d.%s", regionalAnalysisId, destinationPointSetId, percentile, cutoffMinutes, fileFormatExtension);
// A lot of overhead here - UI contacts backend, backend calls S3, backend responds to UI, UI contacts S3.
FileStorageKey singleCutoffFileStorageKey = new FileStorageKey(config.resultsBucket(), singleCutoffKey);
if (!fileStorage.exists(singleCutoffFileStorageKey)) {
- // Old single-percentile regional analysis result grids don't have a percentile component in the S3 key.
- String multiCutoffKey = (analysis.travelTimePercentiles == null)
- ? regionalAnalysisId + ".access"
- : String.format("%s_P%d.access", regionalAnalysisId, percentile);
+ // An accessibility grid for this particular cutoff has apparently never been extracted from the
+ // regional results file before. Extract one and save it for future reuse. Older regional analyses
+ // may not have arrays allowing multiple cutoffs, percentiles, or destination pointsets. The
+ // filenames of such regional accessibility results will not have a percentile or pointset ID.
+ String multiCutoffKey;
+ if (analysis.travelTimePercentiles == null) {
+ // Oldest form of results, single-percentile, single grid.
+ multiCutoffKey = regionalAnalysisId + ".access";
+ } else {
+ if (analysis.destinationPointSetIds == null) {
+ // Newer form of regional results: multi-percentile, single grid.
+ multiCutoffKey = String.format("%s_P%d.access", regionalAnalysisId, percentile);
+ } else {
+ // Newest form of regional results: multi-percentile, multi-grid.
+ multiCutoffKey = String.format("%s_%s_P%d.access", regionalAnalysisId, destinationPointSetId, percentile);
+ }
+ }
LOG.info("Single-cutoff grid {} not found on S3, deriving it from {}.", singleCutoffKey, multiCutoffKey);
FileStorageKey multiCutoffFileStorageKey = new FileStorageKey(config.resultsBucket(), multiCutoffKey);
@@ -322,9 +359,47 @@ private RegionalAnalysis createRegionalAnalysis (Request req, Response res) thro
// why is some stuff set in this populate method, and other things set here in the caller?
RegionalTask task = (RegionalTask) analysisRequest.populateTask(new RegionalTask(), project);
- // Set the destination pointset (which is still called "grid" for backward worker compatibility).
- task.grid = Persistence.opportunityDatasets
- .findByIdIfPermitted(analysisRequest.opportunityDatasetId, accessGroup).storageLocation();
+ // Set the destination PointSets, which are required for all non-Taui regional requests.
+ if (! analysisRequest.makeTauiSite) {
+ checkNotNull(analysisRequest.destinationPointSetIds);
+ checkState(analysisRequest.destinationPointSetIds.length > 0,
+ "At least one destination pointset ID must be supplied.");
+ int nPointSets = analysisRequest.destinationPointSetIds.length;
+ task.destinationPointSetKeys = new String[nPointSets];
+ List opportunityDatasets = new ArrayList<>();
+ for (int i = 0; i < nPointSets; i++) {
+ String destinationPointSetId = analysisRequest.destinationPointSetIds[i];
+ OpportunityDataset opportunityDataset = Persistence.opportunityDatasets.findByIdIfPermitted(
+ destinationPointSetId,
+ accessGroup
+ );
+ checkNotNull(opportunityDataset, "Opportunity dataset could not be found in database.");
+ opportunityDatasets.add(opportunityDataset);
+ task.destinationPointSetKeys[i] = opportunityDataset.storageLocation();
+ }
+ // For backward compatibility with old workers, communicate any single pointSet via the deprecated field.
+ if (nPointSets == 1) {
+ task.grid = task.destinationPointSetKeys[0];
+ }
+ // Preflight check that all destination pointsets are exactly the same size. Equivalent to worker-side
+ // checks in AnalysisWorkerTask.loadAndValidateDestinationPointSets and WebMercatorExtents.forPointsets.
+ for (OpportunityDataset dataset : opportunityDatasets) {
+ if (dataset.format == FileStorageFormat.FREEFORM) {
+ checkArgument(
+ nPointSets == 1,
+ "If a freeform destination PointSet is specified, it must be the only one."
+ );
+ } else {
+ checkArgument(
+ dataset.getWebMercatorExtents().equals(opportunityDatasets.get(0).getWebMercatorExtents()),
+ "If multiple grids are specified as destinations, they must have identical extents."
+ );
+ }
+ }
+ // Also do a preflight validation of the cutoffs and percentiles arrays for all non-TAUI regional tasks.
+ task.validateCutoffsMinutes();
+ task.validatePercentiles();
+ }
// Set the origin pointset if one is specified.
if (analysisRequest.originPointSetId != null) {
@@ -346,9 +421,10 @@ private RegionalAnalysis createRegionalAnalysis (Request req, Response res) thro
// TODO remove duplicate fields from RegionalAnalysis that are already in the nested task.
// The RegionalAnalysis should just be a minimal wrapper around the template task, adding the origin point set.
- // The RegionalAnalysis object contains a reference to the template task itself.
+ // The RegionalAnalysis object contains a reference to the worker task itself.
// In fact, there are three separate classes all containing almost the same info:
- // AnalysisRequest, RegionalTask, RegionalAnalysis.
+ // AnalysisRequest (from UI to backend), RegionalTask (template sent to worker), RegionalAnalysis (in Mongo).
+ // And for regional analyses, two instances of the worker task: the one with the scenario, and the templateTask.
RegionalAnalysis regionalAnalysis = new RegionalAnalysis();
regionalAnalysis.request = task;
regionalAnalysis.height = task.height;
@@ -359,7 +435,7 @@ private RegionalAnalysis createRegionalAnalysis (Request req, Response res) thro
regionalAnalysis.accessGroup = accessGroup;
regionalAnalysis.bundleId = project.bundleId;
regionalAnalysis.createdBy = email;
- regionalAnalysis.grid = analysisRequest.opportunityDatasetId;
+ regionalAnalysis.destinationPointSetIds = analysisRequest.destinationPointSetIds;
regionalAnalysis.name = analysisRequest.name;
regionalAnalysis.projectId = analysisRequest.projectId;
regionalAnalysis.regionId = project.regionId;
@@ -367,79 +443,41 @@ private RegionalAnalysis createRegionalAnalysis (Request req, Response res) thro
regionalAnalysis.workerVersion = analysisRequest.workerVersion;
regionalAnalysis.zoom = task.zoom;
- // Handle new multiple cutoff and multiple percentile arrays if they are present.
- if (analysisRequest.cutoffsMinutes != null) {
- // Store invalid value (-1 was already used) in deprecated field to make it clear it should not be used.
- regionalAnalysis.cutoffMinutes = -2;
- // Store the full array which will be read by newer workers and backends.
- regionalAnalysis.cutoffsMinutes = analysisRequest.cutoffsMinutes;
+ // Store the full array of multiple cutoffs which will be understood by newer workers and backends,
+ // rather then the older single cutoff value.
+ checkNotNull(analysisRequest.cutoffsMinutes);
+ checkArgument(analysisRequest.cutoffsMinutes.length > 0);
+ regionalAnalysis.cutoffsMinutes = analysisRequest.cutoffsMinutes;
+ if (analysisRequest.cutoffsMinutes.length == 1) {
+ // Ensure older workers expecting a single cutoff will still function.
+ regionalAnalysis.cutoffMinutes = analysisRequest.cutoffsMinutes[0];
} else {
- // Replicate the older system, with a single cutoff. This ensures older workers will still function.
- regionalAnalysis.cutoffMinutes = task.maxTripDurationMinutes;
- // Create a one-element array so newer workers won't have to check deprecated non-array fields.
- regionalAnalysis.cutoffsMinutes = new int[] { regionalAnalysis.cutoffMinutes };
+ // Store invalid value in deprecated field (-1 was already used) to make it clear it should not be used.
+ regionalAnalysis.cutoffMinutes = -2;
}
- // Same process as for cutoffsMinutes, but for percentiles UI has been observed to send one-element arrays.
- if (analysisRequest.percentiles != null) {
- if (analysisRequest.percentiles.length == 1) {
- regionalAnalysis.travelTimePercentile = analysisRequest.percentiles[0];
- } else {
- regionalAnalysis.travelTimePercentile = -2;
- }
- regionalAnalysis.travelTimePercentiles = analysisRequest.percentiles;
+
+ // Same process as for cutoffsMinutes, but for percentiles.
+ checkNotNull(analysisRequest.percentiles);
+ checkArgument(analysisRequest.percentiles.length > 0);
+ regionalAnalysis.travelTimePercentiles = analysisRequest.percentiles;
+ if (analysisRequest.percentiles.length == 1) {
+ regionalAnalysis.travelTimePercentile = analysisRequest.percentiles[0];
} else {
- regionalAnalysis.travelTimePercentile = analysisRequest.travelTimePercentile;
- regionalAnalysis.travelTimePercentiles = new int[] { regionalAnalysis.travelTimePercentile };
+ regionalAnalysis.travelTimePercentile = -2;
}
// Propagate any changes to the cutoff and percentiles arrays down into the nested RegionalTask.
+ // TODO propagate single (non-array) values for old workers
+ // TODO propagate the other direction, setting these values when initializing the task
task.cutoffsMinutes = regionalAnalysis.cutoffsMinutes;
task.percentiles = regionalAnalysis.travelTimePercentiles;
- // Set the maximum trip duration just high enough to compute accessibility for the highest cutoff.
- task.maxTripDurationMinutes = Arrays.stream(regionalAnalysis.cutoffsMinutes).max().getAsInt();
-
// Persist this newly created RegionalAnalysis to Mongo.
// Why are we overwriting the regionalAnalysis reference with the result of saving it? This looks like a no-op.
regionalAnalysis = Persistence.regionalAnalyses.create(regionalAnalysis);
- // The single RegionalAnalysis object represents a lot of individual accessibility tasks at many different
- // origin points, typically on a grid. Before passing that object on to the Broker (which distributes tasks to
- // workers and tracks progress), we remove the details of the scenario, substituting the scenario's unique ID
- // to save time and bandwidth. This avoids repeatedly sending the scenario details to the worker in every task,
- // as they are often quite voluminous. The workers will fetch the scenario once from S3 and cache it based on
- // its ID only. We protectively clone this task because we're going to null out its scenario field, and don't
- // want to affect the original object which contains all the scenario details.
- // TODO why is the request object cloned? Why is all this detail added after the Persistence call?
- // We don't want to store all the details added below in Mongo?
- RegionalTask templateTask = regionalAnalysis.request.clone();
- Scenario scenario = templateTask.scenario;
- templateTask.scenarioId = scenario.id;
- templateTask.scenario = null;
- String fileName = String.format("%s_%s.json", regionalAnalysis.bundleId, scenario.id);
- FileStorageKey fileStorageKey = new FileStorageKey(config.bundleBucket(), fileName);
- try {
- File localScenario = FileUtils.createScratchFile("json");
- JsonUtil.objectMapper.writeValue(localScenario, scenario);
- fileStorage.moveIntoStorage(fileStorageKey, localScenario);
- } catch (IOException e) {
- LOG.error("Error saving scenario to disk", e);
- }
-
- // Fill in all the fields in the template task that will remain the same across all tasks in a job.
- // Re-setting all these fields may not be necessary (they might already be set previously),
- // but we can't eliminate these lines without thoroughly checking that assumption.
- templateTask.jobId = regionalAnalysis._id;
- templateTask.graphId = regionalAnalysis.bundleId;
- templateTask.workerVersion = regionalAnalysis.workerVersion;
- templateTask.height = regionalAnalysis.height;
- templateTask.width = regionalAnalysis.width;
- templateTask.north = regionalAnalysis.north;
- templateTask.west = regionalAnalysis.west;
- templateTask.zoom = regionalAnalysis.zoom;
-
// Register the regional job with the broker, which will distribute individual tasks to workers and track progress.
- broker.enqueueTasksForRegionalJob(templateTask, WorkerTags.fromRegionalAnalysis(regionalAnalysis));
+ broker.enqueueTasksForRegionalJob(regionalAnalysis);
return regionalAnalysis;
}
@@ -459,6 +497,7 @@ public void registerEndpoints (spark.Service sparkService) {
});
sparkService.path("/api/regional", () -> {
// For grids, no transformer is supplied: render raw bytes or input stream rather than transforming to JSON.
+ sparkService.get("/:_id", this::getRegionalAnalysis);
sparkService.get("/:_id/grid/:format", this::getRegionalResults);
sparkService.delete("/:_id", this::deleteRegionalAnalysis, toJson);
sparkService.post("", this::createRegionalAnalysis, toJson);
diff --git a/src/main/java/com/conveyal/analysis/models/AddTripPattern.java b/src/main/java/com/conveyal/analysis/models/AddTripPattern.java
index 007823a8..ec96a7a1 100644
--- a/src/main/java/com/conveyal/analysis/models/AddTripPattern.java
+++ b/src/main/java/com/conveyal/analysis/models/AddTripPattern.java
@@ -30,6 +30,8 @@ public String getType() {
/** The Route color, for display purposes. */
public String color;
+ public Integer directionId;
+
public List segments;
public boolean bidirectional;
@@ -64,6 +66,8 @@ public AddTrips toR5 () {
// Uncomment when implemented in r5
at.color = color;
+ if (directionId != null) at.directionId = directionId;
+
if (transitMode != null) {
at.mode = transitMode;
}
diff --git a/src/main/java/com/conveyal/analysis/models/AnalysisRequest.java b/src/main/java/com/conveyal/analysis/models/AnalysisRequest.java
index f35949a4..8e1e282c 100644
--- a/src/main/java/com/conveyal/analysis/models/AnalysisRequest.java
+++ b/src/main/java/com/conveyal/analysis/models/AnalysisRequest.java
@@ -3,7 +3,9 @@
import com.conveyal.analysis.AnalysisServerException;
import com.conveyal.analysis.persistence.Persistence;
import com.conveyal.r5.analyst.Grid;
-import com.conveyal.r5.analyst.cluster.AnalysisTask;
+import com.conveyal.r5.analyst.cluster.AnalysisWorkerTask;
+import com.conveyal.r5.analyst.decay.DecayFunction;
+import com.conveyal.r5.analyst.decay.StepDecayFunction;
import com.conveyal.r5.analyst.fare.InRoutingFareCalculator;
import com.conveyal.r5.analyst.scenario.Modification;
import com.conveyal.r5.analyst.scenario.Scenario;
@@ -22,16 +24,18 @@
/**
* Request sent from the UI to the backend. It is actually distinct from the task that the broker
- * sends/forwards to R5 workers (see {@link AnalysisTask}), though it has many of the same fields.
+ * sends/forwards to R5 workers (see {@link AnalysisWorkerTask}), though it has many of the same fields.
*/
public class AnalysisRequest {
+ private static int MIN_ZOOM = 9;
+ private static int MAX_ZOOM = 12;
+ private static int MAX_GRID_CELLS = 5_000_000;
+
public String projectId;
public int variantIndex;
public String workerVersion;
- // All analyses parameters =====================================================================
-
public String accessModes;
public float bikeSpeed;
public Bounds bounds;
@@ -45,6 +49,7 @@ public class AnalysisRequest {
public int toTime;
public String transitModes;
public float walkSpeed;
+ public int maxTripDurationMinutes = 120;
public int maxRides = 4;
public int[] percentiles;
public int[] cutoffsMinutes;
@@ -54,10 +59,6 @@ public class AnalysisRequest {
/** Web Mercator zoom level; 9 (~250 m by ~250 m) is standard. */
public int zoom = 9;
- private static int MIN_ZOOM = 9;
- private static int MAX_ZOOM = 12;
- private static int MAX_GRID_CELLS = 5_000_000;
-
// Parameters that aren't currently configurable in the UI =====================================
public int bikeTrafficStress = 4;
@@ -78,9 +79,7 @@ public class AnalysisRequest {
// Multi-origin only ===========================================================================
- @Deprecated
- public Integer maxTripDurationMinutes;
-
+ /** The human-readable name for a regional analysis. */
public String name;
/**
@@ -94,22 +93,18 @@ public class AnalysisRequest {
public String originPointSetId;
/**
- * Set of points to be used as destinations in accessibility or travel time calculations. This
- * can be a grid or freeform pointset of destinations. TODO rename to destinationPointSetId
+ * The IDs of pointsets to be used as destinations in accessibility or travel time calculations. This can be
+ * one or more grids with identical extents, or a single freeform pointset.
+ * This replaces the deprecated singular opportunityDatasetId.
*/
- public String opportunityDatasetId;
-
- @Deprecated
- public Integer travelTimePercentile;
+ public String[] destinationPointSetIds;
- /**
- * Whether to save all results in a regional analysis to S3 for display in a "static site".
- */
+ /** Whether to save all results in a regional analysis to S3 for display in a "static site". */
public boolean makeTauiSite = false;
/**
- * Whether to record travel times between origins and destinations. If true, requires an
- * originPointSetId to be specified.
+ * Whether to record travel times between origins and destinations.
+ * If true, requires an originPointSetId to be specified.
*/
public boolean recordTimes;
@@ -121,9 +116,7 @@ public class AnalysisRequest {
*/
public boolean oneToOne;
- /**
- * Whether to record cumulative opportunity accessibility indicators for each origin
- */
+ /** Whether to record cumulative opportunity accessibility indicators for each origin. */
public boolean recordAccessibility = true;
// For multi-criteria optimization (Pareto search on time and fare cost) =======================
@@ -135,11 +128,15 @@ public class AnalysisRequest {
*/
public InRoutingFareCalculator inRoutingFareCalculator;
- /**
- * Limit on monetary expenditure on fares when an inRoutingFareCalculator is used.
- */
+ /** Limit on monetary expenditure on fares when an inRoutingFareCalculator is used. */
public int maxFare;
+ /**
+ * A function mapping travel times to weighting factors for opportunities at that travel time from the origin.
+ * Classic cumulative opportunities accessibility uses a step function with all opportunities below the cutoff
+ * weighted 1.0 and all opportunities at or above the cutoff weighted 0.
+ */
+ public DecayFunction decayFunction;
/**
* Get all of the modifications for a project id that are in the Variant and map them to their
@@ -165,15 +162,24 @@ private static List modificationsForProject (
*
* This method takes a task as a parameter, modifies that task, and also returns that same task.
* This is because we have two subtypes of AnalysisTask and need to be able to create both.
+ *
+ * This populates for a single-point task, and several things get overwritten for regional tasks.
+ *
+ * TODO arguably this should be done by a method on the task classes themselves, with common parts factored out
+ * to the same method on the superclass.
*/
- public AnalysisTask populateTask (AnalysisTask task, Project project) {
+ public AnalysisWorkerTask populateTask (AnalysisWorkerTask task, Project project) {
// Fetch the modifications associated with this project, filtering for the selected scenario
// (denoted here as "variant"). There are no modifications in the baseline scenario
// (which is denoted by special index -1).
List modifications = new ArrayList<>();
+ String scenarioName;
if (variantIndex > -1) {
modifications = modificationsForProject(project.accessGroup, projectId, variantIndex);
+ scenarioName = project.variants[variantIndex];
+ } else {
+ scenarioName = "Baseline";
}
// The CRC of the modifications in this scenario is appended to the scenario ID to
@@ -187,9 +193,12 @@ public AnalysisTask populateTask (AnalysisTask task, Project project) {
task.scenario = new Scenario();
// FIXME Job IDs need to be unique. Why are we setting this to the project and variant?
// This only works because the job ID is overwritten when the job is enqueued.
+ // Its main effect is to cause the scenario ID to have this same pattern!
+ // We should probably leave the JobID null on single point tasks. Needed: polymorphic task initialization.
task.jobId = String.format("%s-%s-%s", projectId, variantIndex, crcValue);
task.scenario.id = task.scenarioId = task.jobId;
task.scenario.modifications = modifications;
+ task.scenario.description = scenarioName;
task.graphId = project.bundleId;
task.workerVersion = workerVersion;
task.maxFare = this.maxFare;
@@ -228,6 +237,13 @@ public AnalysisTask populateTask (AnalysisTask task, Project project) {
task.maxBikeTime = maxBikeTime;
task.maxCarTime = maxCarTime;
task.maxRides = maxRides;
+ if (task.inRoutingFareCalculator != null) {
+ // Only overwrite the default cutoff when doing multi-criteria routing with fare constraints, which can be
+ // slow and reliant on lower temporal cutoffs to avoid timeouts.
+ // In previous versions, the default cutoff was also overwritten for non-Taui regional analyses. But
+ // with changes introduced for decay functions/multiple cutoffs, that step is no longer needed here.
+ task.maxTripDurationMinutes = maxTripDurationMinutes;
+ }
task.minBikeTime = minBikeTime;
task.minCarTime = minCarTime;
task.streetTime = streetTime;
@@ -236,21 +252,9 @@ public AnalysisTask populateTask (AnalysisTask task, Project project) {
task.monteCarloDraws = monteCarloDraws;
task.percentiles = percentiles;
task.cutoffsMinutes = cutoffsMinutes;
-
+
task.logRequest = logRequest;
- // maxTripDurationMinutes is used to prune the search in R5, discarding results exceeding the cutoff.
- // If a target exceeds the cutoff, travel time to it may as well be infinite for the purposes of a strict cumulative
- // opportunity measure. In standard single-point and static-site results, we don't apply this pruning (at less than
- // the default maximum of 120 minutes) because users can vary the travel time cutoff after analysis.
- // An exception is for Pareto searches on fares (i.e. when inRoutingFareCalulator specified), for which we use this
- // cutoff to achieve reasonable computation time. This does mean that isochrone results will be invalid if the user moves
- // the slider up beyond the travel time set when making a fare-based request. FIXME Hack for fare requests.
- if ((task.getType() == AnalysisTask.Type.REGIONAL_ANALYSIS && !task.makeTauiSite) ||
- task.inRoutingFareCalculator != null) {
- task.maxTripDurationMinutes = maxTripDurationMinutes;
- }
-
task.accessModes = getEnumSetFromString(accessModes);
task.directModes = getEnumSetFromString(directModes);
task.egressModes = getEnumSetFromString(egressModes);
@@ -258,6 +262,12 @@ public AnalysisTask populateTask (AnalysisTask task, Project project) {
? EnumSet.copyOf(Arrays.stream(transitModes.split(",")).map(TransitModes::valueOf).collect(Collectors.toList()))
: EnumSet.noneOf(TransitModes.class);
+ // Use the decay function supplied by the UI, defaulting to a zero-width step function if none is supplied.
+ task.decayFunction = decayFunction;
+ if (task.decayFunction == null) {
+ task.decayFunction = new StepDecayFunction();
+ }
+
return task;
}
diff --git a/src/main/java/com/conveyal/analysis/models/Bookmark.java b/src/main/java/com/conveyal/analysis/models/Bookmark.java
index aa48f2ed..42415560 100644
--- a/src/main/java/com/conveyal/analysis/models/Bookmark.java
+++ b/src/main/java/com/conveyal/analysis/models/Bookmark.java
@@ -1,5 +1,7 @@
package com.conveyal.analysis.models;
+import org.bson.Document;
+
/**
* A bookmark represents "frozen" settings for single point results.
*/
@@ -7,7 +9,12 @@ public class Bookmark extends Model {
/** The region ID of this bookmark */
public String regionId;
- public AnalysisRequest profileRequest;
+ /**
+ * Usually corresponds to an AnalysisRequest object, but that definition changes over time. Because this is only
+ * used to populate the form on the front-end, we can use an untyped BSON Document that represents any key=value
+ * pairs the can be used in MongoDB.
+ */
+ public Document profileRequest;
public int isochroneCutoff;
diff --git a/src/main/java/com/conveyal/analysis/models/OpportunityDataset.java b/src/main/java/com/conveyal/analysis/models/OpportunityDataset.java
index 23292711..bb3a84f4 100644
--- a/src/main/java/com/conveyal/analysis/models/OpportunityDataset.java
+++ b/src/main/java/com/conveyal/analysis/models/OpportunityDataset.java
@@ -2,6 +2,7 @@
import com.conveyal.file.FileStorageFormat;
import com.conveyal.file.FileStorageKey;
+import com.conveyal.r5.analyst.WebMercatorExtents;
import com.fasterxml.jackson.annotation.JsonIgnore;
/**
@@ -95,6 +96,11 @@ public FileStorageKey getStorageKey (FileStorageFormat fileFormat) {
return new FileStorageKey(this.bucketName, storageLocation(fileFormat.extension));
}
+ @JsonIgnore
+ public WebMercatorExtents getWebMercatorExtents () {
+ return new WebMercatorExtents(west, north, width, height, ZOOM);
+ }
+
/** Analysis region this dataset was uploaded in. */
public String regionId;
}
diff --git a/src/main/java/com/conveyal/analysis/models/RegionalAnalysis.java b/src/main/java/com/conveyal/analysis/models/RegionalAnalysis.java
index 0b0031e9..0584a3d9 100644
--- a/src/main/java/com/conveyal/analysis/models/RegionalAnalysis.java
+++ b/src/main/java/com/conveyal/analysis/models/RegionalAnalysis.java
@@ -25,9 +25,11 @@ public class RegionalAnalysis extends Model implements Cloneable {
public RegionalTask request;
/**
- * Percentile of travel time being used in this analysis. Older analyses (pre-X) could have only one percentile.
+ * Single percentile of travel time being used in this analysis. Older analyses could have only one percentile.
* If the analysis is pre-percentiles and is using Andrew Owen-style accessibility, value is -1.
+ * If the analysis has more than one percentile, value is -2.
*/
+ @Deprecated
public int travelTimePercentile = -1;
/**
@@ -36,14 +38,23 @@ public class RegionalAnalysis extends Model implements Cloneable {
*/
public int[] travelTimePercentiles;
+ /** Single destination pointset id (for older analyses that did not allow multiple sets of destinations). */
+ @Deprecated
public String grid;
- /** Older analyses (up to about January 2020, before release X) had only one cutoff. */
+ public String[] destinationPointSetIds;
+
+ /**
+ * Older analyses (up to about January 2020, before release X) had only one cutoff.
+ * New analyses with more than one cutoff will have this set to -2.
+ */
+ @Deprecated
public int cutoffMinutes;
/**
- * Newer analyses (since release X in February 2020) can have multiple cutoffs.
- * If this is non-null it completely supersedes cutoffMinutes, which should be ignored.
+ * The different travel time thresholds used in this analysis to include or exclude opportunities from an
+ * accessibility metric. Supersedes the singular cutoffMinutes used in older analyses. For non-step decay functions
+ * these cutoffs should correspond to the point where the monotonically decreasing decay function first reaches 0.5.
*/
public int[] cutoffsMinutes;
diff --git a/src/main/java/com/conveyal/analysis/persistence/MongoMap.java b/src/main/java/com/conveyal/analysis/persistence/MongoMap.java
index e9ab7edc..f16161e2 100644
--- a/src/main/java/com/conveyal/analysis/persistence/MongoMap.java
+++ b/src/main/java/com/conveyal/analysis/persistence/MongoMap.java
@@ -133,6 +133,9 @@ public V createFromJSONRequest(Request request) throws IOException {
return create(json);
}
+ /**
+ * Note that this has side effects on the object passed in! It assigns it an ID and creation/update time stamps.
+ */
public V create(V value) {
// Create an ID
value._id = new ObjectId().toString();
diff --git a/src/main/java/com/conveyal/analysis/results/MultiOriginAssembler.java b/src/main/java/com/conveyal/analysis/results/MultiOriginAssembler.java
index cfae65f9..45334972 100644
--- a/src/main/java/com/conveyal/analysis/results/MultiOriginAssembler.java
+++ b/src/main/java/com/conveyal/analysis/results/MultiOriginAssembler.java
@@ -2,6 +2,7 @@
import com.conveyal.analysis.AnalysisServerException;
import com.conveyal.analysis.components.broker.Job;
+import com.conveyal.analysis.models.RegionalAnalysis;
import com.conveyal.file.FileStorage;
import com.conveyal.file.FileStorageFormat;
import com.conveyal.r5.analyst.PointSet;
@@ -23,16 +24,26 @@ public class MultiOriginAssembler {
public static final Logger LOG = LoggerFactory.getLogger(MultiOriginAssembler.class);
- // Component Dependencies
- private final FileStorage fileStorage;
+ /**
+ * The regional analysis for which this object is assembling results.
+ * We retain the whole object rather than just its ID so we'll have the full details, e.g. destination point set
+ * IDs and scenario, things that are stripped out of the template task sent to the workers.
+ */
+ private final RegionalAnalysis regionalAnalysis;
+ /**
+ * The object representing the progress of the regional analysis as tracked by the broker.
+ * It may appear job.templateTask has all the information needed, making the regionalAnalysis field
+ * unnecessary. But the templateTask is for worker consumption, while the regionalAnalysis has fields that are more
+ * readily usable in the backend assembler (e.g. destination pointset id, instead of full storage key).
+ */
public final Job job;
/**
- * We create one GridResultWriter for each percentile, so one output file per percentile. Each of those output
- * files contains data for all travel time cutoffs at each origin.
+ * We create one GridResultWriter for each destination pointset and percentile. Each of those output files
+ * contains data for all travel time cutoffs at each origin.
*/
- private GridResultWriter[] accessibilityGridWriters;
+ private GridResultWriter[][] accessibilityGridWriters;
private CsvResultWriter timeCsvWriter;
@@ -82,6 +93,9 @@ public class MultiOriginAssembler {
/** The number of different percentiles for which we're calculating accessibility on the workers. */
private final int nPercentiles;
+ /** The number of destination pointsets to which we're calculating accessibility */
+ private final int nDestinationPointSets;
+
/**
* The number of different travel time cutoffs being applied when computing accessibility for each origin. This
* is the number of values stored per origin cell in an accessibility results grid.
@@ -95,13 +109,21 @@ public class MultiOriginAssembler {
/**
* Constructor. This sets up one or more ResultWriters depending on whether we're writing gridded or non-gridded
* cumulative opportunities accessibility, or origin-destination travel times.
+ * TODO do not pass the FileStorage component down into this non-component and the ResultWriter non-component,
+ * clarify design concepts on this point (e.g. only components should know other components exist).
+ * Rather than pushing the component all the way down to the leaf function call, we return the finished
+ * file up to an umbrella location where a single reference to the file storage can be used to
+ * store all of them.
*/
- public MultiOriginAssembler (Job job, String outputBucket, FileStorage fileStorage) {
- this.fileStorage = fileStorage;
+ public MultiOriginAssembler (RegionalAnalysis regionalAnalysis, Job job, String outputBucket,
+ FileStorage fileStorage) {
+
+ this.regionalAnalysis = regionalAnalysis;
this.job = job;
this.nPercentiles = job.templateTask.percentiles.length;
// Newly launched analyses have the cutoffs field, even when being sent to old workers that don't read it.
this.nCutoffs = job.templateTask.cutoffsMinutes.length;
+ this.nDestinationPointSets = job.templateTask.destinationPointSetKeys.length;
this.nOriginsTotal = job.nTasksTotal;
this.originsReceived = new BitSet(job.nTasksTotal);
this.originPointSet = job.originPointSet;
@@ -117,16 +139,19 @@ public MultiOriginAssembler (Job job, String outputBucket, FileStorage fileStora
);
writeAccessibilityCsv = true;
} else {
- // Create one grid writer per percentile.
- accessibilityGridWriters = new GridResultWriter[nPercentiles];
- for (int p = 0; p < nPercentiles; p++) {
- accessibilityGridWriters[p] = new GridResultWriter(job.templateTask, outputBucket, fileStorage);
+ // Create one grid writer per percentile and destination pointset
+ accessibilityGridWriters = new GridResultWriter[nDestinationPointSets][nPercentiles];
+ for (int d = 0; d < nDestinationPointSets; d++) {
+ for (int p = 0; p < nPercentiles; p++) {
+ accessibilityGridWriters[d][p] =
+ new GridResultWriter(job.templateTask, outputBucket, fileStorage);
+ }
}
writeAccessibilityGrid = true;
}
}
- if (job.templateTask.grid.endsWith(FileStorageFormat.FREEFORM.extension)) {
+ if (job.templateTask.destinationPointSetKeys[0].endsWith(FileStorageFormat.FREEFORM.extension)) {
// It's kind of fragile to read from an external network service here. But this is
// only triggered when destinations are freeform, which is an experimental feature.
destinationPointSet = PointSetCache.readFreeFormFromFileStore(job.templateTask.grid);
@@ -157,9 +182,14 @@ private synchronized void finish() {
LOG.info("Finished receiving data for multi-origin analysis {}", job.jobId);
try {
if (writeAccessibilityGrid) {
- for (int p = 0; p < nPercentiles; p++) {
- String gridFileName = String.format("%s_P%d.access", job.jobId, (int)(job.templateTask.percentiles[p]));
- accessibilityGridWriters[p].finish(gridFileName);
+ for (int d = 0; d < nDestinationPointSets; d++) {
+ for (int p = 0; p < nPercentiles; p++) {
+ int percentile = job.templateTask.percentiles[p];
+ String destinationPointSetId = regionalAnalysis.destinationPointSetIds[d];
+ String gridFileName =
+ String.format("%s_%s_P%d.access", job.jobId, destinationPointSetId, percentile);
+ accessibilityGridWriters[d][p].finish(gridFileName);
+ }
}
}
if (writeAccessibilityCsv) {
@@ -189,11 +219,10 @@ public synchronized void handleMessage (RegionalWorkResult workResult) {
// Infer x and y cell indexes based on the template task
int taskNumber = workResult.taskId;
// Drop work results for this particular origin into a little-endian output file.
- // We only have one file for now because only one pointset, percentile, and cutoff value.
- // Also sanity-check the dimensions of the result.
// TODO more efficient way to write little-endian integers
// TODO check monotonic increasing invariants here rather than in worker.
- for (int[][] percentilesForGrid : workResult.accessibilityValues) {
+ for (int d = 0; d < workResult.accessibilityValues.length; d++) {
+ int[][] percentilesForGrid = workResult.accessibilityValues[d];
if (writeAccessibilityCsv) {
String originId = originPointSet.getId(workResult.taskId);
// FIXME this is writing only accessibility for the first percentile and cutoff
@@ -202,7 +231,7 @@ public synchronized void handleMessage (RegionalWorkResult workResult) {
if (writeAccessibilityGrid) {
for (int p = 0; p < nPercentiles; p++) {
int[] cutoffsForPercentile = percentilesForGrid[p];
- GridResultWriter writer = accessibilityGridWriters[p];
+ GridResultWriter writer = accessibilityGridWriters[d][p];
writer.writeOneOrigin(taskNumber, cutoffsForPercentile);
}
}
@@ -247,7 +276,7 @@ public synchronized void handleMessage (RegionalWorkResult workResult) {
* There are different dimension requirements for accessibility and travel time results, so two different methods.
*/
private void checkAccessibilityDimension (RegionalWorkResult workResult) {
- checkDimension(workResult, "destination pointsets", workResult.accessibilityValues.length, 1);
+ checkDimension(workResult, "destination pointsets", workResult.accessibilityValues.length, this.nDestinationPointSets);
for (int[][] percentilesForGrid : workResult.accessibilityValues) {
checkDimension(workResult, "percentiles", percentilesForGrid.length, this.nPercentiles);
for (int[] cutoffsForPercentile : percentilesForGrid) {
@@ -273,8 +302,10 @@ private void checkTravelTimeDimension (RegionalWorkResult workResult) {
/** Clean up and cancel this grid assembler, typically when a job is canceled while still being processed. */
public synchronized void terminate () throws IOException {
if (writeAccessibilityGrid) {
- for (GridResultWriter writer : accessibilityGridWriters) {
- writer.terminate();
+ for (GridResultWriter[] writers : accessibilityGridWriters) {
+ for (GridResultWriter writer : writers) {
+ writer.terminate();
+ }
}
}
if (writeAccessibilityCsv) {
@@ -295,7 +326,7 @@ public File getGridBufferFile () {
return null;
} else {
// TODO this returns only one buffer file, which has not been processed by the SelectingGridReducer
- return accessibilityGridWriters[0].bufferFile;
+ return accessibilityGridWriters[0][0].bufferFile;
}
}
diff --git a/src/main/java/com/conveyal/analysis/util/HttpUtils.java b/src/main/java/com/conveyal/analysis/util/HttpUtils.java
new file mode 100644
index 00000000..5a89b1d8
--- /dev/null
+++ b/src/main/java/com/conveyal/analysis/util/HttpUtils.java
@@ -0,0 +1,30 @@
+package com.conveyal.analysis.util;
+
+import com.conveyal.analysis.AnalysisServerException;
+import com.conveyal.r5.util.ExceptionUtils;
+import org.apache.commons.fileupload.FileItem;
+import org.apache.commons.fileupload.FileItemFactory;
+import org.apache.commons.fileupload.disk.DiskFileItemFactory;
+import org.apache.commons.fileupload.servlet.ServletFileUpload;
+
+import javax.servlet.http.HttpServletRequest;
+import java.util.List;
+import java.util.Map;
+
+public abstract class HttpUtils {
+ /** Extract files from a Spark Request containing RFC 1867 multipart form-based file upload data. */
+ public static Map> getRequestFiles (HttpServletRequest req) {
+ // The Javadoc on this factory class doesn't say anything about thread safety. Looking at the source code it
+ // all looks threadsafe. But also very lightweight to instantiate, so in this code run by multiple threads
+ // we play it safe and always create a new factory.
+ // Setting a size threshold of 0 causes all files to be written to disk, which allows processing them in a
+ // uniform way in other threads, after the request handler has returned.
+ FileItemFactory fileItemFactory = new DiskFileItemFactory(0, null);
+ ServletFileUpload sfu = new ServletFileUpload(fileItemFactory);
+ try {
+ return sfu.parseParameterMap(req);
+ } catch (Exception e) {
+ throw AnalysisServerException.badRequest(ExceptionUtils.asString(e));
+ }
+ }
+}
diff --git a/src/main/java/com/conveyal/file/FileStorageKey.java b/src/main/java/com/conveyal/file/FileStorageKey.java
index cf690a5f..f4b8a8f5 100644
--- a/src/main/java/com/conveyal/file/FileStorageKey.java
+++ b/src/main/java/com/conveyal/file/FileStorageKey.java
@@ -9,12 +9,14 @@ public class FileStorageKey {
public final String path;
public FileStorageKey(String fullPath) {
+ checkForDirectoryTraversal(fullPath);
int slashIndex = fullPath.indexOf("/");
bucket = fullPath.substring(0, slashIndex);
path = fullPath.substring(slashIndex + 1);
}
public FileStorageKey(String bucket, String path) {
+ checkForDirectoryTraversal(path);
this.bucket = bucket;
this.path = path;
}
@@ -32,4 +34,14 @@ public String toString () {
return String.format("[File storage key: bucket='%s', key='%s']", bucket, path);
}
+ /**
+ * Validate user-provided paths to ensure they do not contain any sequence that would allow accessing files
+ * outside the intended file storage directory.
+ */
+ public static void checkForDirectoryTraversal (String path) {
+ if (path.contains("../") || path.contains("..\\")) {
+ throw new IllegalArgumentException("Path looks like it could be a directory traversal attack.");
+ }
+ }
+
}
diff --git a/src/main/java/com/conveyal/file/LocalFileStorage.java b/src/main/java/com/conveyal/file/LocalFileStorage.java
index 4679d840..aebcc3b1 100644
--- a/src/main/java/com/conveyal/file/LocalFileStorage.java
+++ b/src/main/java/com/conveyal/file/LocalFileStorage.java
@@ -72,4 +72,5 @@ public void delete (FileStorageKey key) {
public boolean exists(FileStorageKey key) {
return getFile(key).exists();
}
+
}
diff --git a/src/main/java/com/conveyal/r5/R5Main.java b/src/main/java/com/conveyal/r5/R5Main.java
index 84e73d77..6aaa0dd7 100644
--- a/src/main/java/com/conveyal/r5/R5Main.java
+++ b/src/main/java/com/conveyal/r5/R5Main.java
@@ -1,6 +1,6 @@
package com.conveyal.r5;
-import com.conveyal.r5.analyst.cluster.AnalystWorker;
+import com.conveyal.r5.analyst.cluster.AnalysisWorker;
import com.conveyal.r5.point_to_point.PointToPointRouterServer;
import java.util.Arrays;
@@ -27,7 +27,7 @@ public static void main (String... args) throws Exception {
String command = args[0];
String[] commandArguments = Arrays.copyOfRange(args, 1, args.length);
if ("worker".equals(command)) {
- AnalystWorker.main(commandArguments);
+ AnalysisWorker.main(commandArguments);
} else if ("point".equals(command)) {
PointToPointRouterServer.main(commandArguments);
} else {
diff --git a/src/main/java/com/conveyal/r5/analyst/AccessibilityResult.java b/src/main/java/com/conveyal/r5/analyst/AccessibilityResult.java
index 52d4f5c5..142e3436 100644
--- a/src/main/java/com/conveyal/r5/analyst/AccessibilityResult.java
+++ b/src/main/java/com/conveyal/r5/analyst/AccessibilityResult.java
@@ -1,6 +1,6 @@
package com.conveyal.r5.analyst;
-import com.conveyal.r5.analyst.cluster.AnalysisTask;
+import com.conveyal.r5.analyst.cluster.AnalysisWorkerTask;
/**
* This holds and accumulates multiple accessibility indicator values for a single origin as they are computed.
@@ -20,8 +20,8 @@ public class AccessibilityResult {
private final double[][][] cumulativeOpportunities;
/** Construct an AccessibilityResult of the appropriate dimensions for the specified AnalysisTask. */
- public AccessibilityResult (AnalysisTask task) {
- this.nPointSets = 1;
+ public AccessibilityResult (AnalysisWorkerTask task) {
+ this.nPointSets = task.destinationPointSetKeys.length;
this.nPercentiles = task.percentiles.length;
this.nCutoffs = task.cutoffsMinutes.length;
cumulativeOpportunities = new double[nPointSets][nPercentiles][nCutoffs];
diff --git a/src/main/java/com/conveyal/r5/analyst/FilePersistence.java b/src/main/java/com/conveyal/r5/analyst/FilePersistence.java
index d00f1140..1c7872fd 100644
--- a/src/main/java/com/conveyal/r5/analyst/FilePersistence.java
+++ b/src/main/java/com/conveyal/r5/analyst/FilePersistence.java
@@ -1,6 +1,6 @@
package com.conveyal.r5.analyst;
-import com.conveyal.r5.analyst.cluster.AnalysisTask;
+import com.conveyal.r5.analyst.cluster.AnalysisWorkerTask;
import java.io.InputStream;
@@ -16,7 +16,7 @@ public abstract class FilePersistence {
* which is typically a bucket on S3. The top level directory is hard-coded for now but could be configurable
* if and when actual use cases require it.
*/
- public void saveStaticSiteData (AnalysisTask task, String fileName, PersistenceBuffer persistenceBuffer) {
+ public void saveStaticSiteData (AnalysisWorkerTask task, String fileName, PersistenceBuffer persistenceBuffer) {
String directoryName = "analysis-static/" + task.jobId;
saveData(directoryName, fileName, persistenceBuffer);
}
diff --git a/src/main/java/com/conveyal/r5/analyst/Grid.java b/src/main/java/com/conveyal/r5/analyst/Grid.java
index 8dd95341..151935d1 100644
--- a/src/main/java/com/conveyal/r5/analyst/Grid.java
+++ b/src/main/java/com/conveyal/r5/analyst/Grid.java
@@ -80,6 +80,7 @@
* TODO functionality to write and read grids should probably be in a separate class from the main Grid class.
*/
public class Grid extends PointSet {
+
public static final Logger LOG = LoggerFactory.getLogger(Grid.class);
/** The web mercator zoom level for this grid. */
@@ -217,10 +218,19 @@ public List getPixelWeights (Geometry geometry, boolean relativeToP
if (x < 0 || x >= width || y < 0 || y >= height) continue; // off the grid
Geometry pixel = getPixelGeometry(x + west, y + north, zoom);
-
if (pixelAreaAtLat == -1) pixelAreaAtLat = pixel.getArea(); //Recalculate for a new latitude.
- if (preparedGeom.intersects(pixel)){ // pixel is at least partly inside the feature
+ // Pixel completely within feature:
+ // This is an optimization following an example in the online JTS javadoc for containsProperly.
+ // The contains (vs. containsProperly) predicate could be used instead, but it is less efficient. In
+ // "edge" cases (pun intended) where a polygon contains but does not containProperly the pixel,
+ // the correct result will still be calculated below.
+ if (preparedGeom.containsProperly(pixel)) {
+ double weight = relativeToPixels ? 1 : pixelAreaAtLat / area;
+ weights.add(new PixelWeight(x, y, weight));
+ }
+ // Pixel partly within feature:
+ else if (preparedGeom.intersects(pixel)){
Geometry intersection = pixel.intersection(geometry);
double denominator = relativeToPixels ? pixelAreaAtLat : area;
double weight = intersection.getArea() / denominator;
diff --git a/src/main/java/com/conveyal/r5/analyst/NetworkPreloader.java b/src/main/java/com/conveyal/r5/analyst/NetworkPreloader.java
index a849729f..b95c49fa 100644
--- a/src/main/java/com/conveyal/r5/analyst/NetworkPreloader.java
+++ b/src/main/java/com/conveyal/r5/analyst/NetworkPreloader.java
@@ -1,6 +1,6 @@
package com.conveyal.r5.analyst;
-import com.conveyal.r5.analyst.cluster.AnalysisTask;
+import com.conveyal.r5.analyst.cluster.AnalysisWorkerTask;
import com.conveyal.r5.analyst.progress.NetworkPreloaderProgressListener;
import com.conveyal.r5.analyst.progress.ProgressListener;
import com.conveyal.r5.api.util.LegMode;
@@ -79,7 +79,7 @@ public NetworkPreloader(TransportNetworkCache transportNetworkCache) {
this.transportNetworkCache = transportNetworkCache;
}
- public LoaderState preloadData (AnalysisTask task) {
+ public LoaderState preloadData (AnalysisWorkerTask task) {
if (task.scenario != null) {
transportNetworkCache.rememberScenario(task.scenario);
}
@@ -98,7 +98,7 @@ protected TransportNetwork buildValue(Key key) {
// reference the scenarioNetwork's built-in full-extent pointset, so can reuse its linkage.
// TODO handle multiple destination grids.
setProgress(key, 0, "Fetching gridded point set...");
- PointSet pointSet = AnalysisTask.gridPointSetCache.get(key.destinationGridExtents, scenarioNetwork.fullExtentGridPointSet);
+ PointSet pointSet = AnalysisWorkerTask.gridPointSetCache.get(key.destinationGridExtents, scenarioNetwork.fullExtentGridPointSet);
// Now rebuild grid linkages as needed. One linkage per mode, and one cost table per egress mode.
// Cost tables are slow to compute and not needed for access or direct legs, only egress modes.
@@ -157,7 +157,7 @@ public static class Key {
*
* FIXME but should we really be injecting Grid objects into a class deserialized straight from JSON?
*/
- public Key (AnalysisTask task) {
+ public Key (AnalysisWorkerTask task) {
this.networkId = task.graphId;
// A supplied scenario ID will always override any full scenario that is present.
this.scenarioId = task.scenarioId != null ? task.scenarioId : task.scenario.id;
@@ -169,7 +169,7 @@ public Key (AnalysisTask task) {
this.destinationGridExtents = task.getWebMercatorExtents();
}
- public static Key forTask(AnalysisTask task) {
+ public static Key forTask(AnalysisWorkerTask task) {
return new Key(task);
}
diff --git a/src/main/java/com/conveyal/r5/analyst/TravelTimeComputer.java b/src/main/java/com/conveyal/r5/analyst/TravelTimeComputer.java
index c70a358e..406616f5 100644
--- a/src/main/java/com/conveyal/r5/analyst/TravelTimeComputer.java
+++ b/src/main/java/com/conveyal/r5/analyst/TravelTimeComputer.java
@@ -1,7 +1,7 @@
package com.conveyal.r5.analyst;
import com.conveyal.r5.OneOriginResult;
-import com.conveyal.r5.analyst.cluster.AnalysisTask;
+import com.conveyal.r5.analyst.cluster.AnalysisWorkerTask;
import com.conveyal.r5.analyst.cluster.PathWriter;
import com.conveyal.r5.analyst.cluster.RegionalTask;
import com.conveyal.r5.analyst.fare.InRoutingFareCalculator;
@@ -44,11 +44,11 @@
public class TravelTimeComputer {
private static final Logger LOG = LoggerFactory.getLogger(TravelTimeComputer.class);
- private final AnalysisTask request;
+ private final AnalysisWorkerTask request;
private final TransportNetwork network;
/** Constructor. */
- public TravelTimeComputer (AnalysisTask request, TransportNetwork network) {
+ public TravelTimeComputer (AnalysisWorkerTask request, TransportNetwork network) {
this.request = request;
this.network = network;
}
@@ -82,16 +82,15 @@ public OneOriginResult computeTravelTimes() {
// destination pointset is used for all steps below.
// This reuses the logic for finding the appropriate grid size and linking, which is now in the NetworkPreloader.
// We could change the preloader to retain these values in a compound return type, to avoid repetition here.
- // TODO merge multiple destination pointsets from a regional request into a single supergrid?
PointSet destinations;
- if (request instanceof RegionalTask && ((RegionalTask) request).destinationPointSet instanceof FreeFormPointSet) {
+ if (request instanceof RegionalTask && ((RegionalTask) request).destinationPointSets[0] instanceof FreeFormPointSet) {
// Freeform; destination pointset was set by handleOneRequest in the main AnalystWorker
- destinations = ((RegionalTask) request).destinationPointSet;
+ destinations = ((RegionalTask) request).destinationPointSets[0];
} else {
WebMercatorExtents destinationGridExtents = request.getWebMercatorExtents();
// Destination points can be inferred from a regular grid (WebMercatorGridPointSet)
- destinations = AnalysisTask.gridPointSetCache.get(destinationGridExtents, network.fullExtentGridPointSet);
+ destinations = AnalysisWorkerTask.gridPointSetCache.get(destinationGridExtents, network.fullExtentGridPointSet);
travelTimeReducer.checkOpportunityExtents(destinations);
}
@@ -192,9 +191,9 @@ public OneOriginResult computeTravelTimes() {
accessMode
);
- // FIXME this is iterating over every cell in the (possibly huge) destination grid just to get the access times around the origin.
- // We could construct a sub-grid that's an envelope around sr.originSplit's lat/lon, then iterate over the
- // points in that sub-grid.
+ // This is iterating over every cell in the (possibly huge) destination grid just to get the access times
+ // around the origin. If this is measured to be inefficient, we could construct a sub-grid that's an
+ // envelope around sr.originSplit's lat/lon, then iterate over the points in that sub-grid.
Split origin = sr.getOriginSplit();
@@ -229,6 +228,7 @@ public OneOriginResult computeTravelTimes() {
// If multiple P+Rs reach the same stop, only one with shortest time is returned. Stops were searched for during graph building phase.
// time to stop is time from CAR streetrouter to stop + CAR PARK time + time to walk to stop based on request walk speed
// by default 20 CAR PARKS are found it can be changed with sr.maxVertices variable
+ // FIXME we should not limit the number of car parks found.
StreetRouter sr = new StreetRouter(network.streetLayer);
sr.profileRequest = request;
sr = PointToPointQuery.findParkRidePath(request, sr, network.transitLayer);
@@ -240,7 +240,7 @@ public OneOriginResult computeTravelTimes() {
foundAnyOriginPoint = true;
}
// Disallow non-transit access.
- // TODO should we allow non transit access with park and ride?
+ // TODO should we allow non transit access with park and ride? Maybe with an additional parameter?
nonTransitTravelTimesToDestinations = PointSetTimes.allUnreached(destinations);
}
diff --git a/src/main/java/com/conveyal/r5/analyst/TravelTimeReducer.java b/src/main/java/com/conveyal/r5/analyst/TravelTimeReducer.java
index 03549c65..bd72d4eb 100644
--- a/src/main/java/com/conveyal/r5/analyst/TravelTimeReducer.java
+++ b/src/main/java/com/conveyal/r5/analyst/TravelTimeReducer.java
@@ -1,11 +1,11 @@
package com.conveyal.r5.analyst;
-import com.beust.jcommander.ParameterException;
import com.conveyal.r5.OneOriginResult;
-import com.conveyal.r5.analyst.cluster.AnalysisTask;
+import com.conveyal.r5.analyst.cluster.AnalysisWorkerTask;
import com.conveyal.r5.analyst.cluster.RegionalTask;
import com.conveyal.r5.analyst.cluster.TravelTimeResult;
import com.conveyal.r5.analyst.cluster.TravelTimeSurfaceTask;
+import com.conveyal.r5.analyst.decay.DecayFunction;
import com.conveyal.r5.profile.FastRaptorWorker;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -13,6 +13,8 @@
import java.util.Arrays;
import static com.conveyal.r5.profile.FastRaptorWorker.UNREACHED;
+import static com.google.common.base.Preconditions.checkArgument;
+import static com.google.common.base.Preconditions.checkState;
/**
* Given a bunch of travel times from an origin to a single destination point, this collapses that long list into a
@@ -23,49 +25,47 @@ public class TravelTimeReducer {
private static final Logger LOG = LoggerFactory.getLogger(TravelTimeReducer.class);
- /** The largest number of cutoffs we'll accept in a task. Too many cutoffs can create very large output files. */
- public static final int MAX_CUTOFFS = 12;
-
- /**
- * Maximum total travel time, above which a destination should be considered unreachable. Note the logic in
- * analysis-backend AnalysisRequest, which sets this to the requested value for regional analyses, but keeps
- * it at the default value from R5 ProfileRequest for single-point requests (which allow adjusting the cutoff
- * after results have been calculated).
- *
- * CHANGING: this now just needs to be larger than the highest cutoff, or should be set to the max cutoff.
- */
- private final int maxTripDurationMinutes;
-
private boolean calculateAccessibility;
private boolean calculateTravelTimes;
- /**
- * Cumulative opportunities accessibility at this one particular origin.
- * May be null if we're only recording travel times.
- */
+ /** Cumulative opportunities accessibility at one particular origin. null if we're only recording travel times. */
private AccessibilityResult accessibilityResult = null;
- /** Reduced (e.g. at one percentile) travel time results. May be null if we're only recording accessibility. */
+ /** Travel time results reduced to a limited number of percentiles. null if we're only recording accessibility. */
private TravelTimeResult travelTimeResult = null;
/** If we are calculating accessibility, the PointSets containing opportunities. */
- private final PointSet[] destinationPointSets = new PointSet[1];
+ private PointSet[] destinationPointSets;
+ /** TODO Explain. */
private final int[] percentileIndexes;
+ /** TODO Explain. */
private final int nPercentiles;
- private int[] cutoffsMinutes;
+ /** TODO explain. */
+ private int[] cutoffsSeconds;
+ /** TODO Explain. */
private int nCutoffs;
+ /**
+ * For each cutoff, the travel time in seconds at and above which the decay function will return zero weight.
+ * These are pre-calculated and retained because the default method for finding the zero point is by bisection,
+ * which should not be repeated in a tight loop.
+ */
+ private int[] zeroPointsForCutoffs;
+
/**
* The number of travel times we will record at each destination.
* This is affected by the number of Monte Carlo draws requested and the departure time window.
*/
private final int timesPerDestination;
+ /** Provides a weighting factor for opportunities at a given travel time. */
+ private final DecayFunction decayFunction;
+
/**
* Reduce travel time values to requested summary outputs for each origin. The type of output (a single
* cumulative opportunity accessibility value per origin, or selected percentiles of travel times to all
@@ -85,10 +85,7 @@ public class TravelTimeReducer {
*
* @param task task to be performed.
*/
- public TravelTimeReducer (AnalysisTask task) {
-
- // Before regional analysis tasks are handled, their max trip duration is forced to the highest cutoff.
- this.maxTripDurationMinutes = task.maxTripDurationMinutes;
+ public TravelTimeReducer (AnalysisWorkerTask task) {
// Set timesPerDestination depending on how waiting time/travel time variability will be sampled
if (task.inRoutingFareCalculator != null) {
@@ -107,16 +104,12 @@ public TravelTimeReducer (AnalysisTask task) {
// Validate and process the travel time percentiles.
// We pre-compute the indexes at which we'll find each percentile in a sorted list of the given length.
+ task.validatePercentiles();
this.nPercentiles = task.percentiles.length;
this.percentileIndexes = new int[nPercentiles];
for (int p = 0; p < nPercentiles; p++) {
percentileIndexes[p] = findPercentileIndex(timesPerDestination, task.percentiles[p]);
}
- for (int p = 1; p < nPercentiles; p++) {
- if (task.percentiles[p] < task.percentiles[p-1]) {
- throw new IllegalArgumentException("Percentiles must be in ascending order.");
- }
- }
// Decide whether we want to retain travel times to all destinations for this origin.
// This is currently only used with regional tasks when origins are freeform pointsets.
@@ -132,7 +125,7 @@ public TravelTimeReducer (AnalysisTask task) {
RegionalTask regionalTask = (RegionalTask) task;
if (regionalTask.recordAccessibility) {
calculateAccessibility = true;
- this.destinationPointSets[0] = regionalTask.destinationPointSet;
+ this.destinationPointSets = regionalTask.destinationPointSets;
}
if (regionalTask.recordTimes || regionalTask.makeTauiSite) {
calculateTravelTimes = true;
@@ -150,23 +143,17 @@ public TravelTimeReducer (AnalysisTask task) {
// Validate and copy the travel time cutoffs, which only makes sense when calculating accessibility.
// Validation should probably happen earlier when making or handling incoming tasks.
+ this.decayFunction = task.decayFunction;
if (calculateAccessibility) {
+ task.validateCutoffsMinutes();
this.nCutoffs = task.cutoffsMinutes.length;
- if (nCutoffs > MAX_CUTOFFS) {
- throw new IllegalArgumentException("Maximum number of cutoffs allowed is " + MAX_CUTOFFS);
- }
- this.cutoffsMinutes = Arrays.copyOf(task.cutoffsMinutes, nCutoffs);
- Arrays.sort(this.cutoffsMinutes);
- if (! Arrays.equals(this.cutoffsMinutes, task.cutoffsMinutes)) {
- throw new IllegalArgumentException("Cutoffs must be in ascending order.");
- }
- for (int cutoffMinutes : this.cutoffsMinutes) {
- if (cutoffMinutes < 1 || cutoffMinutes > 120) {
- throw new IllegalArgumentException("Accessibility time cutoffs must be in the range 1 to 120 minutes.");
- }
- }
- if (maxTripDurationMinutes < this.cutoffsMinutes[nCutoffs - 1]) {
- throw new IllegalArgumentException("Max trip duration must be at least as large as highest cutoff.");
+ // Convert cutoffs to seconds, to avoid repeated multiplication in tight loops.
+ this.cutoffsSeconds = new int[nCutoffs];
+ this.zeroPointsForCutoffs = new int[nCutoffs];
+ for (int c = 0; c < nCutoffs; c++) {
+ final int cutoffSeconds = task.cutoffsMinutes[c] * 60;
+ this.cutoffsSeconds[c] = cutoffSeconds;
+ this.zeroPointsForCutoffs[c] = decayFunction.reachesZeroAt(cutoffSeconds);
}
}
@@ -194,12 +181,12 @@ private static int findPercentileIndex(int nElements, double percentile) {
* Given a single unvarying travel time to a destination, replicate it to match the expected number of
* percentiles, then record those n identical percentiles at the target.
*
- * @param timeSeconds Single travel time, for results with no variation, e.g. from walking, biking, or driving.
+ * @param timeSeconds a single travel time for results with no variation, e.g. from walking, biking, or driving.
*/
public void recordUnvaryingTravelTimeAtTarget (int target, int timeSeconds){
- int[] travelTimesMinutes = new int[nPercentiles];
- Arrays.fill(travelTimesMinutes, convertToMinutes(timeSeconds));
- recordTravelTimePercentilesForTarget(target, travelTimesMinutes);
+ int[] travelTimePercentilesSeconds = new int[nPercentiles];
+ Arrays.fill(travelTimePercentilesSeconds, timeSeconds);
+ recordTravelTimePercentilesForTarget(target, travelTimePercentilesSeconds);
}
/**
@@ -210,59 +197,76 @@ public void recordUnvaryingTravelTimeAtTarget (int target, int timeSeconds){
* @param timesSeconds which will be destructively sorted in place to extract percentiles.
*/
public void extractTravelTimePercentilesAndRecord (int target, int[] timesSeconds) {
- // Sort the times at each target and extract percentiles at the pre-calculated indexes.
- int[] travelTimePercentilesMinutes = new int[nPercentiles];
- if (timesSeconds.length == timesPerDestination) {
- // Instead of general purpose sort this could be done by performing a counting sort on the times,
- // converting them to minutes in the process and reusing the small histogram array (120 elements) which
- // should remain largely in processor cache. That's a lot of division though. Would need to be profiled.
- Arrays.sort(timesSeconds);
- for (int p = 0; p < nPercentiles; p++) {
- int timeSeconds = timesSeconds[percentileIndexes[p]];
- travelTimePercentilesMinutes[p] = convertToMinutes(timeSeconds);
- }
- } else {
- throw new ParameterException(timesSeconds.length + " iterations supplied; expected " + timesPerDestination);
+ checkArgument(timesSeconds.length == timesPerDestination,
+ "Number of times supplied must match the number of iterations in this search.");
+ for (int i : timesSeconds) {
+ checkArgument(i >= 0, "Travel times must be positive.");
}
- recordTravelTimePercentilesForTarget(target, travelTimePercentilesMinutes);
+
+ // Sort the travel times to this target and extract percentiles at the pre-calculated percentile indexes.
+ // We used to convert these to minutes before sorting, which may allow the sort to be more efficient.
+ // We even had a prototype counting sort that would take advantage of this detail. However, applying distance
+ // decay functions with one-second resolution decreases sensitivity to randomization error in travel times.
+ Arrays.sort(timesSeconds);
+ int[] percentileTravelTimesSeconds = new int[nPercentiles];
+ for (int p = 0; p < nPercentiles; p++) {
+ percentileTravelTimesSeconds[p] = timesSeconds[percentileIndexes[p]];
+ }
+ recordTravelTimePercentilesForTarget(target, percentileTravelTimesSeconds);
}
/**
- * Given a list of travel times of the expected length, store the extracted percentiles of travel time (if a and/or
- * accessibility values.
- * NOTE we will actually receive 5 percentiles here in single point analysis since we request all 5 at once.
+ * Given a list of travel times in seconds, one for each percentile, store these percentiles of travel time
+ * at a particular target location and/or store the derived accessibility values at the origin location. Note that
+ * when handling a single point analysis we will receive 5 percentiles here since the UI requests all 5 at once.
*/
- private void recordTravelTimePercentilesForTarget (int target, int[] travelTimePercentilesMinutes) {
- if (travelTimePercentilesMinutes.length != nPercentiles) {
- throw new IllegalArgumentException("Supplied number of travel times did not match percentile count.");
+ private void recordTravelTimePercentilesForTarget (int target, int[] travelTimePercentilesSeconds) {
+ checkArgument(travelTimePercentilesSeconds.length == nPercentiles,
+ "Must supply exactly as many travel times as there are percentiles.");
+ for (int i : travelTimePercentilesSeconds) {
+ checkArgument(i >= 0, "Travel times must be positive.");
}
if (calculateTravelTimes) {
- travelTimeResult.setTarget(target, travelTimePercentilesMinutes);
+ int[] percentileTravelTimesMinutes = new int[nPercentiles];
+ for (int p = 0; p < nPercentiles; p++) {
+ percentileTravelTimesMinutes[p] = convertToMinutes(travelTimePercentilesSeconds[p]);
+ }
+ travelTimeResult.setTarget(target, percentileTravelTimesMinutes);
}
if (calculateAccessibility) {
- // We only handle one grid at a time for now, because handling more than one grid will require transforming
- // indexes between multiple grids possibly of different sizes (a GridIndexTransform class?). If these are
- // for reads only, into a single super-grid, they will only need to add a single number to the width and y.
- for (int d = 0; d < 1; d++) {
+ // This can handle multiple opportunity grids as long as they have exactly the same extents.
+ // That should cover common use cases but will eventually need to be adapted to handle multiple different
+ // grid extents. This will require transforming indexes between multiple grids possibly of different sizes
+ // (a GridIndexTransform class?). If the transform is only for reading into a single super-grid, they will
+ // only need to add a single number to the width and y.
+ for (int d = 0; d < destinationPointSets.length; d++) {
final double opportunityCountAtTarget = destinationPointSets[d].getOpportunityCount(target);
+ if (!(opportunityCountAtTarget > 0)) {
+ continue;
+ }
for (int p = 0; p < nPercentiles; p++) {
- final int travelTimeMinutes = travelTimePercentilesMinutes[p];
- if (travelTimeMinutes == UNREACHED) {
- // Percentiles should be sorted. If one is UNREACHED the rest will also be.
+ final int travelTimeSeconds = travelTimePercentilesSeconds[p];
+ if (travelTimeSeconds == FastRaptorWorker.UNREACHED) {
+ // Percentiles should be sorted. If one is UNREACHED or above a cutoff, the rest will also be.
+ // This check is somewhat redundant since by virtue of being MAX_INT, UNREACHED is necessarily
+ // greater than or equal to the decay function's zero point at the highest cutoff.
break;
}
- // Iterate backward through sorted cutoffs, to allow early bail-out when travel time exceeds cutoff.
+ // Iterate backward through sorted cutoffs, to allow early bail-out when travel time exceeds the
+ // point where the decay function reaches zero weight.
for (int c = nCutoffs - 1; c >= 0; c--) {
- final int cutoffMinutes = cutoffsMinutes[c];
- // Use of < here (as opposed to <=) matches the definition in JS front end, and works well when
- // truncating seconds to minutes. This used to use TravelTimeReducer.maxTripDurationMinutes as
- // the cutoff, now that's really the max travel time (which should be the max of all cutoffs).
- // Might be more efficient to pass in all cutoffs at once to avoid repeated pointer math.
- if (travelTimeMinutes < cutoffMinutes) {
- accessibilityResult.incrementAccessibility(d, p, c, opportunityCountAtTarget);
- } else {
+ final int cutoffSeconds = cutoffsSeconds[c];
+ if (travelTimeSeconds >= zeroPointsForCutoffs[c]) {
break;
}
+ // Precomputing travel weight factors does not seem practical, as it would involve a
+ // 7200x7200 matrix containing about 415MB of coefficients. Reading through that much memory
+ // may well be slower than computing the coefficient each time it's needed.
+ double weightFactor = decayFunction.computeWeight(cutoffSeconds, travelTimeSeconds);
+ if (weightFactor > 0) {
+ double weightedOpportunityCount = opportunityCountAtTarget * weightFactor;
+ accessibilityResult.incrementAccessibility(d, p, c, weightedOpportunityCount);
+ }
}
}
}
@@ -270,27 +274,27 @@ private void recordTravelTimePercentilesForTarget (int target, int[] travelTimeP
}
/**
- * Convert the given timeSeconds to minutes. If that time equals or exceeds the maxTripDurationMinutes, instead
- * return a value indicating that the location is unreachable. The minutes to seconds conversion uses integer
- * division, which truncates toward zero. This approach is correct for use in accessibility analysis, where we
- * are always testing whether a travel time is less than a certain threshold value. For example, all travel times
- * between 59 and 60 minutes will truncate to 59, and will correctly return true for the expression (t < 60
- * minutes). We are converting seconds to minutes before we export a binary format mainly to narrow the times so
- * they fit into single bytes (though this also reduces entropy and makes compression more effective). Arguably
- * this is coupling the backend too closely to the frontend (which makes use of UInt8 typed arrays); the front
- * end could in principle receive a more general purpose format using wider or variable width integers.
+ * Convert the given timeSeconds to minutes, being careful to preserve UNREACHED values.
+ * The seconds to minutes conversion uses integer division, which truncates toward zero. This approach is correct
+ * for use in accessibility analysis, where we are always testing whether a travel time is less than a certain
+ * threshold value. For example, all travel times between 59 and 60 minutes will truncate to 59, and will
+ * correctly return true for the expression (t < 60 minutes). We are converting seconds to minutes before we
+ * export a binary format mainly to narrow the times so they fit into single bytes (though this also reduces
+ * entropy and makes compression more effective). Arguably this couplings the backend too closely to the frontend
+ * (which makes use of UInt8 typed arrays); the frontend could in principle receive a more general purpose format
+ * using wider or variable width integers.
+ * TODO revise Javadoc - these values don't seem to ever be used in accessibility or reported to the UI.
*/
private int convertToMinutes (int timeSeconds) {
- if (timeSeconds == UNREACHED) return UNREACHED;
- int timeMinutes = timeSeconds / FastRaptorWorker.SECONDS_PER_MINUTE;
- if (timeMinutes < maxTripDurationMinutes) {
- return timeMinutes;
- } else {
+ // This check is a bit redundant, UNREACHED is always >= any integer pruning threshold.
+ if (timeSeconds == UNREACHED) {
return UNREACHED;
+ } else {
+ int timeMinutes = timeSeconds / FastRaptorWorker.SECONDS_PER_MINUTE;
+ return timeMinutes;
}
}
-
/**
* If no travel times to destinations have been streamed in by calling recordTravelTimesForTarget, the
* TimeGrid will have a buffer full of UNREACHED. This allows shortcutting around
@@ -307,9 +311,8 @@ public OneOriginResult finish () {
public void checkOpportunityExtents (PointSet travelTimePointSet) {
if (calculateAccessibility) {
for (PointSet opportunityPointSet : destinationPointSets) {
- if (!opportunityPointSet.getWebMercatorExtents().equals(travelTimePointSet.getWebMercatorExtents())) {
- throw new AssertionError("Travel time would be calculated to a PointSet that does not match " + "the opportunity PointSet.");
- }
+ checkState(opportunityPointSet.getWebMercatorExtents().equals(travelTimePointSet.getWebMercatorExtents()),
+ "Travel time would be calculated to a PointSet that does not match the opportunity PointSet.");
}
}
}
diff --git a/src/main/java/com/conveyal/r5/analyst/WebMercatorExtents.java b/src/main/java/com/conveyal/r5/analyst/WebMercatorExtents.java
index 1e143ddf..f83b08c6 100644
--- a/src/main/java/com/conveyal/r5/analyst/WebMercatorExtents.java
+++ b/src/main/java/com/conveyal/r5/analyst/WebMercatorExtents.java
@@ -1,12 +1,15 @@
package com.conveyal.r5.analyst;
-import com.conveyal.r5.analyst.cluster.AnalysisTask;
+import com.conveyal.r5.analyst.cluster.AnalysisWorkerTask;
import org.locationtech.jts.geom.Envelope;
import java.util.Arrays;
import static com.conveyal.r5.analyst.Grid.latToPixel;
import static com.conveyal.r5.analyst.Grid.lonToPixel;
+import static com.google.common.base.Preconditions.checkArgument;
+import static com.google.common.base.Preconditions.checkElementIndex;
+import static com.google.common.base.Preconditions.checkNotNull;
/**
* Really we should be embedding one of these in the tasks, grids, etc. to factor out all the common fields.
@@ -32,19 +35,27 @@ public WebMercatorExtents (int west, int north, int width, int height, int zoom)
this.zoom = zoom;
}
- public static WebMercatorExtents forTask (AnalysisTask task) {
+ public static WebMercatorExtents forTask (AnalysisWorkerTask task) {
return new WebMercatorExtents(task.west, task.north, task.width, task.height, task.zoom);
}
- public static WebMercatorExtents forGrid (PointSet pointSet) {
- if (pointSet instanceof Grid) {
- Grid grid = (Grid) pointSet;
- return new WebMercatorExtents(grid.west, grid.north, grid.width, grid.height, grid.zoom);
+ public static WebMercatorExtents forPointsets (PointSet[] pointSets) {
+ checkNotNull(pointSets);
+ checkElementIndex(0, pointSets.length, "You must supply at least one destination PointSet.");
+ if (pointSets[0] instanceof Grid) {
+ WebMercatorExtents extents = pointSets[0].getWebMercatorExtents();
+ // TODO handle case of pointsets with different extents; for now just validate that they are identical.
+ for (PointSet pointSet : pointSets) {
+ checkArgument(pointSet instanceof Grid, "All destination PointSets must be of the same type.");
+ checkArgument(extents.equals(pointSet.getWebMercatorExtents()));
+ }
+ return extents;
} else {
// Temporary way to bypass network preloading while freeform pointset functionality is being
// developed. For now, the null return value is used in TravelTimeComputer to signal that the worker
// should use a provided freeform pointset, rather than creating a WebMercatorGridPointSet based on the
// parameters of the request.
+ checkArgument(pointSets.length == 1, "You may only specify one non-gridded PointSet.");
return null;
}
}
diff --git a/src/main/java/com/conveyal/r5/analyst/cluster/AnalystWorker.java b/src/main/java/com/conveyal/r5/analyst/cluster/AnalysisWorker.java
similarity index 93%
rename from src/main/java/com/conveyal/r5/analyst/cluster/AnalystWorker.java
rename to src/main/java/com/conveyal/r5/analyst/cluster/AnalysisWorker.java
index a2f5d14a..247ec61a 100644
--- a/src/main/java/com/conveyal/r5/analyst/cluster/AnalystWorker.java
+++ b/src/main/java/com/conveyal/r5/analyst/cluster/AnalysisWorker.java
@@ -45,6 +45,7 @@
import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
import java.util.ArrayList;
+import java.util.Arrays;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
@@ -57,8 +58,10 @@
import java.util.concurrent.ThreadPoolExecutor;
import java.util.concurrent.TimeUnit;
+import static com.conveyal.r5.profile.PerTargetPropagater.SECONDS_PER_MINUTE;
import static com.google.common.base.Preconditions.checkElementIndex;
import static com.google.common.base.Preconditions.checkNotNull;
+import static com.google.common.base.Preconditions.checkState;
/**
* This is a main class run by worker machines in our Analysis computation cluster.
@@ -68,10 +71,8 @@
*
* The worker can poll for work over two different channels. One is for large asynchronous batch jobs, the other is
* intended for interactive single point requests that should return as fast as possible.
- *
- * TODO rename AnalysisWorker <---
*/
-public class AnalystWorker implements Runnable {
+public class AnalysisWorker implements Runnable {
/**
* Worker ID - just a random ID so we can differentiate machines used for computation.
@@ -89,7 +90,7 @@ public class AnalystWorker implements Runnable {
*/
public static final String machineId = UUID.randomUUID().toString().replaceAll("-", "");
- private static final Logger LOG = LoggerFactory.getLogger(AnalystWorker.class);
+ private static final Logger LOG = LoggerFactory.getLogger(AnalysisWorker.class);
private static final String DEFAULT_BROKER_ADDRESS = "localhost";
@@ -170,7 +171,7 @@ void adjustShutdownClock (int keepAliveMinutes) {
ThroughputTracker throughputTracker = new ThroughputTracker();
/**
- * This worker will only listen for inccoming single point requests if this field is true when run() is invoked.
+ * This worker will only listen for incoming single point requests if this field is true when run() is invoked.
* Setting this to false before running creates a regional-only cluster worker. This is useful in testing when
* running many workers on the same machine.
*/
@@ -218,7 +219,7 @@ public static HttpClient makeHttpClient () {
/** The HTTP server that receives single-point requests. */
private spark.Service sparkHttpService;
- public static AnalystWorker forConfig (Properties config) {
+ public static AnalysisWorker forConfig (Properties config) {
// FIXME why is there a separate configuration parsing section here? Why not always make the cache based on the configuration?
// FIXME why is some configuration done here and some in the constructor?
boolean workOffline = Boolean.parseBoolean(config.getProperty("work-offline", "false"));
@@ -236,11 +237,11 @@ public static AnalystWorker forConfig (Properties config) {
GTFSCache gtfsCache = new GTFSCache(fileStore, () -> graphsBucket);
TransportNetworkCache cache = new TransportNetworkCache(fileStore, gtfsCache, osmCache, graphsBucket);
- return new AnalystWorker(config, fileStore, cache);
+ return new AnalysisWorker(config, fileStore, cache);
}
// TODO merge this constructor with the forConfig factory method, so we don't have different logic for local and cluster workers
- public AnalystWorker(Properties config, FileStorage fileStore, TransportNetworkCache transportNetworkCache) {
+ public AnalysisWorker (Properties config, FileStorage fileStore, TransportNetworkCache transportNetworkCache) {
// print out date on startup so that CloudWatch logs has a unique fingerprint
LOG.info("Analyst worker {} starting at {}", machineId,
LocalDateTime.now().format(DateTimeFormatter.ISO_DATE_TIME));
@@ -491,18 +492,22 @@ protected void handleOneRegionalTask(RegionalTask task) {
task.recordAccessibility = false;
}
- try {
- // Having a non-null opportunity density grid in the task triggers the computation of accessibility values.
- // The pointSet should not be set on static site tasks (or single-point tasks which don't even have the field).
- // Resolve the grid ID to an actual grid - this is important to determine the grid extents for the path.
- // Fetching data grids should be relatively fast so we can do it synchronously.
- // Perhaps this can be done higher up in the call stack where we know whether or not it's a regional task.
- // TODO move this after the asynchronous loading of the rest of the necessary data?
- if (!task.makeTauiSite) {
- task.destinationPointSet = pointSetCache.get(task.grid);
- }
+ // Bump the max trip duration up to find opportunities past the cutoff when using wide decay functions.
+ // Save the existing hard-cutoff value which is used when saving travel times.
+ // TODO this needs to happen for both regional and single point tasks when calculating accessibility on the worker
+ {
+ task.decayFunction.prepare();
+ int maxCutoffMinutes = Arrays.stream(task.cutoffsMinutes).max().getAsInt();
+ int maxTripDurationSeconds = task.decayFunction.reachesZeroAt(maxCutoffMinutes * SECONDS_PER_MINUTE);
+ int maxTripDurationMinutes = (int)(Math.ceil(maxTripDurationSeconds / 60D));
+ checkState(maxTripDurationMinutes <= 120, "Distance decay function must reach zero at or before 120 minutes.");
+ task.maxTripDurationMinutes = maxTripDurationMinutes;
+ LOG.info("Maximum cutoff was {} minutes, limiting trip duration to {} minutes based on decay function {}.",
+ maxCutoffMinutes, maxTripDurationMinutes, task.decayFunction.getClass().getSimpleName());
+ }
- // TODO (re)validate multi-percentle and multi-cutoff parameters. Validation currently in TravelTimeReducer.
+ try {
+ // TODO (re)validate multi-percentile and multi-cutoff parameters. Validation currently in TravelTimeReducer.
// This version should require both arrays to be present, and single values to be missing.
// Using a newer backend, the task should have been normalized to use arrays not single values.
checkNotNull(task.cutoffsMinutes, "This worker requires an array of cutoffs (rather than a single value).");
@@ -521,6 +526,13 @@ protected void handleOneRegionalTask(RegionalTask task) {
TransportNetwork transportNetwork = networkPreloader.transportNetworkCache.getNetworkForScenario(task
.graphId, task.scenarioId);
+ // Static site tasks do not specify destinations, but all other regional tasks should.
+ // Load the PointSets based on the IDs (actually, full storage keys including IDs) in the task.
+ // The presence of these grids in the task will then trigger the computation of accessibility values.
+ if (!task.makeTauiSite) {
+ task.loadAndValidateDestinationPointSets(pointSetCache);
+ }
+
// If we are generating a static site, there must be a single metadata file for an entire batch of results.
// Arbitrarily we create this metadata as part of the first task in the job.
if (task.makeTauiSite && task.taskId == 0) {
@@ -681,21 +693,21 @@ public List getSomeWork () {
/**
* Generate and write out metadata describing what's in a directory of static site output.
*/
- public static void saveStaticSiteMetadata (AnalysisTask analysisTask, TransportNetwork network) {
+ public static void saveStaticSiteMetadata (AnalysisWorkerTask analysisWorkerTask, TransportNetwork network) {
try {
// Save the regional analysis request, giving the UI some context to display the results.
// This is the request object sent to the workers to generate these static site regional results.
- PersistenceBuffer buffer = PersistenceBuffer.serializeAsJson(analysisTask);
- AnalystWorker.filePersistence.saveStaticSiteData(analysisTask, "request.json", buffer);
+ PersistenceBuffer buffer = PersistenceBuffer.serializeAsJson(analysisWorkerTask);
+ AnalysisWorker.filePersistence.saveStaticSiteData(analysisWorkerTask, "request.json", buffer);
// Save non-fatal warnings encountered applying the scenario to the network for this regional analysis.
buffer = PersistenceBuffer.serializeAsJson(network.scenarioApplicationWarnings);
- AnalystWorker.filePersistence.saveStaticSiteData(analysisTask, "warnings.json", buffer);
+ AnalysisWorker.filePersistence.saveStaticSiteData(analysisWorkerTask, "warnings.json", buffer);
// Save transit route data that allows rendering paths with the Transitive library in a separate file.
TransitiveNetwork transitiveNetwork = new TransitiveNetwork(network.transitLayer);
buffer = PersistenceBuffer.serializeAsJson(transitiveNetwork);
- AnalystWorker.filePersistence.saveStaticSiteData(analysisTask, "transitive.json", buffer);
+ AnalysisWorker.filePersistence.saveStaticSiteData(analysisWorkerTask, "transitive.json", buffer);
} catch (Exception e) {
LOG.error("Exception saving static metadata: {}", ExceptionUtils.asString(e));
throw new RuntimeException(e);
@@ -728,7 +740,7 @@ public static void main (String[] args) {
return;
}
try {
- AnalystWorker.forConfig(config).run();
+ AnalysisWorker.forConfig(config).run();
} catch (Exception e) {
LOG.error("Unhandled error in analyst worker, shutting down. " + ExceptionUtils.asString(e));
}
diff --git a/src/main/java/com/conveyal/r5/analyst/cluster/AnalysisWorkerController.java b/src/main/java/com/conveyal/r5/analyst/cluster/AnalysisWorkerController.java
index 14b7bcb5..6e31b97a 100644
--- a/src/main/java/com/conveyal/r5/analyst/cluster/AnalysisWorkerController.java
+++ b/src/main/java/com/conveyal/r5/analyst/cluster/AnalysisWorkerController.java
@@ -17,7 +17,7 @@
import java.util.List;
import java.util.Map;
-import static com.conveyal.r5.analyst.cluster.AnalystWorker.addWarningAndInfoJson;
+import static com.conveyal.r5.analyst.cluster.AnalysisWorker.addWarningAndInfoJson;
/**
* This class contains Spark HTTP request handler methods that are served up by Analysis workers.
@@ -28,10 +28,10 @@ public class AnalysisWorkerController {
private static final Logger LOG = LoggerFactory.getLogger(AnalysisWorkerController.class);
- private final AnalystWorker analystWorker;
+ private final AnalysisWorker analysisWorker;
- public AnalysisWorkerController (AnalystWorker analystWorker) {
- this.analystWorker = analystWorker;
+ public AnalysisWorkerController (AnalysisWorker analysisWorker) {
+ this.analysisWorker = analysisWorker;
}
public Object handleSinglePoint (Request request, Response response) throws IOException {
@@ -48,7 +48,7 @@ public Object handleSinglePoint (Request request, Response response) throws IOEx
try {
try {
- byte[] binaryResult = analystWorker.handleOneSinglePointTask(task);
+ byte[] binaryResult = analysisWorker.handleOneSinglePointTask(task);
response.status(HttpStatus.OK_200);
if (task.getFormat().equals(TravelTimeSurfaceTask.Format.GEOTIFF)) {
response.header("Content-Type", "application/x-geotiff");
diff --git a/src/main/java/com/conveyal/r5/analyst/cluster/AnalysisTask.java b/src/main/java/com/conveyal/r5/analyst/cluster/AnalysisWorkerTask.java
similarity index 52%
rename from src/main/java/com/conveyal/r5/analyst/cluster/AnalysisTask.java
rename to src/main/java/com/conveyal/r5/analyst/cluster/AnalysisWorkerTask.java
index 9f3c1d38..d9ce6fa9 100644
--- a/src/main/java/com/conveyal/r5/analyst/cluster/AnalysisTask.java
+++ b/src/main/java/com/conveyal/r5/analyst/cluster/AnalysisWorkerTask.java
@@ -1,26 +1,42 @@
package com.conveyal.r5.analyst.cluster;
+import com.conveyal.r5.analyst.FreeFormPointSet;
+import com.conveyal.r5.analyst.PointSet;
+import com.conveyal.r5.analyst.PointSetCache;
import com.conveyal.r5.analyst.WebMercatorExtents;
import com.conveyal.r5.analyst.WebMercatorGridPointSetCache;
import com.conveyal.r5.analyst.WorkerCategory;
+import com.conveyal.r5.analyst.decay.DecayFunction;
import com.conveyal.r5.profile.ProfileRequest;
import com.fasterxml.jackson.annotation.JsonIgnore;
import com.fasterxml.jackson.annotation.JsonSubTypes;
import com.fasterxml.jackson.annotation.JsonTypeInfo;
+import static com.google.common.base.Preconditions.checkArgument;
+import static com.google.common.base.Preconditions.checkNotNull;
+import static com.google.common.base.Preconditions.checkState;
+
/**
- * Describes an analysis task to be performed.
- * Instances are serialized and sent from the backend to workers when processing regional analyses.
- * By default, the task will be a travelTimeSurfaceTask for one origin.
- * This task is completed by returning a grid of total travel times from that origin to all destinations.
+ * Describes an analysis task to be performed for a single origin, on its own or as part of a multi-origin analysis.
+ * Instances are serialized and sent from the backend to workers.
*/
@JsonTypeInfo(use= JsonTypeInfo.Id.NAME, include=JsonTypeInfo.As.PROPERTY, property = "type")
@JsonSubTypes({
- // these match the enum values in AnalysisTask.Type
+ // these match the enum values in AnalysisWorkerTask.Type
@JsonSubTypes.Type(name = "TRAVEL_TIME_SURFACE", value = TravelTimeSurfaceTask.class),
@JsonSubTypes.Type(name = "REGIONAL_ANALYSIS", value = RegionalTask.class)
})
-public abstract class AnalysisTask extends ProfileRequest {
+public abstract class AnalysisWorkerTask extends ProfileRequest {
+
+ /**
+ * The largest number of cutoffs we'll accept in a task. Too many cutoffs can create very large output files.
+ * Note that when we begin calculating single-point accessibility on the worker instead of in the UI, there will
+ * frequently be 120 cutoffs. Then this limit will only apply to regional analyses, not single-point.
+ */
+ public static final int MAX_CUTOFFS = 12;
+
+ /** The largest number of percentiles we'll accept in a task. */
+ public static final int MAX_PERCENTILES = 5;
/**
* A loading cache of gridded pointSets (not opportunity data grids), shared statically among all single point and
@@ -45,13 +61,20 @@ public abstract class AnalysisTask extends ProfileRequest {
/** The commit of r5 the worker should be running when it processes this task. */
public String workerVersion;
- /** The job ID this is associated with. */
+ /**
+ * The job ID this is associated with.
+ * TODO it seems like this should be equal to RegionalAnalysis._id, and be called regionalAnalysisId.
+ * This seems to be only relevant for regional tasks but is on the shared superclass (push it down?)
+ */
public String jobId;
/** The id of this particular origin. */
public String originId;
- /** A unique identifier for this task assigned by the queue/broker system. */
+ /**
+ * A unique identifier for this task assigned by the queue/broker system.
+ * TODO This seems to be only relevant for regional tasks but is on the shared superclass (push it down?)
+ */
public int taskId;
/**
@@ -84,7 +107,7 @@ public abstract class AnalysisTask extends ProfileRequest {
* A single cutoff was previously determined by superclass field ProfileRequest.maxTripDurationMinutes.
* That field still cuts off the travel search at a certain number of minutes, so it is set to the highest cutoff.
* Note this will only be set for accessibility calculation tasks, not for travel time surfaces.
- * TODO move it to the regional task subclass? Should this be called cutoffsMinutes as elsewhere?
+ * TODO move it to the regional task subclass?
*/
public int[] cutoffsMinutes;
@@ -102,6 +125,29 @@ public abstract class AnalysisTask extends ProfileRequest {
*/
public boolean logRequest = false;
+ /**
+ * The distance decay function applied to make more distant opportunities
+ * Deserialized into various subtypes from JSON.
+ */
+ public DecayFunction decayFunction;
+
+ /**
+ * The storage keys for the pointsets we will compute access to. The format is regionId/datasetId.fileFormat.
+ * Ideally we'd just provide the IDs of the grids, but creating the key requires us to know the region
+ * ID and file format, which are not otherwise easily available.
+ */
+ public String[] destinationPointSetKeys;
+
+ /**
+ * The pointsets we are calculating accessibility to, including opportunity density data (not bare sets of points).
+ * Note that these are transient - they are not serialized and sent over the wire, they are loaded by the worker
+ * from the storage location specified by the destinationPointSetKeys.
+ *
+ * For now, if the destinations are grids, there may be more than one but they must have the same WebMercatorExtents;
+ * if the destinations are freeform points, only a single pointset is allowed.
+ */
+ public transient PointSet[] destinationPointSets;
+
/**
* Is this a single point or regional request? Needed to encode types in JSON serialization. Can that type field be
* added automatically with a serializer annotation instead of by defining a getter method and two dummy methods?
@@ -139,9 +185,9 @@ of travel time (e.g. waiting) and paths should also be returned.
REGIONAL_ANALYSIS
}
- public AnalysisTask clone () {
+ public AnalysisWorkerTask clone () {
// no need to catch CloneNotSupportedException, it's caught in ProfileRequest::clone
- return (AnalysisTask) super.clone();
+ return (AnalysisWorkerTask) super.clone();
}
/**
@@ -149,4 +195,60 @@ public AnalysisTask clone () {
*/
public abstract int nTargetsPerOrigin();
+ /**
+ * Populate this task's transient array of destination PointSets, loading each destination PointSet key from the
+ * supplied cache. The PointSets themselves are not serialized and sent over to the worker in the task, so this
+ * method is called by the worker to materialize them.
+ *
+ * For now, this requires grids with the same extents. Future enhancements could first create a stack of aligned
+ * targets, with appropriate indexing.
+ *
+ * TODO merge multiple destination pointsets from a regional request into a single supergrid?
+ */
+ public void loadAndValidateDestinationPointSets (PointSetCache pointSetCache) {
+ checkNotNull(destinationPointSetKeys);
+ int nPointSets = destinationPointSetKeys.length;
+ checkState(nPointSets > 0 && nPointSets <= 10,
+ "You must specify at least 1 destination PointSet, but no more than 10.");
+ destinationPointSets = new PointSet[nPointSets];
+ for (int i = 0; i < nPointSets; i++) {
+ PointSet pointSet = pointSetCache.get(destinationPointSetKeys[i]);
+ checkNotNull(pointSet, "Could not load PointSet specified in regional task.");
+ destinationPointSets[i] = pointSet;
+ if (pointSet instanceof FreeFormPointSet) {
+ checkArgument(nPointSets == 1,
+ "If a freeform destination PointSet is specified, it must be the only one.");
+ } else {
+ checkArgument(pointSet.getWebMercatorExtents().equals(destinationPointSets[0].getWebMercatorExtents()),
+ "If multiple grids are specified as destinations, they must have identical extents.");
+ }
+ }
+ }
+
+ public void validatePercentiles () {
+ checkNotNull(percentiles);
+ int nPercentiles = percentiles.length;
+ checkArgument(nPercentiles <= MAX_PERCENTILES, "Maximum number of percentiles allowed is " + MAX_PERCENTILES);
+ for (int p = 0; p < nPercentiles; p++) {
+ checkArgument(percentiles[p] > 0 && percentiles[p] < 100, "Percentiles must be in range [1, 99].");
+ if (p > 0) {
+ checkState(percentiles[p] >= percentiles[p - 1], "Percentiles must be in ascending order.");
+ }
+ }
+ }
+
+ public void validateCutoffsMinutes () {
+ checkNotNull(cutoffsMinutes);
+ int nCutoffs = cutoffsMinutes.length;
+ checkArgument(nCutoffs >= 1, "At least one cutoff must be supplied.");
+ checkArgument(nCutoffs <= MAX_CUTOFFS, "Maximum number of cutoffs allowed is " + MAX_CUTOFFS);
+ for (int c = 0; c < nCutoffs; c++) {
+ checkArgument(cutoffsMinutes[c] > 0, "Cutoffs must be positive integers.");
+ checkArgument(cutoffsMinutes[c] <= 120, "Cutoffs must be at most 120 minutes.");
+ if (c > 0) {
+ checkArgument(cutoffsMinutes[c] >= cutoffsMinutes[c - 1], "Cutoffs must be in ascending order.");
+ }
+ }
+ }
+
}
diff --git a/src/main/java/com/conveyal/r5/analyst/cluster/GridResultAssembler.java b/src/main/java/com/conveyal/r5/analyst/cluster/GridResultAssembler.java
index a5bb3f05..5973437d 100644
--- a/src/main/java/com/conveyal/r5/analyst/cluster/GridResultAssembler.java
+++ b/src/main/java/com/conveyal/r5/analyst/cluster/GridResultAssembler.java
@@ -41,7 +41,7 @@ public class GridResultAssembler {
private static final AmazonS3 s3 = AmazonS3ClientBuilder.defaultClient();
- public final AnalysisTask request;
+ public final AnalysisWorkerTask request;
private File bufferFile;
@@ -72,7 +72,7 @@ public class GridResultAssembler {
* Construct an assembler for a single regional analysis result grid.
* This also creates the on-disk scratch buffer into which the results from the workers will be accumulated.
*/
- public GridResultAssembler (AnalysisTask request, String outputBucket) {
+ public GridResultAssembler (AnalysisWorkerTask request, String outputBucket) {
this.request = request;
this.outputBucket = outputBucket;
nTotal = request.width * request.height;
diff --git a/src/main/java/com/conveyal/r5/analyst/cluster/JobSimulator.java b/src/main/java/com/conveyal/r5/analyst/cluster/JobSimulator.java
index 7fbc09a0..23211894 100644
--- a/src/main/java/com/conveyal/r5/analyst/cluster/JobSimulator.java
+++ b/src/main/java/com/conveyal/r5/analyst/cluster/JobSimulator.java
@@ -56,7 +56,7 @@ public void sendFakeJob() {
// FIXME API now expects one single request defining a grid, rather than a list of requests
- List requests = new ArrayList<>();
+ List requests = new ArrayList<>();
IntStream.range(0, nOrigins).forEach(i -> {
// Enqueue one fake origin
diff --git a/src/main/java/com/conveyal/r5/analyst/cluster/PathWriter.java b/src/main/java/com/conveyal/r5/analyst/cluster/PathWriter.java
index 19733a84..5d434282 100644
--- a/src/main/java/com/conveyal/r5/analyst/cluster/PathWriter.java
+++ b/src/main/java/com/conveyal/r5/analyst/cluster/PathWriter.java
@@ -34,7 +34,7 @@ public class PathWriter {
public static final int NO_PATH = -1;
/** The task that created the paths being recorded. */
- private final AnalysisTask task;
+ private final AnalysisWorkerTask task;
/** A list of unique paths, each one associated with a positive integer index by its position in the list. */
private final List pathForIndex = new ArrayList<>();
@@ -59,7 +59,7 @@ public class PathWriter {
private final TIntList pathIndexes = new TIntArrayList();
/** Constructor. Holds onto the task object, which is used to create unique names for the results files. */
- public PathWriter (AnalysisTask task) {
+ public PathWriter (AnalysisWorkerTask task) {
this.task = task;
this.nTargets = task.width * task.height;
indexForPath = new TObjectIntHashMap<>(nTargets / 2, 0.5f, NO_PATH);
@@ -154,7 +154,7 @@ public void finishAndStorePaths () {
}
persistenceBuffer.doneWriting();
String pathFileName = task.taskId + "_paths.dat";
- AnalystWorker.filePersistence.saveStaticSiteData(task, pathFileName, persistenceBuffer);
+ AnalysisWorker.filePersistence.saveStaticSiteData(task, pathFileName, persistenceBuffer);
}
}
diff --git a/src/main/java/com/conveyal/r5/analyst/cluster/RegionalTask.java b/src/main/java/com/conveyal/r5/analyst/cluster/RegionalTask.java
index c660108b..f2e22901 100644
--- a/src/main/java/com/conveyal/r5/analyst/cluster/RegionalTask.java
+++ b/src/main/java/com/conveyal/r5/analyst/cluster/RegionalTask.java
@@ -1,35 +1,30 @@
package com.conveyal.r5.analyst.cluster;
-import com.conveyal.r5.analyst.PointSet;
import com.conveyal.r5.analyst.WebMercatorExtents;
/**
* Represents a task to be performed as part of a regional analysis.
* Instances are serialized and sent from the backend to workers when processing regional analyses.
*/
-public class RegionalTask extends AnalysisTask implements Cloneable {
+public class RegionalTask extends AnalysisWorkerTask implements Cloneable {
/**
- * The pointset key (e.g. regionId/datasetId.grid) on S3 to compute access to. Still named grid (instead of
- * destinationPointSetId for backward compatibility, namely the ability to start regional jobs on old worker
- * versions).
+ * The storage key for the pointset we will compute access to (e.g. regionId/datasetId.grid).
+ * This is named grid instead of destinationPointSetId for backward compatibility, namely the ability to start
+ * regional jobs on old worker versions that expect the property "grid".
+ *
* Overloaded to specify a set of destination points which may or may not have densities attached.
* In fact this ID is taken from a field called "opportunityDatasetId" in the request coming from the UI. So we've
* got several slightly conflicting names and concepts.
*
- * If this is not blank, the default TravelTimeSurfaceTask will be overridden; returnInVehicleTimes,
+ * TODO revise and improve the below explanation:
+ * If this is not blank, the default TravelTimeSurfaceTask will be overridden; returnInVehicleTimes,
* returnWaitTimes, and returnPaths will be set to false; and the returned results will be an accessibility value
- * per origin, rather than a grid of travel times from that origin. // TODO revise and improve this explanation
+ * per origin, rather than a grid of travel times from that origin.
*/
+ @Deprecated
public String grid;
- /**
- * The pointset we are calculating accessibility to.
- * This includes opportunity density data, it's not a bare set of points.
- * This is not serialized into the request, it's looked up by the worker.
- */
- public transient PointSet destinationPointSet;
-
/**
* Key for pointset (e.g. regionId/datasetId.pointset) from which to calculate travel times or accessibility
*/
@@ -61,15 +56,15 @@ public Type getType() {
* For Taui sites, there is no opportunity grid. The grid of destinations is the extents given in the task,
* which for static sites is also the grid of origins.
*
- * For standard, non-Taui regional analyses, we expect a valid grid of opportunities to be specified as the
- * destinations. This is necessary to compute accessibility. So we extract those bounds from the grids.
+ * For standard, non-Taui regional analyses, we expect at least one valid grid of opportunities to be specified as
+ * the destinations. This is necessary to compute accessibility. So we extract those bounds from the grids.
*/
@Override
public WebMercatorExtents getWebMercatorExtents() {
if (makeTauiSite) {
return WebMercatorExtents.forTask(this);
} else {
- return WebMercatorExtents.forGrid(this.destinationPointSet);
+ return WebMercatorExtents.forPointsets(this.destinationPointSets);
}
}
@@ -94,7 +89,7 @@ public int nTargetsPerOrigin () {
} else if (makeTauiSite) {
return width * height;
} else {
- return destinationPointSet.featureCount();
+ return destinationPointSets[0].featureCount();
}
}
diff --git a/src/main/java/com/conveyal/r5/analyst/cluster/TimeGridWriter.java b/src/main/java/com/conveyal/r5/analyst/cluster/TimeGridWriter.java
index e5a6309d..3fe006b4 100644
--- a/src/main/java/com/conveyal/r5/analyst/cluster/TimeGridWriter.java
+++ b/src/main/java/com/conveyal/r5/analyst/cluster/TimeGridWriter.java
@@ -68,7 +68,7 @@ public class TimeGridWriter {
private final TravelTimeResult travelTimeResult;
- private final AnalysisTask analysisTask;
+ private final AnalysisWorkerTask analysisWorkerTask;
private final WebMercatorExtents extents;
@@ -80,10 +80,10 @@ public class TimeGridWriter {
* Create a new in-memory time grid writer for the supplied TravelTimeResult, which is interpreted as a
* rectangular grid matching the supplied WebMercatorExtents.
*/
- public TimeGridWriter (TravelTimeResult travelTimeResult, AnalysisTask analysisTask) {
+ public TimeGridWriter (TravelTimeResult travelTimeResult, AnalysisWorkerTask analysisWorkerTask) {
this.travelTimeResult = travelTimeResult;
- this.analysisTask = analysisTask;
- this.extents = WebMercatorExtents.forTask(analysisTask);
+ this.analysisWorkerTask = analysisWorkerTask;
+ this.extents = WebMercatorExtents.forTask(analysisWorkerTask);
if (travelTimeResult.nPoints != extents.width * extents.height) {
throw new ParameterException("Travel time cannot be for a grid of this dimension.");
}
@@ -181,8 +181,8 @@ public void writeGeotiff (OutputStream out) {
GeoTiffWriter writer = new GeoTiffWriter(out);
// If the request that produced this TimeGrid was supplied, write scenario metadata into the GeoTIFF
- if (analysisTask != null) {
- AnalysisTask clonedRequest = analysisTask.clone();
+ if (analysisWorkerTask != null) {
+ AnalysisWorkerTask clonedRequest = analysisWorkerTask.clone();
// Save the scenario ID rather than the full scenario, to avoid making metadata too large. We're not
// losing information here, the scenario id used here is qualified with the CRC and is thus immutable
// and available from S3.
diff --git a/src/main/java/com/conveyal/r5/analyst/cluster/TravelTimeResult.java b/src/main/java/com/conveyal/r5/analyst/cluster/TravelTimeResult.java
index 64a0d1b9..2de2572f 100644
--- a/src/main/java/com/conveyal/r5/analyst/cluster/TravelTimeResult.java
+++ b/src/main/java/com/conveyal/r5/analyst/cluster/TravelTimeResult.java
@@ -20,7 +20,7 @@ public class TravelTimeResult {
// Travel time values, indexed by percentile (sample) and target (grid cell/point)
int[][] values;
- public TravelTimeResult(AnalysisTask task) {
+ public TravelTimeResult(AnalysisWorkerTask task) {
nPoints = task.nTargetsPerOrigin();
nSamplesPerPoint = task.percentiles.length;
// Initialization: Fill the values array the default unreachable value.
diff --git a/src/main/java/com/conveyal/r5/analyst/cluster/TravelTimeSurfaceTask.java b/src/main/java/com/conveyal/r5/analyst/cluster/TravelTimeSurfaceTask.java
index 4f526227..6f56dce3 100644
--- a/src/main/java/com/conveyal/r5/analyst/cluster/TravelTimeSurfaceTask.java
+++ b/src/main/java/com/conveyal/r5/analyst/cluster/TravelTimeSurfaceTask.java
@@ -9,7 +9,7 @@
* times to each destination. Several travel times to each destination are returned, representing
* selected percentiles of all travel times from the chosen origin to that destination.
*/
-public class TravelTimeSurfaceTask extends AnalysisTask {
+public class TravelTimeSurfaceTask extends AnalysisWorkerTask {
// FIXME red flag - what is this enum enumerating Java types?
diff --git a/src/main/java/com/conveyal/r5/analyst/cluster/WorkerStatus.java b/src/main/java/com/conveyal/r5/analyst/cluster/WorkerStatus.java
index 7ce2e115..f73a3c59 100644
--- a/src/main/java/com/conveyal/r5/analyst/cluster/WorkerStatus.java
+++ b/src/main/java/com/conveyal/r5/analyst/cluster/WorkerStatus.java
@@ -54,7 +54,7 @@ public class WorkerStatus {
public WorkerStatus() { }
/** Constructor that fills in all the fields with information about the machine it's running on. */
- public WorkerStatus (AnalystWorker worker) {
+ public WorkerStatus (AnalysisWorker worker) {
workerName = "R5";
workerVersion = BackendVersion.instance.describe;
diff --git a/src/main/java/com/conveyal/r5/analyst/decay/DecayFunction.java b/src/main/java/com/conveyal/r5/analyst/decay/DecayFunction.java
new file mode 100644
index 00000000..c22f20db
--- /dev/null
+++ b/src/main/java/com/conveyal/r5/analyst/decay/DecayFunction.java
@@ -0,0 +1,90 @@
+package com.conveyal.r5.analyst.decay;
+
+import com.fasterxml.jackson.annotation.JsonSubTypes;
+import com.fasterxml.jackson.annotation.JsonTypeInfo;
+
+/**
+ * A family of monotonically decreasing functions from travel times to weight factors in the range [0...1].
+ * This determines how much an opportunity at a given travel time is weighted when included in an accessibility value.
+ * It has at least one parameter, the "cutoff" which is the midpoint of the decrease from one to zero.
+ * Some subclasses will have an additional parameter that essentially adjusts the width of the transition region.
+ * Like modifications, these are deserialized from JSON and then actually used in the computations.
+ * TODO redefine so that cutoff is supplied at construction, if precomputation is too slow?
+ */
+@JsonTypeInfo(use=JsonTypeInfo.Id.NAME, include=JsonTypeInfo.As.PROPERTY, property="type")
+@JsonSubTypes({
+ @JsonSubTypes.Type(name="step", value= StepDecayFunction.class),
+ @JsonSubTypes.Type(name="linear", value=LinearDecayFunction.class),
+ @JsonSubTypes.Type(name="logistic", value=LogisticDecayFunction.class),
+ @JsonSubTypes.Type(name="exponential", value=ExponentialDecayFunction.class),
+ @JsonSubTypes.Type(name="fixed-exponential", value=FixedExponentialDecayFunction.class)
+})
+public abstract class DecayFunction {
+
+ public static final int TWO_HOURS_IN_SECONDS = 2 * 60 * 60;
+
+ public static final int FOUR_HOURS_IN_SECONDS = 4 * 60 * 60;
+
+ protected static final double ZERO_EPSILON = 0.001;
+
+ /**
+ * For a given cutoff, returns the minimum travel time at or beyond which this function will always return a zero
+ * weight, i.e. the point at which the decreasing weight curve has reached zero. Some functions approach zero
+ * asymptotically, so they will still return tiny fractional weights all the way out to two hours (or infinity).
+ * This can lead to a lot of unnecessary computation, causing us to search all the way out to 2 hours. It is
+ * advisable for decay function implemetations truncate the curve when the weight falls below some threshold, so we
+ * get a small finite travel time above which we can consider all opportunities unreachable.
+ *
+ * Contract:
+ * Input units: seconds
+ * Input range: [0...7200]
+ * Return units: seconds
+ * Return range: [0...7200]
+ * Idempotent, no side effects.
+ */
+ public int reachesZeroAt (int cutoffSeconds) {
+ return findZeroPoint(cutoffSeconds);
+ }
+
+ /**
+ * The DelayFunction subclasses should supply implementations of this method to return the weight factor for
+ * opportunities situated at a given travel time away from the origin, for a given cutoff parameter.
+ *
+ * Contract:
+ * Input units: seconds (for both inputs)
+ * Input range: [0...7200]
+ * Return units: opportunities
+ * Return range: [0...1]
+ * Idempotent, no side effects.
+ * Invariant: for any fixed cutoff, increasing travel time decreases output weight (monotonically decrteasing)
+ */
+ public abstract double computeWeight (int cutoffSeconds, int travelTimeSeconds);
+
+ /**
+ * Call this method on a deserialized DecayFunction to prepare it for use.
+ * It should validate any parameters supplied via JSON into instance fields.
+ * If a DecayFunction implementation has some more efficient way of generating values (e.g. precomputed tables)
+ * then it can also do any required precomputation in this method.
+ */
+ public abstract void prepare ();
+
+ /**
+ * For functions without a simple analytic solution, find the effective zero point by bisection.
+ * We require functions to reach zero at or above the cutoff point, but before four hours.
+ * Adapted from Python's bisect_right function. Quick benchmarks show effective search time is under one msec.
+ */
+ private int findZeroPoint (int cutoffSeconds) {
+ int low = cutoffSeconds;
+ int high = 4 * 60 * 60;
+ while (low < high) {
+ int mid = (low + high) / 2;
+ double weight = computeWeight(cutoffSeconds, mid);
+ if (weight < ZERO_EPSILON) {
+ high = mid;
+ } else {
+ low = mid + 1;
+ }
+ }
+ return low;
+ }
+}
diff --git a/src/main/java/com/conveyal/r5/analyst/decay/ExponentialDecayFunction.java b/src/main/java/com/conveyal/r5/analyst/decay/ExponentialDecayFunction.java
new file mode 100644
index 00000000..037eaffd
--- /dev/null
+++ b/src/main/java/com/conveyal/r5/analyst/decay/ExponentialDecayFunction.java
@@ -0,0 +1,32 @@
+package com.conveyal.r5.analyst.decay;
+
+import org.apache.commons.math3.util.FastMath;
+
+/**
+ * This an exponential decay function where the cutoff parameter c is treated as the half-life.
+ * So rather than working with the base e, we use: N(t) = 2^(-t/c) = 0.5^(t/c)
+ * Exp() is usually faster than the more general pow().
+ * Since pow(x,y) = exp(y*log(x)) and we generally hold c constant while varying t:
+ * N(t) = exp(log(0.5) * t/c)
+ * JIT may be smart enough to factor the (log(0.5)/cutoff) out of the series of method calls, without us needing to
+ * create specific function instances with precomputed constants for each separate cutoff.
+ */
+public class ExponentialDecayFunction extends DecayFunction {
+
+ private static final double logOneHalf = FastMath.log(0.5);
+
+ @Override
+ public double computeWeight (int cutoffSeconds, int travelTimeSeconds) {
+ if (travelTimeSeconds <= 0) {
+ return 1;
+ }
+ if (travelTimeSeconds >= TWO_HOURS_IN_SECONDS) {
+ return 0;
+ }
+ return FastMath.exp(logOneHalf / cutoffSeconds * travelTimeSeconds);
+ }
+
+ @Override
+ public void prepare () { }
+
+}
diff --git a/src/main/java/com/conveyal/r5/analyst/decay/FixedExponentialDecayFunction.java b/src/main/java/com/conveyal/r5/analyst/decay/FixedExponentialDecayFunction.java
new file mode 100644
index 00000000..5038da55
--- /dev/null
+++ b/src/main/java/com/conveyal/r5/analyst/decay/FixedExponentialDecayFunction.java
@@ -0,0 +1,38 @@
+package com.conveyal.r5.analyst.decay;
+
+import com.google.common.base.Preconditions;
+import org.apache.commons.math3.util.FastMath;
+
+/**
+ * This is equivalent to using the ExponentialDecayFunction with a cutoff (half-life) of log(0.5)/decayConstant.
+ * Cutoffs can only be a whole number of minutes. This class allows directly setting a precise externally determined
+ * constant, even if it does not correspond to an integer half-life. Note that this decay function will completely
+ * ignore the travel time cutoff, and results will not change from one cutoff to another.
+ */
+public class FixedExponentialDecayFunction extends DecayFunction {
+
+ /**
+ * Note that this is a decay constant for travel times in seconds.
+ * If your decay constant is for travel times in minutes, you will need to divide it by 60.
+ * Values are expected to be negative to ensure decay (rather than growth).
+ */
+ public double decayConstant;
+
+ @Override
+ public double computeWeight (int cutoffSeconds, int travelTimeSeconds) {
+ if (travelTimeSeconds <= 0) {
+ return 1;
+ }
+ if (travelTimeSeconds >= TWO_HOURS_IN_SECONDS) {
+ return 0;
+ }
+ return FastMath.exp(decayConstant * travelTimeSeconds);
+ }
+
+ @Override
+ public void prepare () {
+ Preconditions.checkArgument(decayConstant < 0);
+ Preconditions.checkArgument(decayConstant > -1);
+ }
+
+}
diff --git a/src/main/java/com/conveyal/r5/analyst/decay/LinearDecayFunction.java b/src/main/java/com/conveyal/r5/analyst/decay/LinearDecayFunction.java
new file mode 100644
index 00000000..8b4bf60e
--- /dev/null
+++ b/src/main/java/com/conveyal/r5/analyst/decay/LinearDecayFunction.java
@@ -0,0 +1,56 @@
+package com.conveyal.r5.analyst.decay;
+
+import static com.google.common.base.Preconditions.checkArgument;
+
+/**
+ * It's debatable whether the precomputation of a lookup table will speed up calculations. The tables get pretty big and
+ * calculation may be faster than memory churn. We should try to measure with and without that optimization.
+ */
+public class LinearDecayFunction extends DecayFunction {
+
+ /** The public parameter. */
+ public int widthMinutes;
+
+ /** Derived from minutes, so known to be an even number of seconds. */
+ private int widthSeconds;
+
+ /** Width in seconds is known to be even, so can be split into integer halves. */
+ private int halfWidthSeconds;
+
+ /** The weights for all the seconds along the downward slope from 1 to 0. */
+ private double[] weightTable;
+
+ @Override
+ public int reachesZeroAt (int cutoffSeconds) {
+ return cutoffSeconds + halfWidthSeconds;
+ }
+
+ @Override
+ public void prepare () {
+ // Validate
+ checkArgument(widthMinutes >= 0, "Linear decay width parameter must be non-negative.");
+ checkArgument(widthMinutes < 60, "Linear decay width parameter must be under one hour.");
+ // Precompute
+ widthSeconds = widthMinutes * 60;
+ halfWidthSeconds = widthSeconds / 2;
+ weightTable = new double[widthSeconds];
+ for (int s = 0; s < widthSeconds; s++) {
+ // All opportunities at second s are on average halfway between s and s+1 due to int truncation.
+ weightTable[s] = 1 - ((s + 0.5) / widthSeconds);
+ }
+ }
+
+ @Override
+ public double computeWeight (int cutoffSeconds, int travelTimeSeconds) {
+ int decayBegins = cutoffSeconds - halfWidthSeconds;
+ int tableIndex = travelTimeSeconds - decayBegins;
+ if (tableIndex < 0) {
+ return 1;
+ } else if (tableIndex < widthSeconds) {
+ return weightTable[tableIndex];
+ } else {
+ return 0;
+ }
+ }
+
+}
diff --git a/src/main/java/com/conveyal/r5/analyst/decay/LogisticDecayFunction.java b/src/main/java/com/conveyal/r5/analyst/decay/LogisticDecayFunction.java
new file mode 100644
index 00000000..0e5e6f67
--- /dev/null
+++ b/src/main/java/com/conveyal/r5/analyst/decay/LogisticDecayFunction.java
@@ -0,0 +1,40 @@
+package com.conveyal.r5.analyst.decay;
+
+import static com.google.common.base.Preconditions.checkArgument;
+import static org.apache.commons.math3.util.FastMath.PI;
+import static org.apache.commons.math3.util.FastMath.exp;
+import static org.apache.commons.math3.util.FastMath.sqrt;
+
+/**
+ * The logistic cumulative distribution function, expressed such that parameters are the median (inflection
+ * point) and standard deviation. From Bauer and Groneberg equation 9. This applies a sigmoid rolloff.
+ * The parameters can be set to reflect the mean and standard deviation of travel times in the commuting population.
+ * Number crunching is typically much faster than memory access on modern machines, we should only implement a
+ * table-lookup optimization if we can show significant slowdown due to these on the fly calculations.
+ */
+public class LogisticDecayFunction extends DecayFunction {
+
+ private static final double SQRT3 = sqrt(3);
+
+ public double standardDeviationMinutes;
+
+ private double standardDeviationSeconds;
+
+ @Override
+ public void prepare () {
+ // Derive and validate paramters.
+ standardDeviationSeconds = standardDeviationMinutes * 60;
+ checkArgument(standardDeviationSeconds > 0, "Standard deviation must be positive.");
+ checkArgument(standardDeviationSeconds < TWO_HOURS_IN_SECONDS, "Standard deviation must be less than 2 hours.");
+ }
+
+ @Override
+ public double computeWeight (int cutoffSeconds, int travelTimeSeconds) {
+ return g(cutoffSeconds, 0) / g(cutoffSeconds, travelTimeSeconds);
+ }
+
+ private double g (int median, int travelTime) {
+ return 1 + exp(((travelTime - median) * PI) / (standardDeviationSeconds * SQRT3));
+ }
+
+}
diff --git a/src/main/java/com/conveyal/r5/analyst/decay/StepDecayFunction.java b/src/main/java/com/conveyal/r5/analyst/decay/StepDecayFunction.java
new file mode 100644
index 00000000..e516f5d8
--- /dev/null
+++ b/src/main/java/com/conveyal/r5/analyst/decay/StepDecayFunction.java
@@ -0,0 +1,27 @@
+package com.conveyal.r5.analyst.decay;
+
+/**
+ * Simple cliff-edge weight function. No parameters to set or validate.
+ */
+public class StepDecayFunction extends DecayFunction {
+
+ @Override
+ public void prepare () {
+ // Nothing to validate or prepare.
+ }
+
+ @Override
+ public int reachesZeroAt (int cutoffSeconds) {
+ return cutoffSeconds;
+ }
+
+ @Override
+ public double computeWeight (int cutoffSeconds, int travelTimeSeconds) {
+ if (travelTimeSeconds < cutoffSeconds) {
+ return 1;
+ } else {
+ return 0;
+ }
+ }
+
+}
diff --git a/src/main/java/com/conveyal/r5/analyst/fare/InRoutingFareCalculator.java b/src/main/java/com/conveyal/r5/analyst/fare/InRoutingFareCalculator.java
index 6052417e..e9f44452 100644
--- a/src/main/java/com/conveyal/r5/analyst/fare/InRoutingFareCalculator.java
+++ b/src/main/java/com/conveyal/r5/analyst/fare/InRoutingFareCalculator.java
@@ -1,6 +1,7 @@
package com.conveyal.r5.analyst.fare;
import com.conveyal.gtfs.model.Fare;
+import com.conveyal.r5.analyst.fare.nyc.NYCInRoutingFareCalculator;
import com.conveyal.r5.profile.FastRaptorWorker;
import com.conveyal.r5.profile.McRaptorSuboptimalPathProfileRouter.McRaptorState;
import com.conveyal.r5.profile.ProfileRequest;
@@ -11,14 +12,14 @@
import java.io.Serializable;
import java.util.Collection;
import java.util.Map;
+import java.util.function.ToIntFunction;
/**
- * A fare calculator used in Analyst searches. It must be "greedy," i.e. boarding another vehicle should always cost a
- * nonnegative amount (0 is OK). The currency is not important as long as it is constant (i.e. the whole thing is in
- * dollars, yen, bitcoin or kina.
+ * A fare calculator used in Analyst searches. The currency is not important as long as it is integer and constant
+ * (i.e. the whole thing is in cents, yen, bitcoin or kina).
*
- * Note that this fare calculator will be called on partial trips, both in the forward and (eventually) reverse directions.
- * Adding another ride should be monotonic - the fare should either increase or stay the same.
+ * Fare calculator need not be greedy, see https://doi.org/10.1080/13658816.2019.1605075 and summary/open-access
+ * preprint at https://indicatrix.org/post/how-transit-fares-affect-accessibility/
*/
@JsonTypeInfo(use=JsonTypeInfo.Id.NAME, include=JsonTypeInfo.As.PROPERTY, property="type")
@JsonSubTypes({
@@ -26,7 +27,8 @@
@JsonSubTypes.Type(name = "bogota", value = BogotaInRoutingFareCalculator.class),
@JsonSubTypes.Type(name = "chicago", value = ChicagoInRoutingFareCalculator.class),
@JsonSubTypes.Type(name = "simple", value = SimpleInRoutingFareCalculator.class),
- @JsonSubTypes.Type(name = "bogota-mixed", value = BogotaMixedInRoutingFareCalculator.class)
+ @JsonSubTypes.Type(name = "bogota-mixed", value = BogotaMixedInRoutingFareCalculator.class),
+ @JsonSubTypes.Type(name = "nyc", value = NYCInRoutingFareCalculator.class)
})
public abstract class InRoutingFareCalculator implements Serializable {
public static final long serialVersionUID = 0L;
diff --git a/src/main/java/com/conveyal/r5/analyst/fare/ParetoServer.java b/src/main/java/com/conveyal/r5/analyst/fare/ParetoServer.java
new file mode 100644
index 00000000..dca3b84c
--- /dev/null
+++ b/src/main/java/com/conveyal/r5/analyst/fare/ParetoServer.java
@@ -0,0 +1,289 @@
+package com.conveyal.r5.analyst.fare;
+
+import com.conveyal.analysis.BackendVersion;
+import com.conveyal.r5.api.util.LegMode;
+import com.conveyal.r5.common.GeometryUtils;
+import com.conveyal.r5.common.JsonUtilities;
+import com.conveyal.r5.profile.*;
+import com.conveyal.r5.streets.StreetRouter;
+import com.conveyal.r5.streets.VertexStore;
+import com.conveyal.r5.transit.RouteInfo;
+import com.conveyal.r5.transit.TransportNetwork;
+import com.conveyal.r5.transit.TripPattern;
+import gnu.trove.iterator.TIntObjectIterator;
+import gnu.trove.map.TIntIntMap;
+import org.locationtech.jts.geom.Coordinate;
+import org.locationtech.jts.geom.CoordinateXY;
+import org.locationtech.jts.geom.LineString;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import spark.Request;
+import spark.Response;
+
+import java.io.IOException;
+import java.time.LocalDate;
+import java.time.LocalDateTime;
+import java.time.format.DateTimeFormatter;
+import java.util.*;
+import java.util.function.IntFunction;
+
+import static spark.Spark.halt;
+
+/**
+ * Server for debug tool for fare analysis - to draw pareto surface and show combinations of travel time and fare.
+ */
+public class ParetoServer {
+ public TransportNetwork transportNetwork;
+
+ private static final Logger LOG = LoggerFactory.getLogger(ParetoServer.class);
+
+ public ParetoServer (TransportNetwork transportNetwork) {
+ this.transportNetwork = transportNetwork;
+ }
+
+ public String handle (Request req, Response res) throws IOException {
+ ProfileRequest profileRequest = JsonUtilities.objectMapper.readValue(req.body(), ProfileRequest.class);
+
+ if (profileRequest.inRoutingFareCalculator != null) profileRequest.inRoutingFareCalculator.transitLayer = this.transportNetwork.transitLayer;
+
+ // now perform routing - always using McRaptor
+ LOG.info("Performing walk search for access (other access modes not supported)");
+ Map accessTimes = accessEgressSearch(profileRequest.fromLat, profileRequest.fromLon, profileRequest);
+ LOG.info("Performing walk search for egress (other access modes not supported)");
+ Map egressTimes = accessEgressSearch(profileRequest.toLat, profileRequest.toLon, profileRequest);
+
+ LOG.info("Performing multiobjective transit routing");
+ long startTime = System.currentTimeMillis();
+ profileRequest.maxTripDurationMinutes = 120; // hack
+ IntFunction listSupplier =
+ (departureTime) -> new FareDominatingList(
+ profileRequest.inRoutingFareCalculator,
+ profileRequest.maxFare,
+ // while I appreciate the use of symbolic constants, I certainly hope the number of seconds per
+ // minute does not change
+ // in fact, we have been moving in the opposite direction with leap-second smearing
+ departureTime + profileRequest.maxTripDurationMinutes * FastRaptorWorker.SECONDS_PER_MINUTE);
+ McRaptorSuboptimalPathProfileRouter mcraptor = new McRaptorSuboptimalPathProfileRouter(
+ transportNetwork,
+ profileRequest,
+ accessTimes,
+ egressTimes,
+ listSupplier,
+ null,
+ true); // no collator - route will return states at destination
+
+ mcraptor.route();
+ long totalTime = System.currentTimeMillis() - startTime;
+
+ List trips = new ArrayList<>();
+
+ for (TIntObjectIterator> it =
+ mcraptor.finalStatesByDepartureTime.iterator(); it.hasNext();) {
+ it.advance();
+
+ int departureTime = it.key();
+
+ for (McRaptorSuboptimalPathProfileRouter.McRaptorState state : it.value()) {
+ trips.add(new ParetoTrip(state, departureTime, transportNetwork));
+ }
+ }
+
+ ParetoReturn ret = new ParetoReturn(profileRequest, trips, totalTime);
+
+ res.header("Content-Type", "application/json");
+
+ return JsonUtilities.objectMapper.writeValueAsString(ret);
+ }
+
+ private Map accessEgressSearch (double fromLat, double fromLon, ProfileRequest profileRequest) {
+ LOG.info("Performing walk search for access (other access modes not supported)");
+ StreetRouter sr = new StreetRouter(transportNetwork.streetLayer);
+ sr.profileRequest = profileRequest;
+ sr.timeLimitSeconds = 20 * 60; // hardwired at 20 mins
+ sr.quantityToMinimize = StreetRouter.State.RoutingVariable.DURATION_SECONDS;
+
+ if (!sr.setOrigin(fromLat, fromLon)) {
+ halt(404, "Origin or destination not found");
+ }
+
+ sr.route();
+
+ TIntIntMap accessTimes = sr.getReachedStops(); // map from stop ID to access time
+
+ if (accessTimes.size() == 0) halt(404, "No transit near origin!");
+
+ Map ret = new HashMap<>();
+ ret.put(LegMode.WALK, accessTimes);
+ return ret;
+ }
+
+ /**
+ * Many happy returns - class to encapsulate return value.
+ */
+ public static final class ParetoReturn {
+ public final ProfileRequest request;
+ public final Collection trips;
+ public final long computeTimeMillis;
+ /** save backend version in JSON output - useful for JSON that's being pushed to fareto-examples */
+ public BackendVersion backendVersion = BackendVersion.instance;
+ public String generationTime = LocalDateTime.now().format(DateTimeFormatter.ISO_DATE_TIME);
+
+ public ParetoReturn(ProfileRequest request, Collection trips, long computeTimeMillis) {
+ this.request = request;
+ this.trips = trips;
+ this.computeTimeMillis = computeTimeMillis;
+ }
+ }
+
+ public static final class ParetoTrip {
+ public final int durationSeconds;
+ public final int departureTime;
+ public final int fare;
+ public final List legs;
+
+ public ParetoTrip (McRaptorSuboptimalPathProfileRouter.McRaptorState state, int departureTime, TransportNetwork network) {
+ this.departureTime = departureTime;
+ this.durationSeconds = state.time - departureTime;
+ this.fare = state.fare.cumulativeFarePaid;
+
+ legs = new ArrayList<>();
+
+ while (state != null) {
+ if (state.stop != -1 && (state.pattern != -1 || state.back != null)) {
+ if (state.pattern == -1) {
+ int destStopIndex = state.stop;
+ int originStopIndex = state.back.stop;
+
+ Coordinate originStopCoord = network.transitLayer.getCoordinateForStopFixed(originStopIndex);
+ Coordinate destStopCoord = network.transitLayer.getCoordinateForStopFixed(destStopIndex);
+
+ int originTime = state.back.time;
+ int destTime = state.time;
+
+ LineString geom = GeometryUtils.geometryFactory.createLineString(new Coordinate[] {
+ new Coordinate(originStopCoord.getX() / VertexStore.FIXED_FACTOR, originStopCoord.getY() / VertexStore.FIXED_FACTOR),
+ new Coordinate(destStopCoord.getX() / VertexStore.FIXED_FACTOR, destStopCoord.getY() / VertexStore.FIXED_FACTOR),
+ });
+
+ legs.add(new ParetoTransferLeg(
+ originStopCoord.getY() / VertexStore.FIXED_FACTOR,
+ originStopCoord.getX() / VertexStore.FIXED_FACTOR,
+ destStopCoord.getY() / VertexStore.FIXED_FACTOR,
+ destStopCoord.getX() / VertexStore.FIXED_FACTOR,
+ geom,
+ originTime,
+ destTime,
+ network.transitLayer.stopIdForIndex.get(originStopIndex),
+ network.transitLayer.stopNames.get(originStopIndex),
+ network.transitLayer.stopIdForIndex.get(destStopIndex),
+ network.transitLayer.stopNames.get(destStopIndex),
+ state.fare.cumulativeFarePaid,
+ state.fare.transferAllowance
+ ));
+
+ } else {
+ TripPattern pattern = network.transitLayer.tripPatterns.get(state.pattern);
+
+ int boardStopIndex = pattern.stops[state.boardStopPosition];
+ int alightStopIndex = pattern.stops[state.alightStopPosition];
+
+ Coordinate boardStopCoord = network.transitLayer.getCoordinateForStopFixed(boardStopIndex);
+ Coordinate alightStopCoord = network.transitLayer.getCoordinateForStopFixed(alightStopIndex);
+
+ List coords = new ArrayList<>();
+ List hops = pattern.getHopGeometries(network.transitLayer);
+ for (int i = state.boardStopPosition; i < state.alightStopPosition; i++) { // hop i is from stop i to i + 1, don't include last stop index
+ LineString hop = hops.get(i);
+ for (Coordinate c : hop.getCoordinates())
+ coords.add(c);
+ }
+ LineString shape = GeometryUtils.geometryFactory.createLineString(coords.toArray(new Coordinate[coords.size()]));
+
+ legs.add(new ParetoTransitLeg(network.transitLayer.routes.get(pattern.routeIndex),
+ network.transitLayer.stopIdForIndex.get(boardStopIndex), network.transitLayer.stopNames.get(boardStopIndex),
+ network.transitLayer.stopIdForIndex.get(alightStopIndex), network.transitLayer.stopNames.get(alightStopIndex),
+ state.boardTime, state.time, state.fare.cumulativeFarePaid,
+ boardStopCoord.getY() / VertexStore.FIXED_FACTOR,
+ boardStopCoord.getX() / VertexStore.FIXED_FACTOR,
+ alightStopCoord.getY() / VertexStore.FIXED_FACTOR,
+ alightStopCoord.getX() / VertexStore.FIXED_FACTOR, shape, state.fare.transferAllowance));
+ }
+
+
+ }
+ state = state.back;
+ }
+
+ Collections.reverse(legs);
+ }
+
+ }
+
+ public static final class ParetoTransitLeg extends ParetoLeg {
+ public final RouteInfo route;
+
+ public ParetoTransitLeg(RouteInfo route, String boardStopId, String boardStopName, String alightStopId, String alightStopName,
+ int boardTime, int alightTime, int cumulativeFare, double boardStopLat, double boardStopLon,
+ double alightStopLat, double alightStopLon, LineString geom, TransferAllowance transferAllowance) {
+ super(boardStopLat, boardStopLon, alightStopLat, alightStopLon, geom, boardTime, alightTime,
+ boardStopId, boardStopName, alightStopId, alightStopName, cumulativeFare, transferAllowance);
+ this.route = route;
+ }
+
+ @Override public String getType() {
+ return "transit";
+ }
+ }
+
+ public static final class ParetoTransferLeg extends ParetoLeg {
+ public ParetoTransferLeg(double originLat, double originLon, double destLat,
+ double destLon, LineString geom, int originTime, int destTime,
+ String originStopId, String originStopName, String destStopId, String destStopName,
+ int cumulativeFare, TransferAllowance transferAllowance) {
+ super(originLat, originLon, destLat, destLon, geom, originTime, destTime,
+ originStopId, originStopName, destStopId, destStopName, cumulativeFare,
+ transferAllowance);
+ }
+
+ @Override public String getType() {
+ return "transfer";
+ }
+ }
+
+ public static abstract class ParetoLeg {
+ public final double originLat;
+ public final double originLon;
+ public final double destLat;
+ public final double destLon;
+ public final LineString geom;
+ public final int originTime;
+ public final int destTime;
+ public final String originStopId;
+ public final String originStopName;
+ public final String destStopId;
+ public final String destStopName;
+ public final int cumulativeFare;
+ public final TransferAllowance transferAllowance;
+
+ protected ParetoLeg(double originLat, double originLon, double destLat, double destLon,
+ LineString geom, int originTime, int destTime, String originStopId,
+ String originStopName, String destStopId, String destStopName, int cumulativeFare,
+ TransferAllowance transferAllowance) {
+ this.originLat = originLat;
+ this.originLon = originLon;
+ this.destLat = destLat;
+ this.destLon = destLon;
+ this.geom = geom;
+ this.originTime = originTime;
+ this.destTime = destTime;
+ this.originStopId = originStopId;
+ this.originStopName = originStopName;
+ this.destStopId = destStopId;
+ this.destStopName = destStopName;
+ this.cumulativeFare = cumulativeFare;
+ this.transferAllowance = transferAllowance;
+ }
+
+ public abstract String getType();
+ }
+}
diff --git a/src/main/java/com/conveyal/r5/analyst/fare/nyc/LIRRStop.java b/src/main/java/com/conveyal/r5/analyst/fare/nyc/LIRRStop.java
new file mode 100644
index 00000000..3ec4a053
--- /dev/null
+++ b/src/main/java/com/conveyal/r5/analyst/fare/nyc/LIRRStop.java
@@ -0,0 +1,130 @@
+package com.conveyal.r5.analyst.fare.nyc;
+
+/**
+ * All LIRR stops from the current GTFS (Dec 2019). Used to make efficient comparisons in LIRRTranferAllowance.
+ */
+public enum LIRRStop {
+ LIRR237,
+ LIRR241,
+ LIRR73,
+ LIRR74,
+ LIRR76,
+ LIRR77,
+ LIRR78,
+ LIRR83,
+ LIRR84,
+ LIRR85,
+ LIRR89,
+ LIRR90,
+ LIRR91,
+ LIRR92,
+ LIRR94,
+ LIRR99,
+ LIRR100,
+ LIRR101,
+ LIRR102,
+ LIRR107,
+ LIRR111,
+ LIRR113,
+ LIRR114,
+ LIRR117,
+ LIRR118,
+ LIRR119,
+ LIRR120,
+ LIRR122,
+ LIRR123,
+ LIRR124,
+ LIRR125,
+ LIRR126,
+ LIRR127,
+ LIRR129,
+ LIRR130,
+ LIRR131,
+ LIRR132,
+ LIRR135,
+ LIRR136,
+ LIRR140,
+ LIRR141,
+ LIRR142,
+ LIRR148,
+ LIRR149,
+ LIRR152,
+ LIRR153,
+ LIRR154,
+ LIRR155,
+ LIRR157,
+ LIRR162,
+ LIRR163,
+ LIRR164,
+ LIRR165,
+ LIRR171,
+ LIRR175,
+ LIRR176,
+ LIRR179,
+ LIRR180,
+ LIRR182,
+ LIRR183,
+ LIRR184,
+ LIRR185,
+ LIRR187,
+ LIRR190,
+ LIRR191,
+ LIRR193,
+ LIRR195,
+ LIRR198,
+ LIRR202,
+ LIRR204,
+ LIRR205,
+ LIRR211,
+ LIRR213,
+ LIRR214,
+ LIRR215,
+ LIRR216,
+ LIRR217,
+ LIRR219,
+ LIRR220,
+ LIRR223,
+ LIRR225,
+ LIRR226,
+ LIRR1,
+ LIRR2,
+ LIRR4,
+ LIRR8,
+ LIRR11,
+ LIRR13,
+ LIRR14,
+ LIRR16,
+ LIRR20,
+ LIRR21,
+ LIRR23,
+ LIRR25,
+ LIRR26,
+ LIRR27,
+ LIRR29,
+ LIRR31,
+ LIRR32,
+ LIRR33,
+ LIRR36,
+ LIRR38,
+ LIRR39,
+ LIRR40,
+ LIRR42,
+ LIRR44,
+ LIRR48,
+ LIRR50,
+ LIRR51,
+ LIRR52,
+ LIRR55,
+ LIRR56,
+ LIRR59,
+ LIRR63,
+ LIRR64,
+ LIRR65,
+ LIRR66,
+ LIRR67,
+ LIRR68,
+ LIRR71,
+ LIRR72,
+ LIRR233,
+ LIRR_ELMHURST
+}
diff --git a/src/main/java/com/conveyal/r5/analyst/fare/nyc/LIRRTransferAllowance.java b/src/main/java/com/conveyal/r5/analyst/fare/nyc/LIRRTransferAllowance.java
new file mode 100644
index 00000000..ecfc0474
--- /dev/null
+++ b/src/main/java/com/conveyal/r5/analyst/fare/nyc/LIRRTransferAllowance.java
@@ -0,0 +1,519 @@
+package com.conveyal.r5.analyst.fare.nyc;
+
+import com.conveyal.r5.analyst.fare.TransferAllowance;
+import com.conveyal.r5.profile.McRaptorSuboptimalPathProfileRouter;
+import com.csvreader.CsvReader;
+import com.google.common.annotations.VisibleForTesting;
+import com.google.common.collect.HashMultimap;
+import com.google.common.collect.Lists;
+import com.google.common.collect.Multimap;
+import gnu.trove.iterator.TIntIterator;
+import gnu.trove.iterator.TObjectIntIterator;
+import gnu.trove.list.TIntList;
+import gnu.trove.map.TIntIntMap;
+import gnu.trove.map.TIntObjectMap;
+import gnu.trove.map.TObjectDoubleMap;
+import gnu.trove.map.TObjectIntMap;
+import gnu.trove.map.hash.TIntIntHashMap;
+import gnu.trove.map.hash.TIntObjectHashMap;
+import gnu.trove.map.hash.TObjectDoubleHashMap;
+import gnu.trove.map.hash.TObjectIntHashMap;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import java.io.IOException;
+import java.io.InputStream;
+import java.nio.charset.Charset;
+import java.util.*;
+
+/**
+ * Calculates fares for and represents transfer allowances on the MTA Long Island Rail Road. One nice thing is that the LIRR is a small
+ * network, so we can be kinda lazy with how many journey prefixes get eliminated - we only consider journey prefixes
+ * comparable under the more strict domination rules (Theorem 3.2 in the paper at https://files.indicatrix.org/Conway-Stewart-2019-Charlie-Fare-Constraints.pdf)
+ * if they boarded at the same stop, alighted at the same stop, used the same stop to transfer from inbound to outbound
+ * (if there was an opposite-direction transfer), and used the same combination of peak/offpeak services.
+ *
+ * LIRR fares are really complicated, because of complex and undocumented transfer rules. The fare chart is available at
+ * http://web.mta.info/lirr/about/TicketInfo/Fares.htm, but it does not include anything about fares where you have to ride
+ * inbound and then outbound (for instance, based on the fare chart, Montauk to Greenport on the eastern end of Long
+ * Island are both in Zone 14, and thus should be a $3.25 fare, but to get between them, you have to ride at least to
+ * Bethpage (Zone 7). So there must be a more expensive fare, because otherwise anyone who was going from Montauk to Babylon,
+ * say, would just say they were planning to transfer and go back outbound.
+ *
+ * LIRR deals with this situation by specifying via fares. They have no documentation on these that I can find, so I
+ * scraped them from their fare calculator at lirr42.mta.info. For the Montauk to Greenport trip described above, for
+ * example, the fare calculator returns that a trip via Jamaica is 31.75 (offpeak), and a trip via Hicksville is 28.00
+ * (offpeak). This is still ambiguous - what if you make a trip from Montauk to Greenport but change at Bethpage instead
+ * of Hicksville? We are assuming that in this case, you would be able to use the via fare for Hicksville.
+ *
+ * If there is a
+ * via fare for a station specified, we assume that it can also be used for any station closer to the origin/destination
+ * than the via station. We define closer as being that that station is reachable from the via station via only outbound
+ * trains in the common Inbound-Outbound transfer case, and reachable via only inbound trains in the rare Outbound-Inbound
+ * case. If there is no via fare specified, we use two one-way tickets. (The second ticket may be a via fare if there is
+ * another opposite direction transfer, for instance Hicksville to Oceanside via Babylon and Lynbrook, but otherwise we
+ * use via fares greedily. For an A-B-C-D trip, if there is a via fare from A to C via B, we will buy an ABC and a CD fare
+ * even if AB and BCD would be cheaper.)
+ *
+ * This is further complicated by the fact that there are other transfers that are not via transfers. For example, to
+ * travel from Atlantic Terminal to Ronkonkoma on LIRR train 2000, you must change at Jamaica. We thus assume that you
+ * can change between any two trains anywhere and as long as you continue to travel in the same direction, it is treated
+ * as a single ride for fare calculation purposes.
+ *
+ * @author mattwigway
+ */
+public class LIRRTransferAllowance extends TransferAllowance {
+ private static final Logger LOG = LoggerFactory.getLogger(LIRRTransferAllowance.class);
+ private static final TIntObjectMap peakDirectFares = new TIntObjectHashMap<>();
+ private static final TIntObjectMap offpeakDirectFares = new TIntObjectHashMap<>();
+
+ /** Map from fromStop, toStop, viaStop to fare. Via is last because we allow trips with unmatched via stop to match to other via stop */
+ private static final Map>> peakViaFares = new HashMap<>();
+ private static final Map>> offpeakViaFares = new HashMap<>();
+
+ /** map from stop to fare zone */
+ private static final TObjectIntMap fareZoneForStop = new TObjectIntHashMap<>();
+
+ private static int maxLirrFareTemp = 0;
+
+ /** the maximum fare to travel anywhere in the LIRR system */
+ public static final int MAX_LIRR_FARE;
+
+ /** if a stop pair is present in this set, the second stop can be reached by only inbound trains from the first stop */
+ @VisibleForTesting
+ static final Multimap inboundDownstreamStops = HashMultimap.create();
+
+ /** if a stop pair is present in this set, the second stop can be reached by only outbound trains from the first stop */
+ @VisibleForTesting
+ static final Multimap outboundDownstreamStops = HashMultimap.create();
+
+ static {
+ loadDirectFares();
+ loadViaFares();
+ loadZones();
+ loadDownstream();
+ MAX_LIRR_FARE = maxLirrFareTemp;
+ }
+
+ /** Fare for the LIRR so far on this journey */
+ public final int cumulativeFare;
+
+ /** The boarding stop of the most recently purchased LIRR ticket */
+ public final LIRRStop boardStop;
+
+ /** The transfer stop where the user changed direction */
+ public final LIRRStop viaStop;
+
+ /** Where the user alighted */
+ public final LIRRStop alightStop;
+
+ /** What direction the user started out traveling in */
+ public final LIRRDirection initialDirection;
+
+ /** Was a peak train ridden before any opposite-direction transfer */
+ public final boolean peakBeforeDirectionChange;
+
+ /** Was a peak train ridden after any opposite-direction transfer, always false if there was no direction change */
+ public final boolean peakAfterDirectionChange;
+
+ /** What time was the last LIRR ticket purchased? */
+ public final int mostRecentTicketPurchaseTime;
+
+ /** backreference so we can refer to scenario fare modifications */
+ private final NYCInRoutingFareCalculator fareCalculator;
+
+ /**
+ * Compute an LIRR fare. Currently assumes that if any journey in the sequence is a peak journey, the peak fare will
+ * be charged for the entire journey. It might be possible to get a cheaper fare by combining an off-peak and peak fare
+ * purchased separately, but I am assuming that people don't do this. Due to the separate consideration of peak and off-peak
+ * transfer allowances described above, this should not cause algorithmic difficulties.
+ *
+ * @param boardStops
+ * @param alightStops
+ * @param directions
+ * @param peak
+ */
+ public LIRRTransferAllowance (List boardStops, List alightStops, List directions,
+ TIntList boardTimes, BitSet peak, NYCInRoutingFareCalculator fareCalculator) {
+ if (boardStops.size() == 0) {
+ throw new IllegalArgumentException("Empty LIRR stop list!");
+ }
+
+ this.fareCalculator = fareCalculator;
+
+ // main fare calculation loop
+ int fareFromPreviousTickets = 0; // some complex LIRR journeys require multiple tickets
+ int cumulativeFareThisTicket = 0;
+ LIRRStop initialStop = boardStops.get(0); // source stop of current LIRR *ticket*
+ LIRRDirection initialDirection = directions.get(0); // source direction of current LIRR *ticket*
+ boolean thisTicketPeak = false; // has a peak train been used on this LIRR *ticket*
+ boolean thisDirectionPeak = false; // has a peak train been used in this direction on this ticket (used when there is no via fare, to get cumulative fares)
+ boolean lastDirectionPeak = false;
+ int nDirectionChanges = 0;
+ int timeAtInitialStop = boardTimes.get(0);
+ int timeAtViaStop = 0;
+ LIRRStop viaStop = null; // via stop of current LIRR *ticket*
+
+ for (int i = 0; i < boardStops.size(); i++) {
+ LIRRStop boardStop = boardStops.get(i);
+ LIRRStop alightStop = alightStops.get(i);
+ LIRRDirection direction = directions.get(i);
+
+ if (direction.equals(initialDirection) && nDirectionChanges == 0) {
+ // assuming you can change to another train in the same direction as if you never got off
+ thisDirectionPeak |= peak.get(i);
+ thisTicketPeak |= peak.get(i);
+ cumulativeFareThisTicket = getDirectFare(initialStop, alightStop, thisTicketPeak);
+ } else {
+ // this can only happen on the second or more ride of a ticket
+ if (!directions.get(i).equals(directions.get(i - 1))) {
+ // we changed direction since the last ride, not continuing a ride in opposite direction
+ nDirectionChanges++;
+
+ if ((nDirectionChanges == 1) && (boardStop.equals(alightStops.get(i - 1)))) {
+ // we are on the second direction. continue with current ticket, unless we have left the system.
+ viaStop = boardStop;
+ timeAtViaStop = boardTimes.get(i);
+ lastDirectionPeak = thisDirectionPeak;
+ thisDirectionPeak = peak.get(i);
+ } else {
+ // time to buy a new ticket
+ fareFromPreviousTickets += cumulativeFareThisTicket; // left over from last iteration
+ thisTicketPeak = peak.get(i);
+ thisDirectionPeak = peak.get(i);
+ lastDirectionPeak = false;
+ initialStop = boardStop;
+ viaStop = null;
+ nDirectionChanges = 0;
+ initialDirection = direction;
+ timeAtInitialStop = boardTimes.get(i);
+
+ // not += as this is just the fare for _this_ ticket, which is a new ticket
+ cumulativeFareThisTicket = getDirectFare(initialStop, alightStop, thisTicketPeak);
+ continue; // move to next ride
+ }
+ }
+
+ // continue the second ride after changing direction
+ // couldn't set these until all changing direction was done
+ thisDirectionPeak |= peak.get(i);
+ thisTicketPeak |= peak.get(i);
+
+ // continue ride in this direction
+ // try getting the via fare
+ if (viaStop == null) {
+ throw new NullPointerException("Via stop is null");
+ }
+
+ try {
+ cumulativeFareThisTicket = getViaFare(initialStop, alightStop, viaStop, lastDirectionPeak,
+ thisDirectionPeak, initialDirection);
+ } catch (NoMatchingViaFareException e) {
+ // buy a new ticket for the second part of this ride
+ // it is important to do this, rather than just calculate a quasi-via fare as the sum of the two
+ // non-via fares, so that you can get a discounted transfer on the second ticket.
+ // For instance, Hicksville to Oceanside by way of Babylon and Lynbrook might be cheapest using a
+ // one-way ticket from Hicksville to Babylon, then a via fare from Babylon to Oceanside via Lynbrook.
+ // While we generally assume greedy purchasing because otherwise the algorithm becomes really difficult,
+ // if the first ride requires a separate ticket, there's no reason to force no transfer after the second.
+ fareFromPreviousTickets += getDirectFare(initialStop, viaStop, lastDirectionPeak);
+ thisTicketPeak = thisDirectionPeak;
+ // thisDirectionPeak is unchanged
+ lastDirectionPeak = false; // reset
+ initialStop = viaStop;
+ viaStop = null;
+ nDirectionChanges = 0;
+ initialDirection = direction;
+ cumulativeFareThisTicket = getDirectFare(viaStop, alightStop, thisDirectionPeak);
+ timeAtInitialStop = timeAtViaStop;
+ }
+ }
+ }
+
+ this.boardStop = initialStop; // for this ticket
+ this.viaStop = viaStop;
+ this.initialDirection = initialDirection;
+ this.alightStop = alightStops.get(alightStops.size() - 1);
+ this.peakBeforeDirectionChange = (viaStop == null ? thisDirectionPeak : lastDirectionPeak);
+ this.peakAfterDirectionChange = (viaStop == null ? false : thisDirectionPeak); // always set to false when there has been no direction change
+ this.cumulativeFare = fareFromPreviousTickets + cumulativeFareThisTicket;
+ this.mostRecentTicketPurchaseTime = timeAtInitialStop;
+
+ if (this.cumulativeFare == 0) {
+ LOG.warn("Cumulative fare for LIRR is zero!");
+ }
+ }
+
+ /** Get a direct fare, with error handling */
+ public int getDirectFare (LIRRStop fromStop, LIRRStop toStop, boolean peak) {
+ Map> overrides =
+ peak ? fareCalculator.lirrPeakDirectFareOverrides : fareCalculator.lirrOffPeakDirectFareOverrides;
+
+ // first check for a manual override to the fare
+ if (overrides.containsKey(fromStop) && overrides.get(fromStop).containsKey(toStop)) {
+ return overrides.get(fromStop).get(toStop);
+ }
+
+ // otherwise, compute a zonal fare
+ int fromZone = fareZoneForStop.get(fromStop);
+ int toZone = fareZoneForStop.get(toStop);
+ int fare = (peak ? peakDirectFares : offpeakDirectFares).get(fromZone).get(toZone);
+
+ if (fare == 0) throw new IllegalArgumentException("fare zones not found!");
+
+ return fare;
+ }
+
+ /** Get fare for a trip that changed from inbound to outbound or vice versa */
+ public int getViaFare (LIRRStop fromStop, LIRRStop toStop, LIRRStop viaStop, boolean lastDirectionPeak,
+ boolean thisDirectionPeak, LIRRDirection initialDirection) throws NoMatchingViaFareException {
+ Map>> stockViaFares =
+ (lastDirectionPeak || thisDirectionPeak) ? peakViaFares : offpeakViaFares;
+
+ Map>> overrideFares =
+ (lastDirectionPeak || thisDirectionPeak) ? fareCalculator.lirrPeakViaFareOverrides : fareCalculator.lirrOffPeakViaFareOverrides;
+
+ int twoTicketFare = getDirectFare(fromStop, viaStop, lastDirectionPeak) +
+ getDirectFare(viaStop, toStop, thisDirectionPeak);
+
+ boolean found = false;
+ int viaFare = 0;
+
+ // The full loop is run twice, once with override fares, and once with stock fares.
+ // The reason to do this is that we want to find _any_ matching fare from fare overrides, even if via stop
+ // does not match exactly, before we resort to stock fares. So if you override fares from Jamaica to Port Washington
+ // via Penn Station, that fare should also apply to Jamaica to Port Washington via Woodside, unless a cheaper
+ // fare can be found that still applies.
+ for (Map>> viaFares : Lists
+ .newArrayList(overrideFares, stockViaFares)) {
+ if (viaFares.containsKey(fromStop) && viaFares.get(fromStop).containsKey(toStop)) {
+ TObjectIntMap viaFaresForOriginDestination = viaFares.get(fromStop).get(toStop);
+
+ if (viaFaresForOriginDestination.containsKey(viaStop)) {
+ // ah, good, there is a fare for exactly this ride
+ viaFare = viaFaresForOriginDestination.get(viaStop);
+ found = true;
+ } else {
+ // allow via fares to be used even when not transferring at specific locations. Use the cheapest via
+ // fare that transfers at a stop "upstream" of the stop.
+ viaFare = Integer.MAX_VALUE;
+
+ for (TObjectIntIterator fareIterator = viaFaresForOriginDestination
+ .iterator(); fareIterator.hasNext(); ) {
+ fareIterator.advance();
+
+ LIRRStop fareViaStop = fareIterator.key();
+
+ Multimap downstreamStops;
+ if (initialDirection == LIRRDirection.INBOUND) {
+ // not backwards - we can apply the via fare for transfers at any stop that is "outbound of"
+ // the specified via stop, when we started inbound.
+ downstreamStops = outboundDownstreamStops;
+ } else if (initialDirection == LIRRDirection.OUTBOUND) {
+ downstreamStops = inboundDownstreamStops;
+ } else {
+ throw new IllegalArgumentException("Impossible direction for LIRR");
+ }
+
+ if (downstreamStops.containsEntry(fareViaStop, viaStop)) {
+ // this via fare can be applies to this viaStop, get cheapest
+ viaFare = Math.min(fareIterator.value(), viaFare);
+ found = true;
+ }
+ }
+ }
+ }
+
+ if (found) break; // don't fall through to stock fares if we found the stop in the override fares
+ }
+
+ if (!found) throw new NoMatchingViaFareException();
+
+ if (twoTicketFare < viaFare) {
+ LOG.warn("Travel from {} to {} via {} is cheaper by buying two tickets than using via fare",
+ fromStop, toStop, viaStop);
+ throw new NoMatchingViaFareException(); // force new ticket purchase
+ }
+
+ if (viaFare == 0) {
+ throw new InternalError("LIRR via fare is zero!"); // sanity check, should not be possible
+ }
+
+ return viaFare;
+ }
+
+ /**
+ * Does this provide as good as or better than transfers to all future services?
+ * Rather than actually figure this out, just treat only LIRR tickets that boarded at the same place, transferred at the same place,
+ * alighted at the same place started in the same direction, used the same combo of peak and off-peak services as comparable.
+ * Since the LIRR is a small network, and we clear LIRR transfers as soon as you leave the LIRR system, this should be tractable.
+ * @param otherAllowance
+ * @return
+ */
+ @Override
+ public boolean atLeastAsGoodForAllFutureRedemptions (TransferAllowance otherAllowance) {
+ LIRRTransferAllowance other = (LIRRTransferAllowance) otherAllowance;
+ // it could be preferable to not have an LIRR transfer allowance, see note about Metro-North in NYCTransferAllowance.
+ if (other == null) return false;
+ else return (boardStop.equals(other.boardStop)) &&
+ (viaStop == other.viaStop) && // okay to use == on enum constants, and neatly handles nulls
+ (initialDirection.equals(other.initialDirection)) &&
+ (peakBeforeDirectionChange == other.peakBeforeDirectionChange) &&
+ (peakAfterDirectionChange == other.peakAfterDirectionChange);
+ // no need to compare cumulative fare here, that's done separately -- and in fact we wouldn't want to
+ // b/c it might throw out an LIRR journey in favor of a more expensive overall journey that doesn't use the LIRR as much.
+ }
+
+ /**
+ * Again, producing a weak upper bound for simplicity, and given the small size of the LIRR network it should be
+ * tractable. We know the max transfer allowance can't be any more than if you were to just buy the most expensive new ticket.
+ * Since we clear LIRR transfer allowances as soon as you egress from an LIRR station, this should not cause tractability issues.
+ * NB we are no longer using maximum transfer allowances in the algorithm.
+ */
+
+ public int getMaxTransferAllowance () {
+ return MAX_LIRR_FARE;
+ }
+
+
+ /**
+ * Load LIRR fare information from classpath.
+ */
+ private static void loadDirectFares () {
+ InputStream is = null;
+ try {
+ is = LIRRTransferAllowance.class.getClassLoader().getResourceAsStream("fares/nyc/lirr/lirr_zonal_fares.csv");
+ CsvReader rdr = new CsvReader(is, ',', Charset.forName("UTF-8"));
+ rdr.readHeaders();
+ while (rdr.readRecord()) {
+ int fromZone = Integer.parseInt(rdr.get("from_zone"));
+ int toZone = Integer.parseInt(rdr.get("to_zone"));
+ int fare = Integer.parseInt(rdr.get("amount"));
+ maxLirrFareTemp = Math.max(maxLirrFareTemp, fare);
+ if (rdr.get("peak").equals("True")) {
+ if (!peakDirectFares.containsKey(fromZone)) peakDirectFares.put(fromZone, new TIntIntHashMap());
+ peakDirectFares.get(fromZone).put(toZone, fare);
+ } else {
+ if (!offpeakDirectFares.containsKey(fromZone)) offpeakDirectFares.put(fromZone, new TIntIntHashMap());
+ offpeakDirectFares.get(fromZone).put(toZone, fare);
+ }
+ }
+ } catch (IOException e) {
+ LOG.error("IO Exception reading LIRR Direct Fares CSV", e);
+ } finally {
+ try {
+ is.close();
+ } catch (IOException e) {
+ LOG.error("IO Exception closing LIRR Direct Fares CSV", e);
+ }
+ }
+ }
+
+ private static void loadViaFares () {
+ InputStream is = null;
+ try {
+ is = LIRRTransferAllowance.class.getClassLoader().getResourceAsStream("fares/nyc/lirr/via_fares.csv");
+ CsvReader rdr = new CsvReader(is, ',', Charset.forName("UTF-8"));
+ rdr.readHeaders();
+ while (rdr.readRecord()) {
+ LIRRStop fromStop = LIRRStop.valueOf(rdr.get("from_stop_id").toUpperCase(Locale.US));
+ LIRRStop toStop = LIRRStop.valueOf(rdr.get("to_stop_id").toUpperCase(Locale.US));
+ LIRRStop viaStop = LIRRStop.valueOf(rdr.get("via_stop_id").toUpperCase(Locale.US));
+
+ int fare = Integer.parseInt(rdr.get("amount"));
+ maxLirrFareTemp = Math.max(maxLirrFareTemp, fare);
+
+ if (rdr.get("peak").equals("True")) {
+ peakViaFares.computeIfAbsent(fromStop, k -> new HashMap<>()).computeIfAbsent(toStop, k -> new TObjectIntHashMap<>()).put(viaStop, fare);
+ } else {
+ offpeakViaFares.computeIfAbsent(fromStop, k -> new HashMap<>()).computeIfAbsent(toStop, k -> new TObjectIntHashMap<>()).put(viaStop, fare);
+ }
+ }
+ } catch (IOException e) {
+ LOG.error("IO Exception reading LIRR Via Fares CSV", e);
+ } finally {
+ try {
+ is.close();
+ } catch (IOException e) {
+ LOG.error("IO Exception closing LIRR Via Fares CSV", e);
+ }
+ }
+ }
+
+ /** Create the stop to fare zone mapping */
+ private static void loadZones () {
+ InputStream is = null;
+ try {
+ is = LIRRTransferAllowance.class.getClassLoader().getResourceAsStream("fares/nyc/lirr/lirr_stops_fare_zones.csv");
+ CsvReader rdr = new CsvReader(is, ',', Charset.forName("UTF-8"));
+ rdr.readHeaders();
+ while (rdr.readRecord()) {
+ String stopId = rdr.get("stop_id").toUpperCase(Locale.US);
+ LIRRStop stop = null;
+ try {
+ stop = LIRRStop.valueOf(stopId);
+ } catch (IllegalArgumentException e) {
+ LOG.warn("LIRR stop {} from fare zones CSV not found (possibly a holiday-only stop)", stopId);
+ }
+ int fareZone = Integer.parseInt(rdr.get("fare_area"));
+ fareZoneForStop.put(stop, fareZone);
+ }
+ } catch (IOException e) {
+ LOG.error("IO Exception reading LIRR Via Fares CSV", e);
+ } finally {
+ try {
+ is.close();
+ } catch (IOException e) {
+ LOG.error("IO Exception closing LIRR Via Fares CSV", e);
+ }
+ }
+ }
+
+ private static void loadDownstream () {
+ InputStream is = null;
+ try {
+ is = LIRRTransferAllowance.class.getClassLoader().getResourceAsStream("fares/nyc/lirr/descendants.csv");
+ CsvReader rdr = new CsvReader(is, ',', Charset.forName("UTF-8"));
+ rdr.readHeaders();
+ while (rdr.readRecord()) {
+ LIRRStop fromStop = LIRRStop.valueOf(rdr.get("stop_id").toUpperCase(Locale.US));
+ for (int i = 1; i < rdr.getHeaderCount(); i++) {
+ LIRRStop toStop = LIRRStop.valueOf(rdr.getHeader(i).toUpperCase(Locale.US));
+ String val = rdr.get(i);
+ if (val.equals("I")) {
+ inboundDownstreamStops.put(fromStop, toStop);
+ } else if (val.equals("O")) {
+ outboundDownstreamStops.put(fromStop, toStop);
+ }
+ }
+ }
+ } catch (IOException e) {
+ LOG.error("IO Exception reading LIRR Direct Fares CSV", e);
+ } finally {
+ try {
+ is.close();
+ } catch (IOException e) {
+ LOG.error("IO Exception closing LIRR Direct Fares CSV", e);
+ }
+ }
+ }
+
+ private static final class NoMatchingViaFareException extends Exception {
+
+ }
+
+ public static enum LIRRDirection {
+ OUTBOUND, INBOUND;
+
+ public static LIRRDirection forGtfsDirection (int dir) {
+ switch (dir) {
+ case 0:
+ return OUTBOUND;
+ case 1:
+ return INBOUND;
+ default:
+ throw new IllegalArgumentException("Direction must be 0/1");
+ }
+ }
+ }
+}
diff --git a/src/main/java/com/conveyal/r5/analyst/fare/nyc/NYCFareDataCache.java b/src/main/java/com/conveyal/r5/analyst/fare/nyc/NYCFareDataCache.java
new file mode 100644
index 00000000..19c4cc43
--- /dev/null
+++ b/src/main/java/com/conveyal/r5/analyst/fare/nyc/NYCFareDataCache.java
@@ -0,0 +1,217 @@
+package com.conveyal.r5.analyst.fare.nyc;
+
+import com.conveyal.r5.transit.TransitLayer;
+import com.conveyal.r5.transit.TripPattern;
+import gnu.trove.iterator.TObjectIntIterator;
+import gnu.trove.map.TIntIntMap;
+import gnu.trove.map.TIntObjectMap;
+import gnu.trove.map.TObjectIntMap;
+import gnu.trove.map.hash.TIntIntHashMap;
+import gnu.trove.map.hash.TIntObjectHashMap;
+import gnu.trove.map.hash.TObjectIntHashMap;
+import gnu.trove.set.TIntSet;
+import gnu.trove.set.hash.TIntHashSet;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import java.util.Locale;
+
+/** An NYCFareDataCache contains fare data specific to NYC, for a specific transitlayer */
+public final class NYCFareDataCache {
+ private static final Logger LOG = LoggerFactory.getLogger(NYCFareDataCache.class);
+
+ public final TIntObjectMap lirrStopForTransitLayerStop = new TIntObjectHashMap<>();
+ public final TObjectIntMap transitLayerStopForMnrStop = new TObjectIntHashMap<>();
+ public final TIntSet peakLirrPatterns = new TIntHashSet();
+ public final TIntSet allLirrPatterns = new TIntHashSet();
+ public NYCPatternType[] patternTypeForPattern;
+ /** St George and Tompkinsville stops where fare is paid on Staten Island Rwy */
+ public final TIntSet statenIslandRwyFareStops = new TIntHashSet();
+
+ /** Similar to SIR, Howard Beach and Jamaica stations charge a fare for entering or exiting JFK Airtrain */
+ public final TIntSet airtrainJfkFareStops = new TIntHashSet();
+
+ /** map from stop indices to (interned) fare areas for use in calculating free subway transfers */
+ public final TIntObjectMap fareAreaForStop = new TIntObjectHashMap<>();
+
+ /** Metro-North peak fares, map from from stop -> to stop -> fare */
+ public final TIntObjectMap mnrPeakFares = new TIntObjectHashMap<>();
+
+ /** Metro-North peak fares, map from from stop -> to stop -> fare */
+ public final TIntObjectMap mnrOffpeakFares = new TIntObjectHashMap<>();
+
+ /** Since there are no free transfers betwen lines on Metro-North, keep track of which line
+ * we're on.
+ */
+ public final TIntObjectMap mnrLineForPattern = new TIntObjectHashMap<>();
+
+
+ public NYCFareDataCache(TransitLayer transitLayer) {
+ patternTypeForPattern = new NYCPatternType[transitLayer.tripPatterns.size()];
+
+ for (int i = 0; i < transitLayer.stopIdForIndex.size(); i++) {
+ // slow but only happens during initialization
+ String prefixedStopId = transitLayer.stopIdForIndex.get(i);
+ if (prefixedStopId != null) { // can be null if stop is added by scenario
+ String stopId = prefixedStopId.split(":", 2)[1]; // get rid of feed id
+ if (stopId.startsWith("lirr")) {
+ lirrStopForTransitLayerStop.put(i, LIRRStop.valueOf(stopId.toUpperCase(Locale.US)));
+ } else if (NYCStaticFareData.subwayTransfers.containsKey(stopId)) {
+ fareAreaForStop.put(i, NYCStaticFareData.subwayTransfers.get(stopId));
+ } else if (stopId.startsWith("mnr")) {
+ transitLayerStopForMnrStop.put(stopId.substring(4), i); // get rid of mnr_ prefix
+ } else if (NYCStaticFareData.statenIslandRwyFareStops.contains(stopId)) {
+ statenIslandRwyFareStops.add(i);
+ } else if (NYCStaticFareData.airtrainJfkFareStops.contains(stopId)) {
+ airtrainJfkFareStops.add(i);
+ }
+ } else {
+ LOG.warn("Stop {} has no stop ID. If this is a stop from a modification, this is harmless; otherwise, you should look into it.", i);
+ }
+ }
+
+ if (airtrainJfkFareStops.size() != 2) {
+ throw new IllegalStateException("Did not find two AirTrain JFK fare stops! (data version mismatch?)");
+ }
+
+ // six because one for each platform and one parent at Tottenville and St George
+ if (statenIslandRwyFareStops.size() != 6) {
+ throw new IllegalStateException("Did not find six Staten Island Rwy fare stops! (data version mismatch?)");
+ }
+
+ for (int i = 0; i < transitLayer.tripPatterns.size(); i++) {
+ TripPattern pat = transitLayer.tripPatterns.get(i);
+
+ // routeId is feed-scoped (feedId:routeId) for routes in the baseline GTFS, and not feed scoped (just
+ // a UUID routeId) for routes added by modification.
+ String [] patternRouteId = pat.routeId.split(":", 2);
+ String routeId = patternRouteId.length > 1 ? patternRouteId[1] : patternRouteId[0];
+
+ int routeType = transitLayer.routes.get(pat.routeIndex).route_type;
+ if (routeId.startsWith("lirr")) {
+ allLirrPatterns.add(i);
+ if (!pat.routeId.endsWith("offpeak")) {
+ peakLirrPatterns.add(i);
+ patternTypeForPattern[i] = NYCPatternType.LIRR_PEAK;
+ } else {
+ patternTypeForPattern[i] = NYCPatternType.LIRR_OFFPEAK;
+ }
+ } else if (routeId.startsWith("mnr")) {
+ if (routeId.endsWith("offpeak")) patternTypeForPattern[i] = NYCPatternType.METRO_NORTH_OFFPEAK;
+ else patternTypeForPattern[i] = NYCPatternType.METRO_NORTH_PEAK;
+
+ // figure out what line it's on
+ String routeLongName = transitLayer.routes.get(pat.routeIndex).route_long_name;
+
+ if (routeLongName.equals("Harlem")) mnrLineForPattern.put(i, NYCInRoutingFareCalculator.MetroNorthLine.HARLEM);
+ else if (routeLongName.equals("Hudson")) mnrLineForPattern.put(i, NYCInRoutingFareCalculator.MetroNorthLine.HUDSON);
+ // New Haven line has many branches
+ else if (routeLongName.equals("New Haven") || routeLongName.equals("New Canaan") ||
+ routeLongName.equals("Waterbury") || routeLongName.equals("Danbury") ||
+ routeLongName.equals("MNR Shore Line East")) mnrLineForPattern.put(i, NYCInRoutingFareCalculator.MetroNorthLine.NEW_HAVEN);
+ else throw new IllegalStateException("Unrecognized Metro-North route_long_name " + routeLongName);
+ } else if (routeId.startsWith("bus")) {
+ // Figure out if it's a local bus or an express bus
+ String[] split = routeId.split("_");
+ String rawRouteId = split[split.length - 1]; // the original GTFS route ID
+ if (NYCStaticFareData.expressBusRoutes.contains(rawRouteId)) {
+ patternTypeForPattern[i] = NYCPatternType.METROCARD_EXPRESS_BUS;
+ } else {
+ patternTypeForPattern[i] = NYCPatternType.METROCARD_LOCAL_BUS;
+ }
+ } else if (routeId.startsWith("nyct_subway")) {
+ // Figure out if it's the Staten Island Railway
+ if (routeId.equals("nyct_subway_SI")) patternTypeForPattern[i] = NYCPatternType.STATEN_ISLAND_RWY;
+ else patternTypeForPattern[i] = NYCPatternType.METROCARD_SUBWAY;
+ } else if (routeId.startsWith("si-ferry")) {
+ patternTypeForPattern[i] = NYCPatternType.STATEN_ISLAND_FERRY;
+ } else if (routeId.startsWith("ferry")) {
+ // NYC Ferry
+ if (routeType == 4) patternTypeForPattern[i] = NYCPatternType.NYC_FERRY; // boat
+ else if (routeType == 3) patternTypeForPattern[i] = NYCPatternType.NYC_FERRY_BUS; // free shuttle bus
+ else throw new IllegalArgumentException("unexpected route type in NYC Ferry feed");
+ } else if (routeId.startsWith("westchester")) {
+ String routeShortName = transitLayer.routes.get(pat.routeIndex).route_short_name;
+ if (routeShortName.equals("BxM4C")) patternTypeForPattern[i] = NYCPatternType.WESTCHESTER_BXM4C;
+ else patternTypeForPattern[i] = NYCPatternType.METROCARD_LOCAL_BUS; // same fare rules as MTA local bus
+ } else if (routeId.startsWith("nice")) {
+ patternTypeForPattern[i] = NYCPatternType.METROCARD_NICE;
+ } else if (routeId.startsWith("suffolk")) {
+ patternTypeForPattern[i] = NYCPatternType.SUFFOLK;
+ } else if (routeId.startsWith("airtrain")) {
+ patternTypeForPattern[i] = NYCPatternType.AIRTRAIN_JFK;
+ }
+
+ // HACK FOR SCENARIO APPLICATION
+ // If mode is Gondola, assume RI Tram which has MetroCard Local Bus fares
+ // If mode is Cable Car, LIRR Offpeak. If mode is funicular, LIRR Peak (pun intended)
+ // Note that the conditions below can only be called if nothing matches above
+ else if (routeType == 6) patternTypeForPattern[i] = NYCPatternType.METROCARD_LOCAL_BUS;
+ else if (routeType == 5) {
+ patternTypeForPattern[i] = NYCPatternType.LIRR_OFFPEAK;
+ allLirrPatterns.add(i);
+ }
+ else if (routeType == 7) {
+ patternTypeForPattern[i] = NYCPatternType.LIRR_PEAK;
+ peakLirrPatterns.add(i);
+ allLirrPatterns.add(i);
+ }
+
+ if (patternTypeForPattern[i] == null){
+ throw new IllegalStateException("No pattern type assigned for pattern on route " + routeId);
+ }
+ }
+
+ // construct MNR fare tables
+ NYCStaticFareData.mnrPeakFares.forEach((fromStop, toStops) -> {
+ int fromTransitLayerStop = transitLayerStopForMnrStop.get(fromStop);
+ TIntIntMap toTransitLayerStops = new TIntIntHashMap();
+ toStops.forEachEntry((toStop, fare) -> {
+ int toTransitLayerStop = transitLayerStopForMnrStop.get(toStop);
+ toTransitLayerStops.put(toTransitLayerStop, fare);
+ return true; // continue iteration
+ });
+ mnrPeakFares.put(fromTransitLayerStop, toTransitLayerStops);
+ });
+
+ NYCStaticFareData.mnrOffpeakFares.forEach((fromStop, toStops) -> {
+ int fromTransitLayerStop = transitLayerStopForMnrStop.get(fromStop);
+ TIntIntMap toTransitLayerStops = new TIntIntHashMap();
+ toStops.forEachEntry((toStop, fare) -> {
+ int toTransitLayerStop = transitLayerStopForMnrStop.get(toStop);
+ toTransitLayerStops.put(toTransitLayerStop, fare);
+ return true; // continue iteration
+ });
+ mnrOffpeakFares.put(fromTransitLayerStop, toTransitLayerStops);
+ });
+
+
+ // print stats
+ TObjectIntMap hist = new TObjectIntHashMap<>();
+ for (NYCPatternType type : NYCPatternType
+ .values()) hist.put(type, 0);
+ for (int i = 0; i < patternTypeForPattern.length; i++) {
+ NYCPatternType type = patternTypeForPattern[i];
+ if (type == null) {
+ TripPattern pat = transitLayer.tripPatterns.get(i);
+ throw new NullPointerException("Pattern type is null for pattern on route " + pat.routeId);
+ } else {
+ hist.increment(type);
+ }
+ }
+ LOG.info("NYC fare pattern types:");
+ for (TObjectIntIterator it = hist.iterator(); it.hasNext();) {
+ it.advance();
+ LOG.info(" {}: {}", it.key(), it.value());
+ }
+ }
+
+ public int getMetroNorthFare (int fromStop, int toStop, boolean peak) {
+ TIntObjectMap fares = (peak ? mnrPeakFares : mnrOffpeakFares);
+ if (!fares.containsKey(fromStop) || !fares.get(fromStop).containsKey(toStop)) {
+ throw new IllegalArgumentException("Could not find Metro-North fare!");
+ }
+
+ return fares.get(fromStop).get(toStop);
+ }
+}
diff --git a/src/main/java/com/conveyal/r5/analyst/fare/nyc/NYCInRoutingFareCalculator.java b/src/main/java/com/conveyal/r5/analyst/fare/nyc/NYCInRoutingFareCalculator.java
new file mode 100644
index 00000000..b68399e5
--- /dev/null
+++ b/src/main/java/com/conveyal/r5/analyst/fare/nyc/NYCInRoutingFareCalculator.java
@@ -0,0 +1,890 @@
+package com.conveyal.r5.analyst.fare.nyc;
+
+import com.conveyal.r5.analyst.fare.FareBounds;
+import com.conveyal.r5.analyst.fare.InRoutingFareCalculator;
+import com.conveyal.r5.profile.McRaptorSuboptimalPathProfileRouter;
+import com.conveyal.r5.transit.TransitLayer;
+import gnu.trove.list.TIntList;
+import gnu.trove.list.array.TIntArrayList;
+import gnu.trove.map.TIntIntMap;
+import gnu.trove.map.TIntObjectMap;
+import gnu.trove.map.TObjectIntMap;
+import gnu.trove.map.hash.TIntIntHashMap;
+import gnu.trove.map.hash.TIntObjectHashMap;
+import gnu.trove.map.hash.TObjectIntHashMap;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import java.util.*;
+
+/**
+ * An in-routing fare calculator for East-of-Hudson services in the NYC area, used for a specific project with
+ * customized inputs. See note in NYCStaticFareData.
+ *
+ * @author mattwigway
+ */
+
+public class NYCInRoutingFareCalculator extends InRoutingFareCalculator {
+ private static final Logger LOG = LoggerFactory.getLogger(NYCInRoutingFareCalculator.class);
+
+ /**
+ * weak hash map from transit layer to cached NYC-specific fare data about that transit layer,
+ * weak so that it doesn't prevent GC of no longer used transport networks (though this is largely hypothetical,
+ * as Analysis workers never load more than a single transport network.
+ */
+ private static final Map fareDataForTransitLayer = new WeakHashMap<>();
+
+ /** Map from NYCPatternType -> Integer for how much discount off the LIRR is implied by each MetroCard Transfer Source */
+ public Map toLirrDiscounts = null;
+
+ /** Map from NYCPatternType -> Integer for how much discount off the MNR is implied by each MetroCard Transfer Source */
+ public Map toMetroNorthDiscounts = null;
+
+ /**
+ * What type of MetroCard Transfer Allowance does riding the LIRR get you?
+ * This is used in scenarios, we can make a full-fare LIRR ride give you the same transfer allowance
+ * as some other type of ride that is already implemented, e.g. NICE_ONE_TRANSFER for a single free
+ * transfer to NICE, or METROCARD_LOCAL_BUS for free transfers to most services and an upgrade to the express bus.
+ * No LIRR MetroCard Transfer Allowance is granted if a discounted transfer was used to board the LIRR.
+ */
+ public NYCPatternType lirrMetrocardTransferSource = null;
+
+ /** Similar, for the MNR */
+ public NYCPatternType metroNorthMetrocardTransferSource = null;
+
+ /** Override certain fares for the LIRR */
+ public List lirrFareOverrides = null;
+
+ /** Override certain fares for the MNR */
+ public List metroNorthFareOverrides = null;
+
+ /** Map from stop -> stop -> fare for fare overrides coming from JSON, for Metro-North peak fares */
+ private TIntObjectMap mnrPeakFareOverrides = null;
+
+ /** Map from stop -> stop -> fare for fare overrides coming from JSON, for Metro-North offpeak fares */
+ private TIntObjectMap mnrOffPeakFareOverrides = null;
+
+ // LIRR ones package-private so they can be accessed from LIRRTransferAllowance
+ /** Map from stop -> stop -> fare for fare overrides coming from JSON, for LIRR peak direct fares */
+ Map> lirrPeakDirectFareOverrides = null;
+
+ /** Map from stop -> stop -> fare for fare overrides coming from JSON, for LIRR offpeak direct fares */
+ Map> lirrOffPeakDirectFareOverrides = null;
+
+ /** Map for from stop -> to stop -> via stop -> fare for LIRR peak via fare overrides coming from JSON */
+ Map>> lirrPeakViaFareOverrides = null;
+
+ /** Map for from stop -> to stop -> via stop -> fare for LIRR offpeak via fare overrides coming from JSON */
+ Map>> lirrOffPeakViaFareOverrides = null;
+
+ /** Create the cached fare data iff there is a cache mix, otherwise just return it */
+ private NYCFareDataCache getOrCreateFareData () {
+ if (!fareDataForTransitLayer.containsKey(transitLayer)) {
+ synchronized (fareDataForTransitLayer) {
+ if (!fareDataForTransitLayer.containsKey(transitLayer)) {
+ LOG.info("Initializing NYC InRoutingFareCalculator");
+ NYCFareDataCache fareData = new NYCFareDataCache(this.transitLayer);
+ fareDataForTransitLayer.put(transitLayer, fareData);
+ }
+ }
+ }
+
+ return fareDataForTransitLayer.get(transitLayer);
+ }
+
+ /** Initialize the fare overrides for direct trips on Metro-North */
+ private TIntObjectMap initializeMnrDirectFareOverrides (List fareOverrides, boolean peak) {
+ TIntObjectMap fares = new TIntObjectHashMap<>();
+ if (fareOverrides != null) {
+ for (FareOverride fo : fareOverrides) {
+ // find the stops in the transit layer
+ if (fo.viaStopId != null)
+ throw new IllegalArgumentException("MNR override fare cannot have via stop!");
+
+ if (!transitLayer.indexForStopId.containsKey(fo.fromStopId) ||
+ !transitLayer.indexForStopId.containsKey(fo.toStopId)) {
+ throw new IllegalArgumentException("from or to stop not found!");
+ }
+
+ int fromStop = transitLayer.indexForStopId.get(fo.fromStopId);
+ int toStop = transitLayer.indexForStopId.get(fo.toStopId);
+ int fare = peak ? fo.peakFare : fo.offPeakFare;
+ if (!fares.containsKey(fromStop))
+ fares.put(fromStop, new TIntIntHashMap());
+ fares.get(fromStop).put(toStop, fare);
+ }
+ }
+ return fares;
+ }
+
+ /**
+ * Initialize the fare overrides for direct trips on the LIRR. Can't re-use Metro-North code b/c it used int stop IDs and LIRR fare calculation uses enums
+ */
+ private Map> initializeLirrDirectFareOverrides (List fareOverrides, boolean peak, NYCFareDataCache fareData) {
+ Map> fares = new HashMap<>();
+ if (fareOverrides != null) {
+ for (FareOverride fo : fareOverrides) {
+ if (fo.viaStopId != null) continue;
+
+ if (!transitLayer.indexForStopId.containsKey(fo.fromStopId) ||
+ !transitLayer.indexForStopId.containsKey(fo.toStopId)) {
+ throw new IllegalArgumentException("from or to stop not found!");
+ }
+
+ int fromStop = transitLayer.indexForStopId.get(fo.fromStopId);
+ int toStop = transitLayer.indexForStopId.get(fo.toStopId);
+ int fare = peak ? fo.peakFare : fo.offPeakFare;
+ LIRRStop fromLirrStop = fareData.lirrStopForTransitLayerStop.get(fromStop);
+ LIRRStop toLirrStop = fareData.lirrStopForTransitLayerStop.get(toStop);
+
+ fares.computeIfAbsent(fromLirrStop, k -> new TObjectIntHashMap<>()).put(toLirrStop, fare);
+ }
+ }
+ return fares;
+ }
+
+ /** Initialize the fare overrides for via trips on the LIRR - returns a map keyed as from -> to -> via -> fare */
+ private Map>> initializeLirrViaFareOverrides (List fareOverrides, boolean peak, NYCFareDataCache fareData) {
+ Map>> fares = new HashMap<>();
+ if (fareOverrides != null) {
+ for (FareOverride fo : fareOverrides) {
+ if (fo.viaStopId == null) continue;
+
+ if (!transitLayer.indexForStopId.containsKey(fo.fromStopId) ||
+ !transitLayer.indexForStopId.containsKey(fo.toStopId) ||
+ !transitLayer.indexForStopId.containsKey(fo.viaStopId)) {
+ throw new IllegalArgumentException("from or to stop not found!");
+ }
+
+ int fromStop = transitLayer.indexForStopId.get(fo.fromStopId);
+ int toStop = transitLayer.indexForStopId.get(fo.toStopId);
+ int viaStop = transitLayer.indexForStopId.get(fo.viaStopId);
+ int fare = peak ? fo.peakFare : fo.offPeakFare;
+ LIRRStop fromLirrStop = fareData.lirrStopForTransitLayerStop.get(fromStop);
+ LIRRStop toLirrStop = fareData.lirrStopForTransitLayerStop.get(toStop);
+ LIRRStop viaLirrStop = fareData.lirrStopForTransitLayerStop.get(viaStop);
+
+
+ fares.computeIfAbsent(fromLirrStop, k -> new HashMap<>())
+ .computeIfAbsent(toLirrStop, k -> new TObjectIntHashMap<>())
+ .put(viaLirrStop, fare);
+ }
+ }
+ return fares;
+ }
+
+ private void initializeFareOverrides (NYCFareDataCache fareData) {
+ if (mnrPeakFareOverrides == null) {
+ synchronized (this) {
+ if (mnrPeakFareOverrides == null) {
+ mnrPeakFareOverrides = initializeMnrDirectFareOverrides(metroNorthFareOverrides, true);
+ mnrOffPeakFareOverrides = initializeMnrDirectFareOverrides(metroNorthFareOverrides, false);
+
+ lirrPeakDirectFareOverrides = initializeLirrDirectFareOverrides(lirrFareOverrides, true, fareData);
+ lirrOffPeakDirectFareOverrides = initializeLirrDirectFareOverrides(lirrFareOverrides, false, fareData);
+
+ lirrPeakViaFareOverrides = initializeLirrViaFareOverrides(lirrFareOverrides, true, fareData);
+ lirrOffPeakViaFareOverrides = initializeLirrViaFareOverrides(lirrFareOverrides, false, fareData);
+ }
+ }
+ }
+ }
+
+ @Override
+ public FareBounds calculateFare(McRaptorSuboptimalPathProfileRouter.McRaptorState state, int maxClockTime) {
+ NYCFareDataCache fareData = getOrCreateFareData();
+ initializeFareOverrides(fareData);
+
+ // Extract relevant data about rides
+ TIntList patterns = new TIntArrayList();
+ TIntList boardStops = new TIntArrayList();
+ TIntList alightStops = new TIntArrayList();
+ TIntList boardTimes = new TIntArrayList();
+ // not using bitset b/c hard to reverse
+ List reachedViaOnStreetTransfer = new ArrayList<>();
+
+ McRaptorSuboptimalPathProfileRouter.McRaptorState stateForTraversal = state;
+ while (stateForTraversal != null) {
+ if (stateForTraversal.pattern == -1) {
+ stateForTraversal = stateForTraversal.back;
+ continue; // on the street, not on transit
+ }
+ patterns.add(stateForTraversal.pattern);
+ alightStops.add(stateForTraversal.stop);
+ boardStops.add(transitLayer.tripPatterns.get(stateForTraversal.pattern).stops[stateForTraversal.boardStopPosition]);
+ boardTimes.add(stateForTraversal.boardTime);
+
+ // last condition is to avoid using loop transfer to throw away a negative Metro-North or LIRR transfer allowance
+ // check if back is an on-street transfer
+ boolean onStreetTransfer = stateForTraversal.back != null && stateForTraversal.back.back != null &&
+ stateForTraversal.back.pattern == -1 && stateForTraversal.back.stop != stateForTraversal.back.back.stop;
+ reachedViaOnStreetTransfer.add(onStreetTransfer);
+
+ stateForTraversal = stateForTraversal.back;
+ }
+
+ // reverse data about the rides so we can step forward through them
+ patterns.reverse();
+ alightStops.reverse();
+ boardStops.reverse();
+ boardTimes.reverse();
+ Collections.reverse(reachedViaOnStreetTransfer);
+
+ // TODO put all of these things into objects to make clearing less error-prone
+ // metroNorthState = null instead of clearing 5 fields.
+ List lirrBoardStops = null;
+ List lirrAlightStops = null;
+ List lirrDirections = null;
+ BitSet lirrPeak = new BitSet();
+ TIntList lirrBoardTimes = new TIntArrayList();
+ int lirrRideIndex = 0;
+
+ int cumulativeFare = 0;
+ LIRRTransferAllowance lirr = null;
+
+ // Metrocard fare information: where the fare came from (i.e. what mode was paid for), as this determines what
+ // you can transfer to.
+ NYCPatternType metrocardTransferSource = null;
+ int metrocardTransferExpiry = maxClockTime;
+ boolean inSubwayPaidArea = false; // when inside the subway paid area, we can change to a new subway line for free
+
+ // Metro-North transfer information
+ int metroNorthBoardStop = -1;
+ int metroNorthAlightStop = -1;
+ boolean metroNorthPeak = false;
+ // keep track of whether we're on the NH line or a different one, since there are no free
+ // transfers from the New Haven line to the Harlem/Hudson lines, at least not with the one-way tickets
+ // http://www.iridetheharlemline.com/2010/09/22/question-of-the-day-can-i-use-my-ticket-on-other-lines/
+ MetroNorthLine metroNorthLine = null;
+ int metroNorthDirection = -1;
+ int metroNorthBoardTime = -1;
+
+ // ==========================================
+ // ======= MAIN FARE CALCULATION LOOP =======
+ // ==========================================
+ // run one extra iteration, so the cleanup code to pay LIRR and MNR fares and check for subway exit
+ // can get run after the last ride so transfer allowances are correct.
+ for (int i = 0; i < patterns.size() + 1; i++) {
+ int pattern, boardStop, alightStop, boardTime, previousAlightStop;
+ boolean onStreetTransfer;
+ boolean lastIteration;
+ NYCPatternType patternType;
+
+ if (i < patterns.size()) {
+ pattern = patterns.get(i);
+ boardStop = boardStops.get(i);
+ alightStop = alightStops.get(i);
+ boardTime = boardTimes.get(i);
+ onStreetTransfer = reachedViaOnStreetTransfer.get(i);
+ patternType = fareData.patternTypeForPattern[pattern];
+ lastIteration = false;
+ } else {
+ // last iteration
+ pattern = boardStop = alightStop = boardTime = -1;
+ onStreetTransfer = false; // not used
+ patternType = null;
+ lastIteration = true;
+ }
+
+ if (i > 0) {
+ // Don't do this at the end of the loop since there is short-circuit logic (continue) below
+ previousAlightStop = alightStops.get(i - 1);
+ } else {
+ previousAlightStop = -1;
+ }
+
+ // I. CLEAN UP AFTER COMMUTER RAIL RIDE ====================================================================
+ // I.A. PAY FARE UPON LEAVING THE LIRR
+ boolean thisPatternLirr = NYCPatternType.LIRR_OFFPEAK.equals(patternType) ||
+ NYCPatternType.LIRR_PEAK.equals(patternType);
+ if (lirrBoardStops != null && (onStreetTransfer || !thisPatternLirr)) {
+ // we have left the LIRR, either by transferring on street or riding a different transit service.
+ lirr = new LIRRTransferAllowance(lirrBoardStops, lirrAlightStops, lirrDirections, lirrBoardTimes, lirrPeak, this);
+ int lirrFare = lirr.cumulativeFare;
+ int lirrDiscount = getToLirrDiscountForMetrocardTransferSource(metrocardTransferSource);
+ if (lirrDiscount > 0 && lirrBoardTimes.get(0) <= metrocardTransferExpiry) {
+ // We are using a transfer, clear MetroCard transfer allowance
+ metrocardTransferSource = null;
+ metrocardTransferExpiry = maxClockTime;
+ lirrFare -= lirrDiscount;
+ if (lirrFare < 0) {
+ LOG.warn("Discount on LIRR is larger than LIRR fare; assuming it's free.");
+ lirrFare = 0;
+ }
+ } else {
+ // if a discount was used at boarding, we don't give a discount at alighting
+ // NB this may create issues if the transfer discounts are asymmetrical, by creating places where
+ // transfer allowances are negative. E.g. if a NICE bus gives a 1.75 discount off LIRR, and LIRR
+ // gives a 2.75 discount off local bus, riding the NICE bus before LIRR and foregoing the later discount
+ // makes the fare $1 higher than if you had discarded the NICE allowance beforehand.
+ // This also is slightly incorrect when a second ticket (rather than a via fare) was purchased for the
+ // LIRR, as in this case you would expect to get the second transfer, but that's a pretty minor edge case.
+ if (lirrMetrocardTransferSource != null) {
+ // NB this overwrites any previous MetroCard transfer information
+ // You can't carry a transfer with you on full-fare LIRR
+ metrocardTransferSource = lirrMetrocardTransferSource;
+ metrocardTransferExpiry = Math.min(lirr.mostRecentTicketPurchaseTime + NYCStaticFareData.METROCARD_TRANSFER_VALIDITY_TIME_SECONDS, maxClockTime);
+ }
+ }
+ cumulativeFare += lirrFare;
+ if (!lastIteration) { // don't clear LIRR transfer allowance information on last iteration, save it for use in dominance
+ lirr = null;
+ lirrBoardStops = null;
+ lirrAlightStops = null;
+ lirrPeak.clear();
+ lirrRideIndex = 0;
+ }
+ }
+
+ // I.B. PAY FARE FOR METRO-NORTH AFTER LEAVING
+ boolean thisPatternMnr = NYCPatternType.METRO_NORTH_PEAK.equals(patternType) ||
+ NYCPatternType.METRO_NORTH_OFFPEAK.equals(patternType);
+ if (metroNorthBoardStop != -1 && (onStreetTransfer || !thisPatternMnr)) {
+ TIntObjectMap overrideFares = metroNorthPeak ? mnrPeakFareOverrides : mnrOffPeakFareOverrides;
+ int mnrFare;
+ if (overrideFares.containsKey(metroNorthBoardStop) && overrideFares.get(metroNorthBoardStop).containsKey(metroNorthAlightStop)) {
+ mnrFare = overrideFares.get(metroNorthBoardStop).get(metroNorthAlightStop);
+ } else {
+ mnrFare = fareData.getMetroNorthFare(metroNorthBoardStop, metroNorthAlightStop,
+ metroNorthPeak);
+ }
+
+ int mnrDiscount = getToMnrDiscountForMetrocardTransferSource(metrocardTransferSource);
+ if (mnrDiscount > 0 && metroNorthBoardTime <= metrocardTransferExpiry) {
+ // Clear MetroCard transfer allowance
+ metrocardTransferSource = null;
+ metrocardTransferExpiry = maxClockTime;
+ mnrFare -= mnrDiscount;
+ if (mnrFare < 0) {
+ LOG.warn("Discount on MNR is larger than MNR fare; assuming it's free.");
+ mnrFare = 0;
+ }
+ } else {
+ // see comment under LIRR about negative transfer allowances.
+ if (metroNorthMetrocardTransferSource != null) {
+ // NB this overwrites any previous MetroCard transfer information
+ // You can't carry a transfer with you on full-fare MNR
+ metrocardTransferSource = metroNorthMetrocardTransferSource;
+ metrocardTransferExpiry = Math.min(metroNorthBoardTime + NYCStaticFareData.METROCARD_TRANSFER_VALIDITY_TIME_SECONDS, maxClockTime);
+ }
+ }
+ cumulativeFare += mnrFare;
+ if (!lastIteration) {
+ // Don't clear Metro-North transfer information before returning transfer allowance
+ metroNorthBoardStop = metroNorthAlightStop = metroNorthDirection = -1;
+ metroNorthPeak = false;
+ metroNorthLine = null;
+ }
+ }
+
+ if (lastIteration) break; // Clean up code from previous rides is done
+
+ // II. PREPARE FOR THIS RIDE ===============================================================================
+
+ // II.A. CLEAR NICE TRANSFER ALLOWANCE IF WE ARE GOING TO RIDE A DIFFERENT SERVICE
+ // All NICE routes have a list of allowable transfers, e.g. see the lower left corner of this schedule:
+ // http://www.nicebus.com/NICE/media/NiceBusPDFSchedules/NICE-n31_MapSchedule.pdf
+ // Implementing these is too complicated, so we just assume that any transfer that can be made on
+ // foot is allowable. But clear the transfer allowance if another service, such as Long Island Rail Road,
+ // that doesn't use the MetroCard transfer allowance system, is ridden.
+ if (NYCPatternType.METROCARD_NICE.equals(metrocardTransferSource) || NYCPatternType.METROCARD_NICE_ONE_TRANSFER.equals(metrocardTransferSource)) {
+ if (!(NYCPatternType.niceTransfers.contains(patternType) ||
+ (getToLirrDiscountForMetrocardTransferSource(metrocardTransferSource) > 0 &&
+ (NYCPatternType.LIRR_PEAK.equals(patternType) || NYCPatternType.LIRR_OFFPEAK.equals(patternType))) ||
+ (getToMnrDiscountForMetrocardTransferSource(metrocardTransferSource) > 0 &&
+ (NYCPatternType.METRO_NORTH_PEAK.equals(patternType) || NYCPatternType.METRO_NORTH_OFFPEAK.equals(patternType))))) {
+ // we are riding a service that doesn't provide a NICE discount. Clear the transfer allowance.
+ // This is correct even in the METROCARD_NICE_ONE_TRANSFER case, because if we transferred to another
+ // MetroCard service that _doesn't_ accept the NICE_ONE_TRANSFER transfer, a new ticket will be purchased and
+ // the transfer allowance cleared.
+ metrocardTransferSource = null;
+ metrocardTransferExpiry = maxClockTime;
+ }
+ }
+
+ // II.B. CLEAR LOCAL BUS TO SIR TO SI FERRY IF NEXT RIDE IS NOT LOCAL BUS/SUBWAY
+ // This is to sort-of enforce that you can only get a second transfer if you board near the ferry terminal.
+ if (NYCPatternType.LOCAL_BUS_TO_SIR_TO_SI_FERRY.equals(metrocardTransferSource) &&
+ !NYCPatternType.METROCARD_LOCAL_BUS.equals(patternType) &&
+ !NYCPatternType.METROCARD_SUBWAY.equals(patternType)
+ ) {
+ metrocardTransferSource = null;
+ metrocardTransferExpiry = maxClockTime;
+ }
+
+ // II.C. CLEAR LOCAL BUS TO FERRY TO SIR IF NEXT RIDE IS NOT LOCAL BUS
+ // This is to sort-of enforce that you can only get a second transfer if you board near the SIR, and keep
+ // the router from doubling back to lower manhattan on the ferry and transferring to a bus.
+ if (NYCPatternType.LOCAL_BUS_OR_SUBWAY_TO_SI_FERRY_TO_SIR.equals(metrocardTransferSource) &&
+ !NYCPatternType.METROCARD_LOCAL_BUS.equals(patternType)
+ ) {
+ metrocardTransferSource = null;
+ metrocardTransferExpiry = maxClockTime;
+ }
+
+ // II.D. CLEAR LOCAL BUS TO SIR IF FERRY IS NOT RIDDEN NEXT
+ // shouldn't matter, as riding any MetroCard service will clear it, but just for good measure
+ if (NYCPatternType.LOCAL_BUS_TO_SIR.equals(metrocardTransferSource) && !NYCPatternType.STATEN_ISLAND_FERRY.equals(patternType)) {
+ // transfer allowance is consumed
+ metrocardTransferSource = null;
+ metrocardTransferExpiry = maxClockTime;
+ }
+
+ // No need to enforce for other options:
+ // LOCAL_BUS_TO_SI_FERRY, SUBWAY_TO_SI_FERRY: Only special when boarding SIR from Ferry, otherwise behaves exactly like a local
+ // bus or subway transfer allowance. These allowances are cleared if the SI Ferry is ridden twice, to prevent the router from doubling
+ // back using the ferry to get a local bus -> SIR -> local bus ride entirely on Staten Island.
+
+ // II.E. CHECK FOR SUBWAY SYSTEM EXIT
+ // inSubwayPaidArea refers to whether we were in the subway paid area _before_ this ride at this point.
+ // Elvis has left the subway
+ if (inSubwayPaidArea) {
+ // If we're still riding the subway, check if it was a behind-gates transfer
+ if (NYCPatternType.METROCARD_SUBWAY.equals(patternType)) inSubwayPaidArea = hasBehindGatesTransfer(previousAlightStop, boardStop, fareData);
+ // If we're not still riding the subway, well then, it is tautologically clear that we have
+ // left the subway.
+ else inSubwayPaidArea = false;
+ }
+
+ // III. PROCESS THIS RIDE ==================================================================================
+ // III.A. MTA LOCAL BUS
+ if (NYCPatternType.METROCARD_LOCAL_BUS.equals(patternType)) {
+ if (boardTime <= metrocardTransferExpiry &&
+ // Allow transfers from all the metrocard types except METROCARD_NICE_ONE_TRANSFER and the
+ // SUFFOLK ones, which do not allow transfers to the MTA
+ (NYCPatternType.METROCARD_LOCAL_BUS.equals(metrocardTransferSource) ||
+ // Special case: one more free transfer to local bus on Staten Island
+ // (bus/subway to SI Ferry to SIR implies we are now on Staten Island)
+ NYCPatternType.LOCAL_BUS_OR_SUBWAY_TO_SI_FERRY_TO_SIR.equals(metrocardTransferSource) ||
+ // Special case: one more free transfer to local bus in Manhattan
+ // (bus to SIR to Ferry implies we are now in Manhattan)
+ NYCPatternType.LOCAL_BUS_TO_SIR_TO_SI_FERRY.equals(metrocardTransferSource) ||
+ // It's okay to not ride the SIR after the ferry
+ NYCPatternType.LOCAL_BUS_TO_SI_FERRY.equals(metrocardTransferSource) ||
+ NYCPatternType.SUBWAY_TO_SI_FERRY.equals(metrocardTransferSource) ||
+ NYCPatternType.METROCARD_EXPRESS_BUS.equals(metrocardTransferSource) ||
+ NYCPatternType.METROCARD_SUBWAY.equals(metrocardTransferSource) ||
+ NYCPatternType.METROCARD_NICE.equals(metrocardTransferSource) ||
+ NYCPatternType.STATEN_ISLAND_RWY.equals(metrocardTransferSource))) {
+ // use transfer - free transfers to local bus from any MetroCard transferable route
+ // clear transfer information
+ // Not going to implement prohibited bus-bus transfers, as they are mostly to prevent round-trips
+ // anyhow, and would cause issues with pruning.
+ metrocardTransferSource = null;
+ metrocardTransferExpiry = maxClockTime;
+ } else {
+ // first ride on the local bus, buy a new ticket
+ cumulativeFare += NYCStaticFareData.LOCAL_BUS_SUBWAY_FARE;
+ metrocardTransferSource = NYCPatternType.METROCARD_LOCAL_BUS;
+ metrocardTransferExpiry = Math.min(boardTime + NYCStaticFareData.METROCARD_TRANSFER_VALIDITY_TIME_SECONDS, maxClockTime);
+ }
+ }
+
+ // III.B. MTA EXPRESS BUS
+ else if (NYCPatternType.METROCARD_EXPRESS_BUS.equals(patternType)) {
+ if (boardTime <= metrocardTransferExpiry &&
+ // Everything except NICE_ONE_TRANSFER, the SUFFOLK types, and the special types allowing two
+ // transfers from the SIR
+ (NYCPatternType.METROCARD_LOCAL_BUS.equals(metrocardTransferSource) ||
+ NYCPatternType.METROCARD_SUBWAY.equals(metrocardTransferSource) ||
+ // It's okay to not ride the SIR after the ferry
+ NYCPatternType.LOCAL_BUS_TO_SI_FERRY.equals(metrocardTransferSource) ||
+ NYCPatternType.SUBWAY_TO_SI_FERRY.equals(metrocardTransferSource) ||
+ NYCPatternType.METROCARD_NICE.equals(metrocardTransferSource) ||
+ NYCPatternType.STATEN_ISLAND_RWY.equals(metrocardTransferSource))) {
+ // transfer from subway or local bus to express bus, pay upgrade fare and clear transfer allowance
+ cumulativeFare += NYCStaticFareData.EXPRESS_BUS_UPGRADE;
+ metrocardTransferSource = null;
+ metrocardTransferExpiry = maxClockTime;
+ } else if (boardTime <= metrocardTransferExpiry &&
+ NYCPatternType.METROCARD_EXPRESS_BUS.equals(metrocardTransferSource)) {
+ // Free express bus -> express bus transfer, see http://web.mta.info/nyct/fare/pdf/NYCTransit_Tariff.pdf
+ // page 33.
+ metrocardTransferSource = null;
+ metrocardTransferExpiry = maxClockTime;
+ } else {
+ // pay new fare
+ cumulativeFare += NYCStaticFareData.EXPRESS_BUS_FARE;
+ metrocardTransferSource = NYCPatternType.METROCARD_EXPRESS_BUS;
+ metrocardTransferExpiry = Math.min(boardTime + NYCStaticFareData.METROCARD_TRANSFER_VALIDITY_TIME_SECONDS, maxClockTime);
+ }
+ }
+
+ // III.C. MTA SUBWAY
+ else if (NYCPatternType.METROCARD_SUBWAY.equals(patternType)) {
+ // if we were already in the subway fare area, continue without fare interaction
+ if (inSubwayPaidArea) continue; // to next iteration of loop over rides
+ if (boardTime <= metrocardTransferExpiry &&
+ // Everything except NICE_ONE_TRANSFER and the SUFFOLK types, the intermediate or
+ // Staten Island-bound Staten Island special cases and the subway
+ // (free subway transfers are only allowed within the subway paid area, and are handled above)
+ (NYCPatternType.METROCARD_LOCAL_BUS.equals(metrocardTransferSource) ||
+ // It's okay to not ride the SIR after the ferry
+ NYCPatternType.LOCAL_BUS_TO_SI_FERRY.equals(metrocardTransferSource) ||
+ // free transfer to subway after Local Bus -> SIR -> SIF
+ NYCPatternType.LOCAL_BUS_TO_SIR_TO_SI_FERRY.equals(metrocardTransferSource) ||
+ NYCPatternType.METROCARD_NICE.equals(metrocardTransferSource) ||
+ NYCPatternType.METROCARD_EXPRESS_BUS.equals(metrocardTransferSource) ||
+ NYCPatternType.STATEN_ISLAND_RWY.equals(metrocardTransferSource))) {
+ // free transfer from bus/SIR to subway, but clear transfer allowance
+ metrocardTransferSource = null;
+ metrocardTransferExpiry = maxClockTime;
+ } else {
+ // pay new fare
+ cumulativeFare += NYCStaticFareData.LOCAL_BUS_SUBWAY_FARE;
+ metrocardTransferSource = NYCPatternType.METROCARD_SUBWAY;
+ metrocardTransferExpiry = Math.min(boardTime + NYCStaticFareData.METROCARD_TRANSFER_VALIDITY_TIME_SECONDS,
+ maxClockTime);
+ }
+ // we are now in the subway paid area, regardless of whether we boarded via a transfer or not.
+ inSubwayPaidArea = true;
+ }
+
+ // III.D. STATEN ISLAND RAILWAY
+ else if (NYCPatternType.STATEN_ISLAND_RWY.equals(patternType)) {
+ // Fare is only paid on the SIR at St George and Tompkinsville, both for boarding and alighting.
+ // First calculate the full fare, then figure out transfers
+ int nFarePayments = 0;
+ if (fareData.statenIslandRwyFareStops.contains(boardStop)) nFarePayments++;
+ if (fareData.statenIslandRwyFareStops.contains(alightStop)) nFarePayments++;
+
+ if (nFarePayments == 0) continue; // NO FARE INTERACTION, DO NOT UPDATE TRANSFER ALLOWANCES
+ else {
+ if (boardTime <= metrocardTransferExpiry &&
+ // this is all the metrocard types except METROCARD_NICE_ONE_TRANSFER and the
+ // SUFFOLK ones, which do not allow transfers to the MTA, as well as the SIR
+ // because we assume no free SIR-SIR transfers.
+ (NYCPatternType.METROCARD_LOCAL_BUS.equals(metrocardTransferSource) ||
+ NYCPatternType.LOCAL_BUS_TO_SI_FERRY.equals(metrocardTransferSource) ||
+ NYCPatternType.SUBWAY_TO_SI_FERRY.equals(metrocardTransferSource) ||
+ NYCPatternType.METROCARD_EXPRESS_BUS.equals(metrocardTransferSource) ||
+ NYCPatternType.METROCARD_SUBWAY.equals(metrocardTransferSource) ||
+ NYCPatternType.METROCARD_NICE.equals(metrocardTransferSource))) {
+ nFarePayments--; // one fare payment is free
+ }
+
+ if (nFarePayments == 0) {
+ // transfer was used and no new ticket was purchased
+ // handle the third-free-transfer cases
+ if (NYCPatternType.METROCARD_LOCAL_BUS.equals(metrocardTransferSource)) {
+ // allow one more free transfer if the ferry is ridden next
+ // don't reset expiration time
+ // NB this can only happen after riding a local bus that ends on Staten
+ // Island, because otherwise the transfer source would be LOCAL_BUS_TO_SI_FERRY
+ metrocardTransferSource = NYCPatternType.LOCAL_BUS_TO_SIR;
+ } else if (NYCPatternType.LOCAL_BUS_TO_SI_FERRY.equals(metrocardTransferSource) || NYCPatternType.SUBWAY_TO_SI_FERRY.equals(metrocardTransferSource)) {
+ // allow one more free transfer to local bus
+ metrocardTransferSource = NYCPatternType.LOCAL_BUS_OR_SUBWAY_TO_SI_FERRY_TO_SIR;
+ } else {
+ metrocardTransferSource = null;
+ metrocardTransferExpiry = maxClockTime;
+ }
+ } else {
+ // the fare was paid at least once (maybe twice)
+ cumulativeFare += nFarePayments * NYCStaticFareData.LOCAL_BUS_SUBWAY_FARE;
+ metrocardTransferSource = NYCPatternType.STATEN_ISLAND_RWY;
+ metrocardTransferExpiry = Math.min(boardTime + NYCStaticFareData.METROCARD_TRANSFER_VALIDITY_TIME_SECONDS, maxClockTime);
+ }
+ }
+ }
+
+ // III.E. NICE BUS
+ // Some special cases here to handle that you get two free transfers to the NICE, but only
+ // one to MTA services
+ else if (NYCPatternType.METROCARD_NICE.equals(patternType)) {
+ if (boardTime <= metrocardTransferExpiry &&
+ // this is all the metrocard types except the special ones allowing a third transfer
+ // when the SI Ferry and SIR are involved
+ (NYCPatternType.METROCARD_LOCAL_BUS.equals(metrocardTransferSource) ||
+ // Okay to board nice after riding the ferry (though I'm not sure it's possible)
+ NYCPatternType.LOCAL_BUS_TO_SI_FERRY.equals(metrocardTransferSource) ||
+ NYCPatternType.SUBWAY_TO_SI_FERRY.equals(metrocardTransferSource) ||
+ NYCPatternType.METROCARD_EXPRESS_BUS.equals(metrocardTransferSource) ||
+ NYCPatternType.METROCARD_SUBWAY.equals(metrocardTransferSource) ||
+ NYCPatternType.METROCARD_NICE.equals(metrocardTransferSource) ||
+ NYCPatternType.METROCARD_NICE_ONE_TRANSFER.equals(metrocardTransferSource) ||
+ NYCPatternType.SUFFOLK.equals(metrocardTransferSource) ||
+ NYCPatternType.SUFFOLK_ONE_TRANSFER.equals(metrocardTransferSource) ||
+ NYCPatternType.STATEN_ISLAND_RWY.equals(metrocardTransferSource))) {
+ // use the transfer
+ if (NYCPatternType.METROCARD_NICE.equals(metrocardTransferSource)) {
+ // if we're transferring NICE -> NICE, we get one more transfer
+ metrocardTransferSource = NYCPatternType.METROCARD_NICE_ONE_TRANSFER;
+ } else {
+ // consume any other transfer type, with special logic for Suffolk upgrade fares
+ if (NYCPatternType.SUFFOLK.equals(metrocardTransferSource)) {
+ // buy the transfer slip and the upgrade to the NICE fare, don't allow further transfers
+ cumulativeFare += NYCStaticFareData.SUFFOLK_TRANSFER_SLIP +
+ NYCStaticFareData.SUFFOLK_NICE_TRANSFER;
+ } else if (NYCPatternType.SUFFOLK_ONE_TRANSFER.equals(metrocardTransferSource)) {
+ // transfer slip already bought, upgrade to NICE fare
+ cumulativeFare += NYCStaticFareData.SUFFOLK_NICE_TRANSFER;
+ }
+
+ // transfer allowance is consumed in any case (including Suffolk cases)
+ // Note that NICE_ONE_TRANSFER is implicitly handled here
+ metrocardTransferSource = null;
+ metrocardTransferExpiry = maxClockTime;
+ }
+ } else {
+ // pay new fare
+ cumulativeFare += NYCStaticFareData.NICE_FARE;
+ metrocardTransferSource = NYCPatternType.METROCARD_NICE;
+ metrocardTransferExpiry = Math.min(boardTime + NYCStaticFareData.METROCARD_TRANSFER_VALIDITY_TIME_SECONDS, maxClockTime);
+ }
+ }
+
+ // III.F. SUFFOLK COUNTY TRANSIT
+ else if (NYCPatternType.SUFFOLK.equals(patternType)) {
+ boolean transferValid = boardTime <= metrocardTransferExpiry;
+ if (transferValid && NYCPatternType.METROCARD_NICE.equals(metrocardTransferSource)) {
+ // free transfer from NICE, consume allowance
+ metrocardTransferSource = null;
+ metrocardTransferExpiry = maxClockTime;
+ } else if (transferValid && NYCPatternType.SUFFOLK.equals(metrocardTransferSource)) {
+ // buy the transfer slip for Suffolk County Transit
+ cumulativeFare += NYCStaticFareData.SUFFOLK_TRANSFER_SLIP;
+ metrocardTransferSource = NYCPatternType.SUFFOLK_ONE_TRANSFER; // update to one_transfer allowance
+ // leave expiration time alone
+ } else if (transferValid && NYCPatternType.SUFFOLK_ONE_TRANSFER.equals(metrocardTransferSource)) {
+ // transfer slip already bought, but consume transfer allowance
+ metrocardTransferSource = null;
+ metrocardTransferExpiry = maxClockTime;
+ } else {
+ // Buy an SCT ticket
+ // Note that Suffolk County Transit does not use the MetroCard system, but it simplifies implementation
+ // if we treat it like it does. This does prevent a user from holding a Metrocard transfer
+ // and a Suffolk transfer simultaneously, but I can't imagine why this would be useful.
+ // Suffolk <-> NICE is handled explicitly, and the other MetroCard services are so far
+ // from Suffolk County that you would never to Subway -> SCT -> Subway or
+ // SCT -> Subway -> SCT
+ cumulativeFare += NYCStaticFareData.SUFFOLK_FARE;
+ metrocardTransferSource = NYCPatternType.SUFFOLK;
+ metrocardTransferExpiry = Math.min(boardTime + NYCStaticFareData.SUFFOLK_TRANSFER_VALIDITY_TIME_SECONDS, maxClockTime);
+ }
+
+ // TODO assuming that there is no free transfer from NICE_ONE_TRANSFER?
+ }
+
+ // III.G. STATEN ISLAND FERRY
+ else if (NYCPatternType.STATEN_ISLAND_FERRY.equals(patternType)) {
+ // No fare interaction, as the Staten Island Ferry is free. But we do use the SI ferry to "enforce"
+ // the two-transfer rule for Local Bus -> SIR -> Bus/Subway in lower Manhattan and vice-versa, so
+ // update Metrocard transfer allowance appropriately
+ if (NYCPatternType.LOCAL_BUS_TO_SIR.equals(metrocardTransferSource)) metrocardTransferSource = NYCPatternType.LOCAL_BUS_TO_SIR_TO_SI_FERRY;
+ else if (NYCPatternType.METROCARD_LOCAL_BUS.equals(metrocardTransferSource)) metrocardTransferSource = NYCPatternType.LOCAL_BUS_TO_SI_FERRY;
+ else if (NYCPatternType.METROCARD_SUBWAY.equals(metrocardTransferSource)) metrocardTransferSource = NYCPatternType.SUBWAY_TO_SI_FERRY;
+ // prevent the router from riding the SI Ferry twice to get a free trip entirely on Staten Island by doing bus -> SI Ferry -> SI Ferry -> SIR -> Bus
+ // Don't take away the transfer allowance when doing this, just remove the special "ferry" privileges
+ // To get the special Staten Island transfer, you must ride the ferry an odd number of times, which means
+ // you must have started on Staten Island and ended in Manhattan, or vice-versa.
+ else if (NYCPatternType.LOCAL_BUS_TO_SI_FERRY.equals(metrocardTransferSource)) metrocardTransferSource = NYCPatternType.METROCARD_LOCAL_BUS;
+ else if (NYCPatternType.SUBWAY_TO_SI_FERRY.equals(metrocardTransferSource)) metrocardTransferSource = NYCPatternType.METROCARD_SUBWAY;
+ else if (NYCPatternType.LOCAL_BUS_TO_SIR_TO_SI_FERRY.equals(metrocardTransferSource)) metrocardTransferSource = NYCPatternType.LOCAL_BUS_TO_SIR;
+ }
+
+ // III.H. METRO-NORTH RAILROAD
+ else if (NYCPatternType.METRO_NORTH_PEAK.equals(patternType) || NYCPatternType.METRO_NORTH_OFFPEAK.equals(patternType)) {
+ boolean thisRidePeak = NYCPatternType.METRO_NORTH_PEAK.equals(patternType);
+ MetroNorthLine thisRideLine = fareData.mnrLineForPattern.get(pattern);
+ int thisRideDirection = transitLayer.tripPatterns.get(pattern).directionId;
+
+ if (metroNorthBoardStop != -1) {
+ // this is the second, etc. ride in a Metro-North trip
+ if (thisRideDirection != metroNorthDirection || thisRideLine != metroNorthLine) {
+ // we have changed direction or line. Pay for the previous ride, and reset the Metro-North transfer allowance
+ // No via fares on Metro-North, unlike LIRR
+ // TODO copy-pasted code here!
+ TIntObjectMap overrideFares = metroNorthPeak ? mnrPeakFareOverrides : mnrOffPeakFareOverrides;
+ int mnrFare;
+ if (overrideFares.containsKey(metroNorthBoardStop) && overrideFares.get(metroNorthBoardStop).containsKey(metroNorthAlightStop)) {
+ mnrFare = overrideFares.get(metroNorthBoardStop).get(metroNorthAlightStop);
+ } else {
+ mnrFare = fareData.getMetroNorthFare(metroNorthBoardStop, metroNorthAlightStop,
+ metroNorthPeak);
+ }
+
+ int mnrDiscount = getToMnrDiscountForMetrocardTransferSource(metrocardTransferSource);
+ if (mnrDiscount > 0 && metroNorthBoardTime <= metrocardTransferExpiry) {
+ // Clear MetroCard transfer allowance
+ metrocardTransferSource = null;
+ metrocardTransferExpiry = maxClockTime;
+ mnrFare -= mnrDiscount;
+ if (mnrFare < 0) {
+ LOG.warn("Discount on MNR is larger than MNR fare; assuming it's free.");
+ mnrFare = 0;
+ }
+ } else {
+ if (metroNorthMetrocardTransferSource != null) {
+ // NB this overwrites any previous MetroCard transfer information
+ // You can't carry a transfer with you on full-fare MNR
+ metrocardTransferSource = metroNorthMetrocardTransferSource;
+ metrocardTransferExpiry = Math.min(metroNorthBoardTime + NYCStaticFareData.METROCARD_TRANSFER_VALIDITY_TIME_SECONDS, maxClockTime);
+ }
+ }
+
+ // Reset Metro-North transfer allowance for the new ride
+ cumulativeFare += mnrFare;
+ metroNorthBoardStop = boardStop;
+ metroNorthAlightStop = alightStop;
+ metroNorthPeak = thisRidePeak;
+ metroNorthDirection = thisRideDirection;
+ metroNorthLine = thisRideLine;
+ metroNorthBoardTime = boardTime;
+ } else {
+ // same direction transfer, just extend existing Metro-North ride
+ metroNorthAlightStop = alightStop;
+ metroNorthPeak |= thisRidePeak; // any ride that involves a peak ride anywhere is a peak fare.
+ }
+ } else {
+ // new metro-north ride
+ metroNorthBoardStop = boardStop;
+ metroNorthAlightStop = alightStop;
+ metroNorthPeak = thisRidePeak;
+ metroNorthDirection = thisRideDirection;
+ metroNorthLine = thisRideLine;
+ metroNorthBoardTime = boardTime;
+ }
+ }
+
+ // III.I. NYC FERRY
+ else if (NYCPatternType.NYC_FERRY.equals(patternType)) {
+ // simple, just increment the fare, no transfers, don't adjust xfer allowances
+ cumulativeFare += NYCStaticFareData.NYC_FERRY_FARE;
+ }
+
+ // III.J. NYC FERRY FREE SHUTTLE BUS
+ // I can't find anywhere where it says that these can only be used in conjunction with
+ // a ferry. Pickup_type and dropoff_type is 0 at all stops, but we could change that to
+ // only allow pickups/dropoffs at the ferry terminal.
+ else if (NYCPatternType.NYC_FERRY_BUS.equals(patternType)) {
+ // do nothing, but keep this here so we don't throw an unknown pattern type error later
+ }
+
+ // III.K. LONG ISLAND RAIL ROAD
+ // TODO refactor to use pattern type
+ else if (fareData.allLirrPatterns.contains(pattern)) {
+ if (lirrBoardStops == null) {
+ // new ride on the LIRR
+ lirrBoardStops = new ArrayList<>();
+ lirrAlightStops = new ArrayList<>();
+ lirrDirections = new ArrayList<>();
+ lirrPeak.clear();
+ lirrBoardTimes.clear();
+ lirrRideIndex = 0;
+
+ LIRRStop lirrBoardStop = fareData.lirrStopForTransitLayerStop.get(boardStop);
+ LIRRStop lirrAlightStop = fareData.lirrStopForTransitLayerStop.get(alightStop);
+
+ if (lirrBoardStop == null) throw new IllegalStateException("No LIRRStop found for transit layer stop " + boardStop);
+ if (lirrAlightStop == null) throw new IllegalStateException("No LIRRStop found for transit layer stop " + alightStop);
+
+ lirrBoardStops.add(lirrBoardStop);
+ lirrBoardTimes.add(boardTime);
+ lirrAlightStops.add(lirrAlightStop);
+ lirrDirections.add(LIRRTransferAllowance.LIRRDirection.forGtfsDirection(transitLayer.tripPatterns.get(pattern).directionId));
+ lirrPeak.set(lirrRideIndex, fareData.peakLirrPatterns.contains(pattern));
+ } else {
+ // continue existing ride on the LIRR
+ if (boardStop != previousAlightStop) {
+ throw new IllegalStateException("LIRR transfer allowance preserved after on-street transfer!");
+ }
+
+ lirrRideIndex++;
+ lirrBoardStops.add(fareData.lirrStopForTransitLayerStop.get(boardStop));
+ lirrBoardTimes.add(boardTime);
+ lirrAlightStops.add(fareData.lirrStopForTransitLayerStop.get(alightStop));
+ lirrDirections.add(LIRRTransferAllowance.LIRRDirection.forGtfsDirection(transitLayer.tripPatterns.get(pattern).directionId));
+ lirrPeak.set(lirrRideIndex, fareData.peakLirrPatterns.contains(pattern));
+ }
+ }
+
+ // III.L. WESTCHESTER BxM4C MANHATTAN EXPRESS
+ // This has a special no-transfer fare, while other Westchester Bee-Line routes are just MetroCard Local Buses
+ // Don't touch transfer allowances here (although I suppose this might actually clear you MetroCard transfer
+ // allowance, but that's not documented)
+ else if (NYCPatternType.WESTCHESTER_BXM4C.equals(patternType)) {
+ cumulativeFare += NYCStaticFareData.BXM4C_FARE;
+ }
+
+ // III.M. AIRTRAIN JFK
+ // Flat fare, don't touch transfer allowance. I suppose IRL this might clear the transfer allowance since you
+ // do pay with your MetroCard, but again, not documented
+ else if (NYCPatternType.AIRTRAIN_JFK.equals(patternType)) {
+ // pay fare on entry or exit at Howard Beach or Jamaica
+ // I assume that if you go from Howard Beach to Jamaica you pay twice... which is why
+ // these are separate ifs
+ // (I'm also not sure you can get from Howard Beach to Jamaica without a transfer, but if statements are cheap)
+ if (fareData.airtrainJfkFareStops.contains(boardStop)) cumulativeFare += NYCStaticFareData.AIRTRAIN_JFK_FARE;
+ if (fareData.airtrainJfkFareStops.contains(alightStop)) cumulativeFare += NYCStaticFareData.AIRTRAIN_JFK_FARE;
+ }
+
+ else {
+ throw new IllegalStateException("Unrecognized pattern type!");
+ } // END CHAINED IF OVER PATTERN TYPES
+ } // END LOOP OVER RIDES
+
+ // IF WE HAVE AN ON-STREET TRANSFER, RECORD WHETHER WE'VE LEFT THE LIRR/METRO-NORTH/SUBWAY FOR DOMINATION PURPOSES
+ // don't consider a loop transfer to be an on-street transfer - the router will cunningly use this to get rid of
+ // negative transfer allowances.
+ if (state.pattern == -1 && state.back != null && state.stop != state.back.stop) {
+ // clear LIRR transfer allowance - no on street transfers with LIRR
+ lirr = null;
+ // clear MNR transfer allowance - no on street transfers with MNR
+ metroNorthBoardStop = metroNorthAlightStop = metroNorthDirection = -1;
+ metroNorthPeak = false;
+ metroNorthLine = null;
+ // record if we've left the subway paid area
+ if (inSubwayPaidArea) {
+ inSubwayPaidArea = hasBehindGatesTransfer(state.back.stop, state.stop, fareData);
+ }
+ }
+
+ return new FareBounds(cumulativeFare,
+ new NYCTransferAllowance(lirr, metrocardTransferSource, metrocardTransferExpiry,
+ inSubwayPaidArea,
+ metroNorthBoardStop, metroNorthDirection, metroNorthPeak, metroNorthLine
+ ));
+ }
+
+ /** return true if you can transfer from subway stop from to to without leaving the system */
+ public static boolean hasBehindGatesTransfer (int from, int to, NYCFareDataCache fareData) {
+ if (from == to) return true; // same platform
+ else {
+ String previousFareArea = fareData.fareAreaForStop.get(from);
+ String thisFareArea = fareData.fareAreaForStop.get(to);
+ // both in the same fare area (behind gates)
+ // okay to use == here since fare areas are interned - warning can be ignored
+ //noinspection StringEquality,ConditionCoveredByFurtherCondition
+ return previousFareArea != null && thisFareArea != null && previousFareArea == thisFareArea;
+ }
+ }
+
+ private int getToMnrDiscountForMetrocardTransferSource (NYCPatternType metrocardTransferSource) {
+ if (metrocardTransferSource == null || toMetroNorthDiscounts == null) return 0;
+ else return toMetroNorthDiscounts.getOrDefault(metrocardTransferSource, 0);
+ }
+
+ private int getToLirrDiscountForMetrocardTransferSource (NYCPatternType metrocardTransferSource) {
+ if (metrocardTransferSource == null || toLirrDiscounts == null) return 0;
+ else return toLirrDiscounts.getOrDefault(metrocardTransferSource, 0);
+ }
+
+ @Override
+ public String getType() {
+ return "nyc";
+ }
+
+ public enum MetroNorthLine {
+ HARLEM, HUDSON, NEW_HAVEN // and branches
+ }
+
+ /** Used from API to override particular Metro-North and LIRR fares */
+ public static class FareOverride {
+ public String fromStopId;
+ public String toStopId;
+ public String viaStopId; // only for LIRR
+ public int peakFare;
+ public int offPeakFare;
+ }
+}
diff --git a/src/main/java/com/conveyal/r5/analyst/fare/nyc/NYCPatternType.java b/src/main/java/com/conveyal/r5/analyst/fare/nyc/NYCPatternType.java
new file mode 100644
index 00000000..71c109df
--- /dev/null
+++ b/src/main/java/com/conveyal/r5/analyst/fare/nyc/NYCPatternType.java
@@ -0,0 +1,88 @@
+package com.conveyal.r5.analyst.fare.nyc;
+
+import com.google.common.collect.Sets;
+
+import java.util.Set;
+
+public enum NYCPatternType {
+ // TODO move peakLirrPatterns and allLirrPatterns in here
+ /** A local bus ($2.75), with free transfers to subway or other local bus */
+ METROCARD_LOCAL_BUS,
+ /** NYC subway, free within-system transfers, and free transfers to local bus. 3.75 upgrade to Express Bus */
+ METROCARD_SUBWAY,
+ /**
+ * Metrocard NICE routes are _almost_ the same as Metrocard local bus, but offer _two_ transfers to add'l NICE buses
+ * At least, that seems to be what the text here implies, but it's not completely clear:
+ * https://www.vsvny.org/vertical/sites/%7BBC0696FB-5DB8-4F85-B451-5A8D9DC581E3%7D/uploads/NICE-n1_Maps_and_Schedules.pdf
+ * "two connecting NICE bus routes" I assume they mean two more after the first one.
+ * We're not handling all rules about where you can transfer.
+ */
+ METROCARD_NICE,
+
+ /**
+ * This is not assigned to any patterns, but is used as a metrocard transfer source after two NICE rides,
+ * to indicate that one more NICE ride is free, but no rides on other services are transfer-eligible.
+ */
+ METROCARD_NICE_ONE_TRANSFER,
+
+ /** Staten Island Railway. This is different from the subway because it provides a free transfer to/from all subway lines */
+ STATEN_ISLAND_RWY,
+ /** MTA Express buses, $6.75 or $3.75 upgrade from local bus (yes, it's cheaper to transfer from local bus) */
+ METROCARD_EXPRESS_BUS,
+ STATEN_ISLAND_FERRY,
+ METRO_NORTH_PEAK,
+ METRO_NORTH_OFFPEAK,
+ // TODO currently unused
+ LIRR_OFFPEAK, LIRR_PEAK,
+ NYC_FERRY,
+ NYC_FERRY_BUS, // Free shuttle bus to NYC Ferry terminals
+ /**
+ * The BxM4C is a special express bus to Manhattan with no transfers.
+ * Other Westchester County routes are identical to MTA local buses.
+ */
+ WESTCHESTER_BXM4C,
+
+ SUFFOLK,
+
+ /** Used after a single transfer on Suffolk County Transit */
+ SUFFOLK_ONE_TRANSFER,
+
+ AIRTRAIN_JFK,
+
+ /** Special cases for Staten Island Railway
+ * You get a free transfer from Local Bus -> SIR -> Subway/Local Bus in lower Manhattan.
+ * We don't reproduce this exactly because of the complexity of handling all the possible board points,
+ * but we do allow you to do local bus -> SIR -> SI ferry -> bus/subway and bus/subway -> SI ferry
+ * -> SIR -> local bus. By enforcing the use of the ferry, and not allowing non-MetroCard services between
+ * the ferry and the SIR/local bus/subway, we sort of capture the correct behavior.
+ * These states represent after riding Local Bus -> SIR, after riding Local Bus -> SIR -> Ferry,
+ * and after riding Subway/Bus -> Ferry, and Subway/Bus -> Ferry -> SIR.
+ *
+ * We don't enforce the "no other services between Subway/Bus and SIR" rule on the reverse trip, because
+ * it would require keeping local bus/subway allowances in Lower Manhattan separate based on whether there was
+ * another service used. Since the commuter rail is quite far from the SI ferry landing, the only other
+ * services that could be used to circumvent the "get off near the ferry" rule are the NYC Ferry and the
+ * NYC Ferry buses. In any case, since you don't tag out of the subway/bus, there's no way for the MetroCard
+ * system to enforce this rule.
+ */
+ LOCAL_BUS_TO_SIR, LOCAL_BUS_TO_SIR_TO_SI_FERRY,
+ // keep these separate as they have different transfer allowances for reboarding the subway -
+ // important if you took a local bus on Staten Island to St George, you can still get on the subway
+ // in Manhattan for free
+ LOCAL_BUS_TO_SI_FERRY, SUBWAY_TO_SI_FERRY,
+ LOCAL_BUS_OR_SUBWAY_TO_SI_FERRY_TO_SIR // same transfer allowance after riding ferry
+
+ ;
+
+ /**
+ * The services that you can get a discounted transfer to from NICE. We do this because NICE has
+ * very specific lists of connecting routes, that we're not implementing. But we do assume that if
+ * you have to take another transit service (e.g. LIRR) to connect between NICE and some other transit
+ * service, you lose the NICE transfer discount on the next ride (so you can't do NICE -> LIRR -> NICE
+ * and get the second NICE ride for free). This set is used to determine if a discounted transfer is available,
+ * otherwise the transfer allowance is cleared.
+ */
+ public static final Set niceTransfers =
+ Sets.immutableEnumSet(METROCARD_LOCAL_BUS, METROCARD_EXPRESS_BUS, METROCARD_SUBWAY, METROCARD_NICE,
+ METROCARD_NICE_ONE_TRANSFER, STATEN_ISLAND_RWY, SUFFOLK);
+}
diff --git a/src/main/java/com/conveyal/r5/analyst/fare/nyc/NYCStaticFareData.java b/src/main/java/com/conveyal/r5/analyst/fare/nyc/NYCStaticFareData.java
new file mode 100644
index 00000000..2ab5e61f
--- /dev/null
+++ b/src/main/java/com/conveyal/r5/analyst/fare/nyc/NYCStaticFareData.java
@@ -0,0 +1,164 @@
+package com.conveyal.r5.analyst.fare.nyc;
+
+import com.csvreader.CsvReader;
+import com.google.common.collect.Sets;
+import gnu.trove.map.TObjectIntMap;
+import gnu.trove.map.hash.TObjectIntHashMap;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import java.io.IOException;
+import java.io.InputStream;
+import java.nio.charset.StandardCharsets;
+import java.util.HashMap;
+import java.util.HashSet;
+import java.util.Map;
+import java.util.Set;
+
+/**
+ * A class that contains a bunch of static data about fares in NYC
+ *
+ * Note that stop_ids and route_ids are referenced directly in several places within this file and in
+ * the CSV files it reads. Changing the version of the GTFS used with this fare calculator may result
+ * in incorrect results.
+ */
+public class NYCStaticFareData {
+ public static final int LOCAL_BUS_SUBWAY_FARE = 275;
+ public static final int EXPRESS_BUS_FARE = 675;
+ public static final int EXPRESS_BUS_UPGRADE = 375;
+ /**
+ * technically I think this is 2h18m to allow for schedule adherence issues, but since we're not
+ * modeling schedule adherence leave at the advertised 2h.
+ */
+ public static final int METROCARD_TRANSFER_VALIDITY_TIME_SECONDS = 2 * 60 * 60;
+ public static final int NYC_FERRY_FARE = 275;
+ public static final int METRO_NORTH_MAX_FARE;
+ public static final int BXM4C_FARE = 750;
+ public static final int NICE_FARE = 275;
+ public static final int SUFFOLK_FARE = 225;
+ /** 25 cents for a transfer slip on Suffolk Transit */
+ public static final int SUFFOLK_TRANSFER_SLIP = 25;
+ /** 25 cents for a transfer to NICE, _in addition to_ the transfer slip */
+ public static final int SUFFOLK_NICE_TRANSFER = 25;
+ public static final int SUFFOLK_TRANSFER_VALIDITY_TIME_SECONDS = 2 * 60 * 60;
+ public static final int AIRTRAIN_JFK_FARE = 775;
+
+ public static final TObjectIntMap METROCARD_TRANSFER_ALLOWANCE_FOR_PATTERN_TYPE =
+ new TObjectIntHashMap<>(10, 0.9f, -1);
+
+ static {
+ // due to a likely mistake in the NYC transfer system, transferring from a 2.75 subway/bus to a 6.75 express bus
+ // is a 3.75 upgrade, meaning that subway + express bus = 2.75 + 3.75 = 6.50. I suspect they meant to make the
+ // transfer amount 4.25 and they messed up on the math. Anyhow, that means that max transfer allowance from the
+ // subway/local bus is 3.00...
+ METROCARD_TRANSFER_ALLOWANCE_FOR_PATTERN_TYPE.put(NYCPatternType.METROCARD_SUBWAY, 300);
+ METROCARD_TRANSFER_ALLOWANCE_FOR_PATTERN_TYPE.put(NYCPatternType.METROCARD_LOCAL_BUS, 300);
+ METROCARD_TRANSFER_ALLOWANCE_FOR_PATTERN_TYPE.put(NYCPatternType.STATEN_ISLAND_RWY, 300);
+ METROCARD_TRANSFER_ALLOWANCE_FOR_PATTERN_TYPE.put(NYCPatternType.METROCARD_EXPRESS_BUS, 675); // free transfer to express bus
+ METROCARD_TRANSFER_ALLOWANCE_FOR_PATTERN_TYPE.put(NYCPatternType.METROCARD_NICE, 300);
+ METROCARD_TRANSFER_ALLOWANCE_FOR_PATTERN_TYPE.put(NYCPatternType.METROCARD_NICE_ONE_TRANSFER, 300);
+ METROCARD_TRANSFER_ALLOWANCE_FOR_PATTERN_TYPE.put(NYCPatternType.SUFFOLK, 225); // save 2.25 off of NICE fare
+ METROCARD_TRANSFER_ALLOWANCE_FOR_PATTERN_TYPE.put(NYCPatternType.SUFFOLK_ONE_TRANSFER, 250); // save 2.50 off of NICE fare
+ METROCARD_TRANSFER_ALLOWANCE_FOR_PATTERN_TYPE.put(NYCPatternType.LOCAL_BUS_TO_SI_FERRY, 300); // save 3.00 off express bus
+ METROCARD_TRANSFER_ALLOWANCE_FOR_PATTERN_TYPE.put(NYCPatternType.SUBWAY_TO_SI_FERRY, 300); // save 3.00 off express bus
+ METROCARD_TRANSFER_ALLOWANCE_FOR_PATTERN_TYPE.put(NYCPatternType.LOCAL_BUS_OR_SUBWAY_TO_SI_FERRY_TO_SIR, 275); // save 2.75 off local bus
+ METROCARD_TRANSFER_ALLOWANCE_FOR_PATTERN_TYPE.put(NYCPatternType.LOCAL_BUS_TO_SIR_TO_SI_FERRY, 275); // save 2.75 off local bus/subway
+ METROCARD_TRANSFER_ALLOWANCE_FOR_PATTERN_TYPE.put(NYCPatternType.LOCAL_BUS_TO_SIR, 275); // save 275 off local bus/subway in Manhattan
+ }
+
+ private static final Logger LOG = LoggerFactory.getLogger(NYCStaticFareData.class);
+
+ public static final Set expressBusRoutes = new HashSet<>();
+
+ /** Peak fares on Metro-North, retrieve with .get(from).get(to) */
+ public static final Map> mnrPeakFares = new HashMap<>();
+
+ /** Offpeak fares on Metro-North, retrieve with .get(from).get(to) */
+ public static final Map> mnrOffpeakFares = new HashMap<>();
+
+ /**
+ * Map from subway stop IDs to station complex IDs. Any stops in the same same station complex have free transfers
+ * The station complex IDs are interned so that == can be used efficiently.
+ */
+ public static final Map subwayTransfers = new HashMap<>();
+
+ /** Staten Island Railway only collects fares at two stops: St George and Tompkinsville. These are the IDs of those stops */
+ public static final Set statenIslandRwyFareStops = Sets.newHashSet(
+ "nyct_subway_S31", "nyct_subway_S31N", "nyct_subway_S31S", // St George
+ "nyct_subway_S30", "nyct_subway_S30N", "nyct_subway_S30S" // Tompkinsville
+ );
+
+ /** AirTrain JFK collects fares at two stops: Howard Beach and Jamaica. These are their stop IDs */
+ public static final Set airtrainJfkFareStops = Sets.newHashSet("airtrain_160567", "airtrain_160565");
+
+ static {
+ readExpressBusRoutes();
+ readSubwayTransfers();
+ METRO_NORTH_MAX_FARE = readMetroNorthFares();
+ }
+
+ private static void readExpressBusRoutes () {
+ LOG.info("Reading express bus routes");
+ readCsvFromClasspath("fares/nyc/mta/express_bus_routes.csv", rdr -> expressBusRoutes.add(rdr.get("route_id")));
+ }
+
+ private static void readSubwayTransfers () {
+ LOG.info("Reading subway transfers");
+ readCsvFromClasspath("fares/nyc/mta/subway_transfers.csv", rdr -> {
+ String stop = rdr.get("stop_id");
+
+ if (subwayTransfers.containsKey(stop)) throw new IllegalStateException("Duplicate stop " + stop + " in subway_transfers.csv!");
+
+ subwayTransfers.put(stop, rdr.get("fare_area_id").intern()); // intern for efficiency
+ });
+ }
+
+ private static int readMetroNorthFares () {
+ int[] maxFare = new int[] {0};
+
+ LOG.info("Reading Metro-North fares");
+ readCsvFromClasspath("fares/nyc/mnr/mnr_fares.csv", rdr -> {
+ String fromStopId = rdr.get("from_stop_id");
+ String toStopId = rdr.get("to_stop_id");
+ int peakFare = Integer.parseInt(rdr.get("peak"));
+ int offpeakFare = Integer.parseInt(rdr.get("offpeak"));
+
+ maxFare[0] = Math.max(peakFare, maxFare[0]);
+ maxFare[0] = Math.max(offpeakFare, maxFare[0]);
+
+ mnrPeakFares.computeIfAbsent(fromStopId, k -> new TObjectIntHashMap<>()).put(toStopId, peakFare);
+ mnrOffpeakFares.computeIfAbsent(fromStopId, k -> new TObjectIntHashMap<>()).put(toStopId, offpeakFare);
+ });
+
+ // return rather than setting directly since max_fare is final
+ return maxFare[0];
+ }
+
+ /** Read a CSV file from the classpath, calling forEachRow with the CSV reader as a parameter after the reader
+ * has been advanced to each row.
+ * @param name Filename on classpath
+ */
+ private static void readCsvFromClasspath (String name, IOExceptionConsumer forEachRow) {
+ InputStream is = null;
+ try {
+ is = NYCStaticFareData.class.getClassLoader().getResourceAsStream(name);
+ CsvReader rdr = new CsvReader(is, ',', StandardCharsets.UTF_8);
+ rdr.readHeaders();
+ while (rdr.readRecord()) forEachRow.accept(rdr);
+ } catch (IOException e) {
+ LOG.error("IO Exception reading {}", name, e);
+ } finally {
+ try {
+ is.close();
+ } catch (IOException e) {
+ LOG.error("IO Exception closing {}", name, e);
+ }
+ }
+ }
+
+ /** Just a consumer that allows throwing an IOException */
+ @FunctionalInterface
+ private interface IOExceptionConsumer {
+ void accept (T t) throws IOException;
+ }
+}
diff --git a/src/main/java/com/conveyal/r5/analyst/fare/nyc/NYCTransferAllowance.java b/src/main/java/com/conveyal/r5/analyst/fare/nyc/NYCTransferAllowance.java
new file mode 100644
index 00000000..7a0a1ebd
--- /dev/null
+++ b/src/main/java/com/conveyal/r5/analyst/fare/nyc/NYCTransferAllowance.java
@@ -0,0 +1,116 @@
+package com.conveyal.r5.analyst.fare.nyc;
+
+import com.conveyal.r5.analyst.fare.TransferAllowance;
+
+/**
+ * A transfer allowance for NYC. This has a bunch of sub-transfer TODO clarify this comment.
+ */
+
+public class NYCTransferAllowance extends TransferAllowance {
+ // all these are public so they can be JSON-serialized for the debug interface
+
+ public final LIRRTransferAllowance lirr;
+ public final NYCPatternType metrocardTransferSource;
+ public final int metrocardTransferExpiry;
+
+ public boolean inSubwayPaidArea;
+
+ /** Where the Metro-North was boarded, -1 if not on Metro-North */
+ public final int metroNorthBoardStop;
+
+ /** Direction of the current Metro-North trip, -1 if not on Metro-North */
+ public final int metroNorthDirection;
+
+ /** Whether the current Metro-North trip is peak or not */
+ public final boolean metroNorthPeak;
+
+ /** Since metro-north doesn't allow inter-line transfers, record which line we are on */
+ public final NYCInRoutingFareCalculator.MetroNorthLine metroNorthLine;
+
+ /**
+ * Whether the current Metro-North trip is on the New Haven line
+ * This is important because there are no free transfers between the New Haven and Harlem/Hudson
+ * lines, see http://www.iridetheharlemline.com/2010/09/22/question-of-the-day-can-i-use-my-ticket-on-other-lines/
+ */
+
+ public NYCTransferAllowance(LIRRTransferAllowance lirr, NYCPatternType metrocardTransferSource,
+ int metrocardTransferExpiry, boolean inSubwayPaidArea,
+ int metroNorthBoardStop, int metroNorthDirection, boolean metroNorthPeak,
+ NYCInRoutingFareCalculator.MetroNorthLine metroNorthLine) {
+ // only the value needs to be set correctly. The expiration time and number of transfers left are only used in
+ // the second domination rule, which we override in atLeastAsGoodForAllFutureRedemptions
+ // value is set to $100,000 - this effectively disables Theorem 3.1 from the paper
+ // (https://files.indicatrix.org/Conway-Stewart-2019-Charlie-Fare-Constraints.pdf)
+ // Theorem 3.1 depends on nonnegativity of transfer allowances, which we cannot guarantee in New York -
+ // see comments about Metro-North below. This is fine for algorithm correctness, although it means retaining
+ // more trips than necessary. You can think of it as a ghost transfer to a (very expensive) transit service that
+ // will never be optimal. Virgin Galactic flights are $250,000, or $150,000 with your LIRR ticket, etc.
+ // Theorem 3.2 does not depend on assumptions about nonnegativity of transfer allowances, as long as negative
+ // transfer allowances are considered in atLeastAsGoodForAllFutureRedemptions.
+ super(100_000_00, Integer.MAX_VALUE, Integer.MAX_VALUE);
+ this.lirr = lirr;
+ this.metrocardTransferSource = metrocardTransferSource;
+ this.metrocardTransferExpiry = metrocardTransferExpiry;
+ this.inSubwayPaidArea = inSubwayPaidArea;
+ this.metroNorthBoardStop = metroNorthBoardStop;
+ this.metroNorthDirection = metroNorthDirection;
+ this.metroNorthPeak = metroNorthPeak;
+ this.metroNorthLine = metroNorthLine;
+ }
+
+ @Override
+ public boolean atLeastAsGoodForAllFutureRedemptions(TransferAllowance other) {
+ // Note that we're not calling super here, all logic is reimplemented here.
+ // This goes through lots of ways other could be better than this, and returns false if
+ // other is possibly better in any way.
+ if (other instanceof NYCTransferAllowance) {
+ NYCTransferAllowance o = (NYCTransferAllowance) other;
+ // if this LIRR is not at least as good as other for all future redemptions, this NYCTransferAllowance
+ // is not as good as or better than the other for all future redemptions
+ if (lirr != null && !lirr.atLeastAsGoodForAllFutureRedemptions(o.lirr)) return false;
+ // If the other has an LIRR transfer allowance and this doesn't, other could be better for some destinations
+ // However, if both are null, they are equivalent
+ if (lirr == null && o.lirr != null) return false;
+
+ // if they don't have the same metrocard transfer source, retain both -- different transfer rules
+ // exception: if other does not have a metrocard transfer source, it can't be better on this criterion
+ // This is not strictly true, consider a local bus ->express bus -> express bus trip and a local bus -> local bus ->
+ // express bus -> express bus trip. After the local buses, the first one has a better transfer allowance, and the same
+ // cumulative fare, but will result in a more expensive trip. But we have decided not to support this type of
+ // negativity of transfer allowances, where throwaway buses are ridden only to reduce the total fare.
+ if (metrocardTransferSource != o.metrocardTransferSource && o.metrocardTransferSource != null) return false;
+
+ // If the other expires later, it could be better
+ if (metrocardTransferExpiry < o.metrocardTransferExpiry) return false; // expires sooner
+
+ // if the other is in the subway and this is not, other could be better. All else equal, it is always better
+ // to be in the subway than not in the subway - because leaving the subway is free.
+ if (!inSubwayPaidArea && o.inSubwayPaidArea) return false; // free transfer with other and not with this
+
+ // if other does not have a Metro-North allowance, it could be better - particularly when peak/off-peak
+ // is involved. It may be valuable to board further down the line, if you can avoid a peak fare.
+ // Consider a trip from Manhattan to White Plains, under the City Fare scenario. Say one option is to take
+ // Metro-North from Grand Central to Botanical Garden - this would cost 2.75 under the city fare scenario.
+ // Another option is to take the subway - this would also cost 2.75. At Botanical Garden, the Metro-North
+ // service would be considered superior, because it has a Metro-North transfer allowance and the subway does
+ // not. But actually, if you then board another Metro-North train to White Plains, the router will extend
+ // the trip (rather than allowing you to buy two tickets) and the total fare will be 12.75, whereas if you
+ // switched to Metro-North from the subway the fare would only be 2.75 + 4.25 = $7. But at the intermediate
+ // point the Metro-North prefix was considered preferable.
+ // otherwise, this is only the same or better if board stops, peak/offpeak,
+ // directions, and line are all the same. This will overretain trips, but Metro-North
+ // is small enough this should be fine.
+ if (metroNorthBoardStop != o.metroNorthBoardStop ||
+ metroNorthPeak != o.metroNorthPeak ||
+ metroNorthDirection != o.metroNorthDirection ||
+ metroNorthLine != o.metroNorthLine
+ ) return false;
+
+ // if we got here, we're good
+ return true;
+ } else {
+ throw new IllegalArgumentException("Mixing of transfer allowance types!");
+ }
+ }
+
+}
diff --git a/src/main/java/com/conveyal/r5/analyst/scenario/AddTrips.java b/src/main/java/com/conveyal/r5/analyst/scenario/AddTrips.java
index bfdcf1e9..6d87643f 100644
--- a/src/main/java/com/conveyal/r5/analyst/scenario/AddTrips.java
+++ b/src/main/java/com/conveyal/r5/analyst/scenario/AddTrips.java
@@ -64,6 +64,9 @@ public class AddTrips extends Modification {
/** A list of the internal integer IDs for the existing or newly created stops. */
private TIntList intStopIds;
+ /** Set a direction ID for this modification */
+ public int directionId = 0;
+
/** unique ID for transitive */
private String routeId = UUID.randomUUID().toString();
@@ -106,7 +109,11 @@ public boolean apply (TransportNetwork network) {
// No protective copy is made here because TransportNetwork.scenarioCopy already deep-copies certain collections.
transitLayer.routes.add(info);
- generatePattern(transitLayer, 0);
+ if (this.directionId != 0 && this.directionId != 1) {
+ throw new IllegalArgumentException("Direction must be 0/1");
+ }
+
+ generatePattern(transitLayer, this.directionId);
if (bidirectional) {
// We want to call generatePattern again, but with all stops and stoptimes reversed.
// Reverse the intStopIds in place. The string stopIds should not be used anymore at this point.
@@ -123,7 +130,7 @@ public boolean apply (TransportNetwork network) {
dwellList.reverse();
ptt.dwellTimes = dwellList.toArray();
}
- generatePattern(transitLayer, 1);
+ generatePattern(transitLayer, this.directionId == 0 ? 1 : 0); // other direction ID for bidirection route
}
return false;
}
@@ -147,6 +154,8 @@ private void generatePattern (TransitLayer transitLayer, int directionId) {
pattern.tripSchedules.sort(Comparator.comparing(ts -> ts.departures[0]));
pattern.routeIndex = this.routeIndex;
pattern.routeId = this.routeId;
+ // We use the directionId method parameter rather than this.directionId. This allows two patterns to be created with opposite directionIds when bidirectional=true.
+ pattern.directionId = directionId;
transitLayer.tripPatterns.add(pattern);
}
diff --git a/src/main/java/com/conveyal/r5/analyst/scenario/IndexedPolygonCollection.java b/src/main/java/com/conveyal/r5/analyst/scenario/IndexedPolygonCollection.java
index d95f58ca..0e82bb54 100644
--- a/src/main/java/com/conveyal/r5/analyst/scenario/IndexedPolygonCollection.java
+++ b/src/main/java/com/conveyal/r5/analyst/scenario/IndexedPolygonCollection.java
@@ -1,7 +1,7 @@
package com.conveyal.r5.analyst.scenario;
import com.conveyal.r5.analyst.FileCategory;
-import com.conveyal.r5.analyst.cluster.AnalystWorker;
+import com.conveyal.r5.analyst.cluster.AnalysisWorker;
import org.geotools.feature.FeatureCollection;
import org.geotools.feature.FeatureIterator;
import org.geotools.geojson.feature.FeatureJSON;
@@ -104,7 +104,7 @@ public IndexedPolygonCollection (
}
public void loadFromS3GeoJson() throws Exception {
- InputStream s3InputStream = AnalystWorker.filePersistence.getData(FileCategory.POLYGON, polygonLayer);
+ InputStream s3InputStream = AnalysisWorker.filePersistence.getData(FileCategory.POLYGON, polygonLayer);
// To test on local files:
//InputStream s3InputStream = new FileInputStream("/Users/abyrd/" + polygonLayer);
if (polygonLayer.endsWith(".gz")) {
diff --git a/src/main/java/com/conveyal/r5/analyst/scenario/RoadCongestion.java b/src/main/java/com/conveyal/r5/analyst/scenario/RoadCongestion.java
index 8c456059..ada0069a 100644
--- a/src/main/java/com/conveyal/r5/analyst/scenario/RoadCongestion.java
+++ b/src/main/java/com/conveyal/r5/analyst/scenario/RoadCongestion.java
@@ -1,7 +1,7 @@
package com.conveyal.r5.analyst.scenario;
import com.conveyal.r5.analyst.FileCategory;
-import com.conveyal.r5.analyst.cluster.AnalystWorker;
+import com.conveyal.r5.analyst.cluster.AnalysisWorker;
import com.conveyal.r5.streets.EdgeStore;
import com.conveyal.r5.transit.TransportNetwork;
import com.conveyal.r5.util.ExceptionUtils;
@@ -109,7 +109,7 @@ public boolean resolve (TransportNetwork network) {
// this.features = polygonLayerCache.getPolygonFeatureCollection(this.polygonLayer);
// Note: Newer JTS now has GeoJsonReader
try {
- InputStream s3InputStream = AnalystWorker.filePersistence.getData(FileCategory.POLYGON, polygonLayer);
+ InputStream s3InputStream = AnalysisWorker.filePersistence.getData(FileCategory.POLYGON, polygonLayer);
// To test on local files:
//InputStream s3InputStream = new FileInputStream("/Users/abyrd/" + polygonLayer);
// TODO handle gzip decompression in FilePersistence base class.
diff --git a/src/main/java/com/conveyal/r5/analyst/scenario/Scenario.java b/src/main/java/com/conveyal/r5/analyst/scenario/Scenario.java
index 33b507bd..58480cc5 100644
--- a/src/main/java/com/conveyal/r5/analyst/scenario/Scenario.java
+++ b/src/main/java/com/conveyal/r5/analyst/scenario/Scenario.java
@@ -27,14 +27,28 @@ public class Scenario implements Serializable {
/**
* If this ID is non null, this scenario should be identical to all others with the same ID. This enables us to
- * cache things like linked point sets and modified networks keyed on the scenario that has been applied.
+ * cache things like linked point sets and modified networks keyed on the scenario that has been applied. It also
+ * allows the scenario itself to be stored by the backend, then retrieved and cached by many regional workers.
+ * TODO Should the ID always be non-null?
+ * Should we make it final and initialize it in a constructor Scenario(modifications)?
+ *
+ * Note that these are not persistent database IDs that remain the same when the modifications composing the
+ * scenario are changed, as scenarios are not directly represented by database records. They are just the set of
+ * all modifications in a project with the same scenario index enabled. For both single point and regional
+ * analyses, this ID is always derived from the contents of the scenario in the manner of a hash, including a CRC
+ * of the modifications themselves.
*/
public String id;
+ /**
+ * By default we are now setting this to be the scenario name at the time of creation.
+ */
public String description = "no description provided";
public List modifications = Lists.newArrayList();
+ // TODO We appear to only read this, never write it!
+ // Do we see "Scenario does not have feed checksums" on every analysis?
/** Map from feed ID to feed CRC32 to ensure that we can't apply scenarios to the wrong feeds */
public Map feedChecksums;
diff --git a/src/main/java/com/conveyal/r5/point_to_point/PointToPointRouterServer.java b/src/main/java/com/conveyal/r5/point_to_point/PointToPointRouterServer.java
index f0818ed5..6dc06c77 100644
--- a/src/main/java/com/conveyal/r5/point_to_point/PointToPointRouterServer.java
+++ b/src/main/java/com/conveyal/r5/point_to_point/PointToPointRouterServer.java
@@ -1,5 +1,6 @@
package com.conveyal.r5.point_to_point;
+import com.conveyal.r5.analyst.fare.ParetoServer;
import com.conveyal.r5.api.GraphQlRequest;
import com.conveyal.r5.api.util.BikeRentalStation;
import com.conveyal.r5.api.util.LegMode;
@@ -50,6 +51,7 @@
import static com.conveyal.r5.streets.VertexStore.floatingDegreesToFixed;
import static spark.Spark.before;
import static spark.Spark.get;
+import static spark.Spark.post;
import static spark.Spark.options;
import static spark.Spark.port;
import static spark.Spark.staticFileLocation;
@@ -150,6 +152,7 @@ private static void run(TransportNetwork transportNetwork) {
ObjectReader mapReader = mapper.reader(HashMap.class);
staticFileLocation("debug-plan");
PointToPointQuery pointToPointQuery = new PointToPointQuery(transportNetwork);
+ ParetoServer paretoServer = new ParetoServer(transportNetwork);
// add cors header
before((req, res) -> res.header("Access-Control-Allow-Origin", "*"));
@@ -946,6 +949,7 @@ private static void run(TransportNetwork transportNetwork) {
}, JsonUtilities.objectMapper::writeValueAsString);
+ post("/pareto", paretoServer::handle);
}
/**
diff --git a/src/main/java/com/conveyal/r5/profile/ExecutionTimer.java b/src/main/java/com/conveyal/r5/profile/ExecutionTimer.java
new file mode 100644
index 00000000..e99da759
--- /dev/null
+++ b/src/main/java/com/conveyal/r5/profile/ExecutionTimer.java
@@ -0,0 +1,100 @@
+package com.conveyal.r5.profile;
+
+import com.google.common.base.Strings;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import static com.google.common.base.Preconditions.checkState;
+
+/**
+ * Encapsulates the logic for timing execution, accumulating measurements of many separate operations, and logging the
+ * results. Each ExecutionTimer can have children, which are assumed to only be running when their parent is running.
+ *
+ * All times are tracked in nanoseconds. Several sources indicate that nanoTime() should always be used for timing
+ * execution rather than System.currentTimeMillis(). And some of the operations we're timing are significantly
+ * sub-millisecond in duration. (Arguably on large numbers of operations using msec would be fine because the number of
+ * times we cross a millisecond boundary would be proportional to the portion of a millisecond that operation took, but
+ * nanoTime() avoids the problem entirely.)
+ */
+public class ExecutionTimer {
+
+ private static final Logger LOG = LoggerFactory.getLogger(ExecutionTimer.class);
+
+ public final String name;
+
+ private boolean running = false;
+
+ private long startTimeNanos = 0;
+
+ private long accumulatedDurationNanos = 0;
+
+ private final List children = new ArrayList<>();
+
+ public ExecutionTimer (String name) {
+ this.name = name;
+ }
+
+ public ExecutionTimer (ExecutionTimer parent, String name) {
+ this.name = name;
+ parent.children.add(this);
+ }
+
+ public void start () {
+ checkState(!running, "Start can only be called on a stopped timer.");
+ startTimeNanos = System.nanoTime();
+ running = true;
+ }
+
+ public void stop () {
+ checkState(running, "Stop can only be called after start.");
+ long elapsed = System.nanoTime() - startTimeNanos;
+ accumulatedDurationNanos += elapsed;
+ running = false;
+ startTimeNanos = 0;
+ }
+
+ public void timeExecution (Runnable runnable) {
+ this.start();
+ runnable.run();
+ this.stop();
+ }
+
+ public String getMessage () {
+ String description = running ? "[RUNNING]" : accumulatedDurationNanos / 1e9D + "s";
+ return String.format("%s: %s", name, description);
+ }
+
+ public void log (int indentLevel) {
+ String indent = Strings.repeat("- ", indentLevel);
+ LOG.debug(indent + this.getMessage());
+ }
+
+ public void logWithChildren () {
+ logWithChildren(0);
+ }
+
+ public void logWithChildren (int indentLevel) {
+ log(indentLevel);
+ if (children.size() > 0) {
+ long otherTime = accumulatedDurationNanos;
+ for (ExecutionTimer child : children) {
+ otherTime -= child.accumulatedDurationNanos;
+ child.logWithChildren(indentLevel + 1);
+ }
+ if (otherTime > 0) {
+ ExecutionTimer otherTimer = new ExecutionTimer("other");
+ otherTimer.accumulatedDurationNanos = otherTime;
+ otherTimer.log(indentLevel + 1);
+ }
+ }
+ }
+
+ @Override
+ public String toString () {
+ return String.format("ExecutionTimer {%s}", getMessage());
+ }
+
+}
diff --git a/src/main/java/com/conveyal/r5/profile/FareDominatingList.java b/src/main/java/com/conveyal/r5/profile/FareDominatingList.java
index d5e6fb4c..e7ea1333 100644
--- a/src/main/java/com/conveyal/r5/profile/FareDominatingList.java
+++ b/src/main/java/com/conveyal/r5/profile/FareDominatingList.java
@@ -25,6 +25,11 @@ public FareDominatingList(InRoutingFareCalculator fareCalculator, int maxFare, i
/**
* Return true if there is no way that a route with dominator as a prefix can yield a route that is slower or more
* expensive than the same route with dominatee as a prefix.
+ *
+ * The logic here is described (with proofs) in Conway, M. W., & Stewart, A. F. (2019). Getting Charlie off the MTA:
+ * A multiobjective optimization method to account for cost constraints in public transit accessibility metrics.
+ * International Journal of Geographical Information Science, 33(9), 1759–1787. https://doi.org/10.1080/13658816.2019.1605075
+ * available open-access at https://files.indicatrix.org/Conway-Stewart-2019-Charlie-Fare-Constraints.pdf
*/
private boolean betterOrEqual(McRaptorSuboptimalPathProfileRouter.McRaptorState dominator, McRaptorSuboptimalPathProfileRouter.McRaptorState dominatee) {
// FIXME add check for nonnegative
@@ -35,12 +40,14 @@ private boolean betterOrEqual(McRaptorSuboptimalPathProfileRouter.McRaptorState
if (dominator.fare.cumulativeFarePaid <= dominateeConsumedValue) {
// This route is as fast as the alternate route, and it costs no more than the fare paid for the other route
// minus any transfer priviliges that the user gets from the other route that could be realized in the future.
+ // This is Theorem 3.1 from Conway and Stewart (2019)
return true;
}
// if the out of pocket cost is the same or less and the transfer privilege is as good as or better than the
// other transfer allowance (exact definition depends on the system, see javadoc), then there is no way that
// dominatee could yield a better fare than dominator.
+ // This is Theorem 3.2 from Conway and Stewart (2019)
if (dominator.fare.cumulativeFarePaid <= dominatee.fare.cumulativeFarePaid &&
dominator.fare.transferAllowance.atLeastAsGoodForAllFutureRedemptions(dominatee.fare.transferAllowance)) {
return true;
diff --git a/src/main/java/com/conveyal/r5/profile/FastRaptorWorker.java b/src/main/java/com/conveyal/r5/profile/FastRaptorWorker.java
index c4d58b35..77b8accd 100644
--- a/src/main/java/com/conveyal/r5/profile/FastRaptorWorker.java
+++ b/src/main/java/com/conveyal/r5/profile/FastRaptorWorker.java
@@ -6,14 +6,16 @@
import com.conveyal.r5.transit.TransitLayer;
import com.conveyal.r5.transit.TripPattern;
import com.conveyal.r5.transit.TripSchedule;
+import gnu.trove.iterator.TIntIterator;
import gnu.trove.list.TIntList;
-import gnu.trove.list.array.TIntArrayList;
import gnu.trove.map.TIntIntMap;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
+import java.io.BufferedOutputStream;
+import java.io.FileOutputStream;
+import java.io.PrintWriter;
import java.util.ArrayList;
-import java.util.Arrays;
import java.util.BitSet;
import java.util.List;
import java.util.stream.IntStream;
@@ -22,6 +24,7 @@
import static com.conveyal.r5.profile.FastRaptorWorker.FrequencyBoardingMode.HALF_HEADWAY;
import static com.conveyal.r5.profile.FastRaptorWorker.FrequencyBoardingMode.MONTE_CARLO;
import static com.conveyal.r5.profile.FastRaptorWorker.FrequencyBoardingMode.UPPER_BOUND;
+import static com.google.common.base.Preconditions.checkState;
/**
* FastRaptorWorker is faster than the old RaptorWorker and made to be more maintainable.
@@ -45,6 +48,7 @@
* (generating randomized schedules).
*
* TODO rename to remove "fast" and revise above comments, there is only one worker now.
+ * Maybe just call it TransitRouter. But then there's also McRaptor.
*/
public class FastRaptorWorker {
@@ -66,10 +70,8 @@ public class FastRaptorWorker {
public static final int SECONDS_PER_MINUTE = 60;
/**
- * Step for departure times. Use caution when changing this as we use the functions
- * request.getTimeWindowLengthMinutes and request.getMonteCarloDrawsPerMinute below which assume this value is 1
- * minute. The same functions are also used in BootstrappingTravelTimeReducer where we assume that their product is
- * the number of iterations performed.
+ * Step for departure times. Use caution when changing this as the functions request.getTimeWindowLengthMinutes
+ * and request.getMonteCarloDrawsPerMinute below which assume this value is 1 minute.
*/
private static final int DEPARTURE_STEP_SEC = 60;
@@ -91,21 +93,8 @@ public class FastRaptorWorker {
*/
public final int monteCarloDrawsPerMinute;
- // Variables to track calculation time spent, all in nanoseconds (some of the operations we're timing are
- // significantly submillisecond) although using ms would be fine because the number of times we cross
- // a millisecond boundary would be proportional to the portion of a millisecond that operation took.
- // TODO a Stopwatch class that can time arbitrarily named events with a TObjectIntMap.
-
- public long startClockTime;
- public long timeInScheduledSearch;
- public long timeInScheduledSearchTransit;
- public long timeInScheduledSearchFrequencyBounds;
- public long timeInScheduledSearchTransfers;
-
- public long timeInFrequencySearch;
- public long timeInFrequencySearchFrequency;
- public long timeInFrequencySearchScheduled;
- public long timeInFrequencySearchTransfers;
+ /** Track the time spent in each part of the Raptor search. */
+ public final RaptorTimer raptorTimer = new RaptorTimer();
/** The transit layer to route on. */
private final TransitLayer transit;
@@ -116,39 +105,28 @@ public class FastRaptorWorker {
/** The routing parameters. */
private final ProfileRequest request;
- /** Frequency-based trip patterns running on a given day */
- private TripPattern[] runningFrequencyPatterns;
-
- /** Schedule-based trip patterns running on a given day */
- private TripPattern[] runningScheduledPatterns;
-
- /** Map from internal, filtered frequency pattern indices back to original pattern indices for frequency patterns */
- private int[] originalPatternIndexForFrequencyIndex;
-
- /** Map from internal, filtered pattern indices back to original pattern indices for scheduled patterns */
- private int[] originalPatternIndexForScheduledIndex;
-
- /** Array mapping from original pattern indices to the filtered frequency indices */
- private int[] frequencyIndexForOriginalPatternIndex;
+ /** The indexes of the trip patterns running on a given day with frequency-based trips of selected modes. */
+ private final BitSet runningFrequencyPatterns = new BitSet();
- /** Array mapping from original pattern indices to the filtered scheduled indices */
- private int[] scheduledIndexForOriginalPatternIndex;
+ /** The indexes of the trip patterns running on a given day with scheduled trips of selected modes. */
+ private final BitSet runningScheduledPatterns = new BitSet();
- private FrequencyRandomOffsets offsets;
+ /** Generates and stores departure time offsets for every frequency-based set of trips. */
+ private final FrequencyRandomOffsets offsets;
/** Services active on the date of the search */
private final BitSet servicesActive;
/**
* The state resulting from the scheduled search at a particular departure minute.
- * This state is reused at each departure minute without re-initializng it (this is the range-raptor optimization).
+ * This state is reused at each departure minute without re-initializing it (this is the range-raptor optimization).
* The randomized schedules at each departure minute are applied on top of this scheduled state.
*/
private final RaptorState[] scheduleState;
/**
* This should be either HALF_HEADWAY or MONTE_CARLO.
- * The othe value UPPER_BOUND is only used within a sub-search of MONTE_CARLO.
+ * The other value UPPER_BOUND is only used within a sub-search of MONTE_CARLO.
*/
private final FrequencyBoardingMode boardingMode;
@@ -189,104 +167,106 @@ public FastRaptorWorker (TransitLayer transitLayer, ProfileRequest request, TInt
/**
* For each iteration (minute + MC draw combination), return the minimum travel time to each transit stop in seconds.
* Return value dimension order is [searchIteration][transitStopIndex]
- *
* TODO Create proper types for return values?
*/
public int[][] route () {
-
- startClockTime = System.nanoTime();
+ raptorTimer.fullSearch.start();
prefilterPatterns();
-
// Initialize result storage.
// Results are one arrival time at each stop, for every raptor iteration.
- int nIterations;
+ final int nStops = transit.getStopCount();
+ final int nIterations;
if (boardingMode == HALF_HEADWAY) {
nIterations = nMinutes;
LOG.info("Performing {} scheduled iterations using half-headway for frequency routes.", nMinutes);
} else {
nIterations = monteCarloDrawsPerMinute * nMinutes;
- LOG.info("Performing {} scheduled iterations each with {} Monte Carlo draws for a total of {} iterations.",
- nMinutes, monteCarloDrawsPerMinute, nIterations);
+ LOG.info(
+ "Performing {} scheduled iterations each with {} Monte Carlo draws for a total of {} iterations.",
+ nMinutes, monteCarloDrawsPerMinute, nIterations
+ );
}
- int[][] arrivalTimesAtStopsPerIteration = new int[nIterations][];
+ int[][] travelTimesToStopsPerIteration = new int[nIterations][];
if (retainPaths) pathsPerIteration = new ArrayList<>();
- int currentIteration = 0;
- // The main outer loop iterates backward over all minutes in the departure times window.
+ // This main outer loop iterates backward over all minutes in the departure times window.
+ int currentIteration = 0;
for (int departureTime = request.toTime - DEPARTURE_STEP_SEC, minute = nMinutes;
departureTime >= request.fromTime;
- departureTime -= DEPARTURE_STEP_SEC, minute--) {
-
+ departureTime -= DEPARTURE_STEP_SEC, minute--
+ ) {
if (minute % 15 == 0) LOG.debug(" minute {}", minute);
// Run the raptor search. For this particular departure time, we receive N arrays of arrival times at all
// stops, one for each randomized schedule: resultsForMinute[randScheduleNumber][transitStop]
- int[][] resultsForMinute = runRaptorForMinute(departureTime);
-
- // Bypass Java's "effectively final" nonsense.
- // FIXME we could avoid this "final" weirdness by just using non-stream explicit loop syntax over the stops.
- // TODO clarify identifiers and explain how results are being unrolled from minutes into 'iterations'.
- final int finalDepartureTime = departureTime;
- for (int[] arrivalTimesAtStops : resultsForMinute) {
- // NB this copies the array, so we don't have issues with it being updated later
- arrivalTimesAtStopsPerIteration[currentIteration++] = IntStream.of(arrivalTimesAtStops)
- .map(r -> r != UNREACHED ? r - finalDepartureTime : r)
- .toArray();
+ int[][] resultsForDepartureMinute = runRaptorForDepartureMinute(departureTime);
+ // Iterate over the results for different Monte Carlo draws at this departure minute.
+ for (int[] arrivalTimesAtStops : resultsForDepartureMinute) {
+ // Make a protective copy of the arrival times, transforming them into travel times (durations).
+ checkState(arrivalTimesAtStops.length == nStops, "Result should contain one value per stop.");
+ int[] travelTimesToStops = new int[nStops];
+ for (int s = 0; s < nStops; s++) {
+ int arrivalTime = arrivalTimesAtStops[s];
+ travelTimesToStops[s] = (arrivalTime == UNREACHED) ? UNREACHED : arrivalTime - departureTime;
+ }
+ // Accumulate the duration-transformed Monte Carlo iterations for the current minute
+ // into one big flattened array representing all iterations at all minutes.
+ travelTimesToStopsPerIteration[currentIteration++] = travelTimesToStops;
}
}
+ checkState(currentIteration == nIterations, "Unexpected number of iterations.");
+ raptorTimer.fullSearch.stop();
+ raptorTimer.log();
+ // For debugging:
+ // dumpAllTimesToFile(travelTimesToStopsPerIteration, 45);
+ return travelTimesToStopsPerIteration;
+ }
- LOG.debug("Search completed in {}s", (System.nanoTime() - startClockTime) / 1e9d);
- LOG.debug("Scheduled/bounds search: {}s", timeInScheduledSearch / 1e9d);
- LOG.debug(" - Scheduled search: {}s", timeInScheduledSearchTransit / 1e9d);
- LOG.debug(" - Frequency upper bounds: {}s", timeInScheduledSearchFrequencyBounds / 1e9d);
- LOG.debug(" - Transfers: {}s", timeInScheduledSearchTransfers / 1e9d);
- LOG.debug("Frequency search: {}s", timeInFrequencySearch / 1e9d);
- LOG.debug(" - Frequency component: {}s", timeInFrequencySearchFrequency / 1e9d);
- LOG.debug(" - Resulting updates to scheduled component: {}s", timeInFrequencySearchScheduled / 1e9d);
- LOG.debug(" - Transfers: {}s", timeInFrequencySearchTransfers / 1e9d);
-
- return arrivalTimesAtStopsPerIteration;
+ /**
+ * This method is intended for use in debugging. It will create a file containing the non-transfer travel times
+ * to every stop for every iteration. These times will be subjected to the maximum duration specified, and all
+ * times greater than that number (including UNREACHED) will be recorded as "OVER", to facilitate simple comparisons
+ * on the command line with diff.
+ */
+ private void dumpAllTimesToFile(int[][] arrivalTimesAtStopsPerIteration, int maxDurationMinutes) {
+ try (PrintWriter pw = new PrintWriter(new BufferedOutputStream(new FileOutputStream("dump.csv")))) {
+ for (int i = 0; i < arrivalTimesAtStopsPerIteration.length; i++) {
+ int[] arrivalTimesForIteration = arrivalTimesAtStopsPerIteration[i];
+ for (int s = 0; s < arrivalTimesForIteration.length; s++) {
+ int time = arrivalTimesForIteration[s];
+ String timeStr = "OVER"; // Including UNREACHED
+ if (time < maxDurationMinutes * 60) {
+ timeStr = Integer.toString(time);
+ }
+ pw.printf("%d,%d,%s\n",i, s, timeStr);
+ }
+ }
+ } catch (Exception e) {
+ throw new RuntimeException(e);
+ }
}
- /** Prefilter the patterns to only ones that are running */
+ /**
+ * Before routing, filter the set of patterns down to only the ones that are actually running on the search date.
+ * We can also filter down to only those modes enabled in the search request, because all trips in a pattern are
+ * defined to be on same route, and GTFS allows only one mode per route.
+ */
private void prefilterPatterns () {
- TIntList frequencyPatterns = new TIntArrayList();
- TIntList scheduledPatterns = new TIntArrayList();
- frequencyIndexForOriginalPatternIndex = new int[transit.tripPatterns.size()];
- Arrays.fill(frequencyIndexForOriginalPatternIndex, -1);
- scheduledIndexForOriginalPatternIndex = new int[transit.tripPatterns.size()];
- Arrays.fill(scheduledIndexForOriginalPatternIndex, -1);
-
- int patternIndex = -1; // first increment lands at 0
- int frequencyIndex = 0;
- int scheduledIndex = 0;
- for (TripPattern pattern : transit.tripPatterns) {
- patternIndex++;
+ for (int patternIndex = 0; patternIndex < transit.tripPatterns.size(); patternIndex++) {
+ TripPattern pattern = transit.tripPatterns.get(patternIndex);
RouteInfo routeInfo = transit.routes.get(pattern.routeIndex);
TransitModes mode = TransitLayer.getTransitModes(routeInfo.route_type);
if (pattern.servicesActive.intersects(servicesActive) && request.transitModes.contains(mode)) {
- // at least one trip on this pattern is relevant, based on the profile request's date and modes
+ // At least one trip on this pattern is relevant, based on the profile request's date and modes.
if (pattern.hasFrequencies) {
- frequencyPatterns.add(patternIndex);
- frequencyIndexForOriginalPatternIndex[patternIndex] = frequencyIndex++;
+ runningFrequencyPatterns.set(patternIndex);
}
- if (pattern.hasSchedules) { // NB not else b/c we still support combined frequency and schedule patterns.
- scheduledPatterns.add(patternIndex);
- scheduledIndexForOriginalPatternIndex[patternIndex] = scheduledIndex++;
+ // Schedule case is not an "else" clause because we support patterns with both frequency and schedule.
+ if (pattern.hasSchedules) {
+ runningScheduledPatterns.set(patternIndex);
}
}
}
-
- originalPatternIndexForFrequencyIndex = frequencyPatterns.toArray();
- originalPatternIndexForScheduledIndex = scheduledPatterns.toArray();
-
- runningFrequencyPatterns = IntStream.of(originalPatternIndexForFrequencyIndex)
- .mapToObj(transit.tripPatterns::get).toArray(TripPattern[]::new);
- runningScheduledPatterns = IntStream.of(originalPatternIndexForScheduledIndex)
- .mapToObj(transit.tripPatterns::get).toArray(TripPattern[]::new);
-
- LOG.info("Prefiltering patterns based on date active reduced {} patterns to {} frequency and {} scheduled patterns",
- transit.tripPatterns.size(), frequencyPatterns.size(), scheduledPatterns.size());
}
/**
@@ -296,10 +276,6 @@ private void prefilterPatterns () {
private void advanceScheduledSearchToPreviousMinute (int nextMinuteDepartureTime) {
for (RaptorState state : this.scheduleState) {
state.setDepartureTime(nextMinuteDepartureTime);
- // clear all touched stops to avoid constant reëxploration
- state.bestStopsTouched.clear();
- state.nonTransferStopsTouched.clear();
- // TODO prune trips that are now longer than max lengths to avoid biasing averages
}
// add initial stops
RaptorState initialState = scheduleState[0];
@@ -311,14 +287,14 @@ private void advanceScheduledSearchToPreviousMinute (int nextMinuteDepartureTime
/**
* Perform a RAPTOR search at one specific departure time (at one specific minute). A full range-RAPTOR search
- * consists of many such searches at different departure times, typically working backward from the end of a time
+ * consists of many such searches at different departure times, working backward from the end of a time
* window toward its beginning, and reusing state between searches as an optimization.
*
- * @param departureTime When this search departs.
- * @return an array of length iterationsPerMinute, containing the arrival (clock) times at each stop for each
- * iteration.
+ * @param departureTime When this search departs.
+ * @return an array of length iterationsPerMinute, containing the arrival times at each stop for each
+ * iteration (clock times as opposed to durations).
*/
- private int[][] runRaptorForMinute (int departureTime) {
+ private int[][] runRaptorForDepartureMinute (int departureTime) {
advanceScheduledSearchToPreviousMinute(departureTime);
int iterationsPerMinute = (boardingMode == MONTE_CARLO) ? monteCarloDrawsPerMinute : 1;
@@ -331,20 +307,21 @@ private int[][] runRaptorForMinute (int departureTime) {
// In this optimization, we re-use the arrival times found by searches that depart later, because the arrival
// time at each location at time t + n is an upper bound on the arrival time departing at time t.
if (transit.hasSchedules) {
- long startTime = System.nanoTime();
+ raptorTimer.scheduledSearch.start();
+ // We always process the full number of rounds requested, i.e. we don't break out of the loop early when
+ // no improvement in travel times is achieved. That would complicate the code that handles the results. We
+ // do limit the patterns explored in each round to those passing through stops updated in the previous round.
for (int round = 1; round <= request.maxRides; round++) {
- // We always process the full number of rounds requested, since we have "transfer limiting".
- // We don't optimize by breaking out of the loop early when no transfers lead to any improvement,
- // because that is rare and complicates the code that handles the results.
- // TODO explain what "transfer limiting" is.
-
- // Prevent finding crazy multi-transfer ways to get somewhere when there is a quicker way with fewer
- // transfers. TODO explain this mechanism.
- scheduleState[round].min(scheduleState[round - 1]);
-
- long scheduledStartTime = System.nanoTime();
+ // Reuse state from the same round at a later minute, merging in any improvements from the previous
+ // round at this same departure minute. If there are no later minutes or previous rounds, all stops will
+ // be unreached except those reached by the initial street access search. This copies optimal times and
+ // paths from one round to the next; if at a given stop those values are not improved upon, several
+ // rounds in a row will contain identical state. The path reconstruction process must account for this.
+ scheduleState[round].minMergePrevious();
+
+ raptorTimer.scheduledSearchTransit.start();
doScheduledSearchForRound(scheduleState[round - 1], scheduleState[round]);
- timeInScheduledSearchTransit += System.nanoTime() - scheduledStartTime;
+ raptorTimer.scheduledSearchTransit.stop();
// If there are frequency routes, we will be randomizing the offsets of those routes.
// First perform a frequency search using worst-case boarding time to provide a tighter upper bound on
@@ -352,30 +329,34 @@ private int[][] runRaptorForMinute (int departureTime) {
// This is only helpful for Monte Carlo, not half-headway. Even in Monte Carlo mode,
// perhaps we should only do it when iterationsPerMinute is high (2 or more?).
if (transit.hasFrequencies && boardingMode == MONTE_CARLO) {
- long frequencyStartTime = System.nanoTime();
+ raptorTimer.scheduledSearchFrequencyBounds.start();
doFrequencySearchForRound(scheduleState[round - 1], scheduleState[round], UPPER_BOUND);
- timeInScheduledSearchFrequencyBounds += System.nanoTime() - frequencyStartTime;
+ raptorTimer.scheduledSearchFrequencyBounds.stop();
}
- long transferStartTime = System.nanoTime();
+ raptorTimer.scheduledSearchTransfers.start();
doTransfers(scheduleState[round]);
- timeInScheduledSearchTransfers += System.nanoTime() - transferStartTime;
+ raptorTimer.scheduledSearchTransfers.stop();
}
- timeInScheduledSearch += System.nanoTime() - startTime;
+ raptorTimer.scheduledSearch.stop();
}
- // now run frequency searches using randomized schedules for all frequency lines. We use the scheduled search
- // and the worst-case boarding time of all frequency routes as an upper bound on the frequency search, so we are
- // copying the arrival times from the just completed search. This is our key innovation, described in
- // Conway, Byrd, and van der Linden 2017.
+ // Now run frequency searches using randomized schedules for all frequency lines. We use the scheduled search
+ // and the worst-case boarding wait for all frequency routes to establish an upper bound on arrival times for
+ // the frequency searches, so we are copying the arrival times from the just completed search.
+ // This is a key innovation, described in more detail in Conway, Byrd, and van der Linden 2017.
if (transit.hasFrequencies) {
- long startTime = System.nanoTime();
+ raptorTimer.frequencySearch.start();
int[][] result = new int[iterationsPerMinute][];
- // Each iteration is a fresh Monte Carlo draw (randomization of frequency route offsets).
- // In half-headway mode, only one iteration will happen with no randomization.
+ // In Monte Carlo mode, each iteration is a fresh randomization of frequency route offsets.
+ // In half-headway mode, only one iteration will happen and schedules will not be randomized.
for (int iteration = 0; iteration < iterationsPerMinute; iteration++) {
- // At each iteration, we make a copy of the upper bound state.
- RaptorState[] frequencyState = Stream.of(scheduleState).map((s) -> s.copy()).toArray(RaptorState[]::new);
+ // For each new randomized schedule, we start with a fresh copy of the upper bound travel times.
+ RaptorState[] frequencyState = Stream.of(scheduleState)
+ .map(RaptorState::copy)
+ .toArray(RaptorState[]::new);
+
+ // Recreate the chain of pointers between rounds for the freshly copied states.
for (int i = 1; i < frequencyState.length; i++) {
frequencyState[i].previous = frequencyState[i - 1];
}
@@ -388,26 +369,25 @@ private int[][] runRaptorForMinute (int departureTime) {
}
for (int round = 1; round <= request.maxRides; round++) {
- frequencyState[round].min(frequencyState[round - 1]);
+ frequencyState[round].minMergePrevious();
// Scheduled search. This is improving on travel times from stops touched by frequency routes or
// combinations of frequency and scheduled routes.
- long scheduledStart = System.nanoTime();
+ raptorTimer.frequencySearchScheduled.start();
doScheduledSearchForRound(frequencyState[round - 1], frequencyState[round]);
- timeInFrequencySearchScheduled += System.nanoTime() - scheduledStart;
+ raptorTimer.frequencySearchScheduled.stop();
- // frequency search: additionally use stops touched by scheduled search
+ // Frequency search: additionally use stops touched by scheduled search
// okay to destructively modify last round frequency state, it will not be used after this
- long frequencyStart = System.nanoTime();
+ raptorTimer.frequencySearchFrequency.start();
frequencyState[round - 1].bestStopsTouched.or(scheduleState[round - 1].bestStopsTouched);
frequencyState[round - 1].nonTransferStopsTouched.or(scheduleState[round - 1].nonTransferStopsTouched);
doFrequencySearchForRound(frequencyState[round - 1], frequencyState[round], boardingMode);
+ raptorTimer.frequencySearchFrequency.stop();
- timeInFrequencySearchFrequency += System.nanoTime() - frequencyStart;
-
- long transferStart = System.nanoTime();
+ raptorTimer.frequencySearchTransfers.start();
doTransfers(frequencyState[round]);
- timeInFrequencySearchTransfers += System.nanoTime() - transferStart;
+ raptorTimer.frequencySearchTransfers.stop();
}
// We are processing frequency routes, states are already a copy of the retained scheduled search state,
// no need to make an additional protective copy.
@@ -417,7 +397,7 @@ private int[][] runRaptorForMinute (int departureTime) {
pathsPerIteration.add(pathToEachStop(finalRoundState));
}
}
- timeInFrequencySearch += System.nanoTime() - startTime;
+ raptorTimer.frequencySearch.stop();
return result;
} else {
// If there are no frequency trips, return the result of the scheduled search, but repeated as many times
@@ -427,8 +407,11 @@ private int[][] runRaptorForMinute (int departureTime) {
// FIXME on large networks with no frequency routes this seems extremely inefficient.
// It may be somewhat less inefficient than it seems if we make arrays of references all to the same object.
// TODO check whether we're actually hitting this code with iterationsPerMinute > 1 on scheduled networks.
+ // maybe we should even require that iterationsPerMinute == 1 for non-freq searches in an assertion.
int[][] result = new int[iterationsPerMinute][];
RaptorState finalRoundState = scheduleState[request.maxRides];
+ // DEBUG print out full path (all rounds) to one stop at one departure minute, when no frequency trips.
+ // System.out.printf("Departure time %d %s\n", departureTime, new Path(finalRoundState, 3164));
// This scheduleState is repeatedly modified as the outer loop progresses over departure minutes.
// We have to be careful here that creating these paths does not modify the state, and makes
// protective copies of any information we want to retain.
@@ -465,11 +448,12 @@ private static Path[] pathToEachStop (RaptorState state) {
* other kind of routes: the frequency-based routes.
*/
private void doScheduledSearchForRound(RaptorState inputState, RaptorState outputState) {
- BitSet patternsTouched = getPatternsTouchedForStops(inputState, scheduledIndexForOriginalPatternIndex);
-
- for (int patternIndex = patternsTouched.nextSetBit(0); patternIndex >= 0; patternIndex = patternsTouched.nextSetBit(patternIndex + 1)) {
- int originalPatternIndex = originalPatternIndexForScheduledIndex[patternIndex];
- TripPattern pattern = runningScheduledPatterns[patternIndex];
+ BitSet patternsToExplore = patternsToExploreInNextRound(inputState, runningScheduledPatterns);
+ for (int patternIndex = patternsToExplore.nextSetBit(0);
+ patternIndex >= 0;
+ patternIndex = patternsToExplore.nextSetBit(patternIndex + 1)
+ ) {
+ TripPattern pattern = transit.tripPatterns.get(patternIndex);
int onTrip = -1;
int waitTime = 0;
int boardTime = 0;
@@ -489,21 +473,16 @@ private void doScheduledSearchForRound(RaptorState inputState, RaptorState outpu
LOG.error("Components of travel time are larger than travel time!");
}
- outputState.setTimeAtStop(stop, alightTime, originalPatternIndex, boardStop, waitTime, onVehicleTime, false);
+ outputState.setTimeAtStop(stop, alightTime, patternIndex, boardStop, waitTime, onVehicleTime, false);
}
- int sourcePatternIndex = inputState.previousStop[stop] == -1 ?
- inputState.previousPatterns[stop] :
- inputState.previousPatterns[inputState.previousStop[stop]];
-
- // Don't attempt to board if this stop was not reached in the last round or if pick up is not allowed,
- // and don't attempt to reboard the same pattern
- if (inputState.bestStopsTouched.get(stop) && sourcePatternIndex != originalPatternIndex && pattern.pickups[stopPositionInPattern] != PickDropType.NONE) {
+ // Don't attempt to board if this stop was not reached in the last round or if pick up is not allowed.
+ if (inputState.bestStopsTouched.get(stop) &&
+ pattern.pickups[stopPositionInPattern] != PickDropType.NONE
+ ) {
int earliestBoardTime = inputState.bestTimes[stop] + MINIMUM_BOARD_WAIT_SEC;
-
- // only attempt to board if the stop was touched
if (onTrip == -1) {
- if (inputState.bestStopsTouched.get(stop)) {
+ if (inputState.bestStopsTouched.get(stop)) { // FIXME due to enclosing conditional this is always true.
int candidateTripIndex = -1;
EARLIEST_TRIP:
for (TripSchedule candidateSchedule : pattern.tripSchedules) {
@@ -526,7 +505,8 @@ private void doScheduledSearchForRound(RaptorState inputState, RaptorState outpu
}
}
} else {
- // check if we can back up to an earlier trip due to this stop being reached earlier
+ // We are already on a trip, but check if this stop was reached early enough to back up
+ // to an earlier trip on the same pattern.
int bestTripIdx = onTrip;
while (--bestTripIdx >= 0) {
TripSchedule trip = pattern.tripSchedules.get(bestTripIdx);
@@ -541,7 +521,8 @@ private void doScheduledSearchForRound(RaptorState inputState, RaptorState outpu
waitTime = boardTime - inputState.bestTimes[stop];
boardStop = stop;
} else {
- // this trip arrives too early, break loop since they are sorted by departure time
+ // The trip under consideration arrives too early,
+ // stop searching since trips are sorted by departure time within a pattern.
break;
}
}
@@ -569,7 +550,7 @@ public enum FrequencyBoardingMode {
* Do a frequency search. If computeDeterministicUpperBound is true, worst-case frequency boarding time will be used
* so that the output of this function can be used in a range-RAPTOR search. Otherwise Monte Carlo schedules will be
* used to improve upon the output of the range-RAPTOR bounds search.
- *
+ * FIXME computeDeterministicUpperBound mentioned abve doesn't seem to exist
* @param frequencyBoardingMode see comments on enum values.
*/
private void doFrequencySearchForRound(
@@ -577,9 +558,12 @@ private void doFrequencySearchForRound(
RaptorState outputState,
FrequencyBoardingMode frequencyBoardingMode
) {
- BitSet patternsTouched = getPatternsTouchedForStops(inputState, frequencyIndexForOriginalPatternIndex);
- for (int patternIndex = patternsTouched.nextSetBit(0); patternIndex >= 0; patternIndex = patternsTouched.nextSetBit(patternIndex + 1)) {
- TripPattern pattern = runningFrequencyPatterns[patternIndex];
+ BitSet patternsToExplore = patternsToExploreInNextRound(inputState, runningFrequencyPatterns);
+ for (int patternIndex = patternsToExplore.nextSetBit(0);
+ patternIndex >= 0;
+ patternIndex = patternsToExplore.nextSetBit(patternIndex + 1)
+ ){
+ TripPattern pattern = transit.tripPatterns.get(patternIndex);
int tripScheduleIndex = -1; // first increment lands at 0
for (TripSchedule schedule : pattern.tripSchedules) {
@@ -589,8 +573,6 @@ private void doFrequencySearchForRound(
if (!servicesActive.get(schedule.serviceCode) || schedule.headwaySeconds == null) continue;
for (int frequencyEntryIdx = 0; frequencyEntryIdx < schedule.headwaySeconds.length; frequencyEntryIdx++) {
- int originalPatternIndex = originalPatternIndexForFrequencyIndex[patternIndex];
-
int boardTime = -1;
int boardStopPositionInPattern = -1;
int waitTime = -1;
@@ -604,7 +586,7 @@ private void doFrequencySearchForRound(
int travelTime = schedule.arrivals[stopPositionInPattern] - schedule.departures[boardStopPositionInPattern];
int alightTime = boardTime + travelTime;
int boardStop = pattern.stops[boardStopPositionInPattern];
- outputState.setTimeAtStop(stop, alightTime, originalPatternIndex, boardStop, waitTime, travelTime, false);
+ outputState.setTimeAtStop(stop, alightTime, patternIndex, boardStop, waitTime, travelTime, false);
}
// attempt to board if pick up is allowed
@@ -619,7 +601,7 @@ private void doFrequencySearchForRound(
final int newBoardingDepartureTimeAtStop;
if (frequencyBoardingMode == MONTE_CARLO) {
- int offset = offsets.offsets.get(originalPatternIndex)[tripScheduleIndex][frequencyEntryIdx];
+ int offset = offsets.offsets.get(patternIndex)[tripScheduleIndex][frequencyEntryIdx];
newBoardingDepartureTimeAtStop = getRandomFrequencyDepartureTime(
schedule,
stopPositionInPattern,
@@ -642,6 +624,7 @@ private void doFrequencySearchForRound(
earliestBoardTime
);
} else {
+ // TODO make half_headway the else clause
throw new AssertionError("Unknown departure search method.");
}
int remainOnBoardDepartureTimeAtStop = Integer.MAX_VALUE;
@@ -771,28 +754,33 @@ public static int getAverageCaseFrequencyDepartureTime (
}
+ /**
+ * After processing transit for a particular round, transfer from any stops that were reached by transit and update
+ * any stops where transferring is an improvement on the existing arrivals directly from transit.
+ * When applying transfers from a stop, we do not apply a "transfer" from the stop to itself. In a sense these
+ * trivial transfers are applied during transit routing: when the transfer arrival times are updated, the
+ * post-transfer times are also updated.
+ * The patterns to be explored in the next round are then determined by which stops were updated by either transit
+ * or transfer arrivals.
+ */
private void doTransfers (RaptorState state) {
- // avoid integer casts in tight loop below
+ // Cast and multiplication factored out of the tight loop below to ensure they are not repeatedly evaluated.
int walkSpeedMillimetersPerSecond = (int) (request.walkSpeed * 1000);
int maxWalkMillimeters = walkSpeedMillimetersPerSecond * (request.maxWalkTime * SECONDS_PER_MINUTE);
- for (int stop = state.nonTransferStopsTouched.nextSetBit(0); stop > -1; stop = state.nonTransferStopsTouched.nextSetBit(stop + 1)) {
- // no need to consider loop transfers, since we don't mark patterns here any more
- // loop transfers are already included by virtue of those stops having been reached
+ for (int stop = state.nonTransferStopsTouched.nextSetBit(0);
+ stop > -1;
+ stop = state.nonTransferStopsTouched.nextSetBit(stop + 1)
+ ){
TIntList transfersFromStop = transit.transfersForStop.get(stop);
if (transfersFromStop != null) {
for (int i = 0; i < transfersFromStop.size(); i += 2) {
int targetStop = transfersFromStop.get(i);
int distanceToTargetStopMillimeters = transfersFromStop.get(i + 1);
if (distanceToTargetStopMillimeters < maxWalkMillimeters) {
- // transfer length to stop is acceptable
int walkTimeToTargetStopSeconds = distanceToTargetStopMillimeters / walkSpeedMillimetersPerSecond;
+ checkState(walkTimeToTargetStopSeconds >= 0, "Transfer walk time must be positive.");
int timeAtTargetStop = state.bestNonTransferTimes[stop] + walkTimeToTargetStopSeconds;
-
- if (walkTimeToTargetStopSeconds < 0) {
- LOG.error("Negative transfer time!!");
- }
-
state.setTimeAtStop(targetStop, timeAtTargetStop, -1, stop, 0, 0, true);
}
}
@@ -801,41 +789,24 @@ private void doTransfers (RaptorState state) {
}
/**
- * Get a list of the internal IDs of the patterns "touched" using the given index (frequency or scheduled)
- * "touched" means they were reached in the last round, and the index maps from the original pattern index to the
- * local index of the filtered patterns.
+ * Find all patterns that could lead to improvements in the next round after the given state's raptor round.
+ * Specifically, the patterns passing through all stops that were updated in the given state's round.
+ * The pattern indexes returned are limited to those in the supplied set.
*/
- private BitSet getPatternsTouchedForStops(RaptorState state, int[] index) {
- BitSet patternsTouched = new BitSet();
-
+ private BitSet patternsToExploreInNextRound (RaptorState state, BitSet runningPatterns) {
+ BitSet patternsToExplore = new BitSet();
for (int stop = state.bestStopsTouched.nextSetBit(0);
stop >= 0;
stop = state.bestStopsTouched.nextSetBit(stop + 1)
) {
- // copy stop to a new final variable to get around Java 8 "effectively final" nonsense
- final int finalStop = stop;
- transit.patternsForStop.get(stop).forEach(originalPattern -> {
- int filteredPattern = index[originalPattern];
-
- if (filteredPattern < 0) {
- return true; // this pattern does not exist in the local subset of patterns, continue iteration
- }
-
- int sourcePatternIndex = state.previousStop[finalStop] == -1 ?
- state.previousPatterns[finalStop] :
- state.previousPatterns[state.previousStop[finalStop]];
-
- if (sourcePatternIndex != originalPattern) {
- // don't re-explore the same pattern we used to reach this stop
- // we forbid riding the same pattern twice in a row in the search code above, this will prevent
- // us even having to loop over the stops in the pattern if potential board stops were only reached
- // using this pattern.
- patternsTouched.set(filteredPattern);
+ TIntIterator patternsAtStop = transit.patternsForStop.get(stop).iterator();
+ while (patternsAtStop.hasNext()) {
+ int pattern = patternsAtStop.next();
+ if (runningPatterns.get(pattern)) {
+ patternsToExplore.set(pattern);
}
- return true; // continue iteration
- });
+ }
}
-
- return patternsTouched;
+ return patternsToExplore;
}
}
diff --git a/src/main/java/com/conveyal/r5/profile/FrequencyRandomOffsets.java b/src/main/java/com/conveyal/r5/profile/FrequencyRandomOffsets.java
index ed0b812b..02b3ae30 100644
--- a/src/main/java/com/conveyal/r5/profile/FrequencyRandomOffsets.java
+++ b/src/main/java/com/conveyal/r5/profile/FrequencyRandomOffsets.java
@@ -10,10 +10,13 @@
import java.util.Arrays;
-/**
- * Stores random offsets for frequency trips.
- * This is not in RaptorWorkerData as RaptorWorkerData may be shared between threads.
- */
+ /**
+ * Generates and stores departure time offsets for every frequency-based set of trips.
+ * This holds only one set of offsets at a time. It is re-randomized before each Monte Carlo iteration.
+ * Therefore we have no memory of exactly which offsets were used in a particular Monte Carlo search.
+ * It may be preferable to work with reproducible low-discrepancy sets instead of simple random samples, in which case
+ * we'd need to make alternate implementations that pre-generate the entire set or use deterministic seeded generators.
+ */
public class FrequencyRandomOffsets {
/** map from trip pattern index to a list of offsets for trip i and frequency entry j on that pattern */
public final TIntObjectMap offsets = new TIntObjectHashMap<>();
diff --git a/src/main/java/com/conveyal/r5/profile/McRaptorSuboptimalPathProfileRouter.java b/src/main/java/com/conveyal/r5/profile/McRaptorSuboptimalPathProfileRouter.java
index 83bbbb21..181a8a84 100644
--- a/src/main/java/com/conveyal/r5/profile/McRaptorSuboptimalPathProfileRouter.java
+++ b/src/main/java/com/conveyal/r5/profile/McRaptorSuboptimalPathProfileRouter.java
@@ -76,9 +76,33 @@ public class McRaptorSuboptimalPathProfileRouter {
/** In order to properly do target pruning we store the best times at each target _by access mode_, so car trips don't quash walk trips */
private TObjectIntMap bestTimesAtTargetByAccessMode = new TObjectIntHashMap<>(4, 0.95f, Integer.MAX_VALUE);
+ /** if saveFinalStates is true, contains the final states for every departure time */
+ public TIntObjectMap> finalStatesByDepartureTime = null;
+
+ public final boolean saveFinalStates;
+
+ /** backwards compatibility */
public McRaptorSuboptimalPathProfileRouter (TransportNetwork network, ProfileRequest req, Map accessTimes, Map egressTimes, IntFunction listSupplier,
InRoutingFareCalculator.Collater collapseParetoSurfaceToTime) {
+ this(network, req, accessTimes, egressTimes, listSupplier, collapseParetoSurfaceToTime, false);
+ }
+
+ /**
+ *
+ * @param network
+ * @param req
+ * @param accessTimes
+ * @param egressTimes
+ * @param listSupplier
+ * @param collapseParetoSurfaceToTime
+ * @param saveFinalStates if true, save the best states by departure time in the field finalStatesByDepartureTime.
+ * egressTimes must not be null in this case.
+ */
+ public McRaptorSuboptimalPathProfileRouter (TransportNetwork network, ProfileRequest req, Map accessTimes, Map egressTimes, IntFunction listSupplier,
+ InRoutingFareCalculator.Collater collapseParetoSurfaceToTime,
+ boolean saveFinalStates) {
this.network = network;
this.request = req;
this.accessTimes = accessTimes;
@@ -90,6 +114,9 @@ public McRaptorSuboptimalPathProfileRouter (TransportNetwork network, ProfileReq
this.patternsNearDestination = new BitSet(network.transitLayer.tripPatterns.size());
this.servicesActive = network.transitLayer.getActiveServicesForDate(req.date);
this.offsets = new FrequencyRandomOffsets(network.transitLayer);
+ this.saveFinalStates = saveFinalStates;
+ if (saveFinalStates) this.finalStatesByDepartureTime = new TIntObjectHashMap<>();
+
// To make results repeatable from one run to the next, seed with some characteristic of the request itself,
// e.g. (int) (request.fromLat * 1e9). Leaving out an argument will make it use a combination of time and
// the instance's identity hash code, which makes it truly random for all practical purposes.
@@ -100,6 +127,7 @@ public McRaptorSuboptimalPathProfileRouter (TransportNetwork network, ProfileReq
public Collection route () {
// Modeify does its own pre-computation of accessTimes, but Analysis does not
+ // TODO MWC - I think this can be removed now, I believe analysis now does pre-compute access times.
if (accessTimes == null) computeAccessTimes();
long startTime = System.currentTimeMillis();
@@ -175,8 +203,11 @@ public Collection route () {
// TODO this means we wind up with some duplicated states.
if (egressTimes != null) {
// In a PointToPointQuery (for Modeify), egressTimes will already be computed
- codominatingStatesToBeReturned.addAll(doPropagationToDestination(finalDepartureTime));
+ Collection states = doPropagationToDestination(finalDepartureTime);
+ codominatingStatesToBeReturned.addAll(states);
+ if (saveFinalStates) finalStatesByDepartureTime.put(departureTime, states);
}
+
if (collapseParetoSurfaceToTime != null) {
collateTravelTimes(departureTime);
}
@@ -313,7 +344,7 @@ private boolean doOneRound () {
}
// Perform this check here so we don't needlessly loop over states at a stop that are only created by
- // getting off this pattern. This optimization may limit the usefulness of R5 for a strict Class B
+ // getting off this pattern. This optimization may limit the usefulness of R5 for a strict Class B
// (touch all stations) Subway Challenge attempt (http://www.gricer.com/anysrc/anysrc.html).
boolean stopReachedViaDifferentPattern = bestStatesBeforeRound.containsKey(stop);
diff --git a/src/main/java/com/conveyal/r5/profile/Path.java b/src/main/java/com/conveyal/r5/profile/Path.java
index d96ae9f0..e26e80da 100644
--- a/src/main/java/com/conveyal/r5/profile/Path.java
+++ b/src/main/java/com/conveyal/r5/profile/Path.java
@@ -10,8 +10,11 @@
import java.util.Arrays;
+import static com.google.common.base.Preconditions.checkState;
+
/**
- * Class used to represent transit paths in Browsochrones and Modeify.
+ * Class used to represent transit paths for display to end users (and debugging).
+ * It is a group of parallel arrays, with each position in the arrays representing a leg in the trip.
*/
public class Path {
@@ -29,11 +32,10 @@ public class Path {
public final int length;
/**
- * Scan over a raptor state and extract the path leading up to that state.
+ * Extract the path leading up to a specified stop in a given raptor state.
*/
public Path(RaptorState state, int stop) {
- // trace the path back from this RaptorState
- int previousPattern;
+
TIntList patterns = new TIntArrayList();
TIntList boardStops = new TIntArrayList();
TIntList alightStops = new TIntArrayList();
@@ -41,19 +43,16 @@ public Path(RaptorState state, int stop) {
TIntList alightTimes = new TIntArrayList();
while (state.previous != null) {
- // find the fewest-transfers trip that is still optimal in terms of travel time
+ // We copy the state at each stop from one round to the next. If a stop is not updated in a particular
+ // round, the information about how it was reached optimally will be found in a previous round.
+ // Step back through the rounds until we find a round where this stop was updated.
if (state.previous.bestNonTransferTimes[stop] == state.bestNonTransferTimes[stop]) {
state = state.previous;
continue;
}
-
- if (state.previous.bestNonTransferTimes[stop] < state.bestNonTransferTimes[stop]) {
- LOG.error("Previous round has lower weight at stop {}, this implies a bug!", stop);
- }
-
- previousPattern = state.previousPatterns[stop];
-
- patterns.add(previousPattern);
+ checkState(state.previous.bestNonTransferTimes[stop] >= state.bestNonTransferTimes[stop],
+ "Earlier raptor rounds must have later arrival times at a given stop.");
+ patterns.add(state.previousPatterns[stop]);
alightStops.add(stop);
times.add(state.bestTimes[stop]);
alightTimes.add(state.bestNonTransferTimes[stop]);
@@ -168,12 +167,26 @@ public int hashCode() {
/**
* Gets tripPattern at provided pathIndex
- * @param transitLayer
- * @param pathIndex
- * @return
*/
public TripPattern getPattern(TransitLayer transitLayer, int pathIndex) {
return transitLayer.tripPatterns.get(this.patterns[pathIndex]);
}
+ @Override
+ public String toString () {
+ var builder = new StringBuilder();
+ builder.append("Path:\n");
+ for (int i = 0; i < length; i++) {
+ builder.append(" from ");
+ builder.append(boardStops[i]);
+ builder.append(" to ");
+ builder.append(alightStops[i]);
+ builder.append(" riding ");
+ builder.append(patterns[i]);
+ builder.append(" alighting time ");
+ builder.append(alightTimes[i]);
+ builder.append("\n");
+ }
+ return builder.toString();
+ }
}
diff --git a/src/main/java/com/conveyal/r5/profile/PerTargetPropagater.java b/src/main/java/com/conveyal/r5/profile/PerTargetPropagater.java
index 79f891b3..fbfcf097 100644
--- a/src/main/java/com/conveyal/r5/profile/PerTargetPropagater.java
+++ b/src/main/java/com/conveyal/r5/profile/PerTargetPropagater.java
@@ -4,7 +4,7 @@
import com.conveyal.r5.analyst.PathScorer;
import com.conveyal.r5.analyst.PointSet;
import com.conveyal.r5.analyst.TravelTimeReducer;
-import com.conveyal.r5.analyst.cluster.AnalysisTask;
+import com.conveyal.r5.analyst.cluster.AnalysisWorkerTask;
import com.conveyal.r5.analyst.cluster.PathWriter;
import com.conveyal.r5.analyst.cluster.RegionalTask;
import com.conveyal.r5.streets.EgressCostTable;
@@ -39,11 +39,14 @@ public class PerTargetPropagater {
private static final Logger LOG = LoggerFactory.getLogger(PerTargetPropagater.class);
+ public static final int SECONDS_PER_MINUTE = 60;
+ public static final int MM_PER_METER = 1000;
+
/**
- * The maximum travel time we will record and report. To limit calculation time and avoid overflow places this
- * many seconds from the origin are just considered unreachable.
+ * We will not record or report travel times for paths this long or longer. To limit calculation time and avoid
+ * overflow, places at least this many seconds from the origin are simply considered unreachable.
*/
- public int cutoffSeconds = 120 * SECONDS_PER_MINUTE;
+ public final int maxTravelTimeSeconds;
/** The targets, not yet linked to the street network. */
private PointSet targets;
@@ -90,9 +93,6 @@ public class PerTargetPropagater {
*/
private final boolean oneToOne;
- public static final int SECONDS_PER_MINUTE = 60;
- public static final int MM_PER_METER = 1000;
-
// STATE FIELDS WHICH ARE RESET WHEN PROCESSING EACH DESTINATION.
// These track the characteristics of the best paths known to the target currently being processed.
@@ -115,10 +115,11 @@ public PerTargetPropagater(
PointSet targets,
StreetLayer streetLayer,
EnumSet modes,
- AnalysisTask task,
+ AnalysisWorkerTask task,
int[][] travelTimesToStopsForIteration,
int[] nonTransitTravelTimesToTargets
) {
+ this.maxTravelTimeSeconds = task.maxTripDurationMinutes * SECONDS_PER_MINUTE;
this.targets = targets;
this.modes = modes;
this.request = task;
@@ -205,9 +206,10 @@ public OneOriginResult propagate () {
if (calculateComponents) {
// TODO Somehow report these in-vehicle, wait and walk breakdown values alongside the total travel time.
- // TODO WalkTime should be calculated per-iteration, as it may not hold for some summary statistics that stat(total) = stat(in-vehicle) + stat(wait) + stat(walk).
- // NOTE this is currently using only the fastest travel time.
+ // TODO WalkTime should be calculated per-iteration, as it may not hold for some summary statistics
+ // that stat(total) = stat(in-vehicle) + stat(wait) + stat(walk).
// The perIterationTravelTimes are sorted as a side effect of the above travelTimeReducer call.
+ // NOTE this is currently using only the first (lowest) travel time.
Set selectedPaths = pathScorer.getTopPaths(pathWriter.nPathsPerTarget, perIterationTravelTimes[0]);
pathWriter.recordPathsForTarget(selectedPaths);
}
@@ -314,7 +316,7 @@ private void propagateTransit (int targetIndex, LinkedPointSet linkedTargets) {
if (secondsFromStopToTarget < egressLegTimeLimitSeconds){
for (int iteration = 0; iteration < nIterations; iteration++) {
int timeAtStop = travelTimesToStop[stop][iteration];
- if (timeAtStop > cutoffSeconds || timeAtStop > perIterationTravelTimes[iteration]) {
+ if (timeAtStop >= maxTravelTimeSeconds || timeAtStop >= perIterationTravelTimes[iteration]) {
// Skip propagation if all resulting times will be greater than the cutoff and
// cannot improve on the best known time at this iteration. Also avoids overflow.
continue;
@@ -344,7 +346,7 @@ private void propagateTransit (int targetIndex, LinkedPointSet linkedTargets) {
}
int timeAtTarget = timeAtStop + secondsFromStopToTarget;
- if (timeAtTarget < cutoffSeconds && timeAtTarget < perIterationTravelTimes[iteration]) {
+ if (timeAtTarget < maxTravelTimeSeconds && timeAtTarget < perIterationTravelTimes[iteration]) {
// To reach this target, alighting at this stop is faster than any previously checked stop.
perIterationTravelTimes[iteration] = timeAtTarget;
if (calculateComponents) {
diff --git a/src/main/java/com/conveyal/r5/profile/ProfileRequest.java b/src/main/java/com/conveyal/r5/profile/ProfileRequest.java
index 9b8e5758..e2931521 100644
--- a/src/main/java/com/conveyal/r5/profile/ProfileRequest.java
+++ b/src/main/java/com/conveyal/r5/profile/ProfileRequest.java
@@ -152,10 +152,12 @@ public class ProfileRequest implements Serializable, Cloneable {
/**
* The maximum duration of any trip found by this search.
* Defaults to 2 hours, the highest accessibility cutoffs allowed by our UI (which computes accessibility itself).
- * Will be lowered to the maximum requested cutoff in regional analyses, where cutoffs are known in advance.
- * TODO it seems like this should be set on each request without relying on hard wired defaults
+ * Newer workers will ignore this value for regional tasks, because each worker task infers the maximum travel time
+ * that can affect results based on the highest cutoff and the shape of the distance decay function.
+ * For single-point tasks this default of 2 hours will generally be used, but a lower value could be specified when
+ * performing slow computations such as fare-limited accessibility.
*/
- public int maxTripDurationMinutes = 2 * 60;
+ public int maxTripDurationMinutes = 120;
/**
* The maximum number of rides, e.g. taking the L2 to the Red line to the Green line would be three rides.
diff --git a/src/main/java/com/conveyal/r5/profile/RaptorState.java b/src/main/java/com/conveyal/r5/profile/RaptorState.java
index 223e58e9..852e5b1b 100644
--- a/src/main/java/com/conveyal/r5/profile/RaptorState.java
+++ b/src/main/java/com/conveyal/r5/profile/RaptorState.java
@@ -6,82 +6,125 @@
import java.util.Arrays;
import java.util.BitSet;
+import static com.conveyal.r5.profile.FastRaptorWorker.UNREACHED;
+import static com.google.common.base.Preconditions.checkArgument;
+import static com.google.common.base.Preconditions.checkNotNull;
+import static com.google.common.base.Preconditions.checkState;
+
/**
- * Tracks the state of a RAPTOR search, specifically the best arrival times at each transit stop at the end of a
- * particular round, along with associated data to reconstruct paths etc.
+ * The state for a single round of a RAPTOR search.
+ * This primarily consists of the best known arrival times at each transit stop for a given number of rides, along with
+ * associated data to reconstruct paths and efficiently proceed to the next round.
*
- * This is grouped into a separate class (rather than just having the fields in the raptor worker class) because we
- * need to make copies of it when doing Monte Carlo frequency searches. While performing the range-raptor search,
- * we keep performing raptor searches at different departure times, stepping back in time, but operating on the same
- * set of states (one for each round). But after each one of those departure time searches, we want to run sub-searches
- * with different randomly selected schedules (the Monte Carlo draws). We don't want those sub-searches to invalidate
- * the states for the ongoing range-raptor search, so we make a protective copy.
+ * These fields are grouped into a separate class (rather than just having the fields in the raptor worker class)
+ * because we need to make copies of them when doing Monte Carlo frequency searches. While performing the range-raptor
+ * search, we keep performing raptor searches at different departure times, stepping back in time, but operating on the
+ * same set of states (one for each round). But after each one of those departure time searches, we want to run
+ * sub-searches with different randomly selected schedules (the Monte Carlo draws). We don't want those sub-searches to
+ * invalidate the states for the ongoing range-raptor search, so we make a protective copy.
*
- * Note that this represents the entire state of the RAPTOR search for a single round, rather than the state at
- * a particular vertex (transit stop), as is the case with State objects in other search algorithms we have.
+ * Note that this represents the entire state of the RAPTOR search at all stops for a single round, rather than the
+ * state at a particular vertex (transit stop), as is the case with State objects in our street search algorithm.
*
- * @author mattwigway
+ * Within each round, transit is processed first, then transfers are processed. There are not separate transfer rounds.
+ * A single RaptorState represents everything that happened in a round, including riding transit vehicles and any
+ * possible transfers from those transit vehicles to other stops.
*/
public class RaptorState {
+
private static final Logger LOG = LoggerFactory.getLogger(RaptorState.class);
- /** State for the previous round (one less transfer). */
+ /** State for the previous round, representing travel with one less transfer at the same departure time. */
public RaptorState previous;
- /** Departure time for the search producing this state. */
+ /**
+ * Departure time for the search producing this state.
+ * This will be decremented at each new departure time when the state is reused in a range-raptor search.
+ */
public int departureTime;
- /** Best times to reach each stop, whether via a transfer or via transit directly. */
+ /**
+ * Best (earliest) clock time (not elapsed time) at which we can reach each stop, whether via a transfer or via
+ * transit directly. Note that within our rounds transit happens first, then transfers are applied.
+ */
public int[] bestTimes;
- /** The best times for reaching stops via transit rather than via a transfer from another stop.
- * Used to record paths, keep number of transfers and transfer walking distance within requested limits, etc. */
+ /**
+ * Best (earliest) clock time (not elapsed time) at which we can reach each stop directly from a pattern serving
+ * that stop rather than via a transfer from another stop. Within a round, these times are built up first,
+ * then transfers are applied.
+ */
public int[] bestNonTransferTimes;
- /** Cumulative transit wait time for the best path to each stop, parallel to bestNonTransferTimes. */
+ /**
+ * Cumulative transit wait time for the best path to each stop, parallel to bestNonTransferTimes.
+ * This is "non-transfer" because it reflects arriving at this stop by transit. If you arrive at this stop by
+ * a transfer, the time breakdown is instead the one from the transfer source stop.
+ */
public int[] nonTransferWaitTime;
- /** Cumulative in-vehicle travel time for the best path to each stop, parallel to bestNonTransferTimes. */
+ /**
+ * Cumulative in-vehicle travel time for the best path to each stop, parallel to bestNonTransferTimes.
+ * This is "non-transfer" because it reflects arriving at this stop by transit. If you arrive at this stop by
+ * a transfer, the time breakdown is instead the one from the transfer source stop.
+ * TODO instead of accumulating these values couldn't we just derive them when building the paths?
+ * TODO could we return paths/times as a tree flowed into an array, with forward-pointers to nodes in the tree?
+ */
public int[] nonTransferInVehicleTravelTime;
/**
- * The previous pattern used to get to this stop, parallel to bestNonTransferTimes.
- * When there is a transfer, bestNonTransferTimes will contain the time that the pattern in
- * previousPatterns arrived, whereas bestTimes will contain the time the transfer arrived (these are kept separate
- * to keep the router from blowing past the walk limit by stringing multiple transfers together). The previous pattern
- * for the transfer can be found by looking up the stop at which the transfer originated in transferStop, and looking
- * at the previous pattern at that stop. Transfers are done at the end of a round but do not have a separate round,
- * so a single RaptorState represents everything that happened in a round, including riding transit vehicles and any
- * possible transfers from those transit vehicles to other stops.
+ * The transit pattern used to achieve the travel times recorded for each stop in bestNonTransferTimes.
+ * When a transfer improves upon that time, bestNonTransferTimes will still contain the time that the pattern in
+ * previousPatterns arrived, but bestTimes will contain the time the transfer arrived and transferStop will show
+ * where the transfer originated. So the last pattern used from the perspective of a later round using the transfer
+ * is in previousPatterns[transferStop[stop]].
+ *
+ * Stops that have never been reached by transit will have a value of -1.
*/
public int[] previousPatterns;
- /** The stop the previous pattern was boarded at */
+ /**
+ * For each stop, if the stop was reached by transit, the stop where the pattern (in previousPatterns) was boarded.
+ * If the stop is not (yet) reached by transit, the value is -1. Even if the stop is optimally reached by a
+ * transfer, this value may be set reflecting the optimal way to reach it by transit before transfers are applied.
+ */
public int[] previousStop;
- /** If this stop is optimally reached via a transfer, the stop we transferred from */
+ /**
+ * For each stop, if the stop is optimally reached via a transfer, the stop from which that transfer originates.
+ * If the stop is optimally reached by transit, or hasn't been reached at all, the value is -1.
+ */
public int[] transferStop;
- /** Stops touched by transit search. This is used in an optimization to only check for transfers
- * from stops that have been "touched" (i.e. updated with a lower time based on a direct egress rather than a
- * transfer in this round) */
+ /**
+ * Stops reached by transit in this round. This allows us to only make transfers from stops that have been
+ * updated with a lower time based on transit usage in this round, rather than transfers in a previous round.
+ * TODO this field is probably unnecessary if transit and post-transit transfers are processed separately.
+ */
public BitSet nonTransferStopsTouched;
- /** Stops touched by transit or transfers. Similar to nonTransferStopsTouched, but used to flag what should be
- * checked in the next round, rather than what should be checked when doing transfers at the end of this
- * round.*/
+ /**
+ * Stops that have been updated by either transit arrivals or transfers in this round.
+ * This determines which routes should be explored in the next round.
+ */
public BitSet bestStopsTouched;
- /** Maximum duration of trips stored by this RaptorState */
+ /**
+ * This RaptorState will only store information about trips shorter than this duration. Travel times at or above
+ * this limit will be treated as if the stop could not be reached at all.
+ */
public int maxDurationSeconds;
- /** create a RaptorState for a network with a particular number of stops, and a given maximum duration */
+ /**
+ * Create a RaptorState for a network with a particular number of stops, and a given maximum travel duration.
+ * Travel times to all stops are initialized to UNREACHED, which will be improved upon by the search process.
+ */
public RaptorState (int nStops, int maxDurationSeconds) {
this.bestTimes = new int[nStops];
this.bestNonTransferTimes = new int[nStops];
- Arrays.fill(bestTimes, FastRaptorWorker.UNREACHED);
- Arrays.fill(bestNonTransferTimes, FastRaptorWorker.UNREACHED);
+ Arrays.fill(bestTimes, UNREACHED);
+ Arrays.fill(bestNonTransferTimes, UNREACHED);
this.previousPatterns = new int[nStops];
this.previousStop = new int[nStops];
@@ -98,7 +141,10 @@ public RaptorState (int nStops, int maxDurationSeconds) {
}
/**
- * Copy constructor, does not copy touchedStops data (leaves it empty).
+ * Specialized copy constructor for making the next state in a series representing a series of rounds in a single
+ * raptor search. This makes a deep copy of all fields except the sets of touched stops (which are initialized to
+ * be empty) and the previous state pointer.
+ * FIXME only used via copy() method to initialize a frequency search - we should probably set previous to null.
*/
private RaptorState(RaptorState state) {
this.bestTimes = Arrays.copyOf(state.bestTimes, state.bestTimes.length);
@@ -119,86 +165,114 @@ private RaptorState(RaptorState state) {
}
/**
- * Copy this raptor state to progress to the next round.
- * Clears reachedThisRound so should be used only to progress to the next round.
+ * Makes a deep copy of this raptor state, clearing the sets of reached stops and setting the new state's previous
+ * pointer to this existing state.
+ *
+ * FIXME this seems designed for progressing to the next round, but is only used for starting frequency searches.
+ * it should probably set the previous pointer to null.
*/
public RaptorState copy () {
return new RaptorState(this);
}
/**
- * Set this state to the min values found in this state or the other passed in (used in Range RAPTOR).
- * Since this is used to progress between rounds, does not copy stopsTouched data.
+ * Merge the other state into this one, keeping the element-wise minimum travel times. Travel time components and
+ * path information associated with these minimum elements is retained. This is useful for the range-raptor
+ * optimization, where rather than beginning a round from scratch, we are trying to improve upon an existing round
+ * from a search run at a later departure time.
+ *
+ * This is used to progress to a new search round, so it does not affect the sets of updated stops, which should be
+ * cleared at the beginning of each new round so as to track only newly updated stops. Those stop sets are currently
+ * cleared in advanceScheduledSearchToPreviousMinute but it could be clearer to also ensure they are empty here.
+ *
+ * Note that this effectively copies the full state at each stop from one round to the next. If a stop is not
+ * updated in a particular round, the information about how it was reached optimally remains a replica of data from
+ * a previous round. This can happen for several rounds in a row. To accurately retrace a path back through
+ * transfers and transit rides, one may need to step back more than one round at the same stop to find the round
+ * where the optimal value was established (see the Path constructor).
*/
- public void min (RaptorState other) {
+ public void minMergePrevious () {
+ checkNotNull(previous, "Merge may only be called on a state with a previous round.");
+ checkArgument(previous.departureTime == this.departureTime,
+ "Previous round should always have the same departure minute.");
int nStops = this.bestTimes.length;
for (int stop = 0; stop < nStops; stop++) {
- // prefer times from other when breaking tie as other is earlier in RAPTOR search and thus has fewer transfers
- if (other.bestTimes[stop] <= this.bestTimes[stop]) {
- this.bestTimes[stop] = other.bestTimes[stop];
- this.transferStop[stop] = other.transferStop[stop];
+ // When breaking a tie, prefer times from the previous round with fewer transfers.
+ if (previous.bestTimes[stop] <= this.bestTimes[stop]) {
+ this.bestTimes[stop] = previous.bestTimes[stop];
+ this.transferStop[stop] = previous.transferStop[stop];
}
- if (other.bestNonTransferTimes[stop] <= this.bestNonTransferTimes[stop]) {
- this.bestNonTransferTimes[stop] = other.bestNonTransferTimes[stop];
- this.previousPatterns[stop] = other.previousPatterns[stop];
- this.previousStop[stop] = other.previousStop[stop];
- this.nonTransferInVehicleTravelTime[stop] = other.nonTransferInVehicleTravelTime[stop];
- // add in any additional wait at the beginning in the range raptor case.
- this.nonTransferWaitTime[stop] = other.nonTransferWaitTime[stop] + (other.departureTime - this.departureTime);
+ if (previous.bestNonTransferTimes[stop] <= this.bestNonTransferTimes[stop]) {
+ this.bestNonTransferTimes[stop] = previous.bestNonTransferTimes[stop];
+ this.previousPatterns[stop] = previous.previousPatterns[stop];
+ this.previousStop[stop] = previous.previousStop[stop];
+ this.nonTransferInVehicleTravelTime[stop] = previous.nonTransferInVehicleTravelTime[stop];
+ this.nonTransferWaitTime[stop] = previous.nonTransferWaitTime[stop];
}
}
}
/**
- * Set the time at a transit stop iff it is optimal. This sets both the bestTime and the nonTransferTime
+ * Check a time against the best known times at a transit stop, and record the new time if it is optimal.
+ * This same method is used to handle both transit arrivals and transfers, according to the transfer parameter.
+ * When transfer is false, times can update both the bestNonTransferTime and the bestTime; when transfer is true,
+ * only bestTimes can be updated.
*
- * @param transfer if true, this was reached via transfer/initial walk
- * @return if the time was optimal
+ * @param transfer if true, we are recording a time obtained via a transfer or the initial access leg in round 0
+ * @return true if the new time was optimal and the state was updated, false if the existing values were better
*/
public boolean setTimeAtStop(int stop, int time, int fromPattern, int fromStop, int waitTime, int inVehicleTime, boolean transfer) {
- if (time > departureTime + maxDurationSeconds) return false;
-
+ // First check whether the supplied travel time exceeds the specified maximum for this search.
+ if (time >= departureTime + maxDurationSeconds) {
+ return false;
+ }
+ // Method return value: was the new time optimal, leading to a state update?
boolean optimal = false;
+
+ // If this is "not a transfer" it is a transit arrival. If it is better than any known transit arrival,
+ // update the non-transfer time and path information, then consider updating the bestTimes.
+ // We may want to consider splitting the post-transfer updating out into its own method to make this clearer.
if (!transfer && time < bestNonTransferTimes[stop]) {
bestNonTransferTimes[stop] = time;
nonTransferStopsTouched.set(stop);
previousPatterns[stop] = fromPattern;
previousStop[stop] = fromStop;
- // wait time is not stored after transfers, so copy from pre-transfer
+ // Carry the travel time components (wait and in-vehicle time) from the previous leg and increment them.
int totalWaitTime, totalInVehicleTime;
-
if (previous == null) {
// first round, there is no previous wait time or in vehicle time
+ // TODO how and when can this happen? Round zero contains only the access leg and has no transit.
totalWaitTime = waitTime;
totalInVehicleTime = inVehicleTime;
} else {
+ // TODO it seems like this whole block and the assignment below can be condensed significantly.
if (previous.transferStop[fromStop] != -1) {
- // previous stop is optimally reached via a transfer, so grab the wait and in vehicle time from
- // the stop we transferred from. Otherwise we'll be grabbing the wait time to get to the board stop
- // on a vehicle, which may be impossible at this round or may simply take longer.
+ // The fromSop was optimally reached via a transfer at the end of the previous round.
+ // Get the wait and in-vehicle time from the source stop of that transfer.
int preTransferStop = previous.transferStop[fromStop];
totalWaitTime = previous.nonTransferWaitTime[preTransferStop] + waitTime;
totalInVehicleTime = previous.nonTransferInVehicleTravelTime[preTransferStop] + inVehicleTime;
} else {
- // the stop we boarded at was not the result of a transfer from another stop, grab the cumulative
- // wait time from that stop
+ // The stop we boarded at was reached directly by transit in the previous round.
totalWaitTime = previous.nonTransferWaitTime[fromStop] + waitTime;
totalInVehicleTime = previous.nonTransferInVehicleTravelTime[fromStop] + inVehicleTime;
}
}
-
- if (totalInVehicleTime + totalWaitTime > time - departureTime) {
- LOG.error("Wait and travel time greater than total time.");
- }
-
nonTransferWaitTime[stop] = totalWaitTime;
nonTransferInVehicleTravelTime[stop] = totalInVehicleTime;
+
+ checkState(totalInVehicleTime + totalWaitTime <= (time - departureTime),
+ "Components of travel time are greater than total travel time.");
+
optimal = true;
}
- // nonTransferTimes upper bounds bestTimes so we don't need to update wait time and in-vehicle time here, if we
- // enter this conditional it has already been updated.
+ // At a given stop, bestTimes is always less than or equal to bestNonTransferTimes. It will always be equal to
+ // the bestNonTransferTimes unless a transfer from some other stop yields an earlier time.
+ // If bestTimes is updated due to a transit arrival, the travel time components are already updated by the
+ // transit-handling block above. If it's due to a transfer, the travel time components were already recorded
+ // by an optimal arrival at the source station of the transfer.
if (time < bestTimes[stop]) {
bestTimes[stop] = time;
bestStopsTouched.set(stop);
@@ -213,7 +287,7 @@ public boolean setTimeAtStop(int stop, int time, int fromPattern, int fromStop,
return optimal;
}
- /** Debug function: dump the path up to this state as a string */
+ /** Debug function: dump the path to a particular stop as a String. */
public String dump (int stop) {
Path p = new Path(this, stop);
@@ -226,38 +300,58 @@ public String dump (int stop) {
return sb.toString();
}
- /** Do a deep copy of this RaptorState and all parent raptor states. */
- public RaptorState deepCopy() {
- RaptorState state = this;
- RaptorState ret = this.copy();
- RaptorState copy = ret;
-
- while (state.previous != null) {
- copy.previous = state.previous.copy();
- copy.previous.previous = null;
- state = state.previous;
- copy = copy.previous;
- }
-
- return ret;
- }
-
+ /**
+ * This is the core of the range-raptor optimization. We move the departure time back one or more minutes,
+ * reusing the existing results from the later minute. They are all still valid trips, you just have to wait a
+ * little longer to board them. Only when you move the departure time back far enough to catch an earlier vehicle
+ * will the downstream results change. This also clears the reached stops sets in preparation for a new round.
+ */
public void setDepartureTime(int departureTime) {
int previousDepartureTime = this.departureTime;
this.departureTime = departureTime;
+ if (previousDepartureTime == 0) {
+ // This is the first departure minute being examined, so all state should be UNREACHED or -1 and there is
+ // nothing to update. This only skips the process for the highest boarding minute, so it's a very minor
+ // optimization. But it prevents any misunderstandings about what will happen when "updating" an empty state.
+ // Alternatively, we could not call this method on the first round and use it only for decrementing
+ // departure time in later rounds.
+ return;
+ }
+ checkState(departureTime < previousDepartureTime, "Departure times may only be decremented.");
- // remove trips that are now too long
+ // Remove trips that exceed the maximum trip duration when the rider departs earlier (due to more wait time).
int maxClockTime = departureTime + maxDurationSeconds;
+ // TODO This whole loop seems unnecessary - in testing removing it does not change results since actual times
+ // and INF can both compare greater than a cutoff. In fact multi-cutoff depends on this being true.
+ // It could have some performance impact, though the updated stops set is reconstructed at each step.
for (int i = 0; i < bestTimes.length; i++) {
- if (bestTimes[i] > maxClockTime) bestTimes[i] = FastRaptorWorker.UNREACHED;
- if (bestNonTransferTimes[i] > maxClockTime) bestNonTransferTimes[i] = FastRaptorWorker.UNREACHED;
+ if (bestTimes[i] >= maxClockTime) {
+ bestTimes[i] = UNREACHED;
+ transferStop[i] = -1;
+ }
+ if (bestNonTransferTimes[i] >= maxClockTime) {
+ bestNonTransferTimes[i] = UNREACHED;
+ // These were not being set before - they might not be necessary but at least it's clearer to set them.
+ previousPatterns[i] = -1;
+ previousStop[i] = -1;
+ }
}
- // handle updating wait
+ // Update waiting times for all remaining trips, to reflect additional waiting time at first boarding.
+ int additionalWaitSeconds = previousDepartureTime - departureTime;
for (int stop = 0; stop < this.bestTimes.length; stop++) {
if (this.previousPatterns[stop] > -1) {
- this.nonTransferWaitTime[stop] += previousDepartureTime - departureTime;
+ this.nonTransferWaitTime[stop] += additionalWaitSeconds;
+ } else {
+ this.nonTransferWaitTime[stop] = 0;
+ this.nonTransferInVehicleTravelTime[stop] = 0;
}
}
+
+ // We are reusing this state from one minute to the next. We must clear the touched stops sets before starting
+ // a new search, otherwise the set of stops and patterns to explore will reflect the previous search.
+ bestStopsTouched.clear();
+ nonTransferStopsTouched.clear();
}
+
}
diff --git a/src/main/java/com/conveyal/r5/profile/RaptorTimer.java b/src/main/java/com/conveyal/r5/profile/RaptorTimer.java
new file mode 100644
index 00000000..e4b4504e
--- /dev/null
+++ b/src/main/java/com/conveyal/r5/profile/RaptorTimer.java
@@ -0,0 +1,26 @@
+package com.conveyal.r5.profile;
+
+/**
+ * This groups together all the timers recording execution time of various steps of a range raptor search.
+ */
+public class RaptorTimer {
+
+ public final ExecutionTimer fullSearch = new ExecutionTimer("Full range-Raptor search");
+
+ public final ExecutionTimer scheduledSearch = new ExecutionTimer(fullSearch, "Scheduled/bounds search");
+
+ public final ExecutionTimer scheduledSearchTransit = new ExecutionTimer(scheduledSearch, "Scheduled search");
+ public final ExecutionTimer scheduledSearchFrequencyBounds = new ExecutionTimer(scheduledSearch, "Frequency upper bounds");
+ public final ExecutionTimer scheduledSearchTransfers = new ExecutionTimer(scheduledSearch, "Transfers");
+
+ public final ExecutionTimer frequencySearch = new ExecutionTimer(fullSearch, "Frequency search");
+
+ public final ExecutionTimer frequencySearchFrequency = new ExecutionTimer(frequencySearch, "Frequency component");
+ public final ExecutionTimer frequencySearchScheduled = new ExecutionTimer(frequencySearch, "Resulting updates to scheduled component");
+ public final ExecutionTimer frequencySearchTransfers = new ExecutionTimer(frequencySearch, "Transfers");
+
+ public void log () {
+ fullSearch.logWithChildren();
+ }
+
+}
diff --git a/src/main/java/com/conveyal/r5/streets/StreetLayer.java b/src/main/java/com/conveyal/r5/streets/StreetLayer.java
index 1e7c2627..65c7c7cf 100644
--- a/src/main/java/com/conveyal/r5/streets/StreetLayer.java
+++ b/src/main/java/com/conveyal/r5/streets/StreetLayer.java
@@ -288,7 +288,7 @@ void loadFromOsm (OSM osm, boolean removeIslands, boolean saveVertexIndex) {
for (Map.Entry entry : osm.ways.entrySet()) {
Way way = entry.getValue();
- if (way.hasTag("park_ride", "yes")) {
+ if (isParkAndRide(way)) {
parkAndRideWays.add(way);
}
if (!isWayRoutable(way)) {
@@ -333,9 +333,10 @@ void loadFromOsm (OSM osm, boolean removeIslands, boolean saveVertexIndex) {
lts1, lts2, lts3, lts4, ltsUnknown);
List parkAndRideNodes = new ArrayList<>();
-
for (Node node : osm.nodes.values()) {
- if (node.hasTag("park_ride", "yes")) parkAndRideNodes.add(node);
+ if (isParkAndRide(node)) {
+ parkAndRideNodes.add(node);
+ }
}
LOG.info("Done making street edges.");
@@ -367,8 +368,9 @@ void loadFromOsm (OSM osm, boolean removeIslands, boolean saveVertexIndex) {
}
LOG.info("Made {} P+R vertices", numOfParkAndRides);
- // create turn restrictions.
+ // Create turn restrictions from relations.
// TODO transit splitting is going to mess this up
+ // TODO handle multipolygon relations that are park and rides (e.g. parking structures with holes)
osm.relations.entrySet().stream().filter(e -> e.getValue().hasTag("type", "restriction")).forEach(e -> this.applyTurnRestriction(e.getKey(), e.getValue()));
LOG.info("Created {} turn restrictions", turnRestrictions.size());
@@ -381,6 +383,11 @@ void loadFromOsm (OSM osm, boolean removeIslands, boolean saveVertexIndex) {
osm = null;
}
+ private boolean isParkAndRide (OSMEntity entity) {
+ String prValue = entity.getTag("park_ride");
+ return prValue != null && ! prValue.equalsIgnoreCase("NO");
+ }
+
/**
* TODO Javadoc. What is this for?
*/
diff --git a/src/main/resources/fares/nyc/lirr/README.txt b/src/main/resources/fares/nyc/lirr/README.txt
new file mode 100644
index 00000000..8fc5c5aa
--- /dev/null
+++ b/src/main/resources/fares/nyc/lirr/README.txt
@@ -0,0 +1,7 @@
+# LIRR Fares
+
+This directory contains fare information for the LIRR, used to construct LIRRTransferAllowances for the NYCInRoutingFareCalculator.
+
+- lirr_zonal_fares.csv contains the fares for zone-to-zone journeys that do not require a change in direction.
+- via_fares.csv contains the fares for station-to-station journeys that do require a change in direction, but where LIRR will sell you a special "via" ticket.
+- descendants.csv contains all the stations that can be reached from a given station using only inbound or outbound trains, and is used to determin transfer allowances since we assume that same-direction transfers are free.
diff --git a/src/main/resources/fares/nyc/lirr/descendants.csv b/src/main/resources/fares/nyc/lirr/descendants.csv
new file mode 100644
index 00000000..b72036c5
--- /dev/null
+++ b/src/main/resources/fares/nyc/lirr/descendants.csv
@@ -0,0 +1,124 @@
+stop_id,lirr237,lirr241,lirr73,lirr74,lirr76,lirr77,lirr78,lirr83,lirr84,lirr85,lirr89,lirr90,lirr91,lirr92,lirr94,lirr99,lirr100,lirr101,lirr102,lirr107,lirr111,lirr113,lirr114,lirr117,lirr118,lirr119,lirr120,lirr122,lirr123,lirr124,lirr125,lirr126,lirr127,lirr129,lirr130,lirr131,lirr132,lirr135,lirr136,lirr140,lirr141,lirr142,lirr148,lirr149,lirr152,lirr153,lirr154,lirr155,lirr157,lirr162,lirr163,lirr164,lirr165,lirr171,lirr175,lirr176,lirr179,lirr180,lirr182,lirr183,lirr184,lirr185,lirr187,lirr190,lirr191,lirr193,lirr195,lirr198,lirr202,lirr204,lirr205,lirr211,lirr213,lirr214,lirr215,lirr216,lirr217,lirr219,lirr220,lirr223,lirr225,lirr226,lirr1,lirr2,lirr4,lirr8,lirr11,lirr13,lirr14,lirr16,lirr20,lirr21,lirr23,lirr25,lirr26,lirr27,lirr29,lirr31,lirr32,lirr33,lirr36,lirr38,lirr39,lirr40,lirr42,lirr44,lirr48,lirr50,lirr51,lirr52,lirr55,lirr56,lirr59,lirr63,lirr64,lirr65,lirr66,lirr67,lirr68,lirr71,lirr72,lirr233,lirr_elmhurst
+lirr237,,,O,O,O,O,O,O,O,O,O,,O,O,O,O,O,O,O,O,O,O,O,O,,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O
+lirr241,,,O,O,O,O,O,O,O,O,O,,O,O,O,O,O,O,O,,O,O,O,O,,O,,O,O,O,O,O,O,O,,,O,O,O,O,O,O,O,O,O,O,O,O,O,,O,O,O,,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,,O,O,O,O,O,O,O,O,O,,O,O,,O,O,O,O,O,O,,O,O,O,O,O,O,O,O,O,O,,O,O,O,O,O,,,O,O,O,O,O,O,O,O,,O,
+lirr73,I,I,,,,,,,,,I,I,,I,,,,,I,I,,,,,I,,,,,,,I,I,I,,,I,,,,,,I,,I,,,,,,,,I,,I,I,I,,,,,,,I,,,,,,,,,I,I,,,,,I,I,,,,,,,,,,,I,,I,,,,I,,,I,,,I,,,I,,I,,,I,,I,I,,,,,,,,,
+lirr74,I,I,,,,,,O,,,I,I,,I,,,I,,I,I,,,,I,I,I,,I,,,I,,I,,,,I,I,I,O,O,,I,,I,,,,O,,O,,,,I,,,I,,I,I,,I,,O,,,O,,O,,I,I,I,I,,,,,,I,I,,,O,I,,O,,I,,O,I,,I,I,,,,,,I,I,,,,O,I,,,I,,,I,I,,,,,,,O,
+lirr76,I,I,,,,I,,,,,I,I,,,,,,,I,I,,,,,I,,,,O,,,,I,,,,I,,,,,,I,,I,,O,,,,,,,,I,,,,I,,,I,,,,,,,,,,,,I,,,,,,,,,I,,,,,,,,,,I,,,,,,,,,,,,,,,I,,I,I,,,I,,,,O,,I,,,
+lirr77,I,I,,,O,,,,,,I,I,,,,,,,I,I,,,,,I,,,,O,,,,I,,,,I,,,,,,I,,I,,O,,,,,,,,I,,,,I,,,O,,,,,,,,,,,,I,,,,,,,,,I,,,,,,,,,,I,,,,,,,,,,,,,,,I,,I,I,,,I,,,,O,,O,,,
+lirr78,I,I,,,,,,,,,I,I,I,I,,,,,I,I,O,,,,I,,,,,,,,I,,,,I,,,,,,I,,I,O,,,,,,O,,,I,,,,,,,,,,,O,,,O,,I,,I,I,,,,,,,,,,,,,,,O,,,,I,,,,,,,,,,I,I,,,,I,,,I,,,I,,,,,,,,,
+lirr83,I,I,,I,,,,,,,I,I,,I,,,I,,I,I,,,,I,I,I,,I,,,I,,I,,,,I,I,I,I,O,,I,,I,,,,I,,I,,,,I,,,I,,I,I,,I,,O,,,I,,I,,I,I,I,I,,,,,,I,I,,,O,I,,O,,I,,I,I,,I,I,,,,,,I,I,,,,O,I,,,I,,,I,I,,,,,,,I,
+lirr84,I,I,,,,,,,,,I,I,,,,,,,I,I,,,,,I,,,,,,,,,,,,,,,,,,I,I,,,,,,,,,,,I,,,,,,,,,,,,I,,,,,,,I,,,,,,,,,,,,,,,,,,,I,,,,,,,,I,,,,,,,I,,,I,,,I,,,,,I,,,,
+lirr85,I,I,,,,,,,,,,I,,,,,,,I,I,,,,,I,I,,I,,I,,,,,,,,,,,,I,I,,,,,,,,,,,,,,,I,,,I,,,,,,,,,,,I,,I,,O,,I,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,I,,,I,,,,,,,,,,,,
+lirr89,I,I,O,O,O,O,O,O,O,,,I,O,O,,,O,,I,I,O,,,,I,,,,O,,,O,O,O,,,O,,,O,O,,I,O,O,O,O,,O,,O,O,O,,O,O,O,,O,,,O,,O,O,O,O,O,O,O,O,,O,I,,,,,O,O,,,O,,O,,,O,O,,O,O,O,,O,O,O,,,O,O,,O,O,,O,O,I,,O,I,,O,O,,,,O,O,O,,O,
+lirr90,,,O,O,O,O,O,O,O,O,O,,O,O,O,O,O,O,O,,O,O,O,O,I,O,,O,O,O,O,O,O,O,,,O,O,O,O,O,O,,O,O,O,O,O,O,,O,O,O,,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,,O,O,O,O,O,O,O,O,O,,O,O,,O,O,O,O,O,O,,O,O,O,O,O,O,O,O,O,O,,O,O,,O,O,,,O,O,O,O,O,O,O,O,,O,
+lirr91,I,I,,,,,O,,,,I,I,,I,,,,,I,I,O,,,,I,,,,,,,,I,,,,I,,,,,,I,,I,O,,,,,,O,,,I,,,,,,,,,,,O,,,O,,I,,I,I,,,,,,,,,,,,,,,O,,,,I,,,,,,,,,,I,I,,,,I,,,I,,,I,,,,,,,,,
+lirr92,I,I,O,O,,,O,O,,,I,I,O,,,,O,,I,I,O,,,,I,,,,,,,O,I,O,,,I,,,O,O,,I,,I,O,,,O,,O,O,O,,I,O,O,,,,,,,O,O,O,,O,O,O,O,,I,I,,,,,O,O,,,,,O,,,O,O,,O,O,I,,O,O,O,,,O,,,I,O,,O,O,I,,,I,,O,I,,,,,,,,O,
+lirr94,I,I,,,,,,,,,,I,,,,,,O,I,I,,,O,,I,I,,I,,,,,,,,,,,,,,,I,,,,,,,,,,,,,,,I,,,,,,,,,,,,,,I,,I,,,O,,,,,,,,,,,,,,,,,,,,,,O,,,,,,,,,I,,,I,,,,,O,I,,,,,,
+lirr99,I,I,,,,,,,,,,I,,,,,,,I,I,,O,,,I,I,,I,,,I,,,,,,,,,,,,I,,,,,I,,,,,,,,,,I,,,I,,,,,,,,,,,I,,I,,,,,,,,,,,,,,,,,,,,,,,,I,,,,,,,,,,I,I,,I,,,,,,,,,,,,
+lirr100,I,I,,O,,,,O,,,I,I,,I,,,,,I,I,,,,I,I,I,,I,,,I,,I,,,,I,I,I,O,O,,I,,I,,,,O,,O,,,,I,,,I,,I,I,,I,,O,,,O,,O,,I,I,I,I,,,,,,I,I,,,O,I,,O,,I,,O,I,,I,I,,,,,,I,I,,,,O,I,,,I,,,I,I,,,,,,,O,
+lirr101,I,I,,,,,,,,,,I,,,I,,,,I,I,,,I,,I,I,,I,,,,,,,,,,,,,,,I,,,,,,,,,,,,,,,I,,,,,,,,,,,,,,I,,I,,,I,,,,,,,,,,,,,,,,,,,,,,I,,,,,,,,,I,,,I,,,,,O,I,,,,,,
+lirr102,I,I,O,O,O,O,O,O,O,O,O,I,O,O,O,O,O,O,,I,O,O,O,O,I,O,,O,O,O,O,O,O,O,,,O,O,O,O,O,O,I,O,O,O,O,O,O,,O,O,O,,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,I,O,O,O,O,O,O,O,O,O,,O,O,,O,O,O,O,O,O,,O,O,O,O,O,O,O,O,O,O,,O,O,I,O,O,I,,O,O,O,O,O,O,O,O,,O,
+lirr107,I,,O,O,O,O,O,O,O,O,O,,O,O,O,O,O,O,O,,O,O,O,O,,O,,O,O,O,O,O,O,O,,,O,O,O,O,O,O,,O,O,O,O,O,O,,O,O,O,,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,I,O,O,O,O,O,O,O,O,O,,O,O,,O,O,O,O,O,O,,O,O,O,O,O,O,O,O,O,O,,O,O,,O,O,I,,O,O,O,O,O,O,O,O,,O,
+lirr111,I,I,,,,,I,,,,I,I,I,I,,,,,I,I,,,,,I,,,,,,,,I,,,,I,,,,,,I,,I,I,,,,,,O,,,I,,,,,,,,,,,O,,,O,,I,,I,I,,,,,,,,,,,,,,,O,,,,I,,,,,,,,,,I,I,,,,I,,,I,,,I,,,,,,,,,
+lirr113,I,I,,,,,,,,,,I,,,,I,,,I,I,,,,,I,I,,I,,,I,,,,,,,,,,,,I,,,,,I,,,,,,,,,,I,,,I,,,,,,,,,,,I,,I,,,,,,,,,,,,,,,,,,,,,,,,I,,,,,,,,,,I,I,,I,,,,,,,,,,,,
+lirr114,I,I,,,,,,,,,,I,,,I,,,O,I,I,,,,,I,I,,I,,,,,,,,,,,,,,,I,,,,,,,,,,,,,,,I,,,,,,,,,,,,,,I,,I,,,I,,,,,,,,,,,,,,,,,,,,,,I,,,,,,,,,I,,,I,,,,,O,I,,,,,,
+lirr117,I,I,,O,,,,O,,,,I,,,,,O,,I,I,,,,,I,I,,I,,,I,,,,,,,I,I,O,O,,I,,,,,,O,,O,,,,,,,I,,I,I,,I,,O,,,O,,O,,I,,I,I,,,,,,I,I,,,O,I,,O,,I,,O,,,O,O,,,,,,I,,,,,O,I,,,I,,,,I,,,,,,,O,
+lirr118,,,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,,O,O,O,O,,O,,O,O,O,O,O,O,O,,,O,O,O,O,O,O,,O,O,O,O,O,O,,O,O,O,,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,,O,O,O,O,O,O,O,O,O,,O,O,,O,O,O,O,O,O,,O,O,O,O,O,O,O,O,O,O,,O,O,,O,O,,,O,O,O,O,O,O,O,O,,O,
+lirr119,I,I,,O,,,,O,,O,,I,,,O,O,O,O,I,I,,O,O,O,I,,,O,,O,O,,,,,,,O,O,O,O,O,I,,,,,O,O,,O,,,,,,,O,,O,,,O,,O,,,O,,O,,O,,I,O,O,O,O,,,O,O,,,O,O,,O,,O,,O,,,O,O,,O,O,,,O,,,,,O,I,O,,I,,,,O,O,O,,,,,O,
+lirr120,I,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,I,O,,,,,,,,,,,,,,O,,,,O,,,,,,,,,,,,,,,,,,,,I,,,,,,,,,,I,,,I,,,,,,,I,,,,,,,,,,,I,,,,,,,I,,,,,,,,,O,,I
+lirr122,I,I,,O,,,,O,,O,,I,,,O,O,O,O,I,I,,O,O,O,I,I,,,,O,O,,,,,,,O,O,O,O,O,I,,,,,O,O,,O,,,,,,,O,,O,,,O,,O,,,O,,O,,O,,I,O,O,O,O,,,O,O,,,O,O,,O,,O,,O,,,O,O,,O,O,,,O,,,,,O,I,O,,I,,,,O,O,O,,,,,O,
+lirr123,I,I,,,I,I,,,,,I,I,,,,,,,I,I,,,,,I,,,,,,,,I,,,,I,,,,,,I,,I,,O,,,,,,,,I,,,,I,,,I,,,,,,,,,,,,I,,,,,,,,,I,,,,,,,,,,I,,,,,,,,,,,,,,,I,,I,I,,,I,,,,I,,I,,,
+lirr124,I,I,,,,,,,,O,,I,,,,,,,I,I,,,,,I,I,,I,,,,,,,,,,,,,,I,I,,,,,,,,,,,,,,,I,,,I,,,,,,,,,,,I,,I,,O,,I,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,I,,,I,,,,,,,,,,,,
+lirr125,I,I,,O,,,,O,,,,I,,,,O,O,,I,I,,O,,O,I,I,,I,,,,,,,,,,O,O,O,O,,I,,,,,O,O,,O,,,,,,,I,,O,I,,O,,O,,,O,,O,,I,,I,O,,,,,,O,O,,,O,O,,O,,O,,O,,,O,O,,O,,,,O,,,,,O,I,O,,I,,,,O,,,,,,,O,
+lirr126,I,I,O,,,,,,,,I,I,,I,,,,,I,I,,,,,I,,,,,,,,I,I,,,I,,,,,,I,,I,,,,,,,,I,,I,I,I,,,,,,,O,,,,,,,,,I,I,,,,,I,I,,,,,,,,,,,I,,I,,,,I,,,I,,,I,,,I,,I,,,I,,I,I,,,,,,,,,
+lirr127,I,I,O,O,O,O,O,O,,,I,I,O,O,,,O,,I,I,O,,,,I,,,,O,,,O,,O,,,O,,,O,O,,I,,I,O,O,,O,,O,O,O,,I,O,O,,O,,,O,,O,O,O,,O,O,O,O,,O,I,,,,,O,O,,,O,,O,,,O,O,,O,O,I,,O,O,O,,,O,,,O,O,,O,O,I,,O,I,,O,I,,,,O,,O,,O,
+lirr129,I,I,O,,,,,,,,I,I,,I,,,,,I,I,,,,,I,,,,,,,O,I,,,,I,,,,,,I,,I,,,,,,,,I,,I,O,I,,,,,,,O,,,,,,,,,I,I,,,,,I,O,,,,,,,,,,,I,,I,,,,I,,,I,,,I,,,I,,I,,,I,,I,I,,,,,,,,,
+lirr130,I,,,,,,,,,,,,,,,,,,,,,,,,,,O,,,,,,,,,O,,,,,,,,,,,,,,O,,,,O,,,,,,,,,,,,,,,,,,,,I,,,,,,,,,,O,,,O,,,,,,,O,,,,,,,,,,,O,,,,,,,I,,,,,,,,,O,,I
+lirr131,I,,,,,,,,,,,,,,,,,,,,,,,,,,I,,,,,,,,I,,,,,,,,,,,,,,,O,,,,O,,,,,,,,,,,,,,,,,,,,I,,,,,,,,,,I,,,I,,,,,,,I,,,,,,,,,,,I,,,,,,,I,,,,,,,,,I,,I
+lirr132,I,I,O,O,O,O,O,O,,,I,I,O,O,,,O,,I,I,O,,,,I,,,,O,,,O,I,O,,,,,,O,O,,I,,I,O,O,,O,,O,O,O,,I,O,O,,O,,,O,,O,O,O,,O,O,O,O,,O,I,,,,,O,O,,,O,,O,,,O,O,,O,O,I,,O,O,O,,,O,,,O,O,,O,O,I,,O,I,,O,I,,,,O,,O,,O,
+lirr135,I,I,,O,,,,O,,,,I,,,,,O,,I,I,,,,O,I,I,,I,,,I,,,,,,,,I,O,O,,I,,,,,,O,,O,,,,,,,I,,I,I,,I,,O,,,O,,O,,I,,I,I,,,,,,I,I,,,O,O,,O,,I,,O,,,O,O,,,,,,O,,,,,O,I,,,I,,,,I,,,,,,,O,
+lirr136,I,I,,O,,,,O,,,,I,,,,,O,,I,I,,,,O,I,I,,I,,,I,,,,,,,O,,O,O,,I,,,,,,O,,O,,,,,,,I,,I,I,,I,,O,,,O,,O,,I,,I,I,,,,,,I,I,,,O,O,,O,,I,,O,,,O,O,,,,,,O,,,,,O,I,,,I,,,,I,,,,,,,O,
+lirr140,I,I,,I,,,,O,,,I,I,,I,,,I,,I,I,,,,I,I,I,,I,,,I,,I,,,,I,I,I,,O,,I,,I,,,,I,,I,,,,I,,,I,,I,I,,I,,O,,,O,,I,,I,I,I,I,,,,,,I,I,,,O,I,,O,,I,,I,I,,I,I,,,,,,I,I,,,,O,I,,,I,,,I,I,,,,,,,O,
+lirr141,I,I,,I,,,,I,,,I,I,,I,,,I,,I,I,,,,I,I,I,,I,,,I,,I,,,,I,I,I,I,,,I,,I,,,,I,,I,,,,I,,,I,,I,I,,I,,I,,,I,,I,,I,I,I,I,,,,,,I,I,,,I,I,,I,,I,,I,I,,I,I,,,,,,I,I,,,,I,I,,,I,,,I,I,,,,,,,I,
+lirr142,I,I,,,,,,,,O,,I,,,,,,,I,I,,,,,I,I,,I,,O,,,,,,,,,,,,,I,,,,,,,,,,,,,,,I,,,I,,,,,,,,,,,I,,I,,O,,I,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,I,,,I,,,,,,,,,,,,
+lirr148,,I,O,O,O,O,O,O,O,O,O,,O,O,O,O,O,O,O,,O,O,O,O,,O,,O,O,O,O,O,O,O,,,O,O,O,O,O,O,,O,O,O,O,O,O,,O,O,O,,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,,O,O,O,O,O,O,O,O,O,,O,O,,O,O,O,O,O,O,,O,O,O,O,O,O,O,O,O,O,,O,O,O,O,O,,,O,O,O,O,O,O,O,O,,O,
+lirr149,I,I,,,,,,,O,,I,I,,,,,,,I,I,,,,,I,,,,,,,,,,,,,,,,,,I,,,,,,,,,,,,I,,,,,,,,,,,,I,,,,,,,I,,,,,,,,,,,,,,,,,,,I,,,,,,,,O,,,,,,,I,,,I,,,I,,,,,O,,,,
+lirr152,I,I,O,O,O,O,O,O,,,I,I,O,O,,,O,,I,I,O,,,,I,,,,O,,,O,O,O,,,O,,,O,O,,I,,,O,O,,O,,O,O,O,,I,O,O,,O,,,O,,O,O,O,,O,O,O,O,,O,I,,,,,O,O,,,O,,O,,,O,O,,O,O,I,,O,O,O,,,O,,,O,O,,O,O,I,,O,I,,O,I,,,,O,,O,,O,
+lirr153,I,I,,,,,I,,,,I,I,I,I,,,,,I,I,O,,,,I,,,,,,,,I,,,,I,,,,,,I,,I,,,,,,,O,,,I,,,,,,,,,,,O,,,O,,I,,I,I,,,,,,,,,,,,,,,O,,,,I,,,,,,,,,,I,I,,,,I,,,I,,,I,,,,,,,,,
+lirr154,I,I,,,I,I,,,,,I,I,,,,,,,I,I,,,,,I,,,,I,,,,I,,,,I,,,,,,I,,I,,,,,,,,,,I,,,,I,,,I,,,,,,,,,,,,I,,,,,,,,,I,,,,,,,,,,I,,,,,,,,,,,,,,,I,,I,I,,,I,,,,I,,I,,,
+lirr155,I,I,,,,,,,,,,I,,,,O,,,I,I,,O,,,I,I,,I,,,I,,,,,,,,,,,,I,,,,,,,,,,,,,,,I,,,I,,,,,,,,,,,I,,I,,,,,,,,,,,,,,,,,,,,,,,,I,,,,,,,,,,I,I,,I,,,,,,,,,,,,
+lirr157,I,I,,I,,,,O,,,I,I,,I,,,I,,I,I,,,,I,I,I,,I,,,I,,I,,,,I,I,I,O,O,,I,,I,,,,,,O,,,,I,,,I,,I,I,,I,,O,,,O,,O,,I,I,I,I,,,,,,I,I,,,O,I,,O,,I,,O,I,,I,I,,,,,,I,I,,,,O,I,,,I,,,I,I,,,,,,,O,
+lirr162,I,,,,,,,,,,,,,,,,,,,,,,,,,,I,,,,,,,,I,I,,,,,,,,,,,,,,,,,,O,,,,,,,,,,,,,,,,,,,,I,,,,,,,,,,I,,,I,,,,,,,I,,,,,,,,,,,I,,,,,,,I,,,,,,,,,I,,I
+lirr163,I,I,,I,,,,O,,,I,I,,I,,,I,,I,I,,,,I,I,I,,I,,,I,,I,,,,I,I,I,O,O,,I,,I,,,,I,,,,,,I,,,I,,I,I,,I,,O,,,O,,I,,I,I,I,I,,,,,,I,I,,,O,I,,O,,I,,O,I,,I,I,,,,,,I,I,,,,O,I,,,I,,,I,I,,,,,,,O,
+lirr164,I,I,,,,,I,,,,I,I,I,I,,,,,I,I,I,,,,I,,,,,,,,I,,,,I,,,,,,I,,I,I,,,,,,,,,I,,,,,,,,,,,I,,,I,,I,,I,I,,,,,,,,,,,,,,,I,,,,I,,,,,,,,,,I,I,,,,I,,,I,,,I,,,,,,,,,
+lirr165,I,I,O,,,,,,,,I,I,,I,,,,,I,I,,,,,I,,,,,,,O,I,O,,,I,,,,,,I,,I,,,,,,,,,,I,O,O,,,,,,,O,,,,,,,,,I,I,,,,,O,O,,,,,,,,,,,I,,I,,,,O,,,O,,,I,,,O,,I,,,I,,I,I,,,,,,,,,
+lirr171,I,,,,,,,,,,,,,,,,,,,,,,,,,,I,,,,,,,,I,I,,,,,,,,,,,,,,I,,,,,,,,,,,,,,,,,,,,,,,,I,,,,,,,,,,I,,,I,,,,,,,I,,,,,,,,,,,I,,,,,,,I,,,,,,,,,I,,I
+lirr175,I,I,O,O,O,O,O,O,O,,I,I,O,O,,,O,,I,I,O,,,,I,,,,O,,,O,O,O,,,O,,,O,O,,I,O,O,O,O,,O,,O,O,O,,,O,O,,O,,,O,,O,O,O,O,O,O,O,O,,O,I,,,,,O,O,,,O,,O,,,O,O,,O,O,O,,O,O,O,,,O,O,,O,O,,O,O,I,,O,I,,O,O,,,,O,O,O,,O,
+lirr176,I,I,O,,,,,,,,I,I,,I,,,,,I,I,,,,,I,,,,,,,O,I,I,,,I,,,,,,I,,I,,,,,,,,I,,I,,I,,,,,,,O,,,,,,,,,I,I,,,,,I,I,,,,,,,,,,,I,,I,,,,I,,,I,,,I,,,I,,I,,,I,,I,I,,,,,,,,,
+lirr179,I,I,O,,,,,,,,I,I,,I,,,,,I,I,,,,,I,,,,,,,O,I,O,,,I,,,,,,I,,I,,,,,,,,I,,I,O,,,,,,,,O,,,,,,,,,I,I,,,,,I,O,,,,,,,,,,,I,,I,,,,I,,,I,,,I,,,I,,I,,,I,,I,I,,,,,,,,,
+lirr180,I,I,,O,,,,O,,O,,I,,,O,O,O,O,I,I,,O,O,O,I,I,,I,,O,O,,,,,,,O,O,O,O,O,I,,,,,O,O,,O,,,,,,,,,O,,,O,,O,,,O,,O,,O,,I,O,O,O,O,,,O,O,,,O,O,,O,,O,,O,,,O,O,,O,O,,,O,,,,,O,I,O,,I,,,,O,O,O,,,,,O,
+lirr182,I,I,,,O,O,,,,,I,I,,,,,,,I,I,,,,,I,,,,O,,,,I,,,,I,,,,,,I,,I,,O,,,,,,,,I,,,,,,,O,,,,,,,,,,,,I,,,,,,,,,I,,,,,,,,,,I,,,,,,,,,,,,,,,I,,I,I,,,I,,,,O,,O,,,
+lirr183,I,I,,O,,,,O,,,,I,,,,,O,,I,I,,,,O,I,I,,I,,,I,,,,,,,O,O,O,O,,I,,,,,,O,,O,,,,,,,I,,,I,,O,,O,,,O,,O,,I,,I,O,,,,,,O,O,,,O,O,,O,,O,,O,,,O,O,,,,,,O,,,,,O,I,,,I,,,,O,,,,,,,O,
+lirr184,I,I,,O,,,,O,,,,I,,,,O,O,,I,I,,O,,O,I,,,,,,O,,,,,,,O,O,O,O,,I,,,,,O,O,,O,,,,,,,,,O,,,O,,O,,,O,,O,,,,I,O,,,,,,O,O,,,O,O,,O,,O,,O,,,O,O,,O,,,,O,,,,,O,I,O,,I,,,,O,,,,,,,O,
+lirr185,I,I,,,O,I,,,,,I,I,,,,,,,I,I,,,,,I,,,,O,,,,I,,,,I,,,,,,I,,I,,O,,,,,,,,I,,,,I,,,,,,,,,,,,,,,I,,,,,,,,,I,,,,,,,,,,I,,,,,,,,,,,,,,,I,,I,I,,,I,,,,O,,I,,,
+lirr187,I,I,,O,,,,O,,,,I,,,,,O,,I,I,,,,O,I,I,,I,,,I,,,,,,,O,O,O,O,,I,,,,,,O,,O,,,,,,,I,,I,I,,,,O,,,O,,O,,I,,I,I,,,,,,I,I,,,O,O,,O,,I,,O,,,O,O,,,,,,O,,,,,O,I,,,I,,,,I,,,,,,,O,
+lirr190,I,I,O,,,,,,,,I,I,,I,,,,,I,I,,,,,I,,,,,,,I,I,I,,,I,,,,,,I,,I,,,,,,,,I,,I,I,I,,,,,,,,,,,,,,,,I,I,,,,,I,I,,,,,,,,,,,I,,I,,,,I,,,I,,,I,,,I,,I,,,I,,I,I,,,,,,,,,
+lirr191,I,I,,I,,,,I,,,I,I,,I,,,I,,I,I,,,,I,I,I,,I,,,I,,I,,,,I,I,I,I,O,,I,,I,,,,I,,I,,,,I,,,I,,I,I,,I,,,,,I,,I,,I,I,I,I,,,,,,I,I,,,O,I,,O,,I,,I,I,,I,I,,,,,,I,I,,,,O,I,,,I,,,I,I,,,,,,,I,
+lirr193,I,I,,,,,I,,,,I,I,I,I,,,,,I,I,I,,,,I,,,,,,,,I,,,,I,,,,,,I,,I,I,,,,,,O,,,I,,,,,,,,,,,,,,I,,I,,I,I,,,,,,,,,,,,,,,O,,,,I,,,,,,,,,,I,I,,,,I,,,I,,,I,,,,,,,,,
+lirr195,I,I,,,,,,,O,,I,I,,,,,,,I,I,,,,,I,,,,,,,,,,,,,,,,,,I,O,,,,,,,,,,,I,,,,,,,,,,,,,,,,,,,I,,,,,,,,,,,,,,,,,,,I,,,,,,,,O,,,,,,,I,,,I,,,I,,,,,O,,,,
+lirr198,I,I,,I,,,,O,,,I,I,,I,,,I,,I,I,,,,I,I,I,,I,,,I,,I,,,,I,I,I,I,O,,I,,I,,,,I,,I,,,,I,,,I,,I,I,,I,,O,,,,,I,,I,I,I,I,,,,,,I,I,,,O,I,,O,,I,,I,I,,I,I,,,,,,I,I,,,,O,I,,,I,,,I,I,,,,,,,O,
+lirr202,I,I,,,,,I,,,,I,I,I,I,,,,,I,I,I,,,,I,,,,,,,,I,,,,I,,,,,,I,,I,I,,,,,,O,,,I,,,,,,,,,,,O,,,,,I,,I,I,,,,,,,,,,,,,,,O,,,,I,,,,,,,,,,I,I,,,,I,,,I,,,I,,,,,,,,,
+lirr204,I,I,,I,,,,O,,,I,I,,I,,,I,,I,I,,,,I,I,I,,I,,,I,,I,,,,I,I,I,O,O,,I,,I,,,,I,,O,,,,I,,,I,,I,I,,I,,O,,,O,,,,I,I,I,I,,,,,,I,I,,,O,I,,O,,I,,O,I,,I,I,,,,,,I,I,,,,O,I,,,I,,,I,I,,,,,,,O,
+lirr205,I,I,,,,,O,,,,I,I,O,I,,,,,I,I,O,,,,I,,,,,,,,I,,,,I,,,,,,I,,I,O,,,,,,O,,,I,,,,,,,,,,,O,,,O,,,,I,I,,,,,,,,,,,,,,,O,,,,I,,,,,,,,,,I,O,,,,I,,,I,,,I,,,,,,,,,
+lirr211,I,I,,O,,,,O,,O,,I,,,O,O,O,O,I,I,,O,O,O,I,I,,I,,O,O,,,,,,,O,O,O,O,O,I,,,,,O,O,,O,,,,,,,I,,O,,,O,,O,,,O,,O,,,,I,O,O,O,O,,,O,O,,,O,O,,O,,O,,O,,,O,O,,O,O,,,O,,,,,O,I,O,,I,,,,O,O,O,,,,,O,
+lirr213,I,I,O,O,,,O,O,,,I,I,O,O,,,O,,I,I,O,,,,I,,,,,,,O,I,O,,,I,,,O,O,,I,,I,O,,,O,,O,O,O,,I,O,O,,,,,,,O,O,O,,O,O,O,O,,,I,,,,,O,O,,,,,O,,,O,O,,O,O,I,,O,O,O,,,O,,,I,O,,O,O,I,,,I,,O,I,,,,,,,,O,
+lirr214,I,,O,O,O,O,O,O,O,O,O,,O,O,O,O,O,O,O,O,O,O,O,O,,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O
+lirr215,I,I,,O,,,,O,,,,I,,,,,O,,I,I,,,,O,I,I,,I,,,I,,,,,,,O,O,O,O,,I,,,,,,O,,O,,,,,,,I,,I,I,,O,,O,,,O,,O,,I,,I,,,,,,,I,I,,,O,O,,O,,I,,O,,,O,O,,,,,,O,,,,,O,I,,,I,,,,I,,,,,,,O,
+lirr216,I,I,,,,,,,,I,,I,,,,,,,I,I,,,,,I,I,,I,,I,,,,,,,,,,,,I,I,,,,,,,,,,,,,,,I,,,I,,,,,,,,,,,I,,I,,,,I,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,I,,,I,,,,,,,,,,,,
+lirr217,I,I,,,,,,,,,,I,,,I,,,O,I,I,,,O,,I,I,,I,,,,,,,,,,,,,,,I,,,,,,,,,,,,,,,I,,,,,,,,,,,,,,I,,I,,,,,,,,,,,,,,,,,,,,,,,,,O,,,,,,,,,I,,,I,,,,,O,I,,,,,,
+lirr219,I,I,,,,,,,,O,,I,,,,,,,I,I,,,,,I,I,,I,,O,,,,,,,,,,,,O,I,,,,,,,,,,,,,,,I,,,I,,,,,,,,,,,I,,I,,O,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,I,,,I,,,,,,,,,,,,
+lirr220,I,I,O,,,,,,,,I,I,,I,,,,,I,I,,,,,I,,,,,,,O,I,O,,,I,,,,,,I,,I,,,,,,,,I,,I,O,O,,,,,,,O,,,,,,,,,I,I,,,,,,O,,,,,,,,,,,I,,I,,,,O,,,O,,,I,,,O,,I,,,I,,I,I,,,,,,,,,
+lirr223,I,I,O,,,,,,,,I,I,,I,,,,,I,I,,,,,I,,,,,,,O,I,I,,,I,,,,,,I,,I,,,,,,,,I,,I,O,I,,,,,,,O,,,,,,,,,I,I,,,,,I,,,,,,,,,,,,I,,I,,,,I,,,I,,,I,,,I,,I,,,I,,I,I,,,,,,,,,
+lirr225,I,I,,O,,,,O,,,,I,,,,,O,,I,I,,,,O,I,I,,I,,,I,,,,,,,O,O,O,O,,I,,,,,,O,,O,,,,,,,I,,I,I,,O,,O,,,O,,O,,I,,I,O,,,,,,,O,,,O,O,,O,,O,,O,,,O,O,,,,,,O,,,,,O,I,,,I,,,,O,,,,,,,O,
+lirr226,I,I,,O,,,,O,,,,I,,,,,O,,I,I,,,,O,I,I,,I,,,I,,,,,,,O,O,O,O,,I,,,,,,O,,O,,,,,,,I,,I,I,,O,,O,,,O,,O,,I,,I,O,,,,,,I,,,,O,O,,O,,O,,O,,,O,O,,,,,,O,,,,,O,I,,,I,,,,I,,,,,,,O,
+lirr1,I,I,,,O,O,,,,,I,I,,,,,,,I,I,,,,,I,,,,O,,,,I,,,,I,,,,,,I,,I,,O,,,,,,,,I,,,,O,,,O,,,,,,,,,,,,I,,,,,,,,,,,,,,,,,,,I,,,,,,,,,,,,,,,I,,I,I,,,I,,,,O,,O,,,
+lirr2,I,,,,,,,,,,,,,,,,,,,,,,,,,,O,,,,,,,,I,O,,,,,,,,,,,,,,O,,,,O,,,,,,,,,,,,,,,,,,,,I,,,,,,,,,,,,,I,,,,,,,O,,,,,,,,,,,O,,,,,,,I,,,,,,,,,O,,I
+lirr4,I,I,,I,,,,I,,,I,I,,I,,,I,,I,I,,,,I,I,I,,I,,,I,,I,,,,I,I,I,I,O,,I,,I,,,,I,,I,,,,I,,,I,,I,I,,I,,I,,,I,,I,,I,I,I,I,,,,,,I,I,,,,I,,I,,I,,I,I,,I,I,,,,,,I,I,,,,I,I,,,I,,,I,I,,,,,,,I,
+lirr8,I,I,,O,,,,O,,,,I,,,,,O,,I,I,,,,O,I,I,,I,,,I,,,,,,,I,I,O,O,,I,,,,,,O,,O,,,,,,,I,,I,I,,I,,O,,,O,,O,,I,,I,I,,,,,,I,I,,,O,,,O,,I,,O,,,O,O,,,,,,O,,,,,O,I,,,I,,,,I,,,,,,,O,
+lirr11,I,,,,,,,,,,,,,,,,,,,,,,,,,,O,,,,,,,,I,O,,,,,,,,,,,,,,O,,,,O,,,,,,,,,,,,,,,,,,,,I,,,,,,,,,,O,,,,,,,,,,O,,,,,,,,,,,O,,,,,,,I,,,,,,,,,O,,I
+lirr13,I,I,,I,,,,I,,,I,I,,I,,,I,,I,I,,,,I,I,I,,I,,,I,,I,,,,I,I,I,I,O,,I,,I,,,,I,,I,,,,I,,,I,,I,I,,I,,I,,,I,,I,,I,I,I,I,,,,,,I,I,,,O,I,,,,I,,I,I,,I,I,,,,,,I,I,,,,O,I,,,I,,,I,I,,,,,,,I,
+lirr14,I,I,,,,,I,,,,I,I,I,I,,,,,I,I,I,,,,I,,,,,,,,I,,,,I,,,,,,I,,I,I,,,,,,O,,,I,,,,,,,,,,,I,,,I,,I,,I,I,,,,,,,,,,,,,,,,,,,I,,,,,,,,,,I,I,,,,I,,,I,,,I,,,,,,,,,
+lirr16,I,I,,O,,,,O,,,,I,,,,,O,,I,I,,,,O,I,I,,I,,,I,,,,,,,O,O,O,O,,I,,,,,,O,,O,,,,,,,I,,I,I,,O,,O,,,O,,O,,I,,I,O,,,,,,I,I,,,O,O,,O,,,,O,,,O,O,,,,,,O,,,,,O,I,,,I,,,,I,,,,,,,O,
+lirr20,I,I,O,,,,,,,,I,I,,I,,,,,I,I,,,,,I,,,,,,,O,I,O,,,I,,,,,,I,,I,,,,,,,,O,,I,O,O,,,,,,,O,,,,,,,,,I,I,,,,,O,O,,,,,,,,,,,,,I,,,,O,,,O,,,I,,,O,,I,,,I,,O,I,,,,,,,,,
+lirr21,I,I,,I,,,,O,,,I,I,,I,,,I,,I,I,,,,I,I,I,,I,,,I,,I,,,,I,I,I,O,O,,I,,I,,,,I,,I,,,,I,,,I,,I,I,,I,,O,,,O,,I,,I,I,I,I,,,,,,I,I,,,O,I,,O,,I,,,I,,I,I,,,,,,I,I,,,,O,I,,,I,,,I,I,,,,,,,O,
+lirr23,I,I,O,O,O,O,O,O,O,,I,I,O,O,,,O,,I,I,O,,,,I,,,,O,,,O,O,O,,,O,,,O,O,,I,O,O,O,O,,O,,O,O,O,,I,O,O,,O,,,O,,O,O,O,O,O,O,O,O,,O,I,,,,,O,O,,,O,,O,,,O,O,,O,O,,,O,O,O,,,O,O,,O,O,,O,O,I,,O,I,,O,O,,,,O,O,O,,O,
+lirr25,I,,,,,,,,,,,,,,,,,,,,,,,,,,O,,,,,,,,I,O,,,,,,,,,,,,,,O,,,,O,,,,,,,,,,,,,,,,,,,,I,,,,,,,,,,I,,,I,,,,,,,,,,,,,,,,,,O,,,,,,,I,,,,,,,,,O,,I
+lirr26,I,I,,O,,,,O,,,I,I,,I,,,O,,I,I,,,,I,I,I,,I,,,I,,I,,,,I,I,I,O,O,,I,,I,,,,O,,O,,,,I,,,I,,I,I,,I,,O,,,O,,O,,I,I,I,I,,,,,,I,I,,,O,I,,O,,I,,O,I,,,I,,,,,,I,I,,,,O,I,,,I,,,I,I,,,,,,,O,
+lirr27,I,I,,O,,,,O,,,I,I,,I,,,O,,I,I,,,,I,I,I,,I,,,I,,I,,,,I,I,I,O,O,,I,,I,,,,O,,O,,,,I,,,I,,I,I,,I,,O,,,O,,O,,I,I,I,I,,,,,,I,I,,,O,I,,O,,I,,O,I,,O,,,,,,,I,I,,,,O,I,,,I,,,I,I,,,,,,,O,
+lirr29,I,I,O,,,,,,,,I,I,,I,,,,,I,I,,,,,I,,,,,,,O,I,O,,,I,,,,,,I,,I,,,,,,,,I,,I,O,O,,,,,,,O,,,,,,,,,I,I,,,,,I,O,,,,,,,,,,,I,,I,,,,,,,O,,,I,,,I,,I,,,I,,I,I,,,,,,,,,
+lirr31,I,I,,,,,,,,,,I,,,,O,,,I,I,,O,,,I,I,,I,,,I,,,,,,,,,,,,I,,,,,O,,,,,,,,,,I,,,I,,,,,,,,,,,I,,I,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,I,O,,I,,,,,,,,,,,,
+lirr32,I,I,,,,,,,,,,I,,,I,,,O,I,I,,,O,,I,I,,I,,,,,,,,,,,,,,,I,,,,,,,,,,,,,,,I,,,,,,,,,,,,,,I,,I,,,I,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,I,,,I,,,,,O,I,,,,,,
+lirr33,I,I,O,,,,,,,,I,I,,I,,,,,I,I,,,,,I,,,,,,,O,I,O,,,I,,,,,,I,,I,,,,,,,,I,,I,O,O,,,,,,,O,,,,,,,,,I,I,,,,,I,O,,,,,,,,,,,I,,I,,,,I,,,,,,I,,,I,,I,,,I,,I,I,,,,,,,,,
+lirr36,I,I,,,,,,,O,,I,I,,,,,,,I,I,,,,,I,,,,,,,,,,,,,,,,,,I,I,,,,,,,,,,,I,,,,,,,,,,,,I,,,,,,,I,,,,,,,,,,,,,,,,,,,I,,,,,,,,,,,,,,,I,,,I,,,I,,,,,I,,,,
+lirr38,I,I,,O,,,,O,,,,I,,,,,O,,I,I,,,,O,I,I,,I,,,I,,,,,,,I,I,O,O,,I,,,,,,O,,O,,,,,,,I,,I,I,,I,,O,,,O,,O,,I,,I,I,,,,,,I,I,,,O,I,,O,,I,,O,,,O,O,,,,,,,,,,,O,I,,,I,,,,I,,,,,,,O,
+lirr39,I,I,O,O,,,O,O,,,I,I,O,O,,,O,,I,I,O,,,,I,,,,,,,O,I,O,,,I,,,O,O,,I,,I,O,,,O,,O,O,O,,I,O,O,,,,,,,O,O,O,,O,O,O,O,,O,I,,,,,O,O,,,,,O,,,O,O,,O,O,I,,O,O,O,,,O,,,,O,,O,O,I,,,I,,O,I,,,,,,,,O,
+lirr40,I,I,,,,,O,,,,I,I,O,I,,,,,I,I,O,,,,I,,,,,,,,I,,,,I,,,,,,I,,I,O,,,,,,O,,,I,,,,,,,,,,,O,,,O,,I,,I,I,,,,,,,,,,,,,,,O,,,,I,,,,,,,,,,I,,,,,I,,,I,,,I,,,,,,,,,
+lirr42,I,,,,,,,,,,,,,,,,,,,,,,,,,,O,,,,,,,,I,O,,,,,,,,,,,,,,O,,,,O,,,,,,,,,,,,,,,,,,,,I,,,,,,,,,,I,,,I,,,,,,,I,,,,,,,,,,,,,,,,,,I,,,,,,,,,O,,I
+lirr44,I,I,O,,,,,,,,I,I,,I,,,,,I,I,,,,,I,,,,,,,O,I,O,,,I,,,,,,I,,I,,,,,,,,I,,I,O,O,,,,,,,O,,,,,,,,,I,I,,,,,I,O,,,,,,,,,,,I,,I,,,,O,,,O,,,I,,,,,I,,,I,,I,I,,,,,,,,,
+lirr48,I,I,,I,,,,I,,,I,I,,I,,,I,,I,I,,,,I,I,I,,I,,,I,,I,,,,I,I,I,I,O,,I,,I,,,,I,,I,,,,I,,,I,,I,I,,I,,I,,,I,,I,,I,I,I,I,,,,,,I,I,,,O,I,,I,,I,,I,I,,I,I,,,,,,I,I,,,,,I,,,I,,,I,I,,,,,,,I,
+lirr50,,I,O,O,O,O,O,O,O,O,O,,O,O,O,O,O,O,O,,O,O,O,O,,O,,O,O,O,O,O,O,O,,,O,O,O,O,O,O,I,O,O,O,O,O,O,,O,O,O,,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,,O,O,O,O,O,O,O,O,O,,O,O,,O,O,O,O,O,O,,O,O,O,O,O,O,O,O,O,O,,O,O,,O,O,,,O,O,O,O,O,O,O,O,,O,
+lirr51,I,I,,,,,,,,,,I,,,,O,,,I,I,,O,,,I,I,,I,,,I,,,,,,,,,,,,I,,,,,O,,,,,,,,,,I,,,I,,,,,,,,,,,I,,I,,,,,,,,,,,,,,,,,,,,,,,,I,,,,,,,,,,I,,,I,,,,,,,,,,,,
+lirr52,I,I,,,O,O,,,,,I,I,,,,,,,I,I,,,,,I,,,,O,,,,I,,,,I,,,,,,I,,I,,O,,,,,,,,I,,,,O,,,O,,,,,,,,,,,,I,,,,,,,,,O,,,,,,,,,,I,,,,,,,,,,,,,,,I,,,I,,,I,,,,O,,O,,,
+lirr55,I,,O,O,O,O,O,O,O,O,O,,O,O,O,O,O,O,O,O,O,O,O,O,,O,,O,O,O,O,O,O,O,,,O,O,O,O,O,O,,O,O,O,O,O,O,,O,O,O,,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,I,O,O,O,O,O,O,O,O,O,,O,O,,O,O,O,O,O,O,,O,O,O,O,O,O,O,O,O,O,,O,O,,O,O,,,O,O,O,O,O,O,O,O,,O,
+lirr56,I,,,,,,,,,,,,,,,,,,,,,,,,,,O,,,,,,,,O,O,,,,,,,,,,,,,,O,,,,O,,,,,,,,,,,,,,,,,,,,I,,,,,,,,,,O,,,O,,,,,,,O,,,,,,,,,,,O,,,,,,,,,,,,,,,,O,,I
+lirr59,I,I,O,,,,,,,,I,I,,I,,,,,I,I,,,,,I,,,,,,,O,I,O,,,I,,,,,,I,,I,,,,,,,,O,,I,O,O,,,,,,,O,,,,,,,,,I,I,,,,,O,O,,,,,,,,,,,I,,I,,,,O,,,O,,,I,,,O,,I,,,I,,,I,,,,,,,,,
+lirr63,I,I,O,O,O,O,O,O,O,,I,I,O,O,,,O,,I,I,O,,,,I,,,,O,,,O,O,O,,,O,,,O,O,,I,O,O,O,O,,O,,O,O,O,,I,O,O,,O,,,O,,O,O,O,O,O,O,O,O,,O,I,,,,,O,O,,,O,,O,,,O,O,,O,O,I,,O,O,O,,,O,O,,O,O,,O,O,I,,O,I,,O,,,,,O,O,O,,O,
+lirr64,I,I,,O,,,,O,,,,I,,,,,O,,I,I,,,,O,I,I,,I,,,I,,,,,,,O,O,O,O,,I,,,,,,O,,O,,,,,,,I,,I,I,,O,,O,,,O,,O,,I,,I,O,,,,,,I,O,,,O,O,,O,,O,,O,,,O,O,,,,,,O,,,,,O,I,,,I,,,,,,,,,,,O,
+lirr65,I,I,,,,,,,,,,I,,,I,,,I,I,I,,,I,,I,I,,I,,,,,,,,,,,,,,,I,,,,,,,,,,,,,,,I,,,,,,,,,,,,,,I,,I,,,I,,,,,,,,,,,,,,,,,,,,,,I,,,,,,,,,I,,,I,,,,,,I,,,,,,
+lirr66,I,I,,,,,,,,,,I,,,O,,,O,I,I,,,O,,I,I,,I,,,,,,,,,,,,,,,I,,,,,,,,,,,,,,,I,,,,,,,,,,,,,,I,,I,,,O,,,,,,,,,,,,,,,,,,,,,,O,,,,,,,,,I,,,I,,,,,O,,,,,,,
+lirr67,I,I,,,I,I,,,,,I,I,,,,,,,I,I,,,,,I,,,,O,,,,I,,,,I,,,,,,I,,I,,O,,,,,,,,I,,,,I,,,I,,,,,,,,,,,,I,,,,,,,,,I,,,,,,,,,,I,,,,,,,,,,,,,,,I,,I,I,,,I,,,,,,I,,,
+lirr68,I,I,,,,,,,O,,I,I,,,,,,,I,I,,,,,I,,,,,,,,,,,,,,,,,,I,I,,,,,,,,,,,I,,,,,,,,,,,,I,,,,,,,I,,,,,,,,,,,,,,,,,,,I,,,,,,,,O,,,,,,,I,,,I,,,I,,,,,,,,,
+lirr71,I,I,,,O,I,,,,,I,I,,,,,,,I,I,,,,,I,,,,O,,,,I,,,,I,,,,,,I,,I,,O,,,,,,,,I,,,,I,,,O,,,,,,,,,,,,I,,,,,,,,,I,,,,,,,,,,I,,,,,,,,,,,,,,,I,,I,I,,,I,,,,O,,,,,
+lirr72,I,,,,,,,,,,,,,,,,,,,,,,,,,,I,,,,,,,,I,O,,,,,,,,,,,,,,O,,,,O,,,,,,,,,,,,,,,,,,,,I,,,,,,,,,,I,,,I,,,,,,,I,,,,,,,,,,,I,,,,,,,I,,,,,,,,,,,I
+lirr233,I,I,,I,,,,O,,,I,I,,I,,,I,,I,I,,,,I,I,I,,I,,,I,,I,,,,I,I,I,I,O,,I,,I,,,,I,,I,,,,I,,,I,,I,I,,I,,O,,,I,,I,,I,I,I,I,,,,,,I,I,,,O,I,,O,,I,,I,I,,I,I,,,,,,I,I,,,,O,I,,,I,,,I,I,,,,,,,,
+lirr_elmhurst,I,,,,,,,,,,,,,,,,,,,,,,,,,,O,,,,,,,,O,O,,,,,,,,,,,,,,O,,,,O,,,,,,,,,,,,,,,,,,,,I,,,,,,,,,,O,,,O,,,,,,,O,,,,,,,,,,,O,,,,,,,O,,,,,,,,,O,,
diff --git a/src/main/resources/fares/nyc/lirr/lirr_stops_fare_zones.csv b/src/main/resources/fares/nyc/lirr/lirr_stops_fare_zones.csv
new file mode 100644
index 00000000..ae4411ec
--- /dev/null
+++ b/src/main/resources/fares/nyc/lirr/lirr_stops_fare_zones.csv
@@ -0,0 +1,126 @@
+stop_name,stop_id,fare_area
+Albertson,lirr1,7
+Amagansett,lirr4,14
+Amityville,lirr8,9
+Atlantic Terminal,lirr241,91
+Auburndale,lirr2,3
+Babylon,lirr27,9
+Baldwin,lirr225,7
+Bay Shore,lirr26,10
+Bayside,lirr25,3
+Bellerose,lirr23,4
+Bellmore,lirr16,7
+Bellport,lirr21,12
+Belmont Park,lirr24,4
+Bethpage,lirr20,7
+Brentwood,lirr29,10
+Bridgehampton,lirr13,14
+Broadway,lirr11,3
+Carle Place,lirr39,7
+Cedarhurst,lirr32,4
+Central Islip,lirr33,10
+Centre Avenue,lirr31,7
+Cold Spring Harbor,lirr40,9
+Copiague,lirr38,9
+Country Life Press,lirr36,4
+Deer Park,lirr44,9
+Douglaston,lirr42,3
+East Hampton,lirr48,14
+East New York,lirr50,91
+East Rockaway,lirr51,7
+East Williston,lirr52,4
+Far Rockaway,lirr65,4
+Farmingdale,lirr59,7
+Floral Park,lirr63,4
+Flushing Main Street,lirr56,3
+Forest Hills,lirr55,1
+Freeport,lirr64,7
+Garden City,lirr68,4
+Gibson,lirr66,4
+Glen Cove,lirr67,7
+Glen Head,lirr71,7
+Glen Street,lirr76,7
+Great Neck,lirr72,4
+Great River,lirr74,10
+Greenlawn,lirr78,9
+Greenport,lirr73,14
+Greenvale,lirr77,7
+Hampton Bays,lirr83,14
+Hempstead,lirr84,4
+Hempstead Gardens,lirr85,4
+Hewlett,lirr94,4
+Hicksville,lirr92,7
+Hollis,lirr89,93
+Hunterspoint Avenue,lirr90,1
+Huntington,lirr91,9
+Inwood,lirr101,4
+Island Park,lirr99,7
+Islip,lirr100,10
+Jamaica,lirr102,93
+Kew Gardens,lirr107,1
+Kings Park,lirr111,10
+Lakeview,lirr124,4
+Laurelton,lirr122,93
+Lawrence,lirr114,4
+Lindenhurst,lirr117,9
+Little Neck,lirr120,3
+Locust Manor,lirr119,93
+Locust Valley,lirr123,7
+Long Beach,lirr113,7
+Long Island City,lirr118,1
+Lynbrook,lirr125,4
+Malverne,lirr142,4
+Manhasset,lirr131,4
+Massapequa,lirr136,7
+Massapequa Park,lirr135,7
+Mastic Shirley,lirr140,12
+Mattituck,lirr126,14
+Medford,lirr129,10
+Merillon Avenue,lirr127,4
+Merrick,lirr226,7
+Mets-Willets Point,lirr199,1
+Mineola,lirr132,4
+Montauk,lirr141,14
+Murray Hill,lirr130,3
+Nassau Boulevard,lirr149,4
+New Hyde Park,lirr152,4
+Northport,lirr153,9
+Nostrand Avenue,lirr148,91
+Oakdale,lirr157,10
+Oceanside,lirr155,7
+Oyster Bay,lirr154,7
+Patchogue,lirr163,10
+Penn Station,lirr237,1
+Pinelawn,lirr165,9
+Plandome,lirr162,4
+Port Jefferson,lirr164,10
+Port Washington,lirr171,4
+Queens Village,lirr175,93
+Riverhead,lirr176,14
+Rockville Centre,lirr183,7
+Ronkonkoma,lirr179,10
+Rosedale,lirr180,93
+Roslyn,lirr182,7
+Sayville,lirr204,10
+Sea Cliff,lirr185,7
+Seaford,lirr187,7
+Smithtown,lirr202,10
+Southampton,lirr191,14
+Southold,lirr190,14
+Speonk,lirr198,12
+St. Albans,lirr184,93
+St. James,lirr193,10
+Stewart Manor,lirr195,4
+Stony Brook,lirr14,10
+Syosset,lirr205,7
+Valley Stream,lirr211,4
+Wantagh,lirr215,7
+West Hempstead,lirr216,4
+Westbury,lirr213,7
+Westhampton,lirr233,14
+Westwood,lirr219,4
+Woodmere,lirr217,4
+Woodside,lirr214,1
+Wyandanch,lirr220,9
+Yaphank,lirr223,12
+Elmhurst,lirr_elmhurst,1
diff --git a/src/main/resources/fares/nyc/lirr/lirr_zonal_fares.csv b/src/main/resources/fares/nyc/lirr/lirr_zonal_fares.csv
new file mode 100644
index 00000000..e510624a
--- /dev/null
+++ b/src/main/resources/fares/nyc/lirr/lirr_zonal_fares.csv
@@ -0,0 +1,201 @@
+from_zone,peak,to_zone,amount
+1,True,1,900
+1,True,3,1075
+1,True,4,1250
+1,True,7,1400
+1,True,9,1675
+1,True,10,1975
+1,True,12,2350
+1,True,14,2225
+1,False,1,650
+1,False,3,775
+1,False,4,925
+1,False,7,1025
+1,False,9,1200
+1,False,10,1425
+1,False,12,1700
+1,False,14,1525
+3,True,1,1075
+3,True,3,550
+3,True,4,825
+3,True,7,1000
+3,True,9,1225
+3,True,10,1525
+3,True,12,1475
+3,True,14,2600
+3,False,1,775
+3,False,3,400
+3,False,4,600
+3,False,7,725
+3,False,9,900
+3,False,10,1100
+3,False,12,1000
+3,False,14,1900
+4,True,1,1250
+4,True,3,825
+4,True,4,325
+4,True,7,325
+4,True,9,600
+4,True,10,750
+4,True,12,1125
+4,True,14,1775
+4,False,1,925
+4,False,3,600
+4,False,4,325
+4,False,7,325
+4,False,9,600
+4,False,10,750
+4,False,12,1125
+4,False,14,1775
+7,True,1,1400
+7,True,3,1000
+7,True,4,325
+7,True,7,325
+7,True,9,325
+7,True,10,600
+7,True,12,1000
+7,True,14,1650
+7,False,1,1025
+7,False,3,725
+7,False,4,325
+7,False,7,325
+7,False,9,325
+7,False,10,600
+7,False,12,1000
+7,False,14,1650
+9,True,1,1675
+9,True,3,1225
+9,True,4,600
+9,True,7,325
+9,True,9,325
+9,True,10,325
+9,True,12,750
+9,True,14,1350
+9,False,1,1200
+9,False,3,900
+9,False,4,600
+9,False,7,325
+9,False,9,325
+9,False,10,325
+9,False,12,750
+9,False,14,1350
+10,True,1,1975
+10,True,3,1525
+10,True,4,750
+10,True,7,600
+10,True,9,325
+10,True,10,325
+10,True,12,325
+10,True,14,950
+10,False,1,1425
+10,False,3,1100
+10,False,4,750
+10,False,7,600
+10,False,9,325
+10,False,10,325
+10,False,12,325
+10,False,14,950
+12,True,1,2350
+12,True,3,2025
+12,True,4,1125
+12,True,7,1000
+12,True,9,750
+12,True,10,325
+12,True,12,325
+12,True,14,650
+12,False,1,1700
+12,False,3,1475
+12,False,4,1125
+12,False,7,1000
+12,False,9,750
+12,False,10,325
+12,False,12,325
+12,False,14,650
+14,True,1,3050
+14,True,3,2600
+14,True,4,1775
+14,True,7,1650
+14,True,9,1350
+14,True,10,950
+14,True,12,650
+14,True,14,325
+14,False,1,2225
+14,False,3,1900
+14,False,4,1775
+14,False,7,1650
+14,False,9,1350
+14,False,10,950
+14,False,12,650
+14,False,14,325
+91,True,1,900
+91,True,3,1075
+91,True,4,1250
+91,True,7,1400
+91,True,9,1675
+91,True,10,1975
+91,True,12,2350
+91,True,14,2225
+91,False,1,650
+91,False,3,775
+91,False,4,925
+91,False,7,1025
+91,False,9,1200
+91,False,10,1425
+91,False,12,1700
+91,False,14,1525
+93,True,1,1075
+93,True,3,550
+93,True,4,825
+93,True,7,1000
+93,True,9,1225
+93,True,10,1525
+93,True,12,1475
+93,True,14,2600
+93,False,1,775
+93,False,3,400
+93,False,4,600
+93,False,7,725
+93,False,9,900
+93,False,10,1100
+93,False,12,1000
+93,False,14,1900
+1,True,91,900
+1,False,91,650
+3,True,91,1075
+3,False,91,775
+4,True,91,1250
+4,False,91,925
+7,True,91,1400
+7,False,91,1025
+9,True,91,1675
+9,False,91,1200
+10,True,91,1975
+10,False,91,1425
+12,True,91,2350
+12,False,91,1700
+14,True,91,3050
+14,False,91,2225
+1,True,93,1075
+1,False,93,775
+3,True,93,550
+3,False,93,400
+4,True,93,825
+4,False,93,600
+7,True,93,1000
+7,False,93,725
+9,True,93,1225
+9,False,93,900
+10,True,93,1525
+10,False,93,1100
+12,True,93,2025
+12,False,93,1475
+14,True,93,2600
+14,False,93,1900
+91,False,91,500
+91,True,91,500
+91,False,93,500
+91,True,93,500
+93,False,91,500
+93,True,91,500
+93,False,93,400
+93,True,93,500
diff --git a/src/main/resources/fares/nyc/lirr/via_fares.csv b/src/main/resources/fares/nyc/lirr/via_fares.csv
new file mode 100644
index 00000000..d09ebc8a
--- /dev/null
+++ b/src/main/resources/fares/nyc/lirr/via_fares.csv
@@ -0,0 +1,25437 @@
+from_stop_id,to_stop_id,via_stop_id,peak,amount
+lirr1,lirr4,lirr102,True,2975
+lirr1,lirr4,lirr132,True,1875
+lirr1,lirr4,lirr102,False,2175
+lirr1,lirr4,lirr132,False,1875
+lirr1,lirr8,lirr102,True,1575
+lirr1,lirr8,lirr102,False,1150
+lirr1,lirr2,lirr214,True,1575
+lirr1,lirr2,lirr214,False,1150
+lirr1,lirr27,lirr102,True,1575
+lirr1,lirr27,lirr132,True,650
+lirr1,lirr27,lirr102,False,1150
+lirr1,lirr27,lirr132,False,650
+lirr1,lirr225,lirr102,True,1225
+lirr1,lirr225,lirr102,False,900
+lirr1,lirr26,lirr102,True,1825
+lirr1,lirr26,lirr132,True,900
+lirr1,lirr26,lirr102,False,1325
+lirr1,lirr26,lirr132,False,900
+lirr1,lirr25,lirr214,True,1575
+lirr1,lirr25,lirr214,False,1150
+lirr1,lirr23,lirr102,True,1100
+lirr1,lirr23,lirr102,False,800
+lirr1,lirr16,lirr102,True,1225
+lirr1,lirr16,lirr102,False,900
+lirr1,lirr21,lirr102,True,2275
+lirr1,lirr21,lirr132,True,1225
+lirr1,lirr21,lirr102,False,1650
+lirr1,lirr21,lirr132,False,1225
+lirr1,lirr20,lirr132,True,450
+lirr1,lirr20,lirr132,False,450
+lirr1,lirr29,lirr132,True,900
+lirr1,lirr29,lirr132,False,900
+lirr1,lirr13,lirr102,True,2975
+lirr1,lirr13,lirr132,True,1875
+lirr1,lirr13,lirr102,False,2175
+lirr1,lirr13,lirr132,False,1875
+lirr1,lirr11,lirr214,True,1575
+lirr1,lirr11,lirr214,False,1150
+lirr1,lirr39,lirr132,True,450
+lirr1,lirr39,lirr132,False,450
+lirr1,lirr32,lirr102,True,1100
+lirr1,lirr32,lirr102,False,800
+lirr1,lirr33,lirr132,True,900
+lirr1,lirr33,lirr132,False,900
+lirr1,lirr31,lirr102,True,1225
+lirr1,lirr31,lirr102,False,900
+lirr1,lirr40,lirr132,True,650
+lirr1,lirr40,lirr132,False,650
+lirr1,lirr38,lirr102,True,1575
+lirr1,lirr38,lirr102,False,1150
+lirr1,lirr36,lirr102,True,1100
+lirr1,lirr36,lirr63,True,425
+lirr1,lirr36,lirr102,False,800
+lirr1,lirr36,lirr63,False,425
+lirr1,lirr44,lirr132,True,650
+lirr1,lirr44,lirr132,False,650
+lirr1,lirr42,lirr214,True,1575
+lirr1,lirr42,lirr214,False,1150
+lirr1,lirr48,lirr102,True,2975
+lirr1,lirr48,lirr132,True,1875
+lirr1,lirr48,lirr102,False,2175
+lirr1,lirr48,lirr132,False,1875
+lirr1,lirr51,lirr102,True,1225
+lirr1,lirr51,lirr102,False,900
+lirr1,lirr65,lirr102,True,1100
+lirr1,lirr65,lirr102,False,800
+lirr1,lirr59,lirr132,True,450
+lirr1,lirr59,lirr132,False,450
+lirr1,lirr63,lirr102,True,1100
+lirr1,lirr63,lirr102,False,800
+lirr1,lirr56,lirr214,True,1575
+lirr1,lirr56,lirr214,False,1150
+lirr1,lirr64,lirr102,True,1225
+lirr1,lirr64,lirr102,False,900
+lirr1,lirr68,lirr102,True,1100
+lirr1,lirr68,lirr63,True,425
+lirr1,lirr68,lirr102,False,800
+lirr1,lirr68,lirr63,False,425
+lirr1,lirr66,lirr102,True,1100
+lirr1,lirr66,lirr102,False,800
+lirr1,lirr72,lirr214,True,1725
+lirr1,lirr72,lirr214,False,1250
+lirr1,lirr74,lirr102,True,1825
+lirr1,lirr74,lirr132,True,900
+lirr1,lirr74,lirr102,False,1325
+lirr1,lirr74,lirr132,False,900
+lirr1,lirr78,lirr132,True,650
+lirr1,lirr78,lirr132,False,650
+lirr1,lirr73,lirr132,True,1875
+lirr1,lirr73,lirr132,False,1875
+lirr1,lirr83,lirr102,True,2975
+lirr1,lirr83,lirr132,True,1875
+lirr1,lirr83,lirr102,False,2175
+lirr1,lirr83,lirr132,False,1875
+lirr1,lirr84,lirr102,True,1100
+lirr1,lirr84,lirr63,True,425
+lirr1,lirr84,lirr102,False,800
+lirr1,lirr84,lirr63,False,425
+lirr1,lirr85,lirr102,True,1100
+lirr1,lirr85,lirr102,False,800
+lirr1,lirr94,lirr102,True,1100
+lirr1,lirr94,lirr102,False,800
+lirr1,lirr92,lirr132,True,450
+lirr1,lirr92,lirr132,False,450
+lirr1,lirr89,lirr102,True,1050
+lirr1,lirr89,lirr102,False,775
+lirr1,lirr91,lirr132,True,650
+lirr1,lirr91,lirr132,False,650
+lirr1,lirr101,lirr102,True,1100
+lirr1,lirr101,lirr102,False,800
+lirr1,lirr99,lirr102,True,1225
+lirr1,lirr99,lirr102,False,900
+lirr1,lirr100,lirr102,True,1825
+lirr1,lirr100,lirr132,True,900
+lirr1,lirr100,lirr102,False,1325
+lirr1,lirr100,lirr132,False,900
+lirr1,lirr111,lirr132,True,900
+lirr1,lirr111,lirr132,False,900
+lirr1,lirr124,lirr102,True,1100
+lirr1,lirr124,lirr102,False,800
+lirr1,lirr122,lirr102,True,1050
+lirr1,lirr122,lirr102,False,775
+lirr1,lirr114,lirr102,True,1100
+lirr1,lirr114,lirr102,False,800
+lirr1,lirr117,lirr102,True,1575
+lirr1,lirr117,lirr102,False,1150
+lirr1,lirr120,lirr214,True,1575
+lirr1,lirr120,lirr214,False,1150
+lirr1,lirr119,lirr102,True,1050
+lirr1,lirr119,lirr102,False,775
+lirr1,lirr113,lirr102,True,1225
+lirr1,lirr113,lirr102,False,900
+lirr1,lirr125,lirr102,True,1100
+lirr1,lirr125,lirr102,False,800
+lirr1,lirr142,lirr102,True,1100
+lirr1,lirr142,lirr102,False,800
+lirr1,lirr131,lirr214,True,1725
+lirr1,lirr131,lirr214,False,1250
+lirr1,lirr136,lirr102,True,1225
+lirr1,lirr136,lirr102,False,900
+lirr1,lirr135,lirr102,True,1225
+lirr1,lirr135,lirr102,False,900
+lirr1,lirr140,lirr102,True,2275
+lirr1,lirr140,lirr132,True,1225
+lirr1,lirr140,lirr102,False,1650
+lirr1,lirr140,lirr132,False,1225
+lirr1,lirr126,lirr132,True,1875
+lirr1,lirr126,lirr132,False,1875
+lirr1,lirr129,lirr132,True,900
+lirr1,lirr129,lirr132,False,900
+lirr1,lirr226,lirr102,True,1225
+lirr1,lirr226,lirr102,False,900
+lirr1,lirr141,lirr102,True,2975
+lirr1,lirr141,lirr132,True,1875
+lirr1,lirr141,lirr102,False,2175
+lirr1,lirr141,lirr132,False,1875
+lirr1,lirr130,lirr214,True,1575
+lirr1,lirr130,lirr214,False,1150
+lirr1,lirr149,lirr102,True,1100
+lirr1,lirr149,lirr63,True,425
+lirr1,lirr149,lirr102,False,800
+lirr1,lirr149,lirr63,False,425
+lirr1,lirr153,lirr132,True,650
+lirr1,lirr153,lirr132,False,650
+lirr1,lirr157,lirr102,True,1825
+lirr1,lirr157,lirr132,True,900
+lirr1,lirr157,lirr102,False,1325
+lirr1,lirr157,lirr132,False,900
+lirr1,lirr155,lirr102,True,1225
+lirr1,lirr155,lirr102,False,900
+lirr1,lirr163,lirr102,True,1825
+lirr1,lirr163,lirr132,True,900
+lirr1,lirr163,lirr102,False,1325
+lirr1,lirr163,lirr132,False,900
+lirr1,lirr165,lirr132,True,650
+lirr1,lirr165,lirr132,False,650
+lirr1,lirr162,lirr214,True,1725
+lirr1,lirr162,lirr214,False,1250
+lirr1,lirr164,lirr132,True,900
+lirr1,lirr164,lirr132,False,900
+lirr1,lirr171,lirr214,True,1725
+lirr1,lirr171,lirr214,False,1250
+lirr1,lirr175,lirr102,True,1050
+lirr1,lirr175,lirr102,False,775
+lirr1,lirr176,lirr132,True,1875
+lirr1,lirr176,lirr132,False,1875
+lirr1,lirr183,lirr102,True,1225
+lirr1,lirr183,lirr102,False,900
+lirr1,lirr179,lirr132,True,900
+lirr1,lirr179,lirr132,False,900
+lirr1,lirr180,lirr102,True,1050
+lirr1,lirr180,lirr102,False,775
+lirr1,lirr204,lirr102,True,1825
+lirr1,lirr204,lirr132,True,900
+lirr1,lirr204,lirr102,False,1325
+lirr1,lirr204,lirr132,False,900
+lirr1,lirr187,lirr102,True,1225
+lirr1,lirr187,lirr102,False,900
+lirr1,lirr202,lirr132,True,900
+lirr1,lirr202,lirr132,False,900
+lirr1,lirr191,lirr102,True,2975
+lirr1,lirr191,lirr132,True,1875
+lirr1,lirr191,lirr102,False,2175
+lirr1,lirr191,lirr132,False,1875
+lirr1,lirr190,lirr132,True,1875
+lirr1,lirr190,lirr132,False,1875
+lirr1,lirr198,lirr102,True,2275
+lirr1,lirr198,lirr132,True,1225
+lirr1,lirr198,lirr102,False,1650
+lirr1,lirr198,lirr132,False,1225
+lirr1,lirr184,lirr102,True,1050
+lirr1,lirr184,lirr102,False,775
+lirr1,lirr193,lirr132,True,900
+lirr1,lirr193,lirr132,False,900
+lirr1,lirr195,lirr102,True,1100
+lirr1,lirr195,lirr63,True,425
+lirr1,lirr195,lirr102,False,800
+lirr1,lirr195,lirr63,False,425
+lirr1,lirr14,lirr132,True,900
+lirr1,lirr14,lirr132,False,900
+lirr1,lirr205,lirr132,True,450
+lirr1,lirr205,lirr132,False,450
+lirr1,lirr211,lirr102,True,1100
+lirr1,lirr211,lirr102,False,800
+lirr1,lirr215,lirr102,True,1225
+lirr1,lirr215,lirr102,False,900
+lirr1,lirr216,lirr102,True,1100
+lirr1,lirr216,lirr102,False,800
+lirr1,lirr213,lirr132,True,450
+lirr1,lirr213,lirr132,False,450
+lirr1,lirr233,lirr102,True,2975
+lirr1,lirr233,lirr132,True,1875
+lirr1,lirr233,lirr102,False,2175
+lirr1,lirr233,lirr132,False,1875
+lirr1,lirr219,lirr102,True,1100
+lirr1,lirr219,lirr102,False,800
+lirr1,lirr217,lirr102,True,1100
+lirr1,lirr217,lirr102,False,800
+lirr1,lirr220,lirr132,True,650
+lirr1,lirr220,lirr132,False,650
+lirr1,lirr223,lirr132,True,1225
+lirr1,lirr223,lirr132,False,1225
+lirr4,lirr1,lirr102,True,2975
+lirr4,lirr1,lirr132,True,1875
+lirr4,lirr1,lirr102,False,2175
+lirr4,lirr1,lirr132,False,1875
+lirr4,lirr2,lirr214,True,3200
+lirr4,lirr2,lirr214,False,2325
+lirr4,lirr25,lirr214,True,3200
+lirr4,lirr25,lirr214,False,2325
+lirr4,lirr23,lirr102,True,2775
+lirr4,lirr23,lirr102,False,2025
+lirr4,lirr20,lirr102,True,2975
+lirr4,lirr20,lirr92,True,1725
+lirr4,lirr20,lirr102,False,2175
+lirr4,lirr20,lirr92,False,1725
+lirr4,lirr29,lirr102,True,3475
+lirr4,lirr29,lirr92,True,2025
+lirr4,lirr29,lirr102,False,2525
+lirr4,lirr29,lirr92,False,2025
+lirr4,lirr11,lirr214,True,3200
+lirr4,lirr11,lirr214,False,2325
+lirr4,lirr39,lirr102,True,2975
+lirr4,lirr39,lirr102,False,2175
+lirr4,lirr32,lirr102,True,2775
+lirr4,lirr32,lirr102,False,2025
+lirr4,lirr33,lirr102,True,3475
+lirr4,lirr33,lirr92,True,2025
+lirr4,lirr33,lirr102,False,2525
+lirr4,lirr33,lirr92,False,2025
+lirr4,lirr31,lirr102,True,2975
+lirr4,lirr31,lirr125,True,1875
+lirr4,lirr31,lirr102,False,2175
+lirr4,lirr31,lirr125,False,1875
+lirr4,lirr40,lirr102,True,3275
+lirr4,lirr40,lirr92,True,1775
+lirr4,lirr40,lirr102,False,2375
+lirr4,lirr40,lirr92,False,1775
+lirr4,lirr36,lirr102,True,2775
+lirr4,lirr36,lirr63,True,1850
+lirr4,lirr36,lirr102,False,2025
+lirr4,lirr36,lirr63,False,1850
+lirr4,lirr44,lirr102,True,3275
+lirr4,lirr44,lirr92,True,1775
+lirr4,lirr44,lirr102,False,2375
+lirr4,lirr44,lirr92,False,1775
+lirr4,lirr42,lirr214,True,3200
+lirr4,lirr42,lirr214,False,2325
+lirr4,lirr51,lirr102,True,2975
+lirr4,lirr51,lirr125,True,1875
+lirr4,lirr51,lirr102,False,2175
+lirr4,lirr51,lirr125,False,1875
+lirr4,lirr52,lirr102,True,2775
+lirr4,lirr52,lirr132,True,1850
+lirr4,lirr52,lirr102,False,2025
+lirr4,lirr52,lirr132,False,1850
+lirr4,lirr65,lirr102,True,2775
+lirr4,lirr65,lirr102,False,2025
+lirr4,lirr59,lirr102,True,2975
+lirr4,lirr59,lirr92,True,1725
+lirr4,lirr59,lirr102,False,2175
+lirr4,lirr59,lirr92,False,1725
+lirr4,lirr63,lirr102,True,2775
+lirr4,lirr63,lirr102,False,2025
+lirr4,lirr56,lirr214,True,3200
+lirr4,lirr56,lirr214,False,2325
+lirr4,lirr68,lirr102,True,2775
+lirr4,lirr68,lirr63,True,1850
+lirr4,lirr68,lirr102,False,2025
+lirr4,lirr68,lirr63,False,1850
+lirr4,lirr66,lirr102,True,2775
+lirr4,lirr66,lirr102,False,2025
+lirr4,lirr67,lirr102,True,2975
+lirr4,lirr67,lirr132,True,1875
+lirr4,lirr67,lirr102,False,2175
+lirr4,lirr67,lirr132,False,1875
+lirr4,lirr71,lirr102,True,2975
+lirr4,lirr71,lirr132,True,1875
+lirr4,lirr71,lirr102,False,2175
+lirr4,lirr71,lirr132,False,1875
+lirr4,lirr76,lirr102,True,2975
+lirr4,lirr76,lirr132,True,1875
+lirr4,lirr76,lirr102,False,2175
+lirr4,lirr76,lirr132,False,1875
+lirr4,lirr72,lirr214,True,3375
+lirr4,lirr72,lirr214,False,2450
+lirr4,lirr78,lirr102,True,3275
+lirr4,lirr78,lirr92,True,1775
+lirr4,lirr78,lirr102,False,2375
+lirr4,lirr78,lirr92,False,1775
+lirr4,lirr73,lirr102,True,4350
+lirr4,lirr73,lirr92,True,2800
+lirr4,lirr73,lirr102,False,3175
+lirr4,lirr73,lirr92,False,2800
+lirr4,lirr77,lirr102,True,2975
+lirr4,lirr77,lirr132,True,1875
+lirr4,lirr77,lirr102,False,2175
+lirr4,lirr77,lirr132,False,1875
+lirr4,lirr84,lirr102,True,2775
+lirr4,lirr84,lirr63,True,1850
+lirr4,lirr84,lirr102,False,2025
+lirr4,lirr84,lirr63,False,1850
+lirr4,lirr85,lirr102,True,2775
+lirr4,lirr85,lirr102,False,2025
+lirr4,lirr94,lirr102,True,2775
+lirr4,lirr94,lirr102,False,2025
+lirr4,lirr92,lirr102,True,2975
+lirr4,lirr92,lirr102,False,2175
+lirr4,lirr89,lirr102,True,2700
+lirr4,lirr89,lirr102,False,1975
+lirr4,lirr91,lirr102,True,3275
+lirr4,lirr91,lirr92,True,1775
+lirr4,lirr91,lirr102,False,2375
+lirr4,lirr91,lirr92,False,1775
+lirr4,lirr101,lirr102,True,2775
+lirr4,lirr101,lirr102,False,2025
+lirr4,lirr99,lirr102,True,2975
+lirr4,lirr99,lirr125,True,1875
+lirr4,lirr99,lirr102,False,2175
+lirr4,lirr99,lirr125,False,1875
+lirr4,lirr111,lirr102,True,3475
+lirr4,lirr111,lirr92,True,2025
+lirr4,lirr111,lirr102,False,2525
+lirr4,lirr111,lirr92,False,2025
+lirr4,lirr124,lirr102,True,2775
+lirr4,lirr124,lirr102,False,2025
+lirr4,lirr122,lirr102,True,2700
+lirr4,lirr122,lirr102,False,1975
+lirr4,lirr114,lirr102,True,2775
+lirr4,lirr114,lirr102,False,2025
+lirr4,lirr120,lirr214,True,3200
+lirr4,lirr120,lirr214,False,2325
+lirr4,lirr119,lirr102,True,2700
+lirr4,lirr119,lirr102,False,1975
+lirr4,lirr123,lirr102,True,2975
+lirr4,lirr123,lirr132,True,1875
+lirr4,lirr123,lirr102,False,2175
+lirr4,lirr123,lirr132,False,1875
+lirr4,lirr113,lirr102,True,2975
+lirr4,lirr113,lirr125,True,1875
+lirr4,lirr113,lirr102,False,2175
+lirr4,lirr113,lirr125,False,1875
+lirr4,lirr125,lirr102,True,2775
+lirr4,lirr125,lirr102,False,2025
+lirr4,lirr142,lirr102,True,2775
+lirr4,lirr142,lirr102,False,2025
+lirr4,lirr131,lirr214,True,3375
+lirr4,lirr131,lirr214,False,2450
+lirr4,lirr126,lirr102,True,4350
+lirr4,lirr126,lirr92,True,2800
+lirr4,lirr126,lirr102,False,3175
+lirr4,lirr126,lirr92,False,2800
+lirr4,lirr129,lirr102,True,3475
+lirr4,lirr129,lirr92,True,2025
+lirr4,lirr129,lirr102,False,2525
+lirr4,lirr129,lirr92,False,2025
+lirr4,lirr127,lirr102,True,2775
+lirr4,lirr127,lirr102,False,2025
+lirr4,lirr132,lirr102,True,2775
+lirr4,lirr132,lirr102,False,2025
+lirr4,lirr130,lirr214,True,3200
+lirr4,lirr130,lirr214,False,2325
+lirr4,lirr149,lirr102,True,2775
+lirr4,lirr149,lirr63,True,1850
+lirr4,lirr149,lirr102,False,2025
+lirr4,lirr149,lirr63,False,1850
+lirr4,lirr152,lirr102,True,2775
+lirr4,lirr152,lirr102,False,2025
+lirr4,lirr153,lirr102,True,3275
+lirr4,lirr153,lirr92,True,1775
+lirr4,lirr153,lirr102,False,2375
+lirr4,lirr153,lirr92,False,1775
+lirr4,lirr155,lirr102,True,2975
+lirr4,lirr155,lirr125,True,1875
+lirr4,lirr155,lirr102,False,2175
+lirr4,lirr155,lirr125,False,1875
+lirr4,lirr154,lirr102,True,2975
+lirr4,lirr154,lirr132,True,1875
+lirr4,lirr154,lirr102,False,2175
+lirr4,lirr154,lirr132,False,1875
+lirr4,lirr165,lirr102,True,3275
+lirr4,lirr165,lirr92,True,1775
+lirr4,lirr165,lirr102,False,2375
+lirr4,lirr165,lirr92,False,1775
+lirr4,lirr162,lirr214,True,3375
+lirr4,lirr162,lirr214,False,2450
+lirr4,lirr164,lirr102,True,3475
+lirr4,lirr164,lirr92,True,2025
+lirr4,lirr164,lirr102,False,2525
+lirr4,lirr164,lirr92,False,2025
+lirr4,lirr171,lirr214,True,3375
+lirr4,lirr171,lirr214,False,2450
+lirr4,lirr175,lirr102,True,2700
+lirr4,lirr175,lirr102,False,1975
+lirr4,lirr176,lirr102,True,4350
+lirr4,lirr176,lirr92,True,2800
+lirr4,lirr176,lirr102,False,3175
+lirr4,lirr176,lirr92,False,2800
+lirr4,lirr179,lirr102,True,3475
+lirr4,lirr179,lirr92,True,2025
+lirr4,lirr179,lirr102,False,2525
+lirr4,lirr179,lirr92,False,2025
+lirr4,lirr180,lirr102,True,2700
+lirr4,lirr180,lirr102,False,1975
+lirr4,lirr182,lirr102,True,2975
+lirr4,lirr182,lirr132,True,1875
+lirr4,lirr182,lirr102,False,2175
+lirr4,lirr182,lirr132,False,1875
+lirr4,lirr185,lirr102,True,2975
+lirr4,lirr185,lirr132,True,1875
+lirr4,lirr185,lirr102,False,2175
+lirr4,lirr185,lirr132,False,1875
+lirr4,lirr202,lirr102,True,3475
+lirr4,lirr202,lirr92,True,2025
+lirr4,lirr202,lirr102,False,2525
+lirr4,lirr202,lirr92,False,2025
+lirr4,lirr190,lirr102,True,4350
+lirr4,lirr190,lirr92,True,2800
+lirr4,lirr190,lirr102,False,3175
+lirr4,lirr190,lirr92,False,2800
+lirr4,lirr184,lirr102,True,2700
+lirr4,lirr184,lirr102,False,1975
+lirr4,lirr193,lirr102,True,3475
+lirr4,lirr193,lirr92,True,2025
+lirr4,lirr193,lirr102,False,2525
+lirr4,lirr193,lirr92,False,2025
+lirr4,lirr195,lirr102,True,2775
+lirr4,lirr195,lirr63,True,1850
+lirr4,lirr195,lirr102,False,2025
+lirr4,lirr195,lirr63,False,1850
+lirr4,lirr14,lirr102,True,3475
+lirr4,lirr14,lirr92,True,2025
+lirr4,lirr14,lirr102,False,2525
+lirr4,lirr14,lirr92,False,2025
+lirr4,lirr205,lirr102,True,2975
+lirr4,lirr205,lirr92,True,1725
+lirr4,lirr205,lirr102,False,2175
+lirr4,lirr205,lirr92,False,1725
+lirr4,lirr211,lirr102,True,2775
+lirr4,lirr211,lirr102,False,2025
+lirr4,lirr216,lirr102,True,2775
+lirr4,lirr216,lirr102,False,2025
+lirr4,lirr213,lirr102,True,2975
+lirr4,lirr213,lirr102,False,2175
+lirr4,lirr219,lirr102,True,2775
+lirr4,lirr219,lirr102,False,2025
+lirr4,lirr217,lirr102,True,2775
+lirr4,lirr217,lirr102,False,2025
+lirr4,lirr220,lirr102,True,3275
+lirr4,lirr220,lirr92,True,1775
+lirr4,lirr220,lirr102,False,2375
+lirr4,lirr220,lirr92,False,1775
+lirr4,lirr223,lirr102,True,4000
+lirr4,lirr223,lirr92,True,2450
+lirr4,lirr223,lirr102,False,2900
+lirr4,lirr223,lirr92,False,2450
+lirr8,lirr1,lirr102,True,1575
+lirr8,lirr1,lirr102,False,1150
+lirr8,lirr2,lirr214,True,1825
+lirr8,lirr2,lirr214,False,1325
+lirr8,lirr25,lirr214,True,1825
+lirr8,lirr25,lirr214,False,1325
+lirr8,lirr23,lirr102,True,1350
+lirr8,lirr23,lirr102,False,975
+lirr8,lirr20,lirr102,True,1575
+lirr8,lirr20,lirr102,False,1150
+lirr8,lirr29,lirr102,True,2125
+lirr8,lirr29,lirr102,False,1550
+lirr8,lirr11,lirr214,True,1825
+lirr8,lirr11,lirr214,False,1325
+lirr8,lirr39,lirr102,True,1575
+lirr8,lirr39,lirr102,False,1150
+lirr8,lirr32,lirr102,True,1350
+lirr8,lirr32,lirr211,True,600
+lirr8,lirr32,lirr102,False,975
+lirr8,lirr32,lirr211,False,600
+lirr8,lirr33,lirr102,True,2125
+lirr8,lirr33,lirr102,False,1550
+lirr8,lirr31,lirr102,True,1575
+lirr8,lirr31,lirr125,True,650
+lirr8,lirr31,lirr102,False,1150
+lirr8,lirr31,lirr125,False,650
+lirr8,lirr40,lirr102,True,1850
+lirr8,lirr40,lirr102,False,1350
+lirr8,lirr36,lirr102,True,1350
+lirr8,lirr36,lirr102,False,975
+lirr8,lirr44,lirr102,True,1850
+lirr8,lirr44,lirr102,False,1350
+lirr8,lirr42,lirr214,True,1825
+lirr8,lirr42,lirr214,False,1325
+lirr8,lirr51,lirr102,True,1575
+lirr8,lirr51,lirr125,True,650
+lirr8,lirr51,lirr102,False,1150
+lirr8,lirr51,lirr125,False,650
+lirr8,lirr52,lirr102,True,1350
+lirr8,lirr52,lirr102,False,975
+lirr8,lirr65,lirr102,True,1350
+lirr8,lirr65,lirr211,True,600
+lirr8,lirr65,lirr102,False,975
+lirr8,lirr65,lirr211,False,600
+lirr8,lirr59,lirr102,True,1575
+lirr8,lirr59,lirr102,False,1150
+lirr8,lirr63,lirr102,True,1350
+lirr8,lirr63,lirr102,False,975
+lirr8,lirr56,lirr214,True,1825
+lirr8,lirr56,lirr214,False,1325
+lirr8,lirr68,lirr102,True,1350
+lirr8,lirr68,lirr102,False,975
+lirr8,lirr66,lirr102,True,1350
+lirr8,lirr66,lirr211,True,600
+lirr8,lirr66,lirr102,False,975
+lirr8,lirr66,lirr211,False,600
+lirr8,lirr67,lirr102,True,1575
+lirr8,lirr67,lirr102,False,1150
+lirr8,lirr71,lirr102,True,1575
+lirr8,lirr71,lirr102,False,1150
+lirr8,lirr76,lirr102,True,1575
+lirr8,lirr76,lirr102,False,1150
+lirr8,lirr72,lirr214,True,1975
+lirr8,lirr72,lirr214,False,1425
+lirr8,lirr78,lirr102,True,1850
+lirr8,lirr78,lirr102,False,1350
+lirr8,lirr73,lirr102,True,3275
+lirr8,lirr73,lirr102,False,2375
+lirr8,lirr77,lirr102,True,1575
+lirr8,lirr77,lirr102,False,1150
+lirr8,lirr84,lirr102,True,1350
+lirr8,lirr84,lirr102,False,975
+lirr8,lirr85,lirr102,True,1350
+lirr8,lirr85,lirr102,False,975
+lirr8,lirr94,lirr102,True,1350
+lirr8,lirr94,lirr211,True,600
+lirr8,lirr94,lirr102,False,975
+lirr8,lirr94,lirr211,False,600
+lirr8,lirr92,lirr102,True,1575
+lirr8,lirr92,lirr102,False,1150
+lirr8,lirr89,lirr102,True,1300
+lirr8,lirr89,lirr102,False,950
+lirr8,lirr91,lirr102,True,1850
+lirr8,lirr91,lirr102,False,1350
+lirr8,lirr101,lirr102,True,1350
+lirr8,lirr101,lirr211,True,600
+lirr8,lirr101,lirr102,False,975
+lirr8,lirr101,lirr211,False,600
+lirr8,lirr99,lirr102,True,1575
+lirr8,lirr99,lirr125,True,650
+lirr8,lirr99,lirr102,False,1150
+lirr8,lirr99,lirr125,False,650
+lirr8,lirr111,lirr102,True,2125
+lirr8,lirr111,lirr102,False,1550
+lirr8,lirr124,lirr102,True,1350
+lirr8,lirr124,lirr102,False,975
+lirr8,lirr122,lirr102,True,1300
+lirr8,lirr122,lirr102,False,950
+lirr8,lirr114,lirr102,True,1350
+lirr8,lirr114,lirr211,True,600
+lirr8,lirr114,lirr102,False,975
+lirr8,lirr114,lirr211,False,600
+lirr8,lirr120,lirr214,True,1825
+lirr8,lirr120,lirr214,False,1325
+lirr8,lirr119,lirr102,True,1300
+lirr8,lirr119,lirr102,False,950
+lirr8,lirr123,lirr102,True,1575
+lirr8,lirr123,lirr102,False,1150
+lirr8,lirr113,lirr102,True,1575
+lirr8,lirr113,lirr125,True,650
+lirr8,lirr113,lirr102,False,1150
+lirr8,lirr113,lirr125,False,650
+lirr8,lirr125,lirr102,True,1350
+lirr8,lirr125,lirr102,False,975
+lirr8,lirr142,lirr102,True,1350
+lirr8,lirr142,lirr102,False,975
+lirr8,lirr131,lirr214,True,1975
+lirr8,lirr131,lirr214,False,1425
+lirr8,lirr126,lirr102,True,3275
+lirr8,lirr126,lirr102,False,2375
+lirr8,lirr129,lirr102,True,2125
+lirr8,lirr129,lirr102,False,1550
+lirr8,lirr127,lirr102,True,1350
+lirr8,lirr127,lirr102,False,975
+lirr8,lirr132,lirr102,True,1350
+lirr8,lirr132,lirr102,False,975
+lirr8,lirr130,lirr214,True,1825
+lirr8,lirr130,lirr214,False,1325
+lirr8,lirr149,lirr102,True,1350
+lirr8,lirr149,lirr102,False,975
+lirr8,lirr152,lirr102,True,1350
+lirr8,lirr152,lirr102,False,975
+lirr8,lirr153,lirr102,True,1850
+lirr8,lirr153,lirr102,False,1350
+lirr8,lirr155,lirr102,True,1575
+lirr8,lirr155,lirr125,True,650
+lirr8,lirr155,lirr102,False,1150
+lirr8,lirr155,lirr125,False,650
+lirr8,lirr154,lirr102,True,1575
+lirr8,lirr154,lirr102,False,1150
+lirr8,lirr165,lirr102,True,1850
+lirr8,lirr165,lirr102,False,1350
+lirr8,lirr162,lirr214,True,1975
+lirr8,lirr162,lirr214,False,1425
+lirr8,lirr164,lirr102,True,2125
+lirr8,lirr164,lirr102,False,1550
+lirr8,lirr171,lirr214,True,1975
+lirr8,lirr171,lirr214,False,1425
+lirr8,lirr175,lirr102,True,1300
+lirr8,lirr175,lirr102,False,950
+lirr8,lirr176,lirr102,True,3275
+lirr8,lirr176,lirr102,False,2375
+lirr8,lirr179,lirr102,True,2125
+lirr8,lirr179,lirr102,False,1550
+lirr8,lirr180,lirr102,True,1300
+lirr8,lirr180,lirr102,False,950
+lirr8,lirr182,lirr102,True,1575
+lirr8,lirr182,lirr102,False,1150
+lirr8,lirr185,lirr102,True,1575
+lirr8,lirr185,lirr102,False,1150
+lirr8,lirr202,lirr102,True,2125
+lirr8,lirr202,lirr102,False,1550
+lirr8,lirr190,lirr102,True,3275
+lirr8,lirr190,lirr102,False,2375
+lirr8,lirr184,lirr102,True,1300
+lirr8,lirr184,lirr102,False,950
+lirr8,lirr193,lirr102,True,2125
+lirr8,lirr193,lirr102,False,1550
+lirr8,lirr195,lirr102,True,1350
+lirr8,lirr195,lirr102,False,975
+lirr8,lirr14,lirr102,True,2125
+lirr8,lirr14,lirr102,False,1550
+lirr8,lirr205,lirr102,True,1575
+lirr8,lirr205,lirr102,False,1150
+lirr8,lirr211,lirr102,True,1350
+lirr8,lirr211,lirr102,False,975
+lirr8,lirr216,lirr102,True,1350
+lirr8,lirr216,lirr102,False,975
+lirr8,lirr213,lirr102,True,1575
+lirr8,lirr213,lirr102,False,1150
+lirr8,lirr219,lirr102,True,1350
+lirr8,lirr219,lirr102,False,975
+lirr8,lirr217,lirr102,True,1350
+lirr8,lirr217,lirr211,True,600
+lirr8,lirr217,lirr102,False,975
+lirr8,lirr217,lirr211,False,600
+lirr8,lirr220,lirr102,True,1850
+lirr8,lirr220,lirr102,False,1350
+lirr8,lirr223,lirr102,True,2600
+lirr8,lirr223,lirr102,False,1900
+lirr241,lirr55,lirr102,True,1200
+lirr241,lirr55,lirr102,False,875
+lirr241,lirr107,lirr102,True,1200
+lirr241,lirr107,lirr102,False,875
+lirr241,lirr237,lirr102,True,1200
+lirr241,lirr237,lirr102,False,875
+lirr241,lirr214,lirr102,True,1200
+lirr241,lirr214,lirr102,False,875
+lirr2,lirr1,lirr214,True,1575
+lirr2,lirr1,lirr214,False,1150
+lirr2,lirr4,lirr214,True,3200
+lirr2,lirr4,lirr214,False,2325
+lirr2,lirr8,lirr214,True,1825
+lirr2,lirr8,lirr214,False,1325
+lirr2,lirr27,lirr214,True,1825
+lirr2,lirr27,lirr214,False,1325
+lirr2,lirr225,lirr214,True,1575
+lirr2,lirr225,lirr214,False,1150
+lirr2,lirr26,lirr214,True,2050
+lirr2,lirr26,lirr214,False,1500
+lirr2,lirr23,lirr214,True,1350
+lirr2,lirr23,lirr214,False,975
+lirr2,lirr16,lirr214,True,1575
+lirr2,lirr16,lirr214,False,1150
+lirr2,lirr21,lirr214,True,2500
+lirr2,lirr21,lirr214,False,1825
+lirr2,lirr20,lirr214,True,1575
+lirr2,lirr20,lirr214,False,1150
+lirr2,lirr29,lirr214,True,2050
+lirr2,lirr29,lirr214,False,1500
+lirr2,lirr13,lirr214,True,3200
+lirr2,lirr13,lirr214,False,2325
+lirr2,lirr39,lirr214,True,1575
+lirr2,lirr39,lirr214,False,1150
+lirr2,lirr32,lirr214,True,1350
+lirr2,lirr32,lirr214,False,975
+lirr2,lirr33,lirr214,True,2050
+lirr2,lirr33,lirr214,False,1500
+lirr2,lirr31,lirr214,True,1575
+lirr2,lirr31,lirr214,False,1150
+lirr2,lirr40,lirr214,True,1825
+lirr2,lirr40,lirr214,False,1325
+lirr2,lirr38,lirr214,True,1825
+lirr2,lirr38,lirr214,False,1325
+lirr2,lirr36,lirr214,True,1350
+lirr2,lirr36,lirr214,False,975
+lirr2,lirr44,lirr214,True,1825
+lirr2,lirr44,lirr214,False,1325
+lirr2,lirr48,lirr214,True,3200
+lirr2,lirr48,lirr214,False,2325
+lirr2,lirr51,lirr214,True,1575
+lirr2,lirr51,lirr214,False,1150
+lirr2,lirr52,lirr214,True,1350
+lirr2,lirr52,lirr214,False,975
+lirr2,lirr65,lirr214,True,1350
+lirr2,lirr65,lirr214,False,975
+lirr2,lirr59,lirr214,True,1575
+lirr2,lirr59,lirr214,False,1150
+lirr2,lirr63,lirr214,True,1350
+lirr2,lirr63,lirr214,False,975
+lirr2,lirr55,lirr214,True,1150
+lirr2,lirr55,lirr214,False,825
+lirr2,lirr64,lirr214,True,1575
+lirr2,lirr64,lirr214,False,1150
+lirr2,lirr68,lirr214,True,1350
+lirr2,lirr68,lirr214,False,975
+lirr2,lirr66,lirr214,True,1350
+lirr2,lirr66,lirr214,False,975
+lirr2,lirr67,lirr214,True,1575
+lirr2,lirr67,lirr214,False,1150
+lirr2,lirr71,lirr214,True,1575
+lirr2,lirr71,lirr214,False,1150
+lirr2,lirr76,lirr214,True,1575
+lirr2,lirr76,lirr214,False,1150
+lirr2,lirr74,lirr214,True,2050
+lirr2,lirr74,lirr214,False,1500
+lirr2,lirr78,lirr214,True,1825
+lirr2,lirr78,lirr214,False,1325
+lirr2,lirr73,lirr214,True,3200
+lirr2,lirr73,lirr214,False,2325
+lirr2,lirr77,lirr214,True,1575
+lirr2,lirr77,lirr214,False,1150
+lirr2,lirr83,lirr214,True,3200
+lirr2,lirr83,lirr214,False,2325
+lirr2,lirr84,lirr214,True,1350
+lirr2,lirr84,lirr214,False,975
+lirr2,lirr85,lirr214,True,1350
+lirr2,lirr85,lirr214,False,975
+lirr2,lirr94,lirr214,True,1350
+lirr2,lirr94,lirr214,False,975
+lirr2,lirr92,lirr214,True,1575
+lirr2,lirr92,lirr214,False,1150
+lirr2,lirr89,lirr214,True,1200
+lirr2,lirr89,lirr214,False,875
+lirr2,lirr91,lirr214,True,1825
+lirr2,lirr91,lirr214,False,1325
+lirr2,lirr101,lirr214,True,1350
+lirr2,lirr101,lirr214,False,975
+lirr2,lirr99,lirr214,True,1575
+lirr2,lirr99,lirr214,False,1150
+lirr2,lirr100,lirr214,True,2050
+lirr2,lirr100,lirr214,False,1500
+lirr2,lirr102,lirr214,True,1200
+lirr2,lirr102,lirr214,False,875
+lirr2,lirr107,lirr214,True,1150
+lirr2,lirr107,lirr214,False,825
+lirr2,lirr111,lirr214,True,2050
+lirr2,lirr111,lirr214,False,1500
+lirr2,lirr124,lirr214,True,1350
+lirr2,lirr124,lirr214,False,975
+lirr2,lirr122,lirr214,True,1200
+lirr2,lirr122,lirr214,False,875
+lirr2,lirr114,lirr214,True,1350
+lirr2,lirr114,lirr214,False,975
+lirr2,lirr117,lirr214,True,1825
+lirr2,lirr117,lirr214,False,1325
+lirr2,lirr119,lirr214,True,1200
+lirr2,lirr119,lirr214,False,875
+lirr2,lirr123,lirr214,True,1575
+lirr2,lirr123,lirr214,False,1150
+lirr2,lirr113,lirr214,True,1575
+lirr2,lirr113,lirr214,False,1150
+lirr2,lirr125,lirr214,True,1350
+lirr2,lirr125,lirr214,False,975
+lirr2,lirr142,lirr214,True,1350
+lirr2,lirr142,lirr214,False,975
+lirr2,lirr136,lirr214,True,1575
+lirr2,lirr136,lirr214,False,1150
+lirr2,lirr135,lirr214,True,1575
+lirr2,lirr135,lirr214,False,1150
+lirr2,lirr140,lirr214,True,2500
+lirr2,lirr140,lirr214,False,1825
+lirr2,lirr126,lirr214,True,3200
+lirr2,lirr126,lirr214,False,2325
+lirr2,lirr129,lirr214,True,2050
+lirr2,lirr129,lirr214,False,1500
+lirr2,lirr127,lirr214,True,1350
+lirr2,lirr127,lirr214,False,975
+lirr2,lirr226,lirr214,True,1575
+lirr2,lirr226,lirr214,False,1150
+lirr2,lirr132,lirr214,True,1350
+lirr2,lirr132,lirr214,False,975
+lirr2,lirr141,lirr214,True,3200
+lirr2,lirr141,lirr214,False,2325
+lirr2,lirr149,lirr214,True,1350
+lirr2,lirr149,lirr214,False,975
+lirr2,lirr152,lirr214,True,1350
+lirr2,lirr152,lirr214,False,975
+lirr2,lirr153,lirr214,True,1825
+lirr2,lirr153,lirr214,False,1325
+lirr2,lirr157,lirr214,True,2050
+lirr2,lirr157,lirr214,False,1500
+lirr2,lirr155,lirr214,True,1575
+lirr2,lirr155,lirr214,False,1150
+lirr2,lirr154,lirr214,True,1575
+lirr2,lirr154,lirr214,False,1150
+lirr2,lirr163,lirr214,True,2050
+lirr2,lirr163,lirr214,False,1500
+lirr2,lirr165,lirr214,True,1825
+lirr2,lirr165,lirr214,False,1325
+lirr2,lirr164,lirr214,True,2050
+lirr2,lirr164,lirr214,False,1500
+lirr2,lirr175,lirr214,True,1200
+lirr2,lirr175,lirr214,False,875
+lirr2,lirr176,lirr214,True,3200
+lirr2,lirr176,lirr214,False,2325
+lirr2,lirr183,lirr214,True,1575
+lirr2,lirr183,lirr214,False,1150
+lirr2,lirr179,lirr214,True,2050
+lirr2,lirr179,lirr214,False,1500
+lirr2,lirr180,lirr214,True,1200
+lirr2,lirr180,lirr214,False,875
+lirr2,lirr182,lirr214,True,1575
+lirr2,lirr182,lirr214,False,1150
+lirr2,lirr204,lirr214,True,2050
+lirr2,lirr204,lirr214,False,1500
+lirr2,lirr185,lirr214,True,1575
+lirr2,lirr185,lirr214,False,1150
+lirr2,lirr187,lirr214,True,1575
+lirr2,lirr187,lirr214,False,1150
+lirr2,lirr202,lirr214,True,2050
+lirr2,lirr202,lirr214,False,1500
+lirr2,lirr191,lirr214,True,3200
+lirr2,lirr191,lirr214,False,2325
+lirr2,lirr190,lirr214,True,3200
+lirr2,lirr190,lirr214,False,2325
+lirr2,lirr198,lirr214,True,2500
+lirr2,lirr198,lirr214,False,1825
+lirr2,lirr184,lirr214,True,1200
+lirr2,lirr184,lirr214,False,875
+lirr2,lirr193,lirr214,True,2050
+lirr2,lirr193,lirr214,False,1500
+lirr2,lirr195,lirr214,True,1350
+lirr2,lirr195,lirr214,False,975
+lirr2,lirr14,lirr214,True,2050
+lirr2,lirr14,lirr214,False,1500
+lirr2,lirr205,lirr214,True,1575
+lirr2,lirr205,lirr214,False,1150
+lirr2,lirr211,lirr214,True,1350
+lirr2,lirr211,lirr214,False,975
+lirr2,lirr215,lirr214,True,1575
+lirr2,lirr215,lirr214,False,1150
+lirr2,lirr216,lirr214,True,1350
+lirr2,lirr216,lirr214,False,975
+lirr2,lirr213,lirr214,True,1575
+lirr2,lirr213,lirr214,False,1150
+lirr2,lirr233,lirr214,True,3200
+lirr2,lirr233,lirr214,False,2325
+lirr2,lirr219,lirr214,True,1350
+lirr2,lirr219,lirr214,False,975
+lirr2,lirr217,lirr214,True,1350
+lirr2,lirr217,lirr214,False,975
+lirr2,lirr220,lirr214,True,1825
+lirr2,lirr220,lirr214,False,1325
+lirr2,lirr223,lirr214,True,2500
+lirr2,lirr223,lirr214,False,1825
+lirr27,lirr1,lirr102,True,1575
+lirr27,lirr1,lirr132,True,650
+lirr27,lirr1,lirr102,False,1150
+lirr27,lirr1,lirr132,False,650
+lirr27,lirr2,lirr214,True,1825
+lirr27,lirr2,lirr214,False,1325
+lirr27,lirr25,lirr214,True,1825
+lirr27,lirr25,lirr214,False,1325
+lirr27,lirr23,lirr102,True,1350
+lirr27,lirr23,lirr102,False,975
+lirr27,lirr20,lirr102,True,1575
+lirr27,lirr20,lirr92,True,425
+lirr27,lirr20,lirr102,False,1150
+lirr27,lirr20,lirr92,False,425
+lirr27,lirr29,lirr102,True,2125
+lirr27,lirr29,lirr92,True,650
+lirr27,lirr29,lirr102,False,1550
+lirr27,lirr29,lirr92,False,650
+lirr27,lirr11,lirr214,True,1825
+lirr27,lirr11,lirr214,False,1325
+lirr27,lirr39,lirr102,True,1575
+lirr27,lirr39,lirr102,False,1150
+lirr27,lirr32,lirr102,True,1350
+lirr27,lirr32,lirr211,True,600
+lirr27,lirr32,lirr102,False,975
+lirr27,lirr32,lirr211,False,600
+lirr27,lirr33,lirr102,True,2125
+lirr27,lirr33,lirr92,True,650
+lirr27,lirr33,lirr102,False,1550
+lirr27,lirr33,lirr92,False,650
+lirr27,lirr31,lirr102,True,1575
+lirr27,lirr31,lirr125,True,650
+lirr27,lirr31,lirr102,False,1150
+lirr27,lirr31,lirr125,False,650
+lirr27,lirr40,lirr102,True,1850
+lirr27,lirr40,lirr92,True,450
+lirr27,lirr40,lirr102,False,1350
+lirr27,lirr40,lirr92,False,450
+lirr27,lirr36,lirr102,True,1350
+lirr27,lirr36,lirr63,True,600
+lirr27,lirr36,lirr102,False,975
+lirr27,lirr36,lirr63,False,600
+lirr27,lirr44,lirr102,True,1850
+lirr27,lirr44,lirr92,True,450
+lirr27,lirr44,lirr102,False,1350
+lirr27,lirr44,lirr92,False,450
+lirr27,lirr42,lirr214,True,1825
+lirr27,lirr42,lirr214,False,1325
+lirr27,lirr51,lirr102,True,1575
+lirr27,lirr51,lirr125,True,650
+lirr27,lirr51,lirr102,False,1150
+lirr27,lirr51,lirr125,False,650
+lirr27,lirr52,lirr102,True,1350
+lirr27,lirr52,lirr132,True,600
+lirr27,lirr52,lirr102,False,975
+lirr27,lirr52,lirr132,False,600
+lirr27,lirr65,lirr102,True,1350
+lirr27,lirr65,lirr211,True,600
+lirr27,lirr65,lirr102,False,975
+lirr27,lirr65,lirr211,False,600
+lirr27,lirr59,lirr102,True,1575
+lirr27,lirr59,lirr92,True,425
+lirr27,lirr59,lirr102,False,1150
+lirr27,lirr59,lirr92,False,425
+lirr27,lirr63,lirr102,True,1350
+lirr27,lirr63,lirr102,False,975
+lirr27,lirr56,lirr214,True,1825
+lirr27,lirr56,lirr214,False,1325
+lirr27,lirr68,lirr102,True,1350
+lirr27,lirr68,lirr63,True,600
+lirr27,lirr68,lirr102,False,975
+lirr27,lirr68,lirr63,False,600
+lirr27,lirr66,lirr102,True,1350
+lirr27,lirr66,lirr211,True,600
+lirr27,lirr66,lirr102,False,975
+lirr27,lirr66,lirr211,False,600
+lirr27,lirr67,lirr102,True,1575
+lirr27,lirr67,lirr132,True,650
+lirr27,lirr67,lirr102,False,1150
+lirr27,lirr67,lirr132,False,650
+lirr27,lirr71,lirr102,True,1575
+lirr27,lirr71,lirr132,True,650
+lirr27,lirr71,lirr102,False,1150
+lirr27,lirr71,lirr132,False,650
+lirr27,lirr76,lirr102,True,1575
+lirr27,lirr76,lirr132,True,650
+lirr27,lirr76,lirr102,False,1150
+lirr27,lirr76,lirr132,False,650
+lirr27,lirr72,lirr214,True,1975
+lirr27,lirr72,lirr214,False,1425
+lirr27,lirr78,lirr102,True,1850
+lirr27,lirr78,lirr92,True,450
+lirr27,lirr78,lirr102,False,1350
+lirr27,lirr78,lirr92,False,450
+lirr27,lirr73,lirr102,True,3275
+lirr27,lirr73,lirr92,True,1775
+lirr27,lirr73,lirr102,False,2375
+lirr27,lirr73,lirr92,False,1775
+lirr27,lirr77,lirr102,True,1575
+lirr27,lirr77,lirr132,True,650
+lirr27,lirr77,lirr102,False,1150
+lirr27,lirr77,lirr132,False,650
+lirr27,lirr84,lirr102,True,1350
+lirr27,lirr84,lirr63,True,600
+lirr27,lirr84,lirr102,False,975
+lirr27,lirr84,lirr63,False,600
+lirr27,lirr85,lirr102,True,1350
+lirr27,lirr85,lirr102,False,975
+lirr27,lirr94,lirr102,True,1350
+lirr27,lirr94,lirr211,True,600
+lirr27,lirr94,lirr102,False,975
+lirr27,lirr94,lirr211,False,600
+lirr27,lirr92,lirr102,True,1575
+lirr27,lirr92,lirr102,False,1150
+lirr27,lirr89,lirr102,True,1300
+lirr27,lirr89,lirr102,False,950
+lirr27,lirr91,lirr102,True,1850
+lirr27,lirr91,lirr92,True,450
+lirr27,lirr91,lirr102,False,1350
+lirr27,lirr91,lirr92,False,450
+lirr27,lirr101,lirr102,True,1350
+lirr27,lirr101,lirr211,True,600
+lirr27,lirr101,lirr102,False,975
+lirr27,lirr101,lirr211,False,600
+lirr27,lirr99,lirr102,True,1575
+lirr27,lirr99,lirr125,True,650
+lirr27,lirr99,lirr102,False,1150
+lirr27,lirr99,lirr125,False,650
+lirr27,lirr111,lirr102,True,2125
+lirr27,lirr111,lirr92,True,650
+lirr27,lirr111,lirr102,False,1550
+lirr27,lirr111,lirr92,False,650
+lirr27,lirr124,lirr102,True,1350
+lirr27,lirr124,lirr102,False,975
+lirr27,lirr122,lirr102,True,1300
+lirr27,lirr122,lirr102,False,950
+lirr27,lirr114,lirr102,True,1350
+lirr27,lirr114,lirr211,True,600
+lirr27,lirr114,lirr102,False,975
+lirr27,lirr114,lirr211,False,600
+lirr27,lirr120,lirr214,True,1825
+lirr27,lirr120,lirr214,False,1325
+lirr27,lirr119,lirr102,True,1300
+lirr27,lirr119,lirr102,False,950
+lirr27,lirr123,lirr102,True,1575
+lirr27,lirr123,lirr132,True,650
+lirr27,lirr123,lirr102,False,1150
+lirr27,lirr123,lirr132,False,650
+lirr27,lirr113,lirr102,True,1575
+lirr27,lirr113,lirr125,True,650
+lirr27,lirr113,lirr102,False,1150
+lirr27,lirr113,lirr125,False,650
+lirr27,lirr125,lirr102,True,1350
+lirr27,lirr125,lirr102,False,975
+lirr27,lirr142,lirr102,True,1350
+lirr27,lirr142,lirr102,False,975
+lirr27,lirr131,lirr214,True,1975
+lirr27,lirr131,lirr214,False,1425
+lirr27,lirr126,lirr102,True,3275
+lirr27,lirr126,lirr92,True,1775
+lirr27,lirr126,lirr102,False,2375
+lirr27,lirr126,lirr92,False,1775
+lirr27,lirr129,lirr102,True,2125
+lirr27,lirr129,lirr92,True,650
+lirr27,lirr129,lirr102,False,1550
+lirr27,lirr129,lirr92,False,650
+lirr27,lirr127,lirr102,True,1350
+lirr27,lirr127,lirr102,False,975
+lirr27,lirr132,lirr102,True,1350
+lirr27,lirr132,lirr102,False,975
+lirr27,lirr130,lirr214,True,1825
+lirr27,lirr130,lirr214,False,1325
+lirr27,lirr149,lirr102,True,1350
+lirr27,lirr149,lirr63,True,600
+lirr27,lirr149,lirr102,False,975
+lirr27,lirr149,lirr63,False,600
+lirr27,lirr152,lirr102,True,1350
+lirr27,lirr152,lirr102,False,975
+lirr27,lirr153,lirr102,True,1850
+lirr27,lirr153,lirr92,True,450
+lirr27,lirr153,lirr102,False,1350
+lirr27,lirr153,lirr92,False,450
+lirr27,lirr155,lirr102,True,1575
+lirr27,lirr155,lirr125,True,650
+lirr27,lirr155,lirr102,False,1150
+lirr27,lirr155,lirr125,False,650
+lirr27,lirr154,lirr102,True,1575
+lirr27,lirr154,lirr132,True,650
+lirr27,lirr154,lirr102,False,1150
+lirr27,lirr154,lirr132,False,650
+lirr27,lirr165,lirr102,True,1850
+lirr27,lirr165,lirr92,True,450
+lirr27,lirr165,lirr102,False,1350
+lirr27,lirr165,lirr92,False,450
+lirr27,lirr162,lirr214,True,1975
+lirr27,lirr162,lirr214,False,1425
+lirr27,lirr164,lirr102,True,2125
+lirr27,lirr164,lirr92,True,650
+lirr27,lirr164,lirr102,False,1550
+lirr27,lirr164,lirr92,False,650
+lirr27,lirr171,lirr214,True,1975
+lirr27,lirr171,lirr214,False,1425
+lirr27,lirr175,lirr102,True,1300
+lirr27,lirr175,lirr102,False,950
+lirr27,lirr176,lirr102,True,3275
+lirr27,lirr176,lirr92,True,1775
+lirr27,lirr176,lirr102,False,2375
+lirr27,lirr176,lirr92,False,1775
+lirr27,lirr179,lirr102,True,2125
+lirr27,lirr179,lirr92,True,650
+lirr27,lirr179,lirr102,False,1550
+lirr27,lirr179,lirr92,False,650
+lirr27,lirr180,lirr102,True,1300
+lirr27,lirr180,lirr102,False,950
+lirr27,lirr182,lirr102,True,1575
+lirr27,lirr182,lirr132,True,650
+lirr27,lirr182,lirr102,False,1150
+lirr27,lirr182,lirr132,False,650
+lirr27,lirr185,lirr102,True,1575
+lirr27,lirr185,lirr132,True,650
+lirr27,lirr185,lirr102,False,1150
+lirr27,lirr185,lirr132,False,650
+lirr27,lirr202,lirr102,True,2125
+lirr27,lirr202,lirr92,True,650
+lirr27,lirr202,lirr102,False,1550
+lirr27,lirr202,lirr92,False,650
+lirr27,lirr190,lirr102,True,3275
+lirr27,lirr190,lirr92,True,1775
+lirr27,lirr190,lirr102,False,2375
+lirr27,lirr190,lirr92,False,1775
+lirr27,lirr184,lirr102,True,1300
+lirr27,lirr184,lirr102,False,950
+lirr27,lirr193,lirr102,True,2125
+lirr27,lirr193,lirr92,True,650
+lirr27,lirr193,lirr102,False,1550
+lirr27,lirr193,lirr92,False,650
+lirr27,lirr195,lirr102,True,1350
+lirr27,lirr195,lirr63,True,600
+lirr27,lirr195,lirr102,False,975
+lirr27,lirr195,lirr63,False,600
+lirr27,lirr14,lirr102,True,2125
+lirr27,lirr14,lirr92,True,650
+lirr27,lirr14,lirr102,False,1550
+lirr27,lirr14,lirr92,False,650
+lirr27,lirr205,lirr102,True,1575
+lirr27,lirr205,lirr92,True,425
+lirr27,lirr205,lirr102,False,1150
+lirr27,lirr205,lirr92,False,425
+lirr27,lirr211,lirr102,True,1350
+lirr27,lirr211,lirr102,False,975
+lirr27,lirr216,lirr102,True,1350
+lirr27,lirr216,lirr102,False,975
+lirr27,lirr213,lirr102,True,1575
+lirr27,lirr213,lirr102,False,1150
+lirr27,lirr219,lirr102,True,1350
+lirr27,lirr219,lirr102,False,975
+lirr27,lirr217,lirr102,True,1350
+lirr27,lirr217,lirr211,True,600
+lirr27,lirr217,lirr102,False,975
+lirr27,lirr217,lirr211,False,600
+lirr27,lirr220,lirr102,True,1850
+lirr27,lirr220,lirr92,True,450
+lirr27,lirr220,lirr102,False,1350
+lirr27,lirr220,lirr92,False,450
+lirr27,lirr223,lirr102,True,2600
+lirr27,lirr223,lirr92,True,1100
+lirr27,lirr223,lirr102,False,1900
+lirr27,lirr223,lirr92,False,1100
+lirr225,lirr1,lirr102,True,1225
+lirr225,lirr1,lirr102,False,900
+lirr225,lirr2,lirr214,True,1575
+lirr225,lirr2,lirr214,False,1150
+lirr225,lirr25,lirr214,True,1575
+lirr225,lirr25,lirr214,False,1150
+lirr225,lirr23,lirr102,True,1100
+lirr225,lirr23,lirr102,False,800
+lirr225,lirr20,lirr102,True,1225
+lirr225,lirr20,lirr102,False,900
+lirr225,lirr29,lirr102,True,1825
+lirr225,lirr29,lirr102,False,1325
+lirr225,lirr11,lirr214,True,1575
+lirr225,lirr11,lirr214,False,1150
+lirr225,lirr39,lirr102,True,1225
+lirr225,lirr39,lirr102,False,900
+lirr225,lirr32,lirr102,True,1100
+lirr225,lirr32,lirr211,True,425
+lirr225,lirr32,lirr102,False,800
+lirr225,lirr32,lirr211,False,425
+lirr225,lirr33,lirr102,True,1825
+lirr225,lirr33,lirr102,False,1325
+lirr225,lirr31,lirr102,True,1225
+lirr225,lirr31,lirr125,True,450
+lirr225,lirr31,lirr102,False,900
+lirr225,lirr31,lirr125,False,450
+lirr225,lirr40,lirr102,True,1575
+lirr225,lirr40,lirr102,False,1150
+lirr225,lirr36,lirr102,True,1100
+lirr225,lirr36,lirr102,False,800
+lirr225,lirr44,lirr102,True,1575
+lirr225,lirr44,lirr102,False,1150
+lirr225,lirr42,lirr214,True,1575
+lirr225,lirr42,lirr214,False,1150
+lirr225,lirr51,lirr102,True,1225
+lirr225,lirr51,lirr125,True,450
+lirr225,lirr51,lirr102,False,900
+lirr225,lirr51,lirr125,False,450
+lirr225,lirr52,lirr102,True,1100
+lirr225,lirr52,lirr102,False,800
+lirr225,lirr65,lirr102,True,1100
+lirr225,lirr65,lirr211,True,425
+lirr225,lirr65,lirr102,False,800
+lirr225,lirr65,lirr211,False,425
+lirr225,lirr59,lirr102,True,1225
+lirr225,lirr59,lirr102,False,900
+lirr225,lirr63,lirr102,True,1100
+lirr225,lirr63,lirr102,False,800
+lirr225,lirr56,lirr214,True,1575
+lirr225,lirr56,lirr214,False,1150
+lirr225,lirr68,lirr102,True,1100
+lirr225,lirr68,lirr102,False,800
+lirr225,lirr66,lirr102,True,1100
+lirr225,lirr66,lirr211,True,425
+lirr225,lirr66,lirr102,False,800
+lirr225,lirr66,lirr211,False,425
+lirr225,lirr67,lirr102,True,1225
+lirr225,lirr67,lirr102,False,900
+lirr225,lirr71,lirr102,True,1225
+lirr225,lirr71,lirr102,False,900
+lirr225,lirr76,lirr102,True,1225
+lirr225,lirr76,lirr102,False,900
+lirr225,lirr72,lirr214,True,1725
+lirr225,lirr72,lirr214,False,1250
+lirr225,lirr78,lirr102,True,1575
+lirr225,lirr78,lirr102,False,1150
+lirr225,lirr73,lirr102,True,2975
+lirr225,lirr73,lirr102,False,2175
+lirr225,lirr77,lirr102,True,1225
+lirr225,lirr77,lirr102,False,900
+lirr225,lirr84,lirr102,True,1100
+lirr225,lirr84,lirr102,False,800
+lirr225,lirr85,lirr102,True,1100
+lirr225,lirr85,lirr102,False,800
+lirr225,lirr94,lirr102,True,1100
+lirr225,lirr94,lirr211,True,425
+lirr225,lirr94,lirr102,False,800
+lirr225,lirr94,lirr211,False,425
+lirr225,lirr92,lirr102,True,1225
+lirr225,lirr92,lirr102,False,900
+lirr225,lirr89,lirr102,True,1050
+lirr225,lirr89,lirr102,False,775
+lirr225,lirr91,lirr102,True,1575
+lirr225,lirr91,lirr102,False,1150
+lirr225,lirr101,lirr102,True,1100
+lirr225,lirr101,lirr211,True,425
+lirr225,lirr101,lirr102,False,800
+lirr225,lirr101,lirr211,False,425
+lirr225,lirr99,lirr102,True,1225
+lirr225,lirr99,lirr125,True,450
+lirr225,lirr99,lirr102,False,900
+lirr225,lirr99,lirr125,False,450
+lirr225,lirr111,lirr102,True,1825
+lirr225,lirr111,lirr102,False,1325
+lirr225,lirr124,lirr102,True,1100
+lirr225,lirr124,lirr102,False,800
+lirr225,lirr122,lirr102,True,1050
+lirr225,lirr122,lirr102,False,775
+lirr225,lirr114,lirr102,True,1100
+lirr225,lirr114,lirr211,True,425
+lirr225,lirr114,lirr102,False,800
+lirr225,lirr114,lirr211,False,425
+lirr225,lirr120,lirr214,True,1575
+lirr225,lirr120,lirr214,False,1150
+lirr225,lirr119,lirr102,True,1050
+lirr225,lirr119,lirr102,False,775
+lirr225,lirr123,lirr102,True,1225
+lirr225,lirr123,lirr102,False,900
+lirr225,lirr113,lirr102,True,1225
+lirr225,lirr113,lirr125,True,450
+lirr225,lirr113,lirr102,False,900
+lirr225,lirr113,lirr125,False,450
+lirr225,lirr125,lirr102,True,1100
+lirr225,lirr125,lirr102,False,800
+lirr225,lirr142,lirr102,True,1100
+lirr225,lirr142,lirr102,False,800
+lirr225,lirr131,lirr214,True,1725
+lirr225,lirr131,lirr214,False,1250
+lirr225,lirr126,lirr102,True,2975
+lirr225,lirr126,lirr102,False,2175
+lirr225,lirr129,lirr102,True,1825
+lirr225,lirr129,lirr102,False,1325
+lirr225,lirr127,lirr102,True,1100
+lirr225,lirr127,lirr102,False,800
+lirr225,lirr132,lirr102,True,1100
+lirr225,lirr132,lirr102,False,800
+lirr225,lirr130,lirr214,True,1575
+lirr225,lirr130,lirr214,False,1150
+lirr225,lirr149,lirr102,True,1100
+lirr225,lirr149,lirr102,False,800
+lirr225,lirr152,lirr102,True,1100
+lirr225,lirr152,lirr102,False,800
+lirr225,lirr153,lirr102,True,1575
+lirr225,lirr153,lirr102,False,1150
+lirr225,lirr155,lirr102,True,1225
+lirr225,lirr155,lirr125,True,450
+lirr225,lirr155,lirr102,False,900
+lirr225,lirr155,lirr125,False,450
+lirr225,lirr154,lirr102,True,1225
+lirr225,lirr154,lirr102,False,900
+lirr225,lirr165,lirr102,True,1575
+lirr225,lirr165,lirr102,False,1150
+lirr225,lirr162,lirr214,True,1725
+lirr225,lirr162,lirr214,False,1250
+lirr225,lirr164,lirr102,True,1825
+lirr225,lirr164,lirr102,False,1325
+lirr225,lirr171,lirr214,True,1725
+lirr225,lirr171,lirr214,False,1250
+lirr225,lirr175,lirr102,True,1050
+lirr225,lirr175,lirr102,False,775
+lirr225,lirr176,lirr102,True,2975
+lirr225,lirr176,lirr102,False,2175
+lirr225,lirr179,lirr102,True,1825
+lirr225,lirr179,lirr102,False,1325
+lirr225,lirr180,lirr102,True,1050
+lirr225,lirr180,lirr102,False,775
+lirr225,lirr182,lirr102,True,1225
+lirr225,lirr182,lirr102,False,900
+lirr225,lirr185,lirr102,True,1225
+lirr225,lirr185,lirr102,False,900
+lirr225,lirr202,lirr102,True,1825
+lirr225,lirr202,lirr102,False,1325
+lirr225,lirr190,lirr102,True,2975
+lirr225,lirr190,lirr102,False,2175
+lirr225,lirr184,lirr102,True,1050
+lirr225,lirr184,lirr102,False,775
+lirr225,lirr193,lirr102,True,1825
+lirr225,lirr193,lirr102,False,1325
+lirr225,lirr195,lirr102,True,1100
+lirr225,lirr195,lirr102,False,800
+lirr225,lirr14,lirr102,True,1825
+lirr225,lirr14,lirr102,False,1325
+lirr225,lirr205,lirr102,True,1225
+lirr225,lirr205,lirr102,False,900
+lirr225,lirr211,lirr102,True,1100
+lirr225,lirr211,lirr102,False,800
+lirr225,lirr216,lirr102,True,1100
+lirr225,lirr216,lirr102,False,800
+lirr225,lirr213,lirr102,True,1225
+lirr225,lirr213,lirr102,False,900
+lirr225,lirr219,lirr102,True,1100
+lirr225,lirr219,lirr102,False,800
+lirr225,lirr217,lirr102,True,1100
+lirr225,lirr217,lirr211,True,425
+lirr225,lirr217,lirr102,False,800
+lirr225,lirr217,lirr211,False,425
+lirr225,lirr220,lirr102,True,1575
+lirr225,lirr220,lirr102,False,1150
+lirr225,lirr223,lirr102,True,2275
+lirr225,lirr223,lirr102,False,1650
+lirr26,lirr1,lirr102,True,1825
+lirr26,lirr1,lirr132,True,900
+lirr26,lirr1,lirr102,False,1325
+lirr26,lirr1,lirr132,False,900
+lirr26,lirr2,lirr214,True,2050
+lirr26,lirr2,lirr214,False,1500
+lirr26,lirr25,lirr214,True,2050
+lirr26,lirr25,lirr214,False,1500
+lirr26,lirr23,lirr102,True,1650
+lirr26,lirr23,lirr102,False,1200
+lirr26,lirr20,lirr102,True,1825
+lirr26,lirr20,lirr92,True,600
+lirr26,lirr20,lirr102,False,1325
+lirr26,lirr20,lirr92,False,600
+lirr26,lirr29,lirr102,True,2275
+lirr26,lirr29,lirr92,True,1000
+lirr26,lirr29,lirr102,False,1650
+lirr26,lirr29,lirr92,False,1000
+lirr26,lirr11,lirr214,True,2050
+lirr26,lirr11,lirr214,False,1500
+lirr26,lirr39,lirr102,True,1825
+lirr26,lirr39,lirr102,False,1325
+lirr26,lirr32,lirr102,True,1650
+lirr26,lirr32,lirr102,False,1200
+lirr26,lirr33,lirr102,True,2275
+lirr26,lirr33,lirr92,True,1000
+lirr26,lirr33,lirr102,False,1650
+lirr26,lirr33,lirr92,False,1000
+lirr26,lirr31,lirr102,True,1825
+lirr26,lirr31,lirr125,True,900
+lirr26,lirr31,lirr102,False,1325
+lirr26,lirr31,lirr125,False,900
+lirr26,lirr40,lirr102,True,2125
+lirr26,lirr40,lirr92,True,650
+lirr26,lirr40,lirr102,False,1550
+lirr26,lirr40,lirr92,False,650
+lirr26,lirr36,lirr102,True,1650
+lirr26,lirr36,lirr63,True,825
+lirr26,lirr36,lirr102,False,1200
+lirr26,lirr36,lirr63,False,825
+lirr26,lirr44,lirr102,True,2125
+lirr26,lirr44,lirr92,True,650
+lirr26,lirr44,lirr102,False,1550
+lirr26,lirr44,lirr92,False,650
+lirr26,lirr42,lirr214,True,2050
+lirr26,lirr42,lirr214,False,1500
+lirr26,lirr51,lirr102,True,1825
+lirr26,lirr51,lirr125,True,900
+lirr26,lirr51,lirr102,False,1325
+lirr26,lirr51,lirr125,False,900
+lirr26,lirr52,lirr102,True,1650
+lirr26,lirr52,lirr132,True,825
+lirr26,lirr52,lirr102,False,1200
+lirr26,lirr52,lirr132,False,825
+lirr26,lirr65,lirr102,True,1650
+lirr26,lirr65,lirr102,False,1200
+lirr26,lirr59,lirr102,True,1825
+lirr26,lirr59,lirr92,True,600
+lirr26,lirr59,lirr102,False,1325
+lirr26,lirr59,lirr92,False,600
+lirr26,lirr63,lirr102,True,1650
+lirr26,lirr63,lirr102,False,1200
+lirr26,lirr56,lirr214,True,2050
+lirr26,lirr56,lirr214,False,1500
+lirr26,lirr68,lirr102,True,1650
+lirr26,lirr68,lirr63,True,825
+lirr26,lirr68,lirr102,False,1200
+lirr26,lirr68,lirr63,False,825
+lirr26,lirr66,lirr102,True,1650
+lirr26,lirr66,lirr102,False,1200
+lirr26,lirr67,lirr102,True,1825
+lirr26,lirr67,lirr132,True,900
+lirr26,lirr67,lirr102,False,1325
+lirr26,lirr67,lirr132,False,900
+lirr26,lirr71,lirr102,True,1825
+lirr26,lirr71,lirr132,True,900
+lirr26,lirr71,lirr102,False,1325
+lirr26,lirr71,lirr132,False,900
+lirr26,lirr76,lirr102,True,1825
+lirr26,lirr76,lirr132,True,900
+lirr26,lirr76,lirr102,False,1325
+lirr26,lirr76,lirr132,False,900
+lirr26,lirr72,lirr214,True,2225
+lirr26,lirr72,lirr214,False,1625
+lirr26,lirr78,lirr102,True,2125
+lirr26,lirr78,lirr92,True,650
+lirr26,lirr78,lirr102,False,1550
+lirr26,lirr78,lirr92,False,650
+lirr26,lirr73,lirr102,True,3475
+lirr26,lirr73,lirr92,True,2025
+lirr26,lirr73,lirr102,False,2525
+lirr26,lirr73,lirr92,False,2025
+lirr26,lirr77,lirr102,True,1825
+lirr26,lirr77,lirr132,True,900
+lirr26,lirr77,lirr102,False,1325
+lirr26,lirr77,lirr132,False,900
+lirr26,lirr84,lirr102,True,1650
+lirr26,lirr84,lirr63,True,825
+lirr26,lirr84,lirr102,False,1200
+lirr26,lirr84,lirr63,False,825
+lirr26,lirr85,lirr102,True,1650
+lirr26,lirr85,lirr102,False,1200
+lirr26,lirr94,lirr102,True,1650
+lirr26,lirr94,lirr102,False,1200
+lirr26,lirr92,lirr102,True,1825
+lirr26,lirr92,lirr102,False,1325
+lirr26,lirr89,lirr102,True,1575
+lirr26,lirr89,lirr102,False,1150
+lirr26,lirr91,lirr102,True,2125
+lirr26,lirr91,lirr92,True,650
+lirr26,lirr91,lirr102,False,1550
+lirr26,lirr91,lirr92,False,650
+lirr26,lirr101,lirr102,True,1650
+lirr26,lirr101,lirr102,False,1200
+lirr26,lirr99,lirr102,True,1825
+lirr26,lirr99,lirr125,True,900
+lirr26,lirr99,lirr102,False,1325
+lirr26,lirr99,lirr125,False,900
+lirr26,lirr111,lirr102,True,2275
+lirr26,lirr111,lirr92,True,1000
+lirr26,lirr111,lirr102,False,1650
+lirr26,lirr111,lirr92,False,1000
+lirr26,lirr124,lirr102,True,1650
+lirr26,lirr124,lirr102,False,1200
+lirr26,lirr122,lirr102,True,1575
+lirr26,lirr122,lirr102,False,1150
+lirr26,lirr114,lirr102,True,1650
+lirr26,lirr114,lirr102,False,1200
+lirr26,lirr120,lirr214,True,2050
+lirr26,lirr120,lirr214,False,1500
+lirr26,lirr119,lirr102,True,1575
+lirr26,lirr119,lirr102,False,1150
+lirr26,lirr123,lirr102,True,1825
+lirr26,lirr123,lirr132,True,900
+lirr26,lirr123,lirr102,False,1325
+lirr26,lirr123,lirr132,False,900
+lirr26,lirr113,lirr102,True,1825
+lirr26,lirr113,lirr125,True,900
+lirr26,lirr113,lirr102,False,1325
+lirr26,lirr113,lirr125,False,900
+lirr26,lirr125,lirr102,True,1650
+lirr26,lirr125,lirr102,False,1200
+lirr26,lirr142,lirr102,True,1650
+lirr26,lirr142,lirr102,False,1200
+lirr26,lirr131,lirr214,True,2225
+lirr26,lirr131,lirr214,False,1625
+lirr26,lirr126,lirr102,True,3475
+lirr26,lirr126,lirr92,True,2025
+lirr26,lirr126,lirr102,False,2525
+lirr26,lirr126,lirr92,False,2025
+lirr26,lirr129,lirr102,True,2275
+lirr26,lirr129,lirr92,True,1000
+lirr26,lirr129,lirr102,False,1650
+lirr26,lirr129,lirr92,False,1000
+lirr26,lirr127,lirr102,True,1650
+lirr26,lirr127,lirr102,False,1200
+lirr26,lirr132,lirr102,True,1650
+lirr26,lirr132,lirr102,False,1200
+lirr26,lirr130,lirr214,True,2050
+lirr26,lirr130,lirr214,False,1500
+lirr26,lirr149,lirr102,True,1650
+lirr26,lirr149,lirr63,True,825
+lirr26,lirr149,lirr102,False,1200
+lirr26,lirr149,lirr63,False,825
+lirr26,lirr152,lirr102,True,1650
+lirr26,lirr152,lirr102,False,1200
+lirr26,lirr153,lirr102,True,2125
+lirr26,lirr153,lirr92,True,650
+lirr26,lirr153,lirr102,False,1550
+lirr26,lirr153,lirr92,False,650
+lirr26,lirr155,lirr102,True,1825
+lirr26,lirr155,lirr125,True,900
+lirr26,lirr155,lirr102,False,1325
+lirr26,lirr155,lirr125,False,900
+lirr26,lirr154,lirr102,True,1825
+lirr26,lirr154,lirr132,True,900
+lirr26,lirr154,lirr102,False,1325
+lirr26,lirr154,lirr132,False,900
+lirr26,lirr165,lirr102,True,2125
+lirr26,lirr165,lirr92,True,650
+lirr26,lirr165,lirr102,False,1550
+lirr26,lirr165,lirr92,False,650
+lirr26,lirr162,lirr214,True,2225
+lirr26,lirr162,lirr214,False,1625
+lirr26,lirr164,lirr102,True,2275
+lirr26,lirr164,lirr92,True,1000
+lirr26,lirr164,lirr102,False,1650
+lirr26,lirr164,lirr92,False,1000
+lirr26,lirr171,lirr214,True,2225
+lirr26,lirr171,lirr214,False,1625
+lirr26,lirr175,lirr102,True,1575
+lirr26,lirr175,lirr102,False,1150
+lirr26,lirr176,lirr102,True,3475
+lirr26,lirr176,lirr92,True,2025
+lirr26,lirr176,lirr102,False,2525
+lirr26,lirr176,lirr92,False,2025
+lirr26,lirr179,lirr102,True,2275
+lirr26,lirr179,lirr92,True,1000
+lirr26,lirr179,lirr102,False,1650
+lirr26,lirr179,lirr92,False,1000
+lirr26,lirr180,lirr102,True,1575
+lirr26,lirr180,lirr102,False,1150
+lirr26,lirr182,lirr102,True,1825
+lirr26,lirr182,lirr132,True,900
+lirr26,lirr182,lirr102,False,1325
+lirr26,lirr182,lirr132,False,900
+lirr26,lirr185,lirr102,True,1825
+lirr26,lirr185,lirr132,True,900
+lirr26,lirr185,lirr102,False,1325
+lirr26,lirr185,lirr132,False,900
+lirr26,lirr202,lirr102,True,2275
+lirr26,lirr202,lirr92,True,1000
+lirr26,lirr202,lirr102,False,1650
+lirr26,lirr202,lirr92,False,1000
+lirr26,lirr190,lirr102,True,3475
+lirr26,lirr190,lirr92,True,2025
+lirr26,lirr190,lirr102,False,2525
+lirr26,lirr190,lirr92,False,2025
+lirr26,lirr184,lirr102,True,1575
+lirr26,lirr184,lirr102,False,1150
+lirr26,lirr193,lirr102,True,2275
+lirr26,lirr193,lirr92,True,1000
+lirr26,lirr193,lirr102,False,1650
+lirr26,lirr193,lirr92,False,1000
+lirr26,lirr195,lirr102,True,1650
+lirr26,lirr195,lirr63,True,825
+lirr26,lirr195,lirr102,False,1200
+lirr26,lirr195,lirr63,False,825
+lirr26,lirr14,lirr102,True,2275
+lirr26,lirr14,lirr92,True,1000
+lirr26,lirr14,lirr102,False,1650
+lirr26,lirr14,lirr92,False,1000
+lirr26,lirr205,lirr102,True,1825
+lirr26,lirr205,lirr92,True,600
+lirr26,lirr205,lirr102,False,1325
+lirr26,lirr205,lirr92,False,600
+lirr26,lirr211,lirr102,True,1650
+lirr26,lirr211,lirr102,False,1200
+lirr26,lirr216,lirr102,True,1650
+lirr26,lirr216,lirr102,False,1200
+lirr26,lirr213,lirr102,True,1825
+lirr26,lirr213,lirr102,False,1325
+lirr26,lirr219,lirr102,True,1650
+lirr26,lirr219,lirr102,False,1200
+lirr26,lirr217,lirr102,True,1650
+lirr26,lirr217,lirr102,False,1200
+lirr26,lirr220,lirr102,True,2125
+lirr26,lirr220,lirr92,True,650
+lirr26,lirr220,lirr102,False,1550
+lirr26,lirr220,lirr92,False,650
+lirr26,lirr223,lirr102,True,2800
+lirr26,lirr223,lirr92,True,1350
+lirr26,lirr223,lirr102,False,2025
+lirr26,lirr223,lirr92,False,1350
+lirr25,lirr1,lirr214,True,1575
+lirr25,lirr1,lirr214,False,1150
+lirr25,lirr4,lirr214,True,3200
+lirr25,lirr4,lirr214,False,2325
+lirr25,lirr8,lirr214,True,1825
+lirr25,lirr8,lirr214,False,1325
+lirr25,lirr27,lirr214,True,1825
+lirr25,lirr27,lirr214,False,1325
+lirr25,lirr225,lirr214,True,1575
+lirr25,lirr225,lirr214,False,1150
+lirr25,lirr26,lirr214,True,2050
+lirr25,lirr26,lirr214,False,1500
+lirr25,lirr23,lirr214,True,1350
+lirr25,lirr23,lirr214,False,975
+lirr25,lirr16,lirr214,True,1575
+lirr25,lirr16,lirr214,False,1150
+lirr25,lirr21,lirr214,True,2500
+lirr25,lirr21,lirr214,False,1825
+lirr25,lirr20,lirr214,True,1575
+lirr25,lirr20,lirr214,False,1150
+lirr25,lirr29,lirr214,True,2050
+lirr25,lirr29,lirr214,False,1500
+lirr25,lirr13,lirr214,True,3200
+lirr25,lirr13,lirr214,False,2325
+lirr25,lirr39,lirr214,True,1575
+lirr25,lirr39,lirr214,False,1150
+lirr25,lirr32,lirr214,True,1350
+lirr25,lirr32,lirr214,False,975
+lirr25,lirr33,lirr214,True,2050
+lirr25,lirr33,lirr214,False,1500
+lirr25,lirr31,lirr214,True,1575
+lirr25,lirr31,lirr214,False,1150
+lirr25,lirr40,lirr214,True,1825
+lirr25,lirr40,lirr214,False,1325
+lirr25,lirr38,lirr214,True,1825
+lirr25,lirr38,lirr214,False,1325
+lirr25,lirr36,lirr214,True,1350
+lirr25,lirr36,lirr214,False,975
+lirr25,lirr44,lirr214,True,1825
+lirr25,lirr44,lirr214,False,1325
+lirr25,lirr48,lirr214,True,3200
+lirr25,lirr48,lirr214,False,2325
+lirr25,lirr51,lirr214,True,1575
+lirr25,lirr51,lirr214,False,1150
+lirr25,lirr52,lirr214,True,1350
+lirr25,lirr52,lirr214,False,975
+lirr25,lirr65,lirr214,True,1350
+lirr25,lirr65,lirr214,False,975
+lirr25,lirr59,lirr214,True,1575
+lirr25,lirr59,lirr214,False,1150
+lirr25,lirr63,lirr214,True,1350
+lirr25,lirr63,lirr214,False,975
+lirr25,lirr55,lirr214,True,1150
+lirr25,lirr55,lirr214,False,825
+lirr25,lirr64,lirr214,True,1575
+lirr25,lirr64,lirr214,False,1150
+lirr25,lirr68,lirr214,True,1350
+lirr25,lirr68,lirr214,False,975
+lirr25,lirr66,lirr214,True,1350
+lirr25,lirr66,lirr214,False,975
+lirr25,lirr67,lirr214,True,1575
+lirr25,lirr67,lirr214,False,1150
+lirr25,lirr71,lirr214,True,1575
+lirr25,lirr71,lirr214,False,1150
+lirr25,lirr76,lirr214,True,1575
+lirr25,lirr76,lirr214,False,1150
+lirr25,lirr74,lirr214,True,2050
+lirr25,lirr74,lirr214,False,1500
+lirr25,lirr78,lirr214,True,1825
+lirr25,lirr78,lirr214,False,1325
+lirr25,lirr73,lirr214,True,3200
+lirr25,lirr73,lirr214,False,2325
+lirr25,lirr77,lirr214,True,1575
+lirr25,lirr77,lirr214,False,1150
+lirr25,lirr83,lirr214,True,3200
+lirr25,lirr83,lirr214,False,2325
+lirr25,lirr84,lirr214,True,1350
+lirr25,lirr84,lirr214,False,975
+lirr25,lirr85,lirr214,True,1350
+lirr25,lirr85,lirr214,False,975
+lirr25,lirr94,lirr214,True,1350
+lirr25,lirr94,lirr214,False,975
+lirr25,lirr92,lirr214,True,1575
+lirr25,lirr92,lirr214,False,1150
+lirr25,lirr89,lirr214,True,1200
+lirr25,lirr89,lirr214,False,875
+lirr25,lirr91,lirr214,True,1825
+lirr25,lirr91,lirr214,False,1325
+lirr25,lirr101,lirr214,True,1350
+lirr25,lirr101,lirr214,False,975
+lirr25,lirr99,lirr214,True,1575
+lirr25,lirr99,lirr214,False,1150
+lirr25,lirr100,lirr214,True,2050
+lirr25,lirr100,lirr214,False,1500
+lirr25,lirr102,lirr214,True,1200
+lirr25,lirr102,lirr214,False,875
+lirr25,lirr107,lirr214,True,1150
+lirr25,lirr107,lirr214,False,825
+lirr25,lirr111,lirr214,True,2050
+lirr25,lirr111,lirr214,False,1500
+lirr25,lirr124,lirr214,True,1350
+lirr25,lirr124,lirr214,False,975
+lirr25,lirr122,lirr214,True,1200
+lirr25,lirr122,lirr214,False,875
+lirr25,lirr114,lirr214,True,1350
+lirr25,lirr114,lirr214,False,975
+lirr25,lirr117,lirr214,True,1825
+lirr25,lirr117,lirr214,False,1325
+lirr25,lirr119,lirr214,True,1200
+lirr25,lirr119,lirr214,False,875
+lirr25,lirr123,lirr214,True,1575
+lirr25,lirr123,lirr214,False,1150
+lirr25,lirr113,lirr214,True,1575
+lirr25,lirr113,lirr214,False,1150
+lirr25,lirr125,lirr214,True,1350
+lirr25,lirr125,lirr214,False,975
+lirr25,lirr142,lirr214,True,1350
+lirr25,lirr142,lirr214,False,975
+lirr25,lirr136,lirr214,True,1575
+lirr25,lirr136,lirr214,False,1150
+lirr25,lirr135,lirr214,True,1575
+lirr25,lirr135,lirr214,False,1150
+lirr25,lirr140,lirr214,True,2500
+lirr25,lirr140,lirr214,False,1825
+lirr25,lirr126,lirr214,True,3200
+lirr25,lirr126,lirr214,False,2325
+lirr25,lirr129,lirr214,True,2050
+lirr25,lirr129,lirr214,False,1500
+lirr25,lirr127,lirr214,True,1350
+lirr25,lirr127,lirr214,False,975
+lirr25,lirr226,lirr214,True,1575
+lirr25,lirr226,lirr214,False,1150
+lirr25,lirr132,lirr214,True,1350
+lirr25,lirr132,lirr214,False,975
+lirr25,lirr141,lirr214,True,3200
+lirr25,lirr141,lirr214,False,2325
+lirr25,lirr149,lirr214,True,1350
+lirr25,lirr149,lirr214,False,975
+lirr25,lirr152,lirr214,True,1350
+lirr25,lirr152,lirr214,False,975
+lirr25,lirr153,lirr214,True,1825
+lirr25,lirr153,lirr214,False,1325
+lirr25,lirr157,lirr214,True,2050
+lirr25,lirr157,lirr214,False,1500
+lirr25,lirr155,lirr214,True,1575
+lirr25,lirr155,lirr214,False,1150
+lirr25,lirr154,lirr214,True,1575
+lirr25,lirr154,lirr214,False,1150
+lirr25,lirr163,lirr214,True,2050
+lirr25,lirr163,lirr214,False,1500
+lirr25,lirr165,lirr214,True,1825
+lirr25,lirr165,lirr214,False,1325
+lirr25,lirr164,lirr214,True,2050
+lirr25,lirr164,lirr214,False,1500
+lirr25,lirr175,lirr214,True,1200
+lirr25,lirr175,lirr214,False,875
+lirr25,lirr176,lirr214,True,3200
+lirr25,lirr176,lirr214,False,2325
+lirr25,lirr183,lirr214,True,1575
+lirr25,lirr183,lirr214,False,1150
+lirr25,lirr179,lirr214,True,2050
+lirr25,lirr179,lirr214,False,1500
+lirr25,lirr180,lirr214,True,1200
+lirr25,lirr180,lirr214,False,875
+lirr25,lirr182,lirr214,True,1575
+lirr25,lirr182,lirr214,False,1150
+lirr25,lirr204,lirr214,True,2050
+lirr25,lirr204,lirr214,False,1500
+lirr25,lirr185,lirr214,True,1575
+lirr25,lirr185,lirr214,False,1150
+lirr25,lirr187,lirr214,True,1575
+lirr25,lirr187,lirr214,False,1150
+lirr25,lirr202,lirr214,True,2050
+lirr25,lirr202,lirr214,False,1500
+lirr25,lirr191,lirr214,True,3200
+lirr25,lirr191,lirr214,False,2325
+lirr25,lirr190,lirr214,True,3200
+lirr25,lirr190,lirr214,False,2325
+lirr25,lirr198,lirr214,True,2500
+lirr25,lirr198,lirr214,False,1825
+lirr25,lirr184,lirr214,True,1200
+lirr25,lirr184,lirr214,False,875
+lirr25,lirr193,lirr214,True,2050
+lirr25,lirr193,lirr214,False,1500
+lirr25,lirr195,lirr214,True,1350
+lirr25,lirr195,lirr214,False,975
+lirr25,lirr14,lirr214,True,2050
+lirr25,lirr14,lirr214,False,1500
+lirr25,lirr205,lirr214,True,1575
+lirr25,lirr205,lirr214,False,1150
+lirr25,lirr211,lirr214,True,1350
+lirr25,lirr211,lirr214,False,975
+lirr25,lirr215,lirr214,True,1575
+lirr25,lirr215,lirr214,False,1150
+lirr25,lirr216,lirr214,True,1350
+lirr25,lirr216,lirr214,False,975
+lirr25,lirr213,lirr214,True,1575
+lirr25,lirr213,lirr214,False,1150
+lirr25,lirr233,lirr214,True,3200
+lirr25,lirr233,lirr214,False,2325
+lirr25,lirr219,lirr214,True,1350
+lirr25,lirr219,lirr214,False,975
+lirr25,lirr217,lirr214,True,1350
+lirr25,lirr217,lirr214,False,975
+lirr25,lirr220,lirr214,True,1825
+lirr25,lirr220,lirr214,False,1325
+lirr25,lirr223,lirr214,True,2500
+lirr25,lirr223,lirr214,False,1825
+lirr23,lirr1,lirr102,True,1100
+lirr23,lirr1,lirr102,False,800
+lirr23,lirr4,lirr102,True,2775
+lirr23,lirr4,lirr102,False,2025
+lirr23,lirr8,lirr102,True,1350
+lirr23,lirr8,lirr102,False,975
+lirr23,lirr2,lirr214,True,1350
+lirr23,lirr2,lirr214,False,975
+lirr23,lirr27,lirr102,True,1350
+lirr23,lirr27,lirr102,False,975
+lirr23,lirr225,lirr102,True,1100
+lirr23,lirr225,lirr102,False,800
+lirr23,lirr26,lirr102,True,1650
+lirr23,lirr26,lirr102,False,1200
+lirr23,lirr25,lirr214,True,1350
+lirr23,lirr25,lirr214,False,975
+lirr23,lirr16,lirr102,True,1100
+lirr23,lirr16,lirr102,False,800
+lirr23,lirr21,lirr102,True,2125
+lirr23,lirr21,lirr102,False,1550
+lirr23,lirr20,lirr102,True,1100
+lirr23,lirr20,lirr102,False,800
+lirr23,lirr29,lirr102,True,1650
+lirr23,lirr29,lirr102,False,1200
+lirr23,lirr13,lirr102,True,2775
+lirr23,lirr13,lirr102,False,2025
+lirr23,lirr11,lirr214,True,1350
+lirr23,lirr11,lirr214,False,975
+lirr23,lirr39,lirr102,True,1100
+lirr23,lirr39,lirr102,False,800
+lirr23,lirr32,lirr102,True,1000
+lirr23,lirr32,lirr102,False,725
+lirr23,lirr33,lirr102,True,1650
+lirr23,lirr33,lirr102,False,1200
+lirr23,lirr31,lirr102,True,1100
+lirr23,lirr31,lirr102,False,800
+lirr23,lirr40,lirr102,True,1350
+lirr23,lirr40,lirr102,False,975
+lirr23,lirr38,lirr102,True,1350
+lirr23,lirr38,lirr102,False,975
+lirr23,lirr44,lirr102,True,1350
+lirr23,lirr44,lirr102,False,975
+lirr23,lirr42,lirr214,True,1350
+lirr23,lirr42,lirr214,False,975
+lirr23,lirr48,lirr102,True,2775
+lirr23,lirr48,lirr102,False,2025
+lirr23,lirr51,lirr102,True,1100
+lirr23,lirr51,lirr102,False,800
+lirr23,lirr52,lirr102,True,1000
+lirr23,lirr52,lirr102,False,725
+lirr23,lirr65,lirr102,True,1000
+lirr23,lirr65,lirr102,False,725
+lirr23,lirr59,lirr102,True,1100
+lirr23,lirr59,lirr102,False,800
+lirr23,lirr56,lirr214,True,1350
+lirr23,lirr56,lirr214,False,975
+lirr23,lirr64,lirr102,True,1100
+lirr23,lirr64,lirr102,False,800
+lirr23,lirr66,lirr102,True,1000
+lirr23,lirr66,lirr102,False,725
+lirr23,lirr67,lirr102,True,1100
+lirr23,lirr67,lirr102,False,800
+lirr23,lirr71,lirr102,True,1100
+lirr23,lirr71,lirr102,False,800
+lirr23,lirr76,lirr102,True,1100
+lirr23,lirr76,lirr102,False,800
+lirr23,lirr72,lirr214,True,1475
+lirr23,lirr72,lirr214,False,1075
+lirr23,lirr74,lirr102,True,1650
+lirr23,lirr74,lirr102,False,1200
+lirr23,lirr78,lirr102,True,1350
+lirr23,lirr78,lirr102,False,975
+lirr23,lirr73,lirr102,True,2775
+lirr23,lirr73,lirr102,False,2025
+lirr23,lirr77,lirr102,True,1100
+lirr23,lirr77,lirr102,False,800
+lirr23,lirr83,lirr102,True,2775
+lirr23,lirr83,lirr102,False,2025
+lirr23,lirr85,lirr102,True,1000
+lirr23,lirr85,lirr102,False,725
+lirr23,lirr94,lirr102,True,1000
+lirr23,lirr94,lirr102,False,725
+lirr23,lirr92,lirr102,True,1100
+lirr23,lirr92,lirr102,False,800
+lirr23,lirr91,lirr102,True,1350
+lirr23,lirr91,lirr102,False,975
+lirr23,lirr101,lirr102,True,1000
+lirr23,lirr101,lirr102,False,725
+lirr23,lirr99,lirr102,True,1100
+lirr23,lirr99,lirr102,False,800
+lirr23,lirr100,lirr102,True,1650
+lirr23,lirr100,lirr102,False,1200
+lirr23,lirr111,lirr102,True,1650
+lirr23,lirr111,lirr102,False,1200
+lirr23,lirr124,lirr102,True,1000
+lirr23,lirr124,lirr102,False,725
+lirr23,lirr122,lirr102,True,900
+lirr23,lirr122,lirr102,False,650
+lirr23,lirr114,lirr102,True,1000
+lirr23,lirr114,lirr102,False,725
+lirr23,lirr117,lirr102,True,1350
+lirr23,lirr117,lirr102,False,975
+lirr23,lirr120,lirr214,True,1350
+lirr23,lirr120,lirr214,False,975
+lirr23,lirr119,lirr102,True,900
+lirr23,lirr119,lirr102,False,650
+lirr23,lirr123,lirr102,True,1100
+lirr23,lirr123,lirr102,False,800
+lirr23,lirr113,lirr102,True,1100
+lirr23,lirr113,lirr102,False,800
+lirr23,lirr125,lirr102,True,1000
+lirr23,lirr125,lirr102,False,725
+lirr23,lirr142,lirr102,True,1000
+lirr23,lirr142,lirr102,False,725
+lirr23,lirr131,lirr214,True,1475
+lirr23,lirr131,lirr214,False,1075
+lirr23,lirr136,lirr102,True,1100
+lirr23,lirr136,lirr102,False,800
+lirr23,lirr135,lirr102,True,1100
+lirr23,lirr135,lirr102,False,800
+lirr23,lirr140,lirr102,True,2125
+lirr23,lirr140,lirr102,False,1550
+lirr23,lirr126,lirr102,True,2775
+lirr23,lirr126,lirr102,False,2025
+lirr23,lirr129,lirr102,True,1650
+lirr23,lirr129,lirr102,False,1200
+lirr23,lirr127,lirr102,True,1000
+lirr23,lirr127,lirr102,False,725
+lirr23,lirr226,lirr102,True,1100
+lirr23,lirr226,lirr102,False,800
+lirr23,lirr132,lirr102,True,1000
+lirr23,lirr132,lirr102,False,725
+lirr23,lirr141,lirr102,True,2775
+lirr23,lirr141,lirr102,False,2025
+lirr23,lirr130,lirr214,True,1350
+lirr23,lirr130,lirr214,False,975
+lirr23,lirr152,lirr102,True,1000
+lirr23,lirr152,lirr102,False,725
+lirr23,lirr153,lirr102,True,1350
+lirr23,lirr153,lirr102,False,975
+lirr23,lirr157,lirr102,True,1650
+lirr23,lirr157,lirr102,False,1200
+lirr23,lirr155,lirr102,True,1100
+lirr23,lirr155,lirr102,False,800
+lirr23,lirr154,lirr102,True,1100
+lirr23,lirr154,lirr102,False,800
+lirr23,lirr163,lirr102,True,1650
+lirr23,lirr163,lirr102,False,1200
+lirr23,lirr165,lirr102,True,1350
+lirr23,lirr165,lirr102,False,975
+lirr23,lirr162,lirr214,True,1475
+lirr23,lirr162,lirr214,False,1075
+lirr23,lirr164,lirr102,True,1650
+lirr23,lirr164,lirr102,False,1200
+lirr23,lirr171,lirr214,True,1475
+lirr23,lirr171,lirr214,False,1075
+lirr23,lirr176,lirr102,True,2775
+lirr23,lirr176,lirr102,False,2025
+lirr23,lirr183,lirr102,True,1100
+lirr23,lirr183,lirr102,False,800
+lirr23,lirr179,lirr102,True,1650
+lirr23,lirr179,lirr102,False,1200
+lirr23,lirr180,lirr102,True,900
+lirr23,lirr180,lirr102,False,650
+lirr23,lirr182,lirr102,True,1100
+lirr23,lirr182,lirr102,False,800
+lirr23,lirr204,lirr102,True,1650
+lirr23,lirr204,lirr102,False,1200
+lirr23,lirr185,lirr102,True,1100
+lirr23,lirr185,lirr102,False,800
+lirr23,lirr187,lirr102,True,1100
+lirr23,lirr187,lirr102,False,800
+lirr23,lirr202,lirr102,True,1650
+lirr23,lirr202,lirr102,False,1200
+lirr23,lirr191,lirr102,True,2775
+lirr23,lirr191,lirr102,False,2025
+lirr23,lirr190,lirr102,True,2775
+lirr23,lirr190,lirr102,False,2025
+lirr23,lirr198,lirr102,True,2125
+lirr23,lirr198,lirr102,False,1550
+lirr23,lirr184,lirr102,True,900
+lirr23,lirr184,lirr102,False,650
+lirr23,lirr193,lirr102,True,1650
+lirr23,lirr193,lirr102,False,1200
+lirr23,lirr14,lirr102,True,1650
+lirr23,lirr14,lirr102,False,1200
+lirr23,lirr205,lirr102,True,1100
+lirr23,lirr205,lirr102,False,800
+lirr23,lirr211,lirr102,True,1000
+lirr23,lirr211,lirr102,False,725
+lirr23,lirr215,lirr102,True,1100
+lirr23,lirr215,lirr102,False,800
+lirr23,lirr216,lirr102,True,1000
+lirr23,lirr216,lirr102,False,725
+lirr23,lirr213,lirr102,True,1100
+lirr23,lirr213,lirr102,False,800
+lirr23,lirr233,lirr102,True,2775
+lirr23,lirr233,lirr102,False,2025
+lirr23,lirr219,lirr102,True,1000
+lirr23,lirr219,lirr102,False,725
+lirr23,lirr217,lirr102,True,1000
+lirr23,lirr217,lirr102,False,725
+lirr23,lirr220,lirr102,True,1350
+lirr23,lirr220,lirr102,False,975
+lirr23,lirr223,lirr102,True,2125
+lirr23,lirr223,lirr102,False,1550
+lirr16,lirr1,lirr102,True,1225
+lirr16,lirr1,lirr102,False,900
+lirr16,lirr2,lirr214,True,1575
+lirr16,lirr2,lirr214,False,1150
+lirr16,lirr25,lirr214,True,1575
+lirr16,lirr25,lirr214,False,1150
+lirr16,lirr23,lirr102,True,1100
+lirr16,lirr23,lirr102,False,800
+lirr16,lirr20,lirr102,True,1225
+lirr16,lirr20,lirr102,False,900
+lirr16,lirr29,lirr102,True,1825
+lirr16,lirr29,lirr102,False,1325
+lirr16,lirr11,lirr214,True,1575
+lirr16,lirr11,lirr214,False,1150
+lirr16,lirr39,lirr102,True,1225
+lirr16,lirr39,lirr102,False,900
+lirr16,lirr32,lirr102,True,1100
+lirr16,lirr32,lirr211,True,425
+lirr16,lirr32,lirr102,False,800
+lirr16,lirr32,lirr211,False,425
+lirr16,lirr33,lirr102,True,1825
+lirr16,lirr33,lirr102,False,1325
+lirr16,lirr31,lirr102,True,1225
+lirr16,lirr31,lirr125,True,450
+lirr16,lirr31,lirr102,False,900
+lirr16,lirr31,lirr125,False,450
+lirr16,lirr40,lirr102,True,1575
+lirr16,lirr40,lirr102,False,1150
+lirr16,lirr36,lirr102,True,1100
+lirr16,lirr36,lirr102,False,800
+lirr16,lirr44,lirr102,True,1575
+lirr16,lirr44,lirr102,False,1150
+lirr16,lirr42,lirr214,True,1575
+lirr16,lirr42,lirr214,False,1150
+lirr16,lirr51,lirr102,True,1225
+lirr16,lirr51,lirr125,True,450
+lirr16,lirr51,lirr102,False,900
+lirr16,lirr51,lirr125,False,450
+lirr16,lirr52,lirr102,True,1100
+lirr16,lirr52,lirr102,False,800
+lirr16,lirr65,lirr102,True,1100
+lirr16,lirr65,lirr211,True,425
+lirr16,lirr65,lirr102,False,800
+lirr16,lirr65,lirr211,False,425
+lirr16,lirr59,lirr102,True,1225
+lirr16,lirr59,lirr102,False,900
+lirr16,lirr63,lirr102,True,1100
+lirr16,lirr63,lirr102,False,800
+lirr16,lirr56,lirr214,True,1575
+lirr16,lirr56,lirr214,False,1150
+lirr16,lirr68,lirr102,True,1100
+lirr16,lirr68,lirr102,False,800
+lirr16,lirr66,lirr102,True,1100
+lirr16,lirr66,lirr211,True,425
+lirr16,lirr66,lirr102,False,800
+lirr16,lirr66,lirr211,False,425
+lirr16,lirr67,lirr102,True,1225
+lirr16,lirr67,lirr102,False,900
+lirr16,lirr71,lirr102,True,1225
+lirr16,lirr71,lirr102,False,900
+lirr16,lirr76,lirr102,True,1225
+lirr16,lirr76,lirr102,False,900
+lirr16,lirr72,lirr214,True,1725
+lirr16,lirr72,lirr214,False,1250
+lirr16,lirr78,lirr102,True,1575
+lirr16,lirr78,lirr102,False,1150
+lirr16,lirr73,lirr102,True,2975
+lirr16,lirr73,lirr102,False,2175
+lirr16,lirr77,lirr102,True,1225
+lirr16,lirr77,lirr102,False,900
+lirr16,lirr84,lirr102,True,1100
+lirr16,lirr84,lirr102,False,800
+lirr16,lirr85,lirr102,True,1100
+lirr16,lirr85,lirr102,False,800
+lirr16,lirr94,lirr102,True,1100
+lirr16,lirr94,lirr211,True,425
+lirr16,lirr94,lirr102,False,800
+lirr16,lirr94,lirr211,False,425
+lirr16,lirr92,lirr102,True,1225
+lirr16,lirr92,lirr102,False,900
+lirr16,lirr89,lirr102,True,1050
+lirr16,lirr89,lirr102,False,775
+lirr16,lirr91,lirr102,True,1575
+lirr16,lirr91,lirr102,False,1150
+lirr16,lirr101,lirr102,True,1100
+lirr16,lirr101,lirr211,True,425
+lirr16,lirr101,lirr102,False,800
+lirr16,lirr101,lirr211,False,425
+lirr16,lirr99,lirr102,True,1225
+lirr16,lirr99,lirr125,True,450
+lirr16,lirr99,lirr102,False,900
+lirr16,lirr99,lirr125,False,450
+lirr16,lirr111,lirr102,True,1825
+lirr16,lirr111,lirr102,False,1325
+lirr16,lirr124,lirr102,True,1100
+lirr16,lirr124,lirr102,False,800
+lirr16,lirr122,lirr102,True,1050
+lirr16,lirr122,lirr102,False,775
+lirr16,lirr114,lirr102,True,1100
+lirr16,lirr114,lirr211,True,425
+lirr16,lirr114,lirr102,False,800
+lirr16,lirr114,lirr211,False,425
+lirr16,lirr120,lirr214,True,1575
+lirr16,lirr120,lirr214,False,1150
+lirr16,lirr119,lirr102,True,1050
+lirr16,lirr119,lirr102,False,775
+lirr16,lirr123,lirr102,True,1225
+lirr16,lirr123,lirr102,False,900
+lirr16,lirr113,lirr102,True,1225
+lirr16,lirr113,lirr125,True,450
+lirr16,lirr113,lirr102,False,900
+lirr16,lirr113,lirr125,False,450
+lirr16,lirr125,lirr102,True,1100
+lirr16,lirr125,lirr102,False,800
+lirr16,lirr142,lirr102,True,1100
+lirr16,lirr142,lirr102,False,800
+lirr16,lirr131,lirr214,True,1725
+lirr16,lirr131,lirr214,False,1250
+lirr16,lirr126,lirr102,True,2975
+lirr16,lirr126,lirr102,False,2175
+lirr16,lirr129,lirr102,True,1825
+lirr16,lirr129,lirr102,False,1325
+lirr16,lirr127,lirr102,True,1100
+lirr16,lirr127,lirr102,False,800
+lirr16,lirr132,lirr102,True,1100
+lirr16,lirr132,lirr102,False,800
+lirr16,lirr130,lirr214,True,1575
+lirr16,lirr130,lirr214,False,1150
+lirr16,lirr149,lirr102,True,1100
+lirr16,lirr149,lirr102,False,800
+lirr16,lirr152,lirr102,True,1100
+lirr16,lirr152,lirr102,False,800
+lirr16,lirr153,lirr102,True,1575
+lirr16,lirr153,lirr102,False,1150
+lirr16,lirr155,lirr102,True,1225
+lirr16,lirr155,lirr125,True,450
+lirr16,lirr155,lirr102,False,900
+lirr16,lirr155,lirr125,False,450
+lirr16,lirr154,lirr102,True,1225
+lirr16,lirr154,lirr102,False,900
+lirr16,lirr165,lirr102,True,1575
+lirr16,lirr165,lirr102,False,1150
+lirr16,lirr162,lirr214,True,1725
+lirr16,lirr162,lirr214,False,1250
+lirr16,lirr164,lirr102,True,1825
+lirr16,lirr164,lirr102,False,1325
+lirr16,lirr171,lirr214,True,1725
+lirr16,lirr171,lirr214,False,1250
+lirr16,lirr175,lirr102,True,1050
+lirr16,lirr175,lirr102,False,775
+lirr16,lirr176,lirr102,True,2975
+lirr16,lirr176,lirr102,False,2175
+lirr16,lirr179,lirr102,True,1825
+lirr16,lirr179,lirr102,False,1325
+lirr16,lirr180,lirr102,True,1050
+lirr16,lirr180,lirr102,False,775
+lirr16,lirr182,lirr102,True,1225
+lirr16,lirr182,lirr102,False,900
+lirr16,lirr185,lirr102,True,1225
+lirr16,lirr185,lirr102,False,900
+lirr16,lirr202,lirr102,True,1825
+lirr16,lirr202,lirr102,False,1325
+lirr16,lirr190,lirr102,True,2975
+lirr16,lirr190,lirr102,False,2175
+lirr16,lirr184,lirr102,True,1050
+lirr16,lirr184,lirr102,False,775
+lirr16,lirr193,lirr102,True,1825
+lirr16,lirr193,lirr102,False,1325
+lirr16,lirr195,lirr102,True,1100
+lirr16,lirr195,lirr102,False,800
+lirr16,lirr14,lirr102,True,1825
+lirr16,lirr14,lirr102,False,1325
+lirr16,lirr205,lirr102,True,1225
+lirr16,lirr205,lirr102,False,900
+lirr16,lirr211,lirr102,True,1100
+lirr16,lirr211,lirr102,False,800
+lirr16,lirr216,lirr102,True,1100
+lirr16,lirr216,lirr102,False,800
+lirr16,lirr213,lirr102,True,1225
+lirr16,lirr213,lirr102,False,900
+lirr16,lirr219,lirr102,True,1100
+lirr16,lirr219,lirr102,False,800
+lirr16,lirr217,lirr102,True,1100
+lirr16,lirr217,lirr211,True,425
+lirr16,lirr217,lirr102,False,800
+lirr16,lirr217,lirr211,False,425
+lirr16,lirr220,lirr102,True,1575
+lirr16,lirr220,lirr102,False,1150
+lirr16,lirr223,lirr102,True,2275
+lirr16,lirr223,lirr102,False,1650
+lirr21,lirr1,lirr102,True,2275
+lirr21,lirr1,lirr132,True,1225
+lirr21,lirr1,lirr102,False,1650
+lirr21,lirr1,lirr132,False,1225
+lirr21,lirr2,lirr214,True,2500
+lirr21,lirr2,lirr214,False,1825
+lirr21,lirr25,lirr214,True,2500
+lirr21,lirr25,lirr214,False,1825
+lirr21,lirr23,lirr102,True,2125
+lirr21,lirr23,lirr102,False,1550
+lirr21,lirr20,lirr102,True,2275
+lirr21,lirr20,lirr92,True,1050
+lirr21,lirr20,lirr102,False,1650
+lirr21,lirr20,lirr92,False,1050
+lirr21,lirr29,lirr102,True,2800
+lirr21,lirr29,lirr92,True,1350
+lirr21,lirr29,lirr102,False,2025
+lirr21,lirr29,lirr92,False,1350
+lirr21,lirr11,lirr214,True,2500
+lirr21,lirr11,lirr214,False,1825
+lirr21,lirr39,lirr102,True,2275
+lirr21,lirr39,lirr102,False,1650
+lirr21,lirr32,lirr102,True,2125
+lirr21,lirr32,lirr102,False,1550
+lirr21,lirr33,lirr102,True,2800
+lirr21,lirr33,lirr92,True,1350
+lirr21,lirr33,lirr102,False,2025
+lirr21,lirr33,lirr92,False,1350
+lirr21,lirr31,lirr102,True,2275
+lirr21,lirr31,lirr125,True,1225
+lirr21,lirr31,lirr102,False,1650
+lirr21,lirr31,lirr125,False,1225
+lirr21,lirr40,lirr102,True,2600
+lirr21,lirr40,lirr92,True,1100
+lirr21,lirr40,lirr102,False,1900
+lirr21,lirr40,lirr92,False,1100
+lirr21,lirr36,lirr102,True,2125
+lirr21,lirr36,lirr63,True,1200
+lirr21,lirr36,lirr102,False,1550
+lirr21,lirr36,lirr63,False,1200
+lirr21,lirr44,lirr102,True,2600
+lirr21,lirr44,lirr92,True,1100
+lirr21,lirr44,lirr102,False,1900
+lirr21,lirr44,lirr92,False,1100
+lirr21,lirr42,lirr214,True,2500
+lirr21,lirr42,lirr214,False,1825
+lirr21,lirr51,lirr102,True,2275
+lirr21,lirr51,lirr125,True,1225
+lirr21,lirr51,lirr102,False,1650
+lirr21,lirr51,lirr125,False,1225
+lirr21,lirr52,lirr102,True,2125
+lirr21,lirr52,lirr132,True,1200
+lirr21,lirr52,lirr102,False,1550
+lirr21,lirr52,lirr132,False,1200
+lirr21,lirr65,lirr102,True,2125
+lirr21,lirr65,lirr102,False,1550
+lirr21,lirr59,lirr102,True,2275
+lirr21,lirr59,lirr92,True,1050
+lirr21,lirr59,lirr102,False,1650
+lirr21,lirr59,lirr92,False,1050
+lirr21,lirr63,lirr102,True,2125
+lirr21,lirr63,lirr102,False,1550
+lirr21,lirr56,lirr214,True,2500
+lirr21,lirr56,lirr214,False,1825
+lirr21,lirr68,lirr102,True,2125
+lirr21,lirr68,lirr63,True,1200
+lirr21,lirr68,lirr102,False,1550
+lirr21,lirr68,lirr63,False,1200
+lirr21,lirr66,lirr102,True,2125
+lirr21,lirr66,lirr102,False,1550
+lirr21,lirr67,lirr102,True,2275
+lirr21,lirr67,lirr132,True,1225
+lirr21,lirr67,lirr102,False,1650
+lirr21,lirr67,lirr132,False,1225
+lirr21,lirr71,lirr102,True,2275
+lirr21,lirr71,lirr132,True,1225
+lirr21,lirr71,lirr102,False,1650
+lirr21,lirr71,lirr132,False,1225
+lirr21,lirr76,lirr102,True,2275
+lirr21,lirr76,lirr132,True,1225
+lirr21,lirr76,lirr102,False,1650
+lirr21,lirr76,lirr132,False,1225
+lirr21,lirr72,lirr214,True,2700
+lirr21,lirr72,lirr214,False,1975
+lirr21,lirr78,lirr102,True,2600
+lirr21,lirr78,lirr92,True,1100
+lirr21,lirr78,lirr102,False,1900
+lirr21,lirr78,lirr92,False,1100
+lirr21,lirr73,lirr102,True,4000
+lirr21,lirr73,lirr92,True,2450
+lirr21,lirr73,lirr102,False,2900
+lirr21,lirr73,lirr92,False,2450
+lirr21,lirr77,lirr102,True,2275
+lirr21,lirr77,lirr132,True,1225
+lirr21,lirr77,lirr102,False,1650
+lirr21,lirr77,lirr132,False,1225
+lirr21,lirr84,lirr102,True,2125
+lirr21,lirr84,lirr63,True,1200
+lirr21,lirr84,lirr102,False,1550
+lirr21,lirr84,lirr63,False,1200
+lirr21,lirr85,lirr102,True,2125
+lirr21,lirr85,lirr102,False,1550
+lirr21,lirr94,lirr102,True,2125
+lirr21,lirr94,lirr102,False,1550
+lirr21,lirr92,lirr102,True,2275
+lirr21,lirr92,lirr102,False,1650
+lirr21,lirr89,lirr102,True,2050
+lirr21,lirr89,lirr102,False,1500
+lirr21,lirr91,lirr102,True,2600
+lirr21,lirr91,lirr92,True,1100
+lirr21,lirr91,lirr102,False,1900
+lirr21,lirr91,lirr92,False,1100
+lirr21,lirr101,lirr102,True,2125
+lirr21,lirr101,lirr102,False,1550
+lirr21,lirr99,lirr102,True,2275
+lirr21,lirr99,lirr125,True,1225
+lirr21,lirr99,lirr102,False,1650
+lirr21,lirr99,lirr125,False,1225
+lirr21,lirr111,lirr102,True,2800
+lirr21,lirr111,lirr92,True,1350
+lirr21,lirr111,lirr102,False,2025
+lirr21,lirr111,lirr92,False,1350
+lirr21,lirr124,lirr102,True,2125
+lirr21,lirr124,lirr102,False,1550
+lirr21,lirr122,lirr102,True,2050
+lirr21,lirr122,lirr102,False,1500
+lirr21,lirr114,lirr102,True,2125
+lirr21,lirr114,lirr102,False,1550
+lirr21,lirr120,lirr214,True,2500
+lirr21,lirr120,lirr214,False,1825
+lirr21,lirr119,lirr102,True,2050
+lirr21,lirr119,lirr102,False,1500
+lirr21,lirr123,lirr102,True,2275
+lirr21,lirr123,lirr132,True,1225
+lirr21,lirr123,lirr102,False,1650
+lirr21,lirr123,lirr132,False,1225
+lirr21,lirr113,lirr102,True,2275
+lirr21,lirr113,lirr125,True,1225
+lirr21,lirr113,lirr102,False,1650
+lirr21,lirr113,lirr125,False,1225
+lirr21,lirr125,lirr102,True,2125
+lirr21,lirr125,lirr102,False,1550
+lirr21,lirr142,lirr102,True,2125
+lirr21,lirr142,lirr102,False,1550
+lirr21,lirr131,lirr214,True,2700
+lirr21,lirr131,lirr214,False,1975
+lirr21,lirr126,lirr102,True,4000
+lirr21,lirr126,lirr92,True,2450
+lirr21,lirr126,lirr102,False,2900
+lirr21,lirr126,lirr92,False,2450
+lirr21,lirr129,lirr102,True,2800
+lirr21,lirr129,lirr92,True,1350
+lirr21,lirr129,lirr102,False,2025
+lirr21,lirr129,lirr92,False,1350
+lirr21,lirr127,lirr102,True,2125
+lirr21,lirr127,lirr102,False,1550
+lirr21,lirr132,lirr102,True,2125
+lirr21,lirr132,lirr102,False,1550
+lirr21,lirr130,lirr214,True,2500
+lirr21,lirr130,lirr214,False,1825
+lirr21,lirr149,lirr102,True,2125
+lirr21,lirr149,lirr63,True,1200
+lirr21,lirr149,lirr102,False,1550
+lirr21,lirr149,lirr63,False,1200
+lirr21,lirr152,lirr102,True,2125
+lirr21,lirr152,lirr102,False,1550
+lirr21,lirr153,lirr102,True,2600
+lirr21,lirr153,lirr92,True,1100
+lirr21,lirr153,lirr102,False,1900
+lirr21,lirr153,lirr92,False,1100
+lirr21,lirr155,lirr102,True,2275
+lirr21,lirr155,lirr125,True,1225
+lirr21,lirr155,lirr102,False,1650
+lirr21,lirr155,lirr125,False,1225
+lirr21,lirr154,lirr102,True,2275
+lirr21,lirr154,lirr132,True,1225
+lirr21,lirr154,lirr102,False,1650
+lirr21,lirr154,lirr132,False,1225
+lirr21,lirr165,lirr102,True,2600
+lirr21,lirr165,lirr92,True,1100
+lirr21,lirr165,lirr102,False,1900
+lirr21,lirr165,lirr92,False,1100
+lirr21,lirr162,lirr214,True,2700
+lirr21,lirr162,lirr214,False,1975
+lirr21,lirr164,lirr102,True,2800
+lirr21,lirr164,lirr92,True,1350
+lirr21,lirr164,lirr102,False,2025
+lirr21,lirr164,lirr92,False,1350
+lirr21,lirr171,lirr214,True,2700
+lirr21,lirr171,lirr214,False,1975
+lirr21,lirr175,lirr102,True,2050
+lirr21,lirr175,lirr102,False,1500
+lirr21,lirr176,lirr102,True,4000
+lirr21,lirr176,lirr92,True,2450
+lirr21,lirr176,lirr102,False,2900
+lirr21,lirr176,lirr92,False,2450
+lirr21,lirr179,lirr102,True,2800
+lirr21,lirr179,lirr92,True,1350
+lirr21,lirr179,lirr102,False,2025
+lirr21,lirr179,lirr92,False,1350
+lirr21,lirr180,lirr102,True,2050
+lirr21,lirr180,lirr102,False,1500
+lirr21,lirr182,lirr102,True,2275
+lirr21,lirr182,lirr132,True,1225
+lirr21,lirr182,lirr102,False,1650
+lirr21,lirr182,lirr132,False,1225
+lirr21,lirr185,lirr102,True,2275
+lirr21,lirr185,lirr132,True,1225
+lirr21,lirr185,lirr102,False,1650
+lirr21,lirr185,lirr132,False,1225
+lirr21,lirr202,lirr102,True,2800
+lirr21,lirr202,lirr92,True,1350
+lirr21,lirr202,lirr102,False,2025
+lirr21,lirr202,lirr92,False,1350
+lirr21,lirr190,lirr102,True,4000
+lirr21,lirr190,lirr92,True,2450
+lirr21,lirr190,lirr102,False,2900
+lirr21,lirr190,lirr92,False,2450
+lirr21,lirr184,lirr102,True,2050
+lirr21,lirr184,lirr102,False,1500
+lirr21,lirr193,lirr102,True,2800
+lirr21,lirr193,lirr92,True,1350
+lirr21,lirr193,lirr102,False,2025
+lirr21,lirr193,lirr92,False,1350
+lirr21,lirr195,lirr102,True,2125
+lirr21,lirr195,lirr63,True,1200
+lirr21,lirr195,lirr102,False,1550
+lirr21,lirr195,lirr63,False,1200
+lirr21,lirr14,lirr102,True,2800
+lirr21,lirr14,lirr92,True,1350
+lirr21,lirr14,lirr102,False,2025
+lirr21,lirr14,lirr92,False,1350
+lirr21,lirr205,lirr102,True,2275
+lirr21,lirr205,lirr92,True,1050
+lirr21,lirr205,lirr102,False,1650
+lirr21,lirr205,lirr92,False,1050
+lirr21,lirr211,lirr102,True,2125
+lirr21,lirr211,lirr102,False,1550
+lirr21,lirr216,lirr102,True,2125
+lirr21,lirr216,lirr102,False,1550
+lirr21,lirr213,lirr102,True,2275
+lirr21,lirr213,lirr102,False,1650
+lirr21,lirr219,lirr102,True,2125
+lirr21,lirr219,lirr102,False,1550
+lirr21,lirr217,lirr102,True,2125
+lirr21,lirr217,lirr102,False,1550
+lirr21,lirr220,lirr102,True,2600
+lirr21,lirr220,lirr92,True,1100
+lirr21,lirr220,lirr102,False,1900
+lirr21,lirr220,lirr92,False,1100
+lirr21,lirr223,lirr102,True,3300
+lirr21,lirr223,lirr92,True,1775
+lirr21,lirr223,lirr102,False,2400
+lirr21,lirr223,lirr92,False,1775
+lirr20,lirr1,lirr132,True,450
+lirr20,lirr1,lirr132,False,450
+lirr20,lirr4,lirr102,True,2975
+lirr20,lirr4,lirr92,True,1725
+lirr20,lirr4,lirr102,False,2175
+lirr20,lirr4,lirr92,False,1725
+lirr20,lirr8,lirr102,True,1575
+lirr20,lirr8,lirr102,False,1150
+lirr20,lirr2,lirr214,True,1575
+lirr20,lirr2,lirr214,False,1150
+lirr20,lirr27,lirr102,True,1575
+lirr20,lirr27,lirr92,True,425
+lirr20,lirr27,lirr102,False,1150
+lirr20,lirr27,lirr92,False,425
+lirr20,lirr225,lirr102,True,1225
+lirr20,lirr225,lirr102,False,900
+lirr20,lirr26,lirr102,True,1825
+lirr20,lirr26,lirr92,True,600
+lirr20,lirr26,lirr102,False,1325
+lirr20,lirr26,lirr92,False,600
+lirr20,lirr25,lirr214,True,1575
+lirr20,lirr25,lirr214,False,1150
+lirr20,lirr23,lirr102,True,1100
+lirr20,lirr23,lirr102,False,800
+lirr20,lirr16,lirr102,True,1225
+lirr20,lirr16,lirr102,False,900
+lirr20,lirr21,lirr102,True,2275
+lirr20,lirr21,lirr92,True,1050
+lirr20,lirr21,lirr102,False,1650
+lirr20,lirr21,lirr92,False,1050
+lirr20,lirr13,lirr102,True,2975
+lirr20,lirr13,lirr92,True,1725
+lirr20,lirr13,lirr102,False,2175
+lirr20,lirr13,lirr92,False,1725
+lirr20,lirr11,lirr214,True,1575
+lirr20,lirr11,lirr214,False,1150
+lirr20,lirr32,lirr102,True,1100
+lirr20,lirr32,lirr102,False,800
+lirr20,lirr31,lirr102,True,1225
+lirr20,lirr31,lirr102,False,900
+lirr20,lirr40,lirr92,True,425
+lirr20,lirr40,lirr92,False,425
+lirr20,lirr38,lirr102,True,1575
+lirr20,lirr38,lirr102,False,1150
+lirr20,lirr36,lirr102,True,1100
+lirr20,lirr36,lirr63,True,425
+lirr20,lirr36,lirr102,False,800
+lirr20,lirr36,lirr63,False,425
+lirr20,lirr42,lirr214,True,1575
+lirr20,lirr42,lirr214,False,1150
+lirr20,lirr48,lirr102,True,2975
+lirr20,lirr48,lirr92,True,1725
+lirr20,lirr48,lirr102,False,2175
+lirr20,lirr48,lirr92,False,1725
+lirr20,lirr51,lirr102,True,1225
+lirr20,lirr51,lirr102,False,900
+lirr20,lirr52,lirr132,True,425
+lirr20,lirr52,lirr132,False,425
+lirr20,lirr65,lirr102,True,1100
+lirr20,lirr65,lirr102,False,800
+lirr20,lirr63,lirr102,True,1100
+lirr20,lirr63,lirr102,False,800
+lirr20,lirr56,lirr214,True,1575
+lirr20,lirr56,lirr214,False,1150
+lirr20,lirr64,lirr102,True,1225
+lirr20,lirr64,lirr102,False,900
+lirr20,lirr68,lirr102,True,1100
+lirr20,lirr68,lirr63,True,425
+lirr20,lirr68,lirr102,False,800
+lirr20,lirr68,lirr63,False,425
+lirr20,lirr66,lirr102,True,1100
+lirr20,lirr66,lirr102,False,800
+lirr20,lirr67,lirr132,True,450
+lirr20,lirr67,lirr132,False,450
+lirr20,lirr71,lirr132,True,450
+lirr20,lirr71,lirr132,False,450
+lirr20,lirr76,lirr132,True,450
+lirr20,lirr76,lirr132,False,450
+lirr20,lirr72,lirr214,True,1725
+lirr20,lirr72,lirr214,False,1250
+lirr20,lirr74,lirr102,True,1825
+lirr20,lirr74,lirr92,True,600
+lirr20,lirr74,lirr102,False,1325
+lirr20,lirr74,lirr92,False,600
+lirr20,lirr78,lirr92,True,425
+lirr20,lirr78,lirr92,False,425
+lirr20,lirr77,lirr132,True,450
+lirr20,lirr77,lirr132,False,450
+lirr20,lirr83,lirr102,True,2975
+lirr20,lirr83,lirr92,True,1725
+lirr20,lirr83,lirr102,False,2175
+lirr20,lirr83,lirr92,False,1725
+lirr20,lirr84,lirr102,True,1100
+lirr20,lirr84,lirr63,True,425
+lirr20,lirr84,lirr102,False,800
+lirr20,lirr84,lirr63,False,425
+lirr20,lirr85,lirr102,True,1100
+lirr20,lirr85,lirr102,False,800
+lirr20,lirr94,lirr102,True,1100
+lirr20,lirr94,lirr102,False,800
+lirr20,lirr89,lirr102,True,1050
+lirr20,lirr89,lirr102,False,775
+lirr20,lirr91,lirr92,True,425
+lirr20,lirr91,lirr92,False,425
+lirr20,lirr101,lirr102,True,1100
+lirr20,lirr101,lirr102,False,800
+lirr20,lirr99,lirr102,True,1225
+lirr20,lirr99,lirr102,False,900
+lirr20,lirr100,lirr102,True,1825
+lirr20,lirr100,lirr92,True,600
+lirr20,lirr100,lirr102,False,1325
+lirr20,lirr100,lirr92,False,600
+lirr20,lirr111,lirr92,True,600
+lirr20,lirr111,lirr92,False,600
+lirr20,lirr124,lirr102,True,1100
+lirr20,lirr124,lirr102,False,800
+lirr20,lirr122,lirr102,True,1050
+lirr20,lirr122,lirr102,False,775
+lirr20,lirr114,lirr102,True,1100
+lirr20,lirr114,lirr102,False,800
+lirr20,lirr117,lirr102,True,1575
+lirr20,lirr117,lirr102,False,1150
+lirr20,lirr120,lirr214,True,1575
+lirr20,lirr120,lirr214,False,1150
+lirr20,lirr119,lirr102,True,1050
+lirr20,lirr119,lirr102,False,775
+lirr20,lirr123,lirr132,True,450
+lirr20,lirr123,lirr132,False,450
+lirr20,lirr113,lirr102,True,1225
+lirr20,lirr113,lirr102,False,900
+lirr20,lirr125,lirr102,True,1100
+lirr20,lirr125,lirr102,False,800
+lirr20,lirr142,lirr102,True,1100
+lirr20,lirr142,lirr102,False,800
+lirr20,lirr131,lirr214,True,1725
+lirr20,lirr131,lirr214,False,1250
+lirr20,lirr136,lirr102,True,1225
+lirr20,lirr136,lirr102,False,900
+lirr20,lirr135,lirr102,True,1225
+lirr20,lirr135,lirr102,False,900
+lirr20,lirr140,lirr102,True,2275
+lirr20,lirr140,lirr92,True,1050
+lirr20,lirr140,lirr102,False,1650
+lirr20,lirr140,lirr92,False,1050
+lirr20,lirr226,lirr102,True,1225
+lirr20,lirr226,lirr102,False,900
+lirr20,lirr141,lirr102,True,2975
+lirr20,lirr141,lirr92,True,1725
+lirr20,lirr141,lirr102,False,2175
+lirr20,lirr141,lirr92,False,1725
+lirr20,lirr130,lirr214,True,1575
+lirr20,lirr130,lirr214,False,1150
+lirr20,lirr149,lirr102,True,1100
+lirr20,lirr149,lirr63,True,425
+lirr20,lirr149,lirr102,False,800
+lirr20,lirr149,lirr63,False,425
+lirr20,lirr153,lirr92,True,425
+lirr20,lirr153,lirr92,False,425
+lirr20,lirr157,lirr102,True,1825
+lirr20,lirr157,lirr92,True,600
+lirr20,lirr157,lirr102,False,1325
+lirr20,lirr157,lirr92,False,600
+lirr20,lirr155,lirr102,True,1225
+lirr20,lirr155,lirr102,False,900
+lirr20,lirr154,lirr132,True,450
+lirr20,lirr154,lirr132,False,450
+lirr20,lirr163,lirr102,True,1825
+lirr20,lirr163,lirr92,True,600
+lirr20,lirr163,lirr102,False,1325
+lirr20,lirr163,lirr92,False,600
+lirr20,lirr162,lirr214,True,1725
+lirr20,lirr162,lirr214,False,1250
+lirr20,lirr164,lirr92,True,600
+lirr20,lirr164,lirr92,False,600
+lirr20,lirr171,lirr214,True,1725
+lirr20,lirr171,lirr214,False,1250
+lirr20,lirr175,lirr102,True,1050
+lirr20,lirr175,lirr102,False,775
+lirr20,lirr183,lirr102,True,1225
+lirr20,lirr183,lirr102,False,900
+lirr20,lirr180,lirr102,True,1050
+lirr20,lirr180,lirr102,False,775
+lirr20,lirr182,lirr132,True,450
+lirr20,lirr182,lirr132,False,450
+lirr20,lirr204,lirr102,True,1825
+lirr20,lirr204,lirr92,True,600
+lirr20,lirr204,lirr102,False,1325
+lirr20,lirr204,lirr92,False,600
+lirr20,lirr185,lirr132,True,450
+lirr20,lirr185,lirr132,False,450
+lirr20,lirr187,lirr102,True,1225
+lirr20,lirr187,lirr102,False,900
+lirr20,lirr202,lirr92,True,600
+lirr20,lirr202,lirr92,False,600
+lirr20,lirr191,lirr102,True,2975
+lirr20,lirr191,lirr92,True,1725
+lirr20,lirr191,lirr102,False,2175
+lirr20,lirr191,lirr92,False,1725
+lirr20,lirr198,lirr102,True,2275
+lirr20,lirr198,lirr92,True,1050
+lirr20,lirr198,lirr102,False,1650
+lirr20,lirr198,lirr92,False,1050
+lirr20,lirr184,lirr102,True,1050
+lirr20,lirr184,lirr102,False,775
+lirr20,lirr193,lirr92,True,600
+lirr20,lirr193,lirr92,False,600
+lirr20,lirr195,lirr102,True,1100
+lirr20,lirr195,lirr63,True,425
+lirr20,lirr195,lirr102,False,800
+lirr20,lirr195,lirr63,False,425
+lirr20,lirr14,lirr92,True,600
+lirr20,lirr14,lirr92,False,600
+lirr20,lirr205,lirr92,True,425
+lirr20,lirr205,lirr92,False,425
+lirr20,lirr211,lirr102,True,1100
+lirr20,lirr211,lirr102,False,800
+lirr20,lirr215,lirr102,True,1225
+lirr20,lirr215,lirr102,False,900
+lirr20,lirr216,lirr102,True,1100
+lirr20,lirr216,lirr102,False,800
+lirr20,lirr233,lirr102,True,2975
+lirr20,lirr233,lirr92,True,1725
+lirr20,lirr233,lirr102,False,2175
+lirr20,lirr233,lirr92,False,1725
+lirr20,lirr219,lirr102,True,1100
+lirr20,lirr219,lirr102,False,800
+lirr20,lirr217,lirr102,True,1100
+lirr20,lirr217,lirr102,False,800
+lirr29,lirr1,lirr132,True,900
+lirr29,lirr1,lirr132,False,900
+lirr29,lirr4,lirr102,True,3475
+lirr29,lirr4,lirr92,True,2025
+lirr29,lirr4,lirr102,False,2525
+lirr29,lirr4,lirr92,False,2025
+lirr29,lirr8,lirr102,True,2125
+lirr29,lirr8,lirr102,False,1550
+lirr29,lirr2,lirr214,True,2050
+lirr29,lirr2,lirr214,False,1500
+lirr29,lirr27,lirr102,True,2125
+lirr29,lirr27,lirr92,True,650
+lirr29,lirr27,lirr102,False,1550
+lirr29,lirr27,lirr92,False,650
+lirr29,lirr225,lirr102,True,1825
+lirr29,lirr225,lirr102,False,1325
+lirr29,lirr26,lirr102,True,2275
+lirr29,lirr26,lirr92,True,1000
+lirr29,lirr26,lirr102,False,1650
+lirr29,lirr26,lirr92,False,1000
+lirr29,lirr25,lirr214,True,2050
+lirr29,lirr25,lirr214,False,1500
+lirr29,lirr23,lirr102,True,1650
+lirr29,lirr23,lirr102,False,1200
+lirr29,lirr16,lirr102,True,1825
+lirr29,lirr16,lirr102,False,1325
+lirr29,lirr21,lirr102,True,2800
+lirr29,lirr21,lirr92,True,1350
+lirr29,lirr21,lirr102,False,2025
+lirr29,lirr21,lirr92,False,1350
+lirr29,lirr13,lirr102,True,3475
+lirr29,lirr13,lirr92,True,2025
+lirr29,lirr13,lirr102,False,2525
+lirr29,lirr13,lirr92,False,2025
+lirr29,lirr11,lirr214,True,2050
+lirr29,lirr11,lirr214,False,1500
+lirr29,lirr32,lirr102,True,1650
+lirr29,lirr32,lirr102,False,1200
+lirr29,lirr31,lirr102,True,1825
+lirr29,lirr31,lirr102,False,1325
+lirr29,lirr40,lirr92,True,650
+lirr29,lirr40,lirr92,False,650
+lirr29,lirr38,lirr102,True,2125
+lirr29,lirr38,lirr102,False,1550
+lirr29,lirr36,lirr102,True,1650
+lirr29,lirr36,lirr63,True,825
+lirr29,lirr36,lirr102,False,1200
+lirr29,lirr36,lirr63,False,825
+lirr29,lirr42,lirr214,True,2050
+lirr29,lirr42,lirr214,False,1500
+lirr29,lirr48,lirr102,True,3475
+lirr29,lirr48,lirr92,True,2025
+lirr29,lirr48,lirr102,False,2525
+lirr29,lirr48,lirr92,False,2025
+lirr29,lirr51,lirr102,True,1825
+lirr29,lirr51,lirr102,False,1325
+lirr29,lirr52,lirr132,True,825
+lirr29,lirr52,lirr132,False,825
+lirr29,lirr65,lirr102,True,1650
+lirr29,lirr65,lirr102,False,1200
+lirr29,lirr63,lirr102,True,1650
+lirr29,lirr63,lirr102,False,1200
+lirr29,lirr56,lirr214,True,2050
+lirr29,lirr56,lirr214,False,1500
+lirr29,lirr64,lirr102,True,1825
+lirr29,lirr64,lirr102,False,1325
+lirr29,lirr68,lirr102,True,1650
+lirr29,lirr68,lirr63,True,825
+lirr29,lirr68,lirr102,False,1200
+lirr29,lirr68,lirr63,False,825
+lirr29,lirr66,lirr102,True,1650
+lirr29,lirr66,lirr102,False,1200
+lirr29,lirr67,lirr132,True,900
+lirr29,lirr67,lirr132,False,900
+lirr29,lirr71,lirr132,True,900
+lirr29,lirr71,lirr132,False,900
+lirr29,lirr76,lirr132,True,900
+lirr29,lirr76,lirr132,False,900
+lirr29,lirr72,lirr214,True,2225
+lirr29,lirr72,lirr214,False,1625
+lirr29,lirr74,lirr102,True,2275
+lirr29,lirr74,lirr92,True,1000
+lirr29,lirr74,lirr102,False,1650
+lirr29,lirr74,lirr92,False,1000
+lirr29,lirr78,lirr92,True,650
+lirr29,lirr78,lirr92,False,650
+lirr29,lirr77,lirr132,True,900
+lirr29,lirr77,lirr132,False,900
+lirr29,lirr83,lirr102,True,3475
+lirr29,lirr83,lirr92,True,2025
+lirr29,lirr83,lirr102,False,2525
+lirr29,lirr83,lirr92,False,2025
+lirr29,lirr84,lirr102,True,1650
+lirr29,lirr84,lirr63,True,825
+lirr29,lirr84,lirr102,False,1200
+lirr29,lirr84,lirr63,False,825
+lirr29,lirr85,lirr102,True,1650
+lirr29,lirr85,lirr102,False,1200
+lirr29,lirr94,lirr102,True,1650
+lirr29,lirr94,lirr102,False,1200
+lirr29,lirr89,lirr102,True,1575
+lirr29,lirr89,lirr102,False,1150
+lirr29,lirr91,lirr92,True,650
+lirr29,lirr91,lirr92,False,650
+lirr29,lirr101,lirr102,True,1650
+lirr29,lirr101,lirr102,False,1200
+lirr29,lirr99,lirr102,True,1825
+lirr29,lirr99,lirr102,False,1325
+lirr29,lirr100,lirr102,True,2275
+lirr29,lirr100,lirr92,True,1000
+lirr29,lirr100,lirr102,False,1650
+lirr29,lirr100,lirr92,False,1000
+lirr29,lirr111,lirr92,True,1000
+lirr29,lirr111,lirr92,False,1000
+lirr29,lirr124,lirr102,True,1650
+lirr29,lirr124,lirr102,False,1200
+lirr29,lirr122,lirr102,True,1575
+lirr29,lirr122,lirr102,False,1150
+lirr29,lirr114,lirr102,True,1650
+lirr29,lirr114,lirr102,False,1200
+lirr29,lirr117,lirr102,True,2125
+lirr29,lirr117,lirr102,False,1550
+lirr29,lirr120,lirr214,True,2050
+lirr29,lirr120,lirr214,False,1500
+lirr29,lirr119,lirr102,True,1575
+lirr29,lirr119,lirr102,False,1150
+lirr29,lirr123,lirr132,True,900
+lirr29,lirr123,lirr132,False,900
+lirr29,lirr113,lirr102,True,1825
+lirr29,lirr113,lirr102,False,1325
+lirr29,lirr125,lirr102,True,1650
+lirr29,lirr125,lirr102,False,1200
+lirr29,lirr142,lirr102,True,1650
+lirr29,lirr142,lirr102,False,1200
+lirr29,lirr131,lirr214,True,2225
+lirr29,lirr131,lirr214,False,1625
+lirr29,lirr136,lirr102,True,1825
+lirr29,lirr136,lirr102,False,1325
+lirr29,lirr135,lirr102,True,1825
+lirr29,lirr135,lirr102,False,1325
+lirr29,lirr140,lirr102,True,2800
+lirr29,lirr140,lirr92,True,1350
+lirr29,lirr140,lirr102,False,2025
+lirr29,lirr140,lirr92,False,1350
+lirr29,lirr226,lirr102,True,1825
+lirr29,lirr226,lirr102,False,1325
+lirr29,lirr141,lirr102,True,3475
+lirr29,lirr141,lirr92,True,2025
+lirr29,lirr141,lirr102,False,2525
+lirr29,lirr141,lirr92,False,2025
+lirr29,lirr130,lirr214,True,2050
+lirr29,lirr130,lirr214,False,1500
+lirr29,lirr149,lirr102,True,1650
+lirr29,lirr149,lirr63,True,825
+lirr29,lirr149,lirr102,False,1200
+lirr29,lirr149,lirr63,False,825
+lirr29,lirr153,lirr92,True,650
+lirr29,lirr153,lirr92,False,650
+lirr29,lirr157,lirr102,True,2275
+lirr29,lirr157,lirr92,True,1000
+lirr29,lirr157,lirr102,False,1650
+lirr29,lirr157,lirr92,False,1000
+lirr29,lirr155,lirr102,True,1825
+lirr29,lirr155,lirr102,False,1325
+lirr29,lirr154,lirr132,True,900
+lirr29,lirr154,lirr132,False,900
+lirr29,lirr163,lirr102,True,2275
+lirr29,lirr163,lirr92,True,1000
+lirr29,lirr163,lirr102,False,1650
+lirr29,lirr163,lirr92,False,1000
+lirr29,lirr162,lirr214,True,2225
+lirr29,lirr162,lirr214,False,1625
+lirr29,lirr164,lirr92,True,1000
+lirr29,lirr164,lirr92,False,1000
+lirr29,lirr171,lirr214,True,2225
+lirr29,lirr171,lirr214,False,1625
+lirr29,lirr175,lirr102,True,1575
+lirr29,lirr175,lirr102,False,1150
+lirr29,lirr183,lirr102,True,1825
+lirr29,lirr183,lirr102,False,1325
+lirr29,lirr180,lirr102,True,1575
+lirr29,lirr180,lirr102,False,1150
+lirr29,lirr182,lirr132,True,900
+lirr29,lirr182,lirr132,False,900
+lirr29,lirr204,lirr102,True,2275
+lirr29,lirr204,lirr92,True,1000
+lirr29,lirr204,lirr102,False,1650
+lirr29,lirr204,lirr92,False,1000
+lirr29,lirr185,lirr132,True,900
+lirr29,lirr185,lirr132,False,900
+lirr29,lirr187,lirr102,True,1825
+lirr29,lirr187,lirr102,False,1325
+lirr29,lirr202,lirr92,True,1000
+lirr29,lirr202,lirr92,False,1000
+lirr29,lirr191,lirr102,True,3475
+lirr29,lirr191,lirr92,True,2025
+lirr29,lirr191,lirr102,False,2525
+lirr29,lirr191,lirr92,False,2025
+lirr29,lirr198,lirr102,True,2800
+lirr29,lirr198,lirr92,True,1350
+lirr29,lirr198,lirr102,False,2025
+lirr29,lirr198,lirr92,False,1350
+lirr29,lirr184,lirr102,True,1575
+lirr29,lirr184,lirr102,False,1150
+lirr29,lirr193,lirr92,True,1000
+lirr29,lirr193,lirr92,False,1000
+lirr29,lirr195,lirr102,True,1650
+lirr29,lirr195,lirr63,True,825
+lirr29,lirr195,lirr102,False,1200
+lirr29,lirr195,lirr63,False,825
+lirr29,lirr14,lirr92,True,1000
+lirr29,lirr14,lirr92,False,1000
+lirr29,lirr205,lirr92,True,600
+lirr29,lirr205,lirr92,False,600
+lirr29,lirr211,lirr102,True,1650
+lirr29,lirr211,lirr102,False,1200
+lirr29,lirr215,lirr102,True,1825
+lirr29,lirr215,lirr102,False,1325
+lirr29,lirr216,lirr102,True,1650
+lirr29,lirr216,lirr102,False,1200
+lirr29,lirr233,lirr102,True,3475
+lirr29,lirr233,lirr92,True,2025
+lirr29,lirr233,lirr102,False,2525
+lirr29,lirr233,lirr92,False,2025
+lirr29,lirr219,lirr102,True,1650
+lirr29,lirr219,lirr102,False,1200
+lirr29,lirr217,lirr102,True,1650
+lirr29,lirr217,lirr102,False,1200
+lirr13,lirr1,lirr102,True,2975
+lirr13,lirr1,lirr132,True,1875
+lirr13,lirr1,lirr102,False,2175
+lirr13,lirr1,lirr132,False,1875
+lirr13,lirr2,lirr214,True,3200
+lirr13,lirr2,lirr214,False,2325
+lirr13,lirr25,lirr214,True,3200
+lirr13,lirr25,lirr214,False,2325
+lirr13,lirr23,lirr102,True,2775
+lirr13,lirr23,lirr102,False,2025
+lirr13,lirr20,lirr102,True,2975
+lirr13,lirr20,lirr92,True,1725
+lirr13,lirr20,lirr102,False,2175
+lirr13,lirr20,lirr92,False,1725
+lirr13,lirr29,lirr102,True,3475
+lirr13,lirr29,lirr92,True,2025
+lirr13,lirr29,lirr102,False,2525
+lirr13,lirr29,lirr92,False,2025
+lirr13,lirr11,lirr214,True,3200
+lirr13,lirr11,lirr214,False,2325
+lirr13,lirr39,lirr102,True,2975
+lirr13,lirr39,lirr102,False,2175
+lirr13,lirr32,lirr102,True,2775
+lirr13,lirr32,lirr102,False,2025
+lirr13,lirr33,lirr102,True,3475
+lirr13,lirr33,lirr92,True,2025
+lirr13,lirr33,lirr102,False,2525
+lirr13,lirr33,lirr92,False,2025
+lirr13,lirr31,lirr102,True,2975
+lirr13,lirr31,lirr125,True,1875
+lirr13,lirr31,lirr102,False,2175
+lirr13,lirr31,lirr125,False,1875
+lirr13,lirr40,lirr102,True,3275
+lirr13,lirr40,lirr92,True,1775
+lirr13,lirr40,lirr102,False,2375
+lirr13,lirr40,lirr92,False,1775
+lirr13,lirr36,lirr102,True,2775
+lirr13,lirr36,lirr63,True,1850
+lirr13,lirr36,lirr102,False,2025
+lirr13,lirr36,lirr63,False,1850
+lirr13,lirr44,lirr102,True,3275
+lirr13,lirr44,lirr92,True,1775
+lirr13,lirr44,lirr102,False,2375
+lirr13,lirr44,lirr92,False,1775
+lirr13,lirr42,lirr214,True,3200
+lirr13,lirr42,lirr214,False,2325
+lirr13,lirr51,lirr102,True,2975
+lirr13,lirr51,lirr125,True,1875
+lirr13,lirr51,lirr102,False,2175
+lirr13,lirr51,lirr125,False,1875
+lirr13,lirr52,lirr102,True,2775
+lirr13,lirr52,lirr132,True,1850
+lirr13,lirr52,lirr102,False,2025
+lirr13,lirr52,lirr132,False,1850
+lirr13,lirr65,lirr102,True,2775
+lirr13,lirr65,lirr102,False,2025
+lirr13,lirr59,lirr102,True,2975
+lirr13,lirr59,lirr92,True,1725
+lirr13,lirr59,lirr102,False,2175
+lirr13,lirr59,lirr92,False,1725
+lirr13,lirr63,lirr102,True,2775
+lirr13,lirr63,lirr102,False,2025
+lirr13,lirr56,lirr214,True,3200
+lirr13,lirr56,lirr214,False,2325
+lirr13,lirr68,lirr102,True,2775
+lirr13,lirr68,lirr63,True,1850
+lirr13,lirr68,lirr102,False,2025
+lirr13,lirr68,lirr63,False,1850
+lirr13,lirr66,lirr102,True,2775
+lirr13,lirr66,lirr102,False,2025
+lirr13,lirr67,lirr102,True,2975
+lirr13,lirr67,lirr132,True,1875
+lirr13,lirr67,lirr102,False,2175
+lirr13,lirr67,lirr132,False,1875
+lirr13,lirr71,lirr102,True,2975
+lirr13,lirr71,lirr132,True,1875
+lirr13,lirr71,lirr102,False,2175
+lirr13,lirr71,lirr132,False,1875
+lirr13,lirr76,lirr102,True,2975
+lirr13,lirr76,lirr132,True,1875
+lirr13,lirr76,lirr102,False,2175
+lirr13,lirr76,lirr132,False,1875
+lirr13,lirr72,lirr214,True,3375
+lirr13,lirr72,lirr214,False,2450
+lirr13,lirr78,lirr102,True,3275
+lirr13,lirr78,lirr92,True,1775
+lirr13,lirr78,lirr102,False,2375
+lirr13,lirr78,lirr92,False,1775
+lirr13,lirr73,lirr102,True,4350
+lirr13,lirr73,lirr92,True,2800
+lirr13,lirr73,lirr102,False,3175
+lirr13,lirr73,lirr92,False,2800
+lirr13,lirr77,lirr102,True,2975
+lirr13,lirr77,lirr132,True,1875
+lirr13,lirr77,lirr102,False,2175
+lirr13,lirr77,lirr132,False,1875
+lirr13,lirr84,lirr102,True,2775
+lirr13,lirr84,lirr63,True,1850
+lirr13,lirr84,lirr102,False,2025
+lirr13,lirr84,lirr63,False,1850
+lirr13,lirr85,lirr102,True,2775
+lirr13,lirr85,lirr102,False,2025
+lirr13,lirr94,lirr102,True,2775
+lirr13,lirr94,lirr102,False,2025
+lirr13,lirr92,lirr102,True,2975
+lirr13,lirr92,lirr102,False,2175
+lirr13,lirr89,lirr102,True,2700
+lirr13,lirr89,lirr102,False,1975
+lirr13,lirr91,lirr102,True,3275
+lirr13,lirr91,lirr92,True,1775
+lirr13,lirr91,lirr102,False,2375
+lirr13,lirr91,lirr92,False,1775
+lirr13,lirr101,lirr102,True,2775
+lirr13,lirr101,lirr102,False,2025
+lirr13,lirr99,lirr102,True,2975
+lirr13,lirr99,lirr125,True,1875
+lirr13,lirr99,lirr102,False,2175
+lirr13,lirr99,lirr125,False,1875
+lirr13,lirr111,lirr102,True,3475
+lirr13,lirr111,lirr92,True,2025
+lirr13,lirr111,lirr102,False,2525
+lirr13,lirr111,lirr92,False,2025
+lirr13,lirr124,lirr102,True,2775
+lirr13,lirr124,lirr102,False,2025
+lirr13,lirr122,lirr102,True,2700
+lirr13,lirr122,lirr102,False,1975
+lirr13,lirr114,lirr102,True,2775
+lirr13,lirr114,lirr102,False,2025
+lirr13,lirr120,lirr214,True,3200
+lirr13,lirr120,lirr214,False,2325
+lirr13,lirr119,lirr102,True,2700
+lirr13,lirr119,lirr102,False,1975
+lirr13,lirr123,lirr102,True,2975
+lirr13,lirr123,lirr132,True,1875
+lirr13,lirr123,lirr102,False,2175
+lirr13,lirr123,lirr132,False,1875
+lirr13,lirr113,lirr102,True,2975
+lirr13,lirr113,lirr125,True,1875
+lirr13,lirr113,lirr102,False,2175
+lirr13,lirr113,lirr125,False,1875
+lirr13,lirr125,lirr102,True,2775
+lirr13,lirr125,lirr102,False,2025
+lirr13,lirr142,lirr102,True,2775
+lirr13,lirr142,lirr102,False,2025
+lirr13,lirr131,lirr214,True,3375
+lirr13,lirr131,lirr214,False,2450
+lirr13,lirr126,lirr102,True,4350
+lirr13,lirr126,lirr92,True,2800
+lirr13,lirr126,lirr102,False,3175
+lirr13,lirr126,lirr92,False,2800
+lirr13,lirr129,lirr102,True,3475
+lirr13,lirr129,lirr92,True,2025
+lirr13,lirr129,lirr102,False,2525
+lirr13,lirr129,lirr92,False,2025
+lirr13,lirr127,lirr102,True,2775
+lirr13,lirr127,lirr102,False,2025
+lirr13,lirr132,lirr102,True,2775
+lirr13,lirr132,lirr102,False,2025
+lirr13,lirr130,lirr214,True,3200
+lirr13,lirr130,lirr214,False,2325
+lirr13,lirr149,lirr102,True,2775
+lirr13,lirr149,lirr63,True,1850
+lirr13,lirr149,lirr102,False,2025
+lirr13,lirr149,lirr63,False,1850
+lirr13,lirr152,lirr102,True,2775
+lirr13,lirr152,lirr102,False,2025
+lirr13,lirr153,lirr102,True,3275
+lirr13,lirr153,lirr92,True,1775
+lirr13,lirr153,lirr102,False,2375
+lirr13,lirr153,lirr92,False,1775
+lirr13,lirr155,lirr102,True,2975
+lirr13,lirr155,lirr125,True,1875
+lirr13,lirr155,lirr102,False,2175
+lirr13,lirr155,lirr125,False,1875
+lirr13,lirr154,lirr102,True,2975
+lirr13,lirr154,lirr132,True,1875
+lirr13,lirr154,lirr102,False,2175
+lirr13,lirr154,lirr132,False,1875
+lirr13,lirr165,lirr102,True,3275
+lirr13,lirr165,lirr92,True,1775
+lirr13,lirr165,lirr102,False,2375
+lirr13,lirr165,lirr92,False,1775
+lirr13,lirr162,lirr214,True,3375
+lirr13,lirr162,lirr214,False,2450
+lirr13,lirr164,lirr102,True,3475
+lirr13,lirr164,lirr92,True,2025
+lirr13,lirr164,lirr102,False,2525
+lirr13,lirr164,lirr92,False,2025
+lirr13,lirr171,lirr214,True,3375
+lirr13,lirr171,lirr214,False,2450
+lirr13,lirr175,lirr102,True,2700
+lirr13,lirr175,lirr102,False,1975
+lirr13,lirr176,lirr102,True,4350
+lirr13,lirr176,lirr92,True,2800
+lirr13,lirr176,lirr102,False,3175
+lirr13,lirr176,lirr92,False,2800
+lirr13,lirr179,lirr102,True,3475
+lirr13,lirr179,lirr92,True,2025
+lirr13,lirr179,lirr102,False,2525
+lirr13,lirr179,lirr92,False,2025
+lirr13,lirr180,lirr102,True,2700
+lirr13,lirr180,lirr102,False,1975
+lirr13,lirr182,lirr102,True,2975
+lirr13,lirr182,lirr132,True,1875
+lirr13,lirr182,lirr102,False,2175
+lirr13,lirr182,lirr132,False,1875
+lirr13,lirr185,lirr102,True,2975
+lirr13,lirr185,lirr132,True,1875
+lirr13,lirr185,lirr102,False,2175
+lirr13,lirr185,lirr132,False,1875
+lirr13,lirr202,lirr102,True,3475
+lirr13,lirr202,lirr92,True,2025
+lirr13,lirr202,lirr102,False,2525
+lirr13,lirr202,lirr92,False,2025
+lirr13,lirr190,lirr102,True,4350
+lirr13,lirr190,lirr92,True,2800
+lirr13,lirr190,lirr102,False,3175
+lirr13,lirr190,lirr92,False,2800
+lirr13,lirr184,lirr102,True,2700
+lirr13,lirr184,lirr102,False,1975
+lirr13,lirr193,lirr102,True,3475
+lirr13,lirr193,lirr92,True,2025
+lirr13,lirr193,lirr102,False,2525
+lirr13,lirr193,lirr92,False,2025
+lirr13,lirr195,lirr102,True,2775
+lirr13,lirr195,lirr63,True,1850
+lirr13,lirr195,lirr102,False,2025
+lirr13,lirr195,lirr63,False,1850
+lirr13,lirr14,lirr102,True,3475
+lirr13,lirr14,lirr92,True,2025
+lirr13,lirr14,lirr102,False,2525
+lirr13,lirr14,lirr92,False,2025
+lirr13,lirr205,lirr102,True,2975
+lirr13,lirr205,lirr92,True,1725
+lirr13,lirr205,lirr102,False,2175
+lirr13,lirr205,lirr92,False,1725
+lirr13,lirr211,lirr102,True,2775
+lirr13,lirr211,lirr102,False,2025
+lirr13,lirr216,lirr102,True,2775
+lirr13,lirr216,lirr102,False,2025
+lirr13,lirr213,lirr102,True,2975
+lirr13,lirr213,lirr102,False,2175
+lirr13,lirr219,lirr102,True,2775
+lirr13,lirr219,lirr102,False,2025
+lirr13,lirr217,lirr102,True,2775
+lirr13,lirr217,lirr102,False,2025
+lirr13,lirr220,lirr102,True,3275
+lirr13,lirr220,lirr92,True,1775
+lirr13,lirr220,lirr102,False,2375
+lirr13,lirr220,lirr92,False,1775
+lirr13,lirr223,lirr102,True,4000
+lirr13,lirr223,lirr92,True,2450
+lirr13,lirr223,lirr102,False,2900
+lirr13,lirr223,lirr92,False,2450
+lirr11,lirr1,lirr214,True,1575
+lirr11,lirr1,lirr214,False,1150
+lirr11,lirr4,lirr214,True,3200
+lirr11,lirr4,lirr214,False,2325
+lirr11,lirr8,lirr214,True,1825
+lirr11,lirr8,lirr214,False,1325
+lirr11,lirr27,lirr214,True,1825
+lirr11,lirr27,lirr214,False,1325
+lirr11,lirr225,lirr214,True,1575
+lirr11,lirr225,lirr214,False,1150
+lirr11,lirr26,lirr214,True,2050
+lirr11,lirr26,lirr214,False,1500
+lirr11,lirr23,lirr214,True,1350
+lirr11,lirr23,lirr214,False,975
+lirr11,lirr16,lirr214,True,1575
+lirr11,lirr16,lirr214,False,1150
+lirr11,lirr21,lirr214,True,2500
+lirr11,lirr21,lirr214,False,1825
+lirr11,lirr20,lirr214,True,1575
+lirr11,lirr20,lirr214,False,1150
+lirr11,lirr29,lirr214,True,2050
+lirr11,lirr29,lirr214,False,1500
+lirr11,lirr13,lirr214,True,3200
+lirr11,lirr13,lirr214,False,2325
+lirr11,lirr39,lirr214,True,1575
+lirr11,lirr39,lirr214,False,1150
+lirr11,lirr32,lirr214,True,1350
+lirr11,lirr32,lirr214,False,975
+lirr11,lirr33,lirr214,True,2050
+lirr11,lirr33,lirr214,False,1500
+lirr11,lirr31,lirr214,True,1575
+lirr11,lirr31,lirr214,False,1150
+lirr11,lirr40,lirr214,True,1825
+lirr11,lirr40,lirr214,False,1325
+lirr11,lirr38,lirr214,True,1825
+lirr11,lirr38,lirr214,False,1325
+lirr11,lirr36,lirr214,True,1350
+lirr11,lirr36,lirr214,False,975
+lirr11,lirr44,lirr214,True,1825
+lirr11,lirr44,lirr214,False,1325
+lirr11,lirr48,lirr214,True,3200
+lirr11,lirr48,lirr214,False,2325
+lirr11,lirr51,lirr214,True,1575
+lirr11,lirr51,lirr214,False,1150
+lirr11,lirr52,lirr214,True,1350
+lirr11,lirr52,lirr214,False,975
+lirr11,lirr65,lirr214,True,1350
+lirr11,lirr65,lirr214,False,975
+lirr11,lirr59,lirr214,True,1575
+lirr11,lirr59,lirr214,False,1150
+lirr11,lirr63,lirr214,True,1350
+lirr11,lirr63,lirr214,False,975
+lirr11,lirr55,lirr214,True,1150
+lirr11,lirr55,lirr214,False,825
+lirr11,lirr64,lirr214,True,1575
+lirr11,lirr64,lirr214,False,1150
+lirr11,lirr68,lirr214,True,1350
+lirr11,lirr68,lirr214,False,975
+lirr11,lirr66,lirr214,True,1350
+lirr11,lirr66,lirr214,False,975
+lirr11,lirr67,lirr214,True,1575
+lirr11,lirr67,lirr214,False,1150
+lirr11,lirr71,lirr214,True,1575
+lirr11,lirr71,lirr214,False,1150
+lirr11,lirr76,lirr214,True,1575
+lirr11,lirr76,lirr214,False,1150
+lirr11,lirr74,lirr214,True,2050
+lirr11,lirr74,lirr214,False,1500
+lirr11,lirr78,lirr214,True,1825
+lirr11,lirr78,lirr214,False,1325
+lirr11,lirr73,lirr214,True,3200
+lirr11,lirr73,lirr214,False,2325
+lirr11,lirr77,lirr214,True,1575
+lirr11,lirr77,lirr214,False,1150
+lirr11,lirr83,lirr214,True,3200
+lirr11,lirr83,lirr214,False,2325
+lirr11,lirr84,lirr214,True,1350
+lirr11,lirr84,lirr214,False,975
+lirr11,lirr85,lirr214,True,1350
+lirr11,lirr85,lirr214,False,975
+lirr11,lirr94,lirr214,True,1350
+lirr11,lirr94,lirr214,False,975
+lirr11,lirr92,lirr214,True,1575
+lirr11,lirr92,lirr214,False,1150
+lirr11,lirr89,lirr214,True,1200
+lirr11,lirr89,lirr214,False,875
+lirr11,lirr91,lirr214,True,1825
+lirr11,lirr91,lirr214,False,1325
+lirr11,lirr101,lirr214,True,1350
+lirr11,lirr101,lirr214,False,975
+lirr11,lirr99,lirr214,True,1575
+lirr11,lirr99,lirr214,False,1150
+lirr11,lirr100,lirr214,True,2050
+lirr11,lirr100,lirr214,False,1500
+lirr11,lirr102,lirr214,True,1200
+lirr11,lirr102,lirr214,False,875
+lirr11,lirr107,lirr214,True,1150
+lirr11,lirr107,lirr214,False,825
+lirr11,lirr111,lirr214,True,2050
+lirr11,lirr111,lirr214,False,1500
+lirr11,lirr124,lirr214,True,1350
+lirr11,lirr124,lirr214,False,975
+lirr11,lirr122,lirr214,True,1200
+lirr11,lirr122,lirr214,False,875
+lirr11,lirr114,lirr214,True,1350
+lirr11,lirr114,lirr214,False,975
+lirr11,lirr117,lirr214,True,1825
+lirr11,lirr117,lirr214,False,1325
+lirr11,lirr119,lirr214,True,1200
+lirr11,lirr119,lirr214,False,875
+lirr11,lirr123,lirr214,True,1575
+lirr11,lirr123,lirr214,False,1150
+lirr11,lirr113,lirr214,True,1575
+lirr11,lirr113,lirr214,False,1150
+lirr11,lirr125,lirr214,True,1350
+lirr11,lirr125,lirr214,False,975
+lirr11,lirr142,lirr214,True,1350
+lirr11,lirr142,lirr214,False,975
+lirr11,lirr136,lirr214,True,1575
+lirr11,lirr136,lirr214,False,1150
+lirr11,lirr135,lirr214,True,1575
+lirr11,lirr135,lirr214,False,1150
+lirr11,lirr140,lirr214,True,2500
+lirr11,lirr140,lirr214,False,1825
+lirr11,lirr126,lirr214,True,3200
+lirr11,lirr126,lirr214,False,2325
+lirr11,lirr129,lirr214,True,2050
+lirr11,lirr129,lirr214,False,1500
+lirr11,lirr127,lirr214,True,1350
+lirr11,lirr127,lirr214,False,975
+lirr11,lirr226,lirr214,True,1575
+lirr11,lirr226,lirr214,False,1150
+lirr11,lirr132,lirr214,True,1350
+lirr11,lirr132,lirr214,False,975
+lirr11,lirr141,lirr214,True,3200
+lirr11,lirr141,lirr214,False,2325
+lirr11,lirr149,lirr214,True,1350
+lirr11,lirr149,lirr214,False,975
+lirr11,lirr152,lirr214,True,1350
+lirr11,lirr152,lirr214,False,975
+lirr11,lirr153,lirr214,True,1825
+lirr11,lirr153,lirr214,False,1325
+lirr11,lirr157,lirr214,True,2050
+lirr11,lirr157,lirr214,False,1500
+lirr11,lirr155,lirr214,True,1575
+lirr11,lirr155,lirr214,False,1150
+lirr11,lirr154,lirr214,True,1575
+lirr11,lirr154,lirr214,False,1150
+lirr11,lirr163,lirr214,True,2050
+lirr11,lirr163,lirr214,False,1500
+lirr11,lirr165,lirr214,True,1825
+lirr11,lirr165,lirr214,False,1325
+lirr11,lirr164,lirr214,True,2050
+lirr11,lirr164,lirr214,False,1500
+lirr11,lirr175,lirr214,True,1200
+lirr11,lirr175,lirr214,False,875
+lirr11,lirr176,lirr214,True,3200
+lirr11,lirr176,lirr214,False,2325
+lirr11,lirr183,lirr214,True,1575
+lirr11,lirr183,lirr214,False,1150
+lirr11,lirr179,lirr214,True,2050
+lirr11,lirr179,lirr214,False,1500
+lirr11,lirr180,lirr214,True,1200
+lirr11,lirr180,lirr214,False,875
+lirr11,lirr182,lirr214,True,1575
+lirr11,lirr182,lirr214,False,1150
+lirr11,lirr204,lirr214,True,2050
+lirr11,lirr204,lirr214,False,1500
+lirr11,lirr185,lirr214,True,1575
+lirr11,lirr185,lirr214,False,1150
+lirr11,lirr187,lirr214,True,1575
+lirr11,lirr187,lirr214,False,1150
+lirr11,lirr202,lirr214,True,2050
+lirr11,lirr202,lirr214,False,1500
+lirr11,lirr191,lirr214,True,3200
+lirr11,lirr191,lirr214,False,2325
+lirr11,lirr190,lirr214,True,3200
+lirr11,lirr190,lirr214,False,2325
+lirr11,lirr198,lirr214,True,2500
+lirr11,lirr198,lirr214,False,1825
+lirr11,lirr184,lirr214,True,1200
+lirr11,lirr184,lirr214,False,875
+lirr11,lirr193,lirr214,True,2050
+lirr11,lirr193,lirr214,False,1500
+lirr11,lirr195,lirr214,True,1350
+lirr11,lirr195,lirr214,False,975
+lirr11,lirr14,lirr214,True,2050
+lirr11,lirr14,lirr214,False,1500
+lirr11,lirr205,lirr214,True,1575
+lirr11,lirr205,lirr214,False,1150
+lirr11,lirr211,lirr214,True,1350
+lirr11,lirr211,lirr214,False,975
+lirr11,lirr215,lirr214,True,1575
+lirr11,lirr215,lirr214,False,1150
+lirr11,lirr216,lirr214,True,1350
+lirr11,lirr216,lirr214,False,975
+lirr11,lirr213,lirr214,True,1575
+lirr11,lirr213,lirr214,False,1150
+lirr11,lirr233,lirr214,True,3200
+lirr11,lirr233,lirr214,False,2325
+lirr11,lirr219,lirr214,True,1350
+lirr11,lirr219,lirr214,False,975
+lirr11,lirr217,lirr214,True,1350
+lirr11,lirr217,lirr214,False,975
+lirr11,lirr220,lirr214,True,1825
+lirr11,lirr220,lirr214,False,1325
+lirr11,lirr223,lirr214,True,2500
+lirr11,lirr223,lirr214,False,1825
+lirr39,lirr1,lirr132,True,450
+lirr39,lirr1,lirr132,False,450
+lirr39,lirr4,lirr102,True,2975
+lirr39,lirr4,lirr102,False,2175
+lirr39,lirr8,lirr102,True,1575
+lirr39,lirr8,lirr102,False,1150
+lirr39,lirr2,lirr214,True,1575
+lirr39,lirr2,lirr214,False,1150
+lirr39,lirr27,lirr102,True,1575
+lirr39,lirr27,lirr102,False,1150
+lirr39,lirr225,lirr102,True,1225
+lirr39,lirr225,lirr102,False,900
+lirr39,lirr26,lirr102,True,1825
+lirr39,lirr26,lirr102,False,1325
+lirr39,lirr25,lirr214,True,1575
+lirr39,lirr25,lirr214,False,1150
+lirr39,lirr23,lirr102,True,1100
+lirr39,lirr23,lirr102,False,800
+lirr39,lirr16,lirr102,True,1225
+lirr39,lirr16,lirr102,False,900
+lirr39,lirr21,lirr102,True,2275
+lirr39,lirr21,lirr102,False,1650
+lirr39,lirr13,lirr102,True,2975
+lirr39,lirr13,lirr102,False,2175
+lirr39,lirr11,lirr214,True,1575
+lirr39,lirr11,lirr214,False,1150
+lirr39,lirr32,lirr102,True,1100
+lirr39,lirr32,lirr102,False,800
+lirr39,lirr31,lirr102,True,1225
+lirr39,lirr31,lirr102,False,900
+lirr39,lirr38,lirr102,True,1575
+lirr39,lirr38,lirr102,False,1150
+lirr39,lirr36,lirr102,True,1100
+lirr39,lirr36,lirr102,False,800
+lirr39,lirr42,lirr214,True,1575
+lirr39,lirr42,lirr214,False,1150
+lirr39,lirr48,lirr102,True,2975
+lirr39,lirr48,lirr102,False,2175
+lirr39,lirr51,lirr102,True,1225
+lirr39,lirr51,lirr102,False,900
+lirr39,lirr52,lirr132,True,425
+lirr39,lirr52,lirr132,False,425
+lirr39,lirr65,lirr102,True,1100
+lirr39,lirr65,lirr102,False,800
+lirr39,lirr63,lirr102,True,1100
+lirr39,lirr63,lirr102,False,800
+lirr39,lirr56,lirr214,True,1575
+lirr39,lirr56,lirr214,False,1150
+lirr39,lirr64,lirr102,True,1225
+lirr39,lirr64,lirr102,False,900
+lirr39,lirr68,lirr102,True,1100
+lirr39,lirr68,lirr102,False,800
+lirr39,lirr66,lirr102,True,1100
+lirr39,lirr66,lirr102,False,800
+lirr39,lirr67,lirr132,True,450
+lirr39,lirr67,lirr132,False,450
+lirr39,lirr71,lirr132,True,450
+lirr39,lirr71,lirr132,False,450
+lirr39,lirr76,lirr132,True,450
+lirr39,lirr76,lirr132,False,450
+lirr39,lirr72,lirr214,True,1725
+lirr39,lirr72,lirr214,False,1250
+lirr39,lirr74,lirr102,True,1825
+lirr39,lirr74,lirr102,False,1325
+lirr39,lirr77,lirr132,True,450
+lirr39,lirr77,lirr132,False,450
+lirr39,lirr83,lirr102,True,2975
+lirr39,lirr83,lirr102,False,2175
+lirr39,lirr84,lirr102,True,1100
+lirr39,lirr84,lirr102,False,800
+lirr39,lirr85,lirr102,True,1100
+lirr39,lirr85,lirr102,False,800
+lirr39,lirr94,lirr102,True,1100
+lirr39,lirr94,lirr102,False,800
+lirr39,lirr89,lirr102,True,1050
+lirr39,lirr89,lirr102,False,775
+lirr39,lirr101,lirr102,True,1100
+lirr39,lirr101,lirr102,False,800
+lirr39,lirr99,lirr102,True,1225
+lirr39,lirr99,lirr102,False,900
+lirr39,lirr100,lirr102,True,1825
+lirr39,lirr100,lirr102,False,1325
+lirr39,lirr124,lirr102,True,1100
+lirr39,lirr124,lirr102,False,800
+lirr39,lirr122,lirr102,True,1050
+lirr39,lirr122,lirr102,False,775
+lirr39,lirr114,lirr102,True,1100
+lirr39,lirr114,lirr102,False,800
+lirr39,lirr117,lirr102,True,1575
+lirr39,lirr117,lirr102,False,1150
+lirr39,lirr120,lirr214,True,1575
+lirr39,lirr120,lirr214,False,1150
+lirr39,lirr119,lirr102,True,1050
+lirr39,lirr119,lirr102,False,775
+lirr39,lirr123,lirr132,True,450
+lirr39,lirr123,lirr132,False,450
+lirr39,lirr113,lirr102,True,1225
+lirr39,lirr113,lirr102,False,900
+lirr39,lirr125,lirr102,True,1100
+lirr39,lirr125,lirr102,False,800
+lirr39,lirr142,lirr102,True,1100
+lirr39,lirr142,lirr102,False,800
+lirr39,lirr131,lirr214,True,1725
+lirr39,lirr131,lirr214,False,1250
+lirr39,lirr136,lirr102,True,1225
+lirr39,lirr136,lirr102,False,900
+lirr39,lirr135,lirr102,True,1225
+lirr39,lirr135,lirr102,False,900
+lirr39,lirr140,lirr102,True,2275
+lirr39,lirr140,lirr102,False,1650
+lirr39,lirr226,lirr102,True,1225
+lirr39,lirr226,lirr102,False,900
+lirr39,lirr141,lirr102,True,2975
+lirr39,lirr141,lirr102,False,2175
+lirr39,lirr130,lirr214,True,1575
+lirr39,lirr130,lirr214,False,1150
+lirr39,lirr149,lirr102,True,1100
+lirr39,lirr149,lirr102,False,800
+lirr39,lirr157,lirr102,True,1825
+lirr39,lirr157,lirr102,False,1325
+lirr39,lirr155,lirr102,True,1225
+lirr39,lirr155,lirr102,False,900
+lirr39,lirr154,lirr132,True,450
+lirr39,lirr154,lirr132,False,450
+lirr39,lirr163,lirr102,True,1825
+lirr39,lirr163,lirr102,False,1325
+lirr39,lirr162,lirr214,True,1725
+lirr39,lirr162,lirr214,False,1250
+lirr39,lirr171,lirr214,True,1725
+lirr39,lirr171,lirr214,False,1250
+lirr39,lirr175,lirr102,True,1050
+lirr39,lirr175,lirr102,False,775
+lirr39,lirr183,lirr102,True,1225
+lirr39,lirr183,lirr102,False,900
+lirr39,lirr180,lirr102,True,1050
+lirr39,lirr180,lirr102,False,775
+lirr39,lirr182,lirr132,True,450
+lirr39,lirr182,lirr132,False,450
+lirr39,lirr204,lirr102,True,1825
+lirr39,lirr204,lirr102,False,1325
+lirr39,lirr185,lirr132,True,450
+lirr39,lirr185,lirr132,False,450
+lirr39,lirr187,lirr102,True,1225
+lirr39,lirr187,lirr102,False,900
+lirr39,lirr191,lirr102,True,2975
+lirr39,lirr191,lirr102,False,2175
+lirr39,lirr198,lirr102,True,2275
+lirr39,lirr198,lirr102,False,1650
+lirr39,lirr184,lirr102,True,1050
+lirr39,lirr184,lirr102,False,775
+lirr39,lirr195,lirr102,True,1100
+lirr39,lirr195,lirr102,False,800
+lirr39,lirr211,lirr102,True,1100
+lirr39,lirr211,lirr102,False,800
+lirr39,lirr215,lirr102,True,1225
+lirr39,lirr215,lirr102,False,900
+lirr39,lirr216,lirr102,True,1100
+lirr39,lirr216,lirr102,False,800
+lirr39,lirr233,lirr102,True,2975
+lirr39,lirr233,lirr102,False,2175
+lirr39,lirr219,lirr102,True,1100
+lirr39,lirr219,lirr102,False,800
+lirr39,lirr217,lirr102,True,1100
+lirr39,lirr217,lirr102,False,800
+lirr32,lirr1,lirr102,True,1100
+lirr32,lirr1,lirr102,False,800
+lirr32,lirr4,lirr102,True,2775
+lirr32,lirr4,lirr102,False,2025
+lirr32,lirr8,lirr102,True,1350
+lirr32,lirr8,lirr211,True,600
+lirr32,lirr8,lirr102,False,975
+lirr32,lirr8,lirr211,False,600
+lirr32,lirr2,lirr214,True,1350
+lirr32,lirr2,lirr214,False,975
+lirr32,lirr27,lirr102,True,1350
+lirr32,lirr27,lirr211,True,600
+lirr32,lirr27,lirr102,False,975
+lirr32,lirr27,lirr211,False,600
+lirr32,lirr225,lirr102,True,1100
+lirr32,lirr225,lirr211,True,425
+lirr32,lirr225,lirr102,False,800
+lirr32,lirr225,lirr211,False,425
+lirr32,lirr26,lirr102,True,1650
+lirr32,lirr26,lirr102,False,1200
+lirr32,lirr25,lirr214,True,1350
+lirr32,lirr25,lirr214,False,975
+lirr32,lirr23,lirr102,True,1000
+lirr32,lirr23,lirr102,False,725
+lirr32,lirr16,lirr102,True,1100
+lirr32,lirr16,lirr211,True,425
+lirr32,lirr16,lirr102,False,800
+lirr32,lirr16,lirr211,False,425
+lirr32,lirr21,lirr102,True,2125
+lirr32,lirr21,lirr102,False,1550
+lirr32,lirr20,lirr102,True,1100
+lirr32,lirr20,lirr102,False,800
+lirr32,lirr29,lirr102,True,1650
+lirr32,lirr29,lirr102,False,1200
+lirr32,lirr13,lirr102,True,2775
+lirr32,lirr13,lirr102,False,2025
+lirr32,lirr11,lirr214,True,1350
+lirr32,lirr11,lirr214,False,975
+lirr32,lirr39,lirr102,True,1100
+lirr32,lirr39,lirr102,False,800
+lirr32,lirr33,lirr102,True,1650
+lirr32,lirr33,lirr102,False,1200
+lirr32,lirr31,lirr211,True,425
+lirr32,lirr31,lirr211,False,425
+lirr32,lirr40,lirr102,True,1350
+lirr32,lirr40,lirr102,False,975
+lirr32,lirr38,lirr102,True,1350
+lirr32,lirr38,lirr211,True,600
+lirr32,lirr38,lirr102,False,975
+lirr32,lirr38,lirr211,False,600
+lirr32,lirr36,lirr102,True,1000
+lirr32,lirr36,lirr102,False,725
+lirr32,lirr44,lirr102,True,1350
+lirr32,lirr44,lirr102,False,975
+lirr32,lirr42,lirr214,True,1350
+lirr32,lirr42,lirr214,False,975
+lirr32,lirr48,lirr102,True,2775
+lirr32,lirr48,lirr102,False,2025
+lirr32,lirr51,lirr211,True,425
+lirr32,lirr51,lirr211,False,425
+lirr32,lirr52,lirr102,True,1000
+lirr32,lirr52,lirr102,False,725
+lirr32,lirr59,lirr102,True,1100
+lirr32,lirr59,lirr102,False,800
+lirr32,lirr63,lirr102,True,1000
+lirr32,lirr63,lirr102,False,725
+lirr32,lirr56,lirr214,True,1350
+lirr32,lirr56,lirr214,False,975
+lirr32,lirr64,lirr102,True,1100
+lirr32,lirr64,lirr211,True,425
+lirr32,lirr64,lirr102,False,800
+lirr32,lirr64,lirr211,False,425
+lirr32,lirr68,lirr102,True,1000
+lirr32,lirr68,lirr102,False,725
+lirr32,lirr67,lirr102,True,1100
+lirr32,lirr67,lirr102,False,800
+lirr32,lirr71,lirr102,True,1100
+lirr32,lirr71,lirr102,False,800
+lirr32,lirr76,lirr102,True,1100
+lirr32,lirr76,lirr102,False,800
+lirr32,lirr72,lirr214,True,1475
+lirr32,lirr72,lirr214,False,1075
+lirr32,lirr74,lirr102,True,1650
+lirr32,lirr74,lirr102,False,1200
+lirr32,lirr78,lirr102,True,1350
+lirr32,lirr78,lirr102,False,975
+lirr32,lirr73,lirr102,True,2775
+lirr32,lirr73,lirr102,False,2025
+lirr32,lirr77,lirr102,True,1100
+lirr32,lirr77,lirr102,False,800
+lirr32,lirr83,lirr102,True,2775
+lirr32,lirr83,lirr102,False,2025
+lirr32,lirr84,lirr102,True,1000
+lirr32,lirr84,lirr102,False,725
+lirr32,lirr85,lirr211,True,425
+lirr32,lirr85,lirr211,False,425
+lirr32,lirr92,lirr102,True,1100
+lirr32,lirr92,lirr102,False,800
+lirr32,lirr89,lirr102,True,900
+lirr32,lirr89,lirr102,False,650
+lirr32,lirr91,lirr102,True,1350
+lirr32,lirr91,lirr102,False,975
+lirr32,lirr99,lirr211,True,425
+lirr32,lirr99,lirr211,False,425
+lirr32,lirr100,lirr102,True,1650
+lirr32,lirr100,lirr102,False,1200
+lirr32,lirr111,lirr102,True,1650
+lirr32,lirr111,lirr102,False,1200
+lirr32,lirr124,lirr211,True,425
+lirr32,lirr124,lirr211,False,425
+lirr32,lirr117,lirr102,True,1350
+lirr32,lirr117,lirr211,True,600
+lirr32,lirr117,lirr102,False,975
+lirr32,lirr117,lirr211,False,600
+lirr32,lirr120,lirr214,True,1350
+lirr32,lirr120,lirr214,False,975
+lirr32,lirr123,lirr102,True,1100
+lirr32,lirr123,lirr102,False,800
+lirr32,lirr113,lirr211,True,425
+lirr32,lirr113,lirr211,False,425
+lirr32,lirr125,lirr211,True,425
+lirr32,lirr125,lirr211,False,425
+lirr32,lirr142,lirr211,True,425
+lirr32,lirr142,lirr211,False,425
+lirr32,lirr131,lirr214,True,1475
+lirr32,lirr131,lirr214,False,1075
+lirr32,lirr136,lirr102,True,1100
+lirr32,lirr136,lirr211,True,425
+lirr32,lirr136,lirr102,False,800
+lirr32,lirr136,lirr211,False,425
+lirr32,lirr135,lirr102,True,1100
+lirr32,lirr135,lirr211,True,425
+lirr32,lirr135,lirr102,False,800
+lirr32,lirr135,lirr211,False,425
+lirr32,lirr140,lirr102,True,2125
+lirr32,lirr140,lirr102,False,1550
+lirr32,lirr126,lirr102,True,2775
+lirr32,lirr126,lirr102,False,2025
+lirr32,lirr129,lirr102,True,1650
+lirr32,lirr129,lirr102,False,1200
+lirr32,lirr127,lirr102,True,1000
+lirr32,lirr127,lirr102,False,725
+lirr32,lirr226,lirr102,True,1100
+lirr32,lirr226,lirr211,True,425
+lirr32,lirr226,lirr102,False,800
+lirr32,lirr226,lirr211,False,425
+lirr32,lirr132,lirr102,True,1000
+lirr32,lirr132,lirr102,False,725
+lirr32,lirr141,lirr102,True,2775
+lirr32,lirr141,lirr102,False,2025
+lirr32,lirr130,lirr214,True,1350
+lirr32,lirr130,lirr214,False,975
+lirr32,lirr149,lirr102,True,1000
+lirr32,lirr149,lirr102,False,725
+lirr32,lirr152,lirr102,True,1000
+lirr32,lirr152,lirr102,False,725
+lirr32,lirr153,lirr102,True,1350
+lirr32,lirr153,lirr102,False,975
+lirr32,lirr157,lirr102,True,1650
+lirr32,lirr157,lirr102,False,1200
+lirr32,lirr155,lirr211,True,425
+lirr32,lirr155,lirr211,False,425
+lirr32,lirr154,lirr102,True,1100
+lirr32,lirr154,lirr102,False,800
+lirr32,lirr163,lirr102,True,1650
+lirr32,lirr163,lirr102,False,1200
+lirr32,lirr165,lirr102,True,1350
+lirr32,lirr165,lirr102,False,975
+lirr32,lirr162,lirr214,True,1475
+lirr32,lirr162,lirr214,False,1075
+lirr32,lirr164,lirr102,True,1650
+lirr32,lirr164,lirr102,False,1200
+lirr32,lirr171,lirr214,True,1475
+lirr32,lirr171,lirr214,False,1075
+lirr32,lirr175,lirr102,True,900
+lirr32,lirr175,lirr102,False,650
+lirr32,lirr176,lirr102,True,2775
+lirr32,lirr176,lirr102,False,2025
+lirr32,lirr183,lirr102,True,1100
+lirr32,lirr183,lirr211,True,425
+lirr32,lirr183,lirr102,False,800
+lirr32,lirr183,lirr211,False,425
+lirr32,lirr179,lirr102,True,1650
+lirr32,lirr179,lirr102,False,1200
+lirr32,lirr182,lirr102,True,1100
+lirr32,lirr182,lirr102,False,800
+lirr32,lirr204,lirr102,True,1650
+lirr32,lirr204,lirr102,False,1200
+lirr32,lirr185,lirr102,True,1100
+lirr32,lirr185,lirr102,False,800
+lirr32,lirr187,lirr102,True,1100
+lirr32,lirr187,lirr211,True,425
+lirr32,lirr187,lirr102,False,800
+lirr32,lirr187,lirr211,False,425
+lirr32,lirr202,lirr102,True,1650
+lirr32,lirr202,lirr102,False,1200
+lirr32,lirr191,lirr102,True,2775
+lirr32,lirr191,lirr102,False,2025
+lirr32,lirr190,lirr102,True,2775
+lirr32,lirr190,lirr102,False,2025
+lirr32,lirr198,lirr102,True,2125
+lirr32,lirr198,lirr102,False,1550
+lirr32,lirr193,lirr102,True,1650
+lirr32,lirr193,lirr102,False,1200
+lirr32,lirr195,lirr102,True,1000
+lirr32,lirr195,lirr102,False,725
+lirr32,lirr14,lirr102,True,1650
+lirr32,lirr14,lirr102,False,1200
+lirr32,lirr205,lirr102,True,1100
+lirr32,lirr205,lirr102,False,800
+lirr32,lirr215,lirr102,True,1100
+lirr32,lirr215,lirr211,True,425
+lirr32,lirr215,lirr102,False,800
+lirr32,lirr215,lirr211,False,425
+lirr32,lirr216,lirr211,True,425
+lirr32,lirr216,lirr211,False,425
+lirr32,lirr213,lirr102,True,1100
+lirr32,lirr213,lirr102,False,800
+lirr32,lirr233,lirr102,True,2775
+lirr32,lirr233,lirr102,False,2025
+lirr32,lirr219,lirr211,True,425
+lirr32,lirr219,lirr211,False,425
+lirr32,lirr220,lirr102,True,1350
+lirr32,lirr220,lirr102,False,975
+lirr32,lirr223,lirr102,True,2125
+lirr32,lirr223,lirr102,False,1550
+lirr33,lirr1,lirr132,True,900
+lirr33,lirr1,lirr132,False,900
+lirr33,lirr4,lirr102,True,3475
+lirr33,lirr4,lirr92,True,2025
+lirr33,lirr4,lirr102,False,2525
+lirr33,lirr4,lirr92,False,2025
+lirr33,lirr8,lirr102,True,2125
+lirr33,lirr8,lirr102,False,1550
+lirr33,lirr2,lirr214,True,2050
+lirr33,lirr2,lirr214,False,1500
+lirr33,lirr27,lirr102,True,2125
+lirr33,lirr27,lirr92,True,650
+lirr33,lirr27,lirr102,False,1550
+lirr33,lirr27,lirr92,False,650
+lirr33,lirr225,lirr102,True,1825
+lirr33,lirr225,lirr102,False,1325
+lirr33,lirr26,lirr102,True,2275
+lirr33,lirr26,lirr92,True,1000
+lirr33,lirr26,lirr102,False,1650
+lirr33,lirr26,lirr92,False,1000
+lirr33,lirr25,lirr214,True,2050
+lirr33,lirr25,lirr214,False,1500
+lirr33,lirr23,lirr102,True,1650
+lirr33,lirr23,lirr102,False,1200
+lirr33,lirr16,lirr102,True,1825
+lirr33,lirr16,lirr102,False,1325
+lirr33,lirr21,lirr102,True,2800
+lirr33,lirr21,lirr92,True,1350
+lirr33,lirr21,lirr102,False,2025
+lirr33,lirr21,lirr92,False,1350
+lirr33,lirr13,lirr102,True,3475
+lirr33,lirr13,lirr92,True,2025
+lirr33,lirr13,lirr102,False,2525
+lirr33,lirr13,lirr92,False,2025
+lirr33,lirr11,lirr214,True,2050
+lirr33,lirr11,lirr214,False,1500
+lirr33,lirr32,lirr102,True,1650
+lirr33,lirr32,lirr102,False,1200
+lirr33,lirr31,lirr102,True,1825
+lirr33,lirr31,lirr102,False,1325
+lirr33,lirr40,lirr92,True,650
+lirr33,lirr40,lirr92,False,650
+lirr33,lirr38,lirr102,True,2125
+lirr33,lirr38,lirr102,False,1550
+lirr33,lirr36,lirr102,True,1650
+lirr33,lirr36,lirr63,True,825
+lirr33,lirr36,lirr102,False,1200
+lirr33,lirr36,lirr63,False,825
+lirr33,lirr42,lirr214,True,2050
+lirr33,lirr42,lirr214,False,1500
+lirr33,lirr48,lirr102,True,3475
+lirr33,lirr48,lirr92,True,2025
+lirr33,lirr48,lirr102,False,2525
+lirr33,lirr48,lirr92,False,2025
+lirr33,lirr51,lirr102,True,1825
+lirr33,lirr51,lirr102,False,1325
+lirr33,lirr52,lirr132,True,825
+lirr33,lirr52,lirr132,False,825
+lirr33,lirr65,lirr102,True,1650
+lirr33,lirr65,lirr102,False,1200
+lirr33,lirr63,lirr102,True,1650
+lirr33,lirr63,lirr102,False,1200
+lirr33,lirr56,lirr214,True,2050
+lirr33,lirr56,lirr214,False,1500
+lirr33,lirr64,lirr102,True,1825
+lirr33,lirr64,lirr102,False,1325
+lirr33,lirr68,lirr102,True,1650
+lirr33,lirr68,lirr63,True,825
+lirr33,lirr68,lirr102,False,1200
+lirr33,lirr68,lirr63,False,825
+lirr33,lirr66,lirr102,True,1650
+lirr33,lirr66,lirr102,False,1200
+lirr33,lirr67,lirr132,True,900
+lirr33,lirr67,lirr132,False,900
+lirr33,lirr71,lirr132,True,900
+lirr33,lirr71,lirr132,False,900
+lirr33,lirr76,lirr132,True,900
+lirr33,lirr76,lirr132,False,900
+lirr33,lirr72,lirr214,True,2225
+lirr33,lirr72,lirr214,False,1625
+lirr33,lirr74,lirr102,True,2275
+lirr33,lirr74,lirr92,True,1000
+lirr33,lirr74,lirr102,False,1650
+lirr33,lirr74,lirr92,False,1000
+lirr33,lirr78,lirr92,True,650
+lirr33,lirr78,lirr92,False,650
+lirr33,lirr77,lirr132,True,900
+lirr33,lirr77,lirr132,False,900
+lirr33,lirr83,lirr102,True,3475
+lirr33,lirr83,lirr92,True,2025
+lirr33,lirr83,lirr102,False,2525
+lirr33,lirr83,lirr92,False,2025
+lirr33,lirr84,lirr102,True,1650
+lirr33,lirr84,lirr63,True,825
+lirr33,lirr84,lirr102,False,1200
+lirr33,lirr84,lirr63,False,825
+lirr33,lirr85,lirr102,True,1650
+lirr33,lirr85,lirr102,False,1200
+lirr33,lirr94,lirr102,True,1650
+lirr33,lirr94,lirr102,False,1200
+lirr33,lirr89,lirr102,True,1575
+lirr33,lirr89,lirr102,False,1150
+lirr33,lirr91,lirr92,True,650
+lirr33,lirr91,lirr92,False,650
+lirr33,lirr101,lirr102,True,1650
+lirr33,lirr101,lirr102,False,1200
+lirr33,lirr99,lirr102,True,1825
+lirr33,lirr99,lirr102,False,1325
+lirr33,lirr100,lirr102,True,2275
+lirr33,lirr100,lirr92,True,1000
+lirr33,lirr100,lirr102,False,1650
+lirr33,lirr100,lirr92,False,1000
+lirr33,lirr111,lirr92,True,1000
+lirr33,lirr111,lirr92,False,1000
+lirr33,lirr124,lirr102,True,1650
+lirr33,lirr124,lirr102,False,1200
+lirr33,lirr122,lirr102,True,1575
+lirr33,lirr122,lirr102,False,1150
+lirr33,lirr114,lirr102,True,1650
+lirr33,lirr114,lirr102,False,1200
+lirr33,lirr117,lirr102,True,2125
+lirr33,lirr117,lirr102,False,1550
+lirr33,lirr120,lirr214,True,2050
+lirr33,lirr120,lirr214,False,1500
+lirr33,lirr119,lirr102,True,1575
+lirr33,lirr119,lirr102,False,1150
+lirr33,lirr123,lirr132,True,900
+lirr33,lirr123,lirr132,False,900
+lirr33,lirr113,lirr102,True,1825
+lirr33,lirr113,lirr102,False,1325
+lirr33,lirr125,lirr102,True,1650
+lirr33,lirr125,lirr102,False,1200
+lirr33,lirr142,lirr102,True,1650
+lirr33,lirr142,lirr102,False,1200
+lirr33,lirr131,lirr214,True,2225
+lirr33,lirr131,lirr214,False,1625
+lirr33,lirr136,lirr102,True,1825
+lirr33,lirr136,lirr102,False,1325
+lirr33,lirr135,lirr102,True,1825
+lirr33,lirr135,lirr102,False,1325
+lirr33,lirr140,lirr102,True,2800
+lirr33,lirr140,lirr92,True,1350
+lirr33,lirr140,lirr102,False,2025
+lirr33,lirr140,lirr92,False,1350
+lirr33,lirr226,lirr102,True,1825
+lirr33,lirr226,lirr102,False,1325
+lirr33,lirr141,lirr102,True,3475
+lirr33,lirr141,lirr92,True,2025
+lirr33,lirr141,lirr102,False,2525
+lirr33,lirr141,lirr92,False,2025
+lirr33,lirr130,lirr214,True,2050
+lirr33,lirr130,lirr214,False,1500
+lirr33,lirr149,lirr102,True,1650
+lirr33,lirr149,lirr63,True,825
+lirr33,lirr149,lirr102,False,1200
+lirr33,lirr149,lirr63,False,825
+lirr33,lirr153,lirr92,True,650
+lirr33,lirr153,lirr92,False,650
+lirr33,lirr157,lirr102,True,2275
+lirr33,lirr157,lirr92,True,1000
+lirr33,lirr157,lirr102,False,1650
+lirr33,lirr157,lirr92,False,1000
+lirr33,lirr155,lirr102,True,1825
+lirr33,lirr155,lirr102,False,1325
+lirr33,lirr154,lirr132,True,900
+lirr33,lirr154,lirr132,False,900
+lirr33,lirr163,lirr102,True,2275
+lirr33,lirr163,lirr92,True,1000
+lirr33,lirr163,lirr102,False,1650
+lirr33,lirr163,lirr92,False,1000
+lirr33,lirr162,lirr214,True,2225
+lirr33,lirr162,lirr214,False,1625
+lirr33,lirr164,lirr92,True,1000
+lirr33,lirr164,lirr92,False,1000
+lirr33,lirr171,lirr214,True,2225
+lirr33,lirr171,lirr214,False,1625
+lirr33,lirr175,lirr102,True,1575
+lirr33,lirr175,lirr102,False,1150
+lirr33,lirr183,lirr102,True,1825
+lirr33,lirr183,lirr102,False,1325
+lirr33,lirr180,lirr102,True,1575
+lirr33,lirr180,lirr102,False,1150
+lirr33,lirr182,lirr132,True,900
+lirr33,lirr182,lirr132,False,900
+lirr33,lirr204,lirr102,True,2275
+lirr33,lirr204,lirr92,True,1000
+lirr33,lirr204,lirr102,False,1650
+lirr33,lirr204,lirr92,False,1000
+lirr33,lirr185,lirr132,True,900
+lirr33,lirr185,lirr132,False,900
+lirr33,lirr187,lirr102,True,1825
+lirr33,lirr187,lirr102,False,1325
+lirr33,lirr202,lirr92,True,1000
+lirr33,lirr202,lirr92,False,1000
+lirr33,lirr191,lirr102,True,3475
+lirr33,lirr191,lirr92,True,2025
+lirr33,lirr191,lirr102,False,2525
+lirr33,lirr191,lirr92,False,2025
+lirr33,lirr198,lirr102,True,2800
+lirr33,lirr198,lirr92,True,1350
+lirr33,lirr198,lirr102,False,2025
+lirr33,lirr198,lirr92,False,1350
+lirr33,lirr184,lirr102,True,1575
+lirr33,lirr184,lirr102,False,1150
+lirr33,lirr193,lirr92,True,1000
+lirr33,lirr193,lirr92,False,1000
+lirr33,lirr195,lirr102,True,1650
+lirr33,lirr195,lirr63,True,825
+lirr33,lirr195,lirr102,False,1200
+lirr33,lirr195,lirr63,False,825
+lirr33,lirr14,lirr92,True,1000
+lirr33,lirr14,lirr92,False,1000
+lirr33,lirr205,lirr92,True,600
+lirr33,lirr205,lirr92,False,600
+lirr33,lirr211,lirr102,True,1650
+lirr33,lirr211,lirr102,False,1200
+lirr33,lirr215,lirr102,True,1825
+lirr33,lirr215,lirr102,False,1325
+lirr33,lirr216,lirr102,True,1650
+lirr33,lirr216,lirr102,False,1200
+lirr33,lirr233,lirr102,True,3475
+lirr33,lirr233,lirr92,True,2025
+lirr33,lirr233,lirr102,False,2525
+lirr33,lirr233,lirr92,False,2025
+lirr33,lirr219,lirr102,True,1650
+lirr33,lirr219,lirr102,False,1200
+lirr33,lirr217,lirr102,True,1650
+lirr33,lirr217,lirr102,False,1200
+lirr31,lirr1,lirr102,True,1225
+lirr31,lirr1,lirr102,False,900
+lirr31,lirr4,lirr102,True,2975
+lirr31,lirr4,lirr125,True,1875
+lirr31,lirr4,lirr102,False,2175
+lirr31,lirr4,lirr125,False,1875
+lirr31,lirr8,lirr102,True,1575
+lirr31,lirr8,lirr125,True,650
+lirr31,lirr8,lirr102,False,1150
+lirr31,lirr8,lirr125,False,650
+lirr31,lirr2,lirr214,True,1575
+lirr31,lirr2,lirr214,False,1150
+lirr31,lirr27,lirr102,True,1575
+lirr31,lirr27,lirr125,True,650
+lirr31,lirr27,lirr102,False,1150
+lirr31,lirr27,lirr125,False,650
+lirr31,lirr225,lirr102,True,1225
+lirr31,lirr225,lirr125,True,450
+lirr31,lirr225,lirr102,False,900
+lirr31,lirr225,lirr125,False,450
+lirr31,lirr26,lirr102,True,1825
+lirr31,lirr26,lirr125,True,900
+lirr31,lirr26,lirr102,False,1325
+lirr31,lirr26,lirr125,False,900
+lirr31,lirr25,lirr214,True,1575
+lirr31,lirr25,lirr214,False,1150
+lirr31,lirr23,lirr102,True,1100
+lirr31,lirr23,lirr102,False,800
+lirr31,lirr16,lirr102,True,1225
+lirr31,lirr16,lirr125,True,450
+lirr31,lirr16,lirr102,False,900
+lirr31,lirr16,lirr125,False,450
+lirr31,lirr21,lirr102,True,2275
+lirr31,lirr21,lirr125,True,1225
+lirr31,lirr21,lirr102,False,1650
+lirr31,lirr21,lirr125,False,1225
+lirr31,lirr20,lirr102,True,1225
+lirr31,lirr20,lirr102,False,900
+lirr31,lirr29,lirr102,True,1825
+lirr31,lirr29,lirr102,False,1325
+lirr31,lirr13,lirr102,True,2975
+lirr31,lirr13,lirr125,True,1875
+lirr31,lirr13,lirr102,False,2175
+lirr31,lirr13,lirr125,False,1875
+lirr31,lirr11,lirr214,True,1575
+lirr31,lirr11,lirr214,False,1150
+lirr31,lirr39,lirr102,True,1225
+lirr31,lirr39,lirr102,False,900
+lirr31,lirr32,lirr211,True,425
+lirr31,lirr32,lirr211,False,425
+lirr31,lirr33,lirr102,True,1825
+lirr31,lirr33,lirr102,False,1325
+lirr31,lirr40,lirr102,True,1575
+lirr31,lirr40,lirr102,False,1150
+lirr31,lirr38,lirr102,True,1575
+lirr31,lirr38,lirr125,True,650
+lirr31,lirr38,lirr102,False,1150
+lirr31,lirr38,lirr125,False,650
+lirr31,lirr36,lirr102,True,1100
+lirr31,lirr36,lirr102,False,800
+lirr31,lirr44,lirr102,True,1575
+lirr31,lirr44,lirr102,False,1150
+lirr31,lirr42,lirr214,True,1575
+lirr31,lirr42,lirr214,False,1150
+lirr31,lirr48,lirr102,True,2975
+lirr31,lirr48,lirr125,True,1875
+lirr31,lirr48,lirr102,False,2175
+lirr31,lirr48,lirr125,False,1875
+lirr31,lirr52,lirr102,True,1100
+lirr31,lirr52,lirr102,False,800
+lirr31,lirr65,lirr211,True,425
+lirr31,lirr65,lirr211,False,425
+lirr31,lirr59,lirr102,True,1225
+lirr31,lirr59,lirr102,False,900
+lirr31,lirr63,lirr102,True,1100
+lirr31,lirr63,lirr102,False,800
+lirr31,lirr56,lirr214,True,1575
+lirr31,lirr56,lirr214,False,1150
+lirr31,lirr64,lirr102,True,1225
+lirr31,lirr64,lirr125,True,450
+lirr31,lirr64,lirr102,False,900
+lirr31,lirr64,lirr125,False,450
+lirr31,lirr68,lirr102,True,1100
+lirr31,lirr68,lirr102,False,800
+lirr31,lirr66,lirr211,True,425
+lirr31,lirr66,lirr211,False,425
+lirr31,lirr67,lirr102,True,1225
+lirr31,lirr67,lirr102,False,900
+lirr31,lirr71,lirr102,True,1225
+lirr31,lirr71,lirr102,False,900
+lirr31,lirr76,lirr102,True,1225
+lirr31,lirr76,lirr102,False,900
+lirr31,lirr72,lirr214,True,1725
+lirr31,lirr72,lirr214,False,1250
+lirr31,lirr74,lirr102,True,1825
+lirr31,lirr74,lirr125,True,900
+lirr31,lirr74,lirr102,False,1325
+lirr31,lirr74,lirr125,False,900
+lirr31,lirr78,lirr102,True,1575
+lirr31,lirr78,lirr102,False,1150
+lirr31,lirr73,lirr102,True,2975
+lirr31,lirr73,lirr102,False,2175
+lirr31,lirr77,lirr102,True,1225
+lirr31,lirr77,lirr102,False,900
+lirr31,lirr83,lirr102,True,2975
+lirr31,lirr83,lirr125,True,1875
+lirr31,lirr83,lirr102,False,2175
+lirr31,lirr83,lirr125,False,1875
+lirr31,lirr84,lirr102,True,1100
+lirr31,lirr84,lirr102,False,800
+lirr31,lirr85,lirr211,True,425
+lirr31,lirr85,lirr211,False,425
+lirr31,lirr94,lirr211,True,425
+lirr31,lirr94,lirr211,False,425
+lirr31,lirr92,lirr102,True,1225
+lirr31,lirr92,lirr102,False,900
+lirr31,lirr89,lirr102,True,1050
+lirr31,lirr89,lirr102,False,775
+lirr31,lirr91,lirr102,True,1575
+lirr31,lirr91,lirr102,False,1150
+lirr31,lirr101,lirr211,True,425
+lirr31,lirr101,lirr211,False,425
+lirr31,lirr100,lirr102,True,1825
+lirr31,lirr100,lirr125,True,900
+lirr31,lirr100,lirr102,False,1325
+lirr31,lirr100,lirr125,False,900
+lirr31,lirr111,lirr102,True,1825
+lirr31,lirr111,lirr102,False,1325
+lirr31,lirr124,lirr211,True,425
+lirr31,lirr124,lirr211,False,425
+lirr31,lirr122,lirr102,True,1050
+lirr31,lirr122,lirr102,False,775
+lirr31,lirr114,lirr211,True,425
+lirr31,lirr114,lirr211,False,425
+lirr31,lirr117,lirr102,True,1575
+lirr31,lirr117,lirr125,True,650
+lirr31,lirr117,lirr102,False,1150
+lirr31,lirr117,lirr125,False,650
+lirr31,lirr120,lirr214,True,1575
+lirr31,lirr120,lirr214,False,1150
+lirr31,lirr119,lirr102,True,1050
+lirr31,lirr119,lirr102,False,775
+lirr31,lirr123,lirr102,True,1225
+lirr31,lirr123,lirr102,False,900
+lirr31,lirr142,lirr211,True,425
+lirr31,lirr142,lirr211,False,425
+lirr31,lirr131,lirr214,True,1725
+lirr31,lirr131,lirr214,False,1250
+lirr31,lirr136,lirr102,True,1225
+lirr31,lirr136,lirr125,True,450
+lirr31,lirr136,lirr102,False,900
+lirr31,lirr136,lirr125,False,450
+lirr31,lirr135,lirr102,True,1225
+lirr31,lirr135,lirr125,True,450
+lirr31,lirr135,lirr102,False,900
+lirr31,lirr135,lirr125,False,450
+lirr31,lirr140,lirr102,True,2275
+lirr31,lirr140,lirr125,True,1225
+lirr31,lirr140,lirr102,False,1650
+lirr31,lirr140,lirr125,False,1225
+lirr31,lirr126,lirr102,True,2975
+lirr31,lirr126,lirr102,False,2175
+lirr31,lirr129,lirr102,True,1825
+lirr31,lirr129,lirr102,False,1325
+lirr31,lirr127,lirr102,True,1100
+lirr31,lirr127,lirr102,False,800
+lirr31,lirr226,lirr102,True,1225
+lirr31,lirr226,lirr125,True,450
+lirr31,lirr226,lirr102,False,900
+lirr31,lirr226,lirr125,False,450
+lirr31,lirr132,lirr102,True,1100
+lirr31,lirr132,lirr102,False,800
+lirr31,lirr141,lirr102,True,2975
+lirr31,lirr141,lirr125,True,1875
+lirr31,lirr141,lirr102,False,2175
+lirr31,lirr141,lirr125,False,1875
+lirr31,lirr130,lirr214,True,1575
+lirr31,lirr130,lirr214,False,1150
+lirr31,lirr149,lirr102,True,1100
+lirr31,lirr149,lirr102,False,800
+lirr31,lirr152,lirr102,True,1100
+lirr31,lirr152,lirr102,False,800
+lirr31,lirr153,lirr102,True,1575
+lirr31,lirr153,lirr102,False,1150
+lirr31,lirr157,lirr102,True,1825
+lirr31,lirr157,lirr125,True,900
+lirr31,lirr157,lirr102,False,1325
+lirr31,lirr157,lirr125,False,900
+lirr31,lirr154,lirr102,True,1225
+lirr31,lirr154,lirr102,False,900
+lirr31,lirr163,lirr102,True,1825
+lirr31,lirr163,lirr125,True,900
+lirr31,lirr163,lirr102,False,1325
+lirr31,lirr163,lirr125,False,900
+lirr31,lirr165,lirr102,True,1575
+lirr31,lirr165,lirr102,False,1150
+lirr31,lirr162,lirr214,True,1725
+lirr31,lirr162,lirr214,False,1250
+lirr31,lirr164,lirr102,True,1825
+lirr31,lirr164,lirr102,False,1325
+lirr31,lirr171,lirr214,True,1725
+lirr31,lirr171,lirr214,False,1250
+lirr31,lirr175,lirr102,True,1050
+lirr31,lirr175,lirr102,False,775
+lirr31,lirr176,lirr102,True,2975
+lirr31,lirr176,lirr102,False,2175
+lirr31,lirr183,lirr102,True,1225
+lirr31,lirr183,lirr125,True,450
+lirr31,lirr183,lirr102,False,900
+lirr31,lirr183,lirr125,False,450
+lirr31,lirr179,lirr102,True,1825
+lirr31,lirr179,lirr102,False,1325
+lirr31,lirr180,lirr102,True,1050
+lirr31,lirr180,lirr102,False,775
+lirr31,lirr182,lirr102,True,1225
+lirr31,lirr182,lirr102,False,900
+lirr31,lirr204,lirr102,True,1825
+lirr31,lirr204,lirr125,True,900
+lirr31,lirr204,lirr102,False,1325
+lirr31,lirr204,lirr125,False,900
+lirr31,lirr185,lirr102,True,1225
+lirr31,lirr185,lirr102,False,900
+lirr31,lirr187,lirr102,True,1225
+lirr31,lirr187,lirr125,True,450
+lirr31,lirr187,lirr102,False,900
+lirr31,lirr187,lirr125,False,450
+lirr31,lirr202,lirr102,True,1825
+lirr31,lirr202,lirr102,False,1325
+lirr31,lirr191,lirr102,True,2975
+lirr31,lirr191,lirr125,True,1875
+lirr31,lirr191,lirr102,False,2175
+lirr31,lirr191,lirr125,False,1875
+lirr31,lirr190,lirr102,True,2975
+lirr31,lirr190,lirr102,False,2175
+lirr31,lirr198,lirr102,True,2275
+lirr31,lirr198,lirr125,True,1225
+lirr31,lirr198,lirr102,False,1650
+lirr31,lirr198,lirr125,False,1225
+lirr31,lirr184,lirr102,True,1050
+lirr31,lirr184,lirr102,False,775
+lirr31,lirr193,lirr102,True,1825
+lirr31,lirr193,lirr102,False,1325
+lirr31,lirr195,lirr102,True,1100
+lirr31,lirr195,lirr102,False,800
+lirr31,lirr14,lirr102,True,1825
+lirr31,lirr14,lirr102,False,1325
+lirr31,lirr205,lirr102,True,1225
+lirr31,lirr205,lirr102,False,900
+lirr31,lirr215,lirr102,True,1225
+lirr31,lirr215,lirr125,True,450
+lirr31,lirr215,lirr102,False,900
+lirr31,lirr215,lirr125,False,450
+lirr31,lirr216,lirr211,True,425
+lirr31,lirr216,lirr211,False,425
+lirr31,lirr213,lirr102,True,1225
+lirr31,lirr213,lirr102,False,900
+lirr31,lirr233,lirr102,True,2975
+lirr31,lirr233,lirr125,True,1875
+lirr31,lirr233,lirr102,False,2175
+lirr31,lirr233,lirr125,False,1875
+lirr31,lirr219,lirr211,True,425
+lirr31,lirr219,lirr211,False,425
+lirr31,lirr217,lirr211,True,425
+lirr31,lirr217,lirr211,False,425
+lirr31,lirr220,lirr102,True,1575
+lirr31,lirr220,lirr102,False,1150
+lirr31,lirr223,lirr102,True,2275
+lirr31,lirr223,lirr102,False,1650
+lirr40,lirr1,lirr132,True,650
+lirr40,lirr1,lirr132,False,650
+lirr40,lirr4,lirr102,True,3275
+lirr40,lirr4,lirr92,True,1775
+lirr40,lirr4,lirr102,False,2375
+lirr40,lirr4,lirr92,False,1775
+lirr40,lirr8,lirr102,True,1850
+lirr40,lirr8,lirr102,False,1350
+lirr40,lirr2,lirr214,True,1825
+lirr40,lirr2,lirr214,False,1325
+lirr40,lirr27,lirr102,True,1850
+lirr40,lirr27,lirr92,True,450
+lirr40,lirr27,lirr102,False,1350
+lirr40,lirr27,lirr92,False,450
+lirr40,lirr225,lirr102,True,1575
+lirr40,lirr225,lirr102,False,1150
+lirr40,lirr26,lirr102,True,2125
+lirr40,lirr26,lirr92,True,650
+lirr40,lirr26,lirr102,False,1550
+lirr40,lirr26,lirr92,False,650
+lirr40,lirr25,lirr214,True,1825
+lirr40,lirr25,lirr214,False,1325
+lirr40,lirr23,lirr102,True,1350
+lirr40,lirr23,lirr102,False,975
+lirr40,lirr16,lirr102,True,1575
+lirr40,lirr16,lirr102,False,1150
+lirr40,lirr21,lirr102,True,2600
+lirr40,lirr21,lirr92,True,1100
+lirr40,lirr21,lirr102,False,1900
+lirr40,lirr21,lirr92,False,1100
+lirr40,lirr20,lirr92,True,425
+lirr40,lirr20,lirr92,False,425
+lirr40,lirr29,lirr92,True,650
+lirr40,lirr29,lirr92,False,650
+lirr40,lirr13,lirr102,True,3275
+lirr40,lirr13,lirr92,True,1775
+lirr40,lirr13,lirr102,False,2375
+lirr40,lirr13,lirr92,False,1775
+lirr40,lirr11,lirr214,True,1825
+lirr40,lirr11,lirr214,False,1325
+lirr40,lirr32,lirr102,True,1350
+lirr40,lirr32,lirr102,False,975
+lirr40,lirr33,lirr92,True,650
+lirr40,lirr33,lirr92,False,650
+lirr40,lirr31,lirr102,True,1575
+lirr40,lirr31,lirr102,False,1150
+lirr40,lirr38,lirr102,True,1850
+lirr40,lirr38,lirr102,False,1350
+lirr40,lirr36,lirr102,True,1350
+lirr40,lirr36,lirr63,True,600
+lirr40,lirr36,lirr102,False,975
+lirr40,lirr36,lirr63,False,600
+lirr40,lirr44,lirr92,True,450
+lirr40,lirr44,lirr92,False,450
+lirr40,lirr42,lirr214,True,1825
+lirr40,lirr42,lirr214,False,1325
+lirr40,lirr48,lirr102,True,3275
+lirr40,lirr48,lirr92,True,1775
+lirr40,lirr48,lirr102,False,2375
+lirr40,lirr48,lirr92,False,1775
+lirr40,lirr51,lirr102,True,1575
+lirr40,lirr51,lirr102,False,1150
+lirr40,lirr52,lirr132,True,600
+lirr40,lirr52,lirr132,False,600
+lirr40,lirr65,lirr102,True,1350
+lirr40,lirr65,lirr102,False,975
+lirr40,lirr59,lirr92,True,425
+lirr40,lirr59,lirr92,False,425
+lirr40,lirr63,lirr102,True,1350
+lirr40,lirr63,lirr102,False,975
+lirr40,lirr56,lirr214,True,1825
+lirr40,lirr56,lirr214,False,1325
+lirr40,lirr64,lirr102,True,1575
+lirr40,lirr64,lirr102,False,1150
+lirr40,lirr68,lirr102,True,1350
+lirr40,lirr68,lirr63,True,600
+lirr40,lirr68,lirr102,False,975
+lirr40,lirr68,lirr63,False,600
+lirr40,lirr66,lirr102,True,1350
+lirr40,lirr66,lirr102,False,975
+lirr40,lirr67,lirr132,True,650
+lirr40,lirr67,lirr132,False,650
+lirr40,lirr71,lirr132,True,650
+lirr40,lirr71,lirr132,False,650
+lirr40,lirr76,lirr132,True,650
+lirr40,lirr76,lirr132,False,650
+lirr40,lirr72,lirr214,True,1975
+lirr40,lirr72,lirr214,False,1425
+lirr40,lirr74,lirr102,True,2125
+lirr40,lirr74,lirr92,True,650
+lirr40,lirr74,lirr102,False,1550
+lirr40,lirr74,lirr92,False,650
+lirr40,lirr73,lirr92,True,1775
+lirr40,lirr73,lirr92,False,1775
+lirr40,lirr77,lirr132,True,650
+lirr40,lirr77,lirr132,False,650
+lirr40,lirr83,lirr102,True,3275
+lirr40,lirr83,lirr92,True,1775
+lirr40,lirr83,lirr102,False,2375
+lirr40,lirr83,lirr92,False,1775
+lirr40,lirr84,lirr102,True,1350
+lirr40,lirr84,lirr63,True,600
+lirr40,lirr84,lirr102,False,975
+lirr40,lirr84,lirr63,False,600
+lirr40,lirr85,lirr102,True,1350
+lirr40,lirr85,lirr102,False,975
+lirr40,lirr94,lirr102,True,1350
+lirr40,lirr94,lirr102,False,975
+lirr40,lirr89,lirr102,True,1300
+lirr40,lirr89,lirr102,False,950
+lirr40,lirr101,lirr102,True,1350
+lirr40,lirr101,lirr102,False,975
+lirr40,lirr99,lirr102,True,1575
+lirr40,lirr99,lirr102,False,1150
+lirr40,lirr100,lirr102,True,2125
+lirr40,lirr100,lirr92,True,650
+lirr40,lirr100,lirr102,False,1550
+lirr40,lirr100,lirr92,False,650
+lirr40,lirr124,lirr102,True,1350
+lirr40,lirr124,lirr102,False,975
+lirr40,lirr122,lirr102,True,1300
+lirr40,lirr122,lirr102,False,950
+lirr40,lirr114,lirr102,True,1350
+lirr40,lirr114,lirr102,False,975
+lirr40,lirr117,lirr102,True,1850
+lirr40,lirr117,lirr102,False,1350
+lirr40,lirr120,lirr214,True,1825
+lirr40,lirr120,lirr214,False,1325
+lirr40,lirr119,lirr102,True,1300
+lirr40,lirr119,lirr102,False,950
+lirr40,lirr123,lirr132,True,650
+lirr40,lirr123,lirr132,False,650
+lirr40,lirr113,lirr102,True,1575
+lirr40,lirr113,lirr102,False,1150
+lirr40,lirr125,lirr102,True,1350
+lirr40,lirr125,lirr102,False,975
+lirr40,lirr142,lirr102,True,1350
+lirr40,lirr142,lirr102,False,975
+lirr40,lirr131,lirr214,True,1975
+lirr40,lirr131,lirr214,False,1425
+lirr40,lirr136,lirr102,True,1575
+lirr40,lirr136,lirr102,False,1150
+lirr40,lirr135,lirr102,True,1575
+lirr40,lirr135,lirr102,False,1150
+lirr40,lirr140,lirr102,True,2600
+lirr40,lirr140,lirr92,True,1100
+lirr40,lirr140,lirr102,False,1900
+lirr40,lirr140,lirr92,False,1100
+lirr40,lirr126,lirr92,True,1775
+lirr40,lirr126,lirr92,False,1775
+lirr40,lirr129,lirr92,True,650
+lirr40,lirr129,lirr92,False,650
+lirr40,lirr226,lirr102,True,1575
+lirr40,lirr226,lirr102,False,1150
+lirr40,lirr141,lirr102,True,3275
+lirr40,lirr141,lirr92,True,1775
+lirr40,lirr141,lirr102,False,2375
+lirr40,lirr141,lirr92,False,1775
+lirr40,lirr130,lirr214,True,1825
+lirr40,lirr130,lirr214,False,1325
+lirr40,lirr149,lirr102,True,1350
+lirr40,lirr149,lirr63,True,600
+lirr40,lirr149,lirr102,False,975
+lirr40,lirr149,lirr63,False,600
+lirr40,lirr157,lirr102,True,2125
+lirr40,lirr157,lirr92,True,650
+lirr40,lirr157,lirr102,False,1550
+lirr40,lirr157,lirr92,False,650
+lirr40,lirr155,lirr102,True,1575
+lirr40,lirr155,lirr102,False,1150
+lirr40,lirr154,lirr132,True,650
+lirr40,lirr154,lirr132,False,650
+lirr40,lirr163,lirr102,True,2125
+lirr40,lirr163,lirr92,True,650
+lirr40,lirr163,lirr102,False,1550
+lirr40,lirr163,lirr92,False,650
+lirr40,lirr165,lirr92,True,450
+lirr40,lirr165,lirr92,False,450
+lirr40,lirr162,lirr214,True,1975
+lirr40,lirr162,lirr214,False,1425
+lirr40,lirr171,lirr214,True,1975
+lirr40,lirr171,lirr214,False,1425
+lirr40,lirr175,lirr102,True,1300
+lirr40,lirr175,lirr102,False,950
+lirr40,lirr176,lirr92,True,1775
+lirr40,lirr176,lirr92,False,1775
+lirr40,lirr183,lirr102,True,1575
+lirr40,lirr183,lirr102,False,1150
+lirr40,lirr179,lirr92,True,650
+lirr40,lirr179,lirr92,False,650
+lirr40,lirr180,lirr102,True,1300
+lirr40,lirr180,lirr102,False,950
+lirr40,lirr182,lirr132,True,650
+lirr40,lirr182,lirr132,False,650
+lirr40,lirr204,lirr102,True,2125
+lirr40,lirr204,lirr92,True,650
+lirr40,lirr204,lirr102,False,1550
+lirr40,lirr204,lirr92,False,650
+lirr40,lirr185,lirr132,True,650
+lirr40,lirr185,lirr132,False,650
+lirr40,lirr187,lirr102,True,1575
+lirr40,lirr187,lirr102,False,1150
+lirr40,lirr191,lirr102,True,3275
+lirr40,lirr191,lirr92,True,1775
+lirr40,lirr191,lirr102,False,2375
+lirr40,lirr191,lirr92,False,1775
+lirr40,lirr190,lirr92,True,1775
+lirr40,lirr190,lirr92,False,1775
+lirr40,lirr198,lirr102,True,2600
+lirr40,lirr198,lirr92,True,1100
+lirr40,lirr198,lirr102,False,1900
+lirr40,lirr198,lirr92,False,1100
+lirr40,lirr184,lirr102,True,1300
+lirr40,lirr184,lirr102,False,950
+lirr40,lirr195,lirr102,True,1350
+lirr40,lirr195,lirr63,True,600
+lirr40,lirr195,lirr102,False,975
+lirr40,lirr195,lirr63,False,600
+lirr40,lirr211,lirr102,True,1350
+lirr40,lirr211,lirr102,False,975
+lirr40,lirr215,lirr102,True,1575
+lirr40,lirr215,lirr102,False,1150
+lirr40,lirr216,lirr102,True,1350
+lirr40,lirr216,lirr102,False,975
+lirr40,lirr233,lirr102,True,3275
+lirr40,lirr233,lirr92,True,1775
+lirr40,lirr233,lirr102,False,2375
+lirr40,lirr233,lirr92,False,1775
+lirr40,lirr219,lirr102,True,1350
+lirr40,lirr219,lirr102,False,975
+lirr40,lirr217,lirr102,True,1350
+lirr40,lirr217,lirr102,False,975
+lirr40,lirr220,lirr92,True,450
+lirr40,lirr220,lirr92,False,450
+lirr40,lirr223,lirr92,True,1100
+lirr40,lirr223,lirr92,False,1100
+lirr38,lirr1,lirr102,True,1575
+lirr38,lirr1,lirr102,False,1150
+lirr38,lirr2,lirr214,True,1825
+lirr38,lirr2,lirr214,False,1325
+lirr38,lirr25,lirr214,True,1825
+lirr38,lirr25,lirr214,False,1325
+lirr38,lirr23,lirr102,True,1350
+lirr38,lirr23,lirr102,False,975
+lirr38,lirr20,lirr102,True,1575
+lirr38,lirr20,lirr102,False,1150
+lirr38,lirr29,lirr102,True,2125
+lirr38,lirr29,lirr102,False,1550
+lirr38,lirr11,lirr214,True,1825
+lirr38,lirr11,lirr214,False,1325
+lirr38,lirr39,lirr102,True,1575
+lirr38,lirr39,lirr102,False,1150
+lirr38,lirr32,lirr102,True,1350
+lirr38,lirr32,lirr211,True,600
+lirr38,lirr32,lirr102,False,975
+lirr38,lirr32,lirr211,False,600
+lirr38,lirr33,lirr102,True,2125
+lirr38,lirr33,lirr102,False,1550
+lirr38,lirr31,lirr102,True,1575
+lirr38,lirr31,lirr125,True,650
+lirr38,lirr31,lirr102,False,1150
+lirr38,lirr31,lirr125,False,650
+lirr38,lirr40,lirr102,True,1850
+lirr38,lirr40,lirr102,False,1350
+lirr38,lirr36,lirr102,True,1350
+lirr38,lirr36,lirr102,False,975
+lirr38,lirr44,lirr102,True,1850
+lirr38,lirr44,lirr102,False,1350
+lirr38,lirr42,lirr214,True,1825
+lirr38,lirr42,lirr214,False,1325
+lirr38,lirr51,lirr102,True,1575
+lirr38,lirr51,lirr125,True,650
+lirr38,lirr51,lirr102,False,1150
+lirr38,lirr51,lirr125,False,650
+lirr38,lirr52,lirr102,True,1350
+lirr38,lirr52,lirr102,False,975
+lirr38,lirr65,lirr102,True,1350
+lirr38,lirr65,lirr211,True,600
+lirr38,lirr65,lirr102,False,975
+lirr38,lirr65,lirr211,False,600
+lirr38,lirr59,lirr102,True,1575
+lirr38,lirr59,lirr102,False,1150
+lirr38,lirr63,lirr102,True,1350
+lirr38,lirr63,lirr102,False,975
+lirr38,lirr56,lirr214,True,1825
+lirr38,lirr56,lirr214,False,1325
+lirr38,lirr68,lirr102,True,1350
+lirr38,lirr68,lirr102,False,975
+lirr38,lirr66,lirr102,True,1350
+lirr38,lirr66,lirr211,True,600
+lirr38,lirr66,lirr102,False,975
+lirr38,lirr66,lirr211,False,600
+lirr38,lirr67,lirr102,True,1575
+lirr38,lirr67,lirr102,False,1150
+lirr38,lirr71,lirr102,True,1575
+lirr38,lirr71,lirr102,False,1150
+lirr38,lirr76,lirr102,True,1575
+lirr38,lirr76,lirr102,False,1150
+lirr38,lirr72,lirr214,True,1975
+lirr38,lirr72,lirr214,False,1425
+lirr38,lirr78,lirr102,True,1850
+lirr38,lirr78,lirr102,False,1350
+lirr38,lirr73,lirr102,True,3275
+lirr38,lirr73,lirr102,False,2375
+lirr38,lirr77,lirr102,True,1575
+lirr38,lirr77,lirr102,False,1150
+lirr38,lirr84,lirr102,True,1350
+lirr38,lirr84,lirr102,False,975
+lirr38,lirr85,lirr102,True,1350
+lirr38,lirr85,lirr102,False,975
+lirr38,lirr94,lirr102,True,1350
+lirr38,lirr94,lirr211,True,600
+lirr38,lirr94,lirr102,False,975
+lirr38,lirr94,lirr211,False,600
+lirr38,lirr92,lirr102,True,1575
+lirr38,lirr92,lirr102,False,1150
+lirr38,lirr89,lirr102,True,1300
+lirr38,lirr89,lirr102,False,950
+lirr38,lirr91,lirr102,True,1850
+lirr38,lirr91,lirr102,False,1350
+lirr38,lirr101,lirr102,True,1350
+lirr38,lirr101,lirr211,True,600
+lirr38,lirr101,lirr102,False,975
+lirr38,lirr101,lirr211,False,600
+lirr38,lirr99,lirr102,True,1575
+lirr38,lirr99,lirr125,True,650
+lirr38,lirr99,lirr102,False,1150
+lirr38,lirr99,lirr125,False,650
+lirr38,lirr111,lirr102,True,2125
+lirr38,lirr111,lirr102,False,1550
+lirr38,lirr124,lirr102,True,1350
+lirr38,lirr124,lirr102,False,975
+lirr38,lirr122,lirr102,True,1300
+lirr38,lirr122,lirr102,False,950
+lirr38,lirr114,lirr102,True,1350
+lirr38,lirr114,lirr211,True,600
+lirr38,lirr114,lirr102,False,975
+lirr38,lirr114,lirr211,False,600
+lirr38,lirr120,lirr214,True,1825
+lirr38,lirr120,lirr214,False,1325
+lirr38,lirr119,lirr102,True,1300
+lirr38,lirr119,lirr102,False,950
+lirr38,lirr123,lirr102,True,1575
+lirr38,lirr123,lirr102,False,1150
+lirr38,lirr113,lirr102,True,1575
+lirr38,lirr113,lirr125,True,650
+lirr38,lirr113,lirr102,False,1150
+lirr38,lirr113,lirr125,False,650
+lirr38,lirr125,lirr102,True,1350
+lirr38,lirr125,lirr102,False,975
+lirr38,lirr142,lirr102,True,1350
+lirr38,lirr142,lirr102,False,975
+lirr38,lirr131,lirr214,True,1975
+lirr38,lirr131,lirr214,False,1425
+lirr38,lirr126,lirr102,True,3275
+lirr38,lirr126,lirr102,False,2375
+lirr38,lirr129,lirr102,True,2125
+lirr38,lirr129,lirr102,False,1550
+lirr38,lirr127,lirr102,True,1350
+lirr38,lirr127,lirr102,False,975
+lirr38,lirr132,lirr102,True,1350
+lirr38,lirr132,lirr102,False,975
+lirr38,lirr130,lirr214,True,1825
+lirr38,lirr130,lirr214,False,1325
+lirr38,lirr149,lirr102,True,1350
+lirr38,lirr149,lirr102,False,975
+lirr38,lirr152,lirr102,True,1350
+lirr38,lirr152,lirr102,False,975
+lirr38,lirr153,lirr102,True,1850
+lirr38,lirr153,lirr102,False,1350
+lirr38,lirr155,lirr102,True,1575
+lirr38,lirr155,lirr125,True,650
+lirr38,lirr155,lirr102,False,1150
+lirr38,lirr155,lirr125,False,650
+lirr38,lirr154,lirr102,True,1575
+lirr38,lirr154,lirr102,False,1150
+lirr38,lirr165,lirr102,True,1850
+lirr38,lirr165,lirr102,False,1350
+lirr38,lirr162,lirr214,True,1975
+lirr38,lirr162,lirr214,False,1425
+lirr38,lirr164,lirr102,True,2125
+lirr38,lirr164,lirr102,False,1550
+lirr38,lirr171,lirr214,True,1975
+lirr38,lirr171,lirr214,False,1425
+lirr38,lirr175,lirr102,True,1300
+lirr38,lirr175,lirr102,False,950
+lirr38,lirr176,lirr102,True,3275
+lirr38,lirr176,lirr102,False,2375
+lirr38,lirr179,lirr102,True,2125
+lirr38,lirr179,lirr102,False,1550
+lirr38,lirr180,lirr102,True,1300
+lirr38,lirr180,lirr102,False,950
+lirr38,lirr182,lirr102,True,1575
+lirr38,lirr182,lirr102,False,1150
+lirr38,lirr185,lirr102,True,1575
+lirr38,lirr185,lirr102,False,1150
+lirr38,lirr202,lirr102,True,2125
+lirr38,lirr202,lirr102,False,1550
+lirr38,lirr190,lirr102,True,3275
+lirr38,lirr190,lirr102,False,2375
+lirr38,lirr184,lirr102,True,1300
+lirr38,lirr184,lirr102,False,950
+lirr38,lirr193,lirr102,True,2125
+lirr38,lirr193,lirr102,False,1550
+lirr38,lirr195,lirr102,True,1350
+lirr38,lirr195,lirr102,False,975
+lirr38,lirr14,lirr102,True,2125
+lirr38,lirr14,lirr102,False,1550
+lirr38,lirr205,lirr102,True,1575
+lirr38,lirr205,lirr102,False,1150
+lirr38,lirr211,lirr102,True,1350
+lirr38,lirr211,lirr102,False,975
+lirr38,lirr216,lirr102,True,1350
+lirr38,lirr216,lirr102,False,975
+lirr38,lirr213,lirr102,True,1575
+lirr38,lirr213,lirr102,False,1150
+lirr38,lirr219,lirr102,True,1350
+lirr38,lirr219,lirr102,False,975
+lirr38,lirr217,lirr102,True,1350
+lirr38,lirr217,lirr211,True,600
+lirr38,lirr217,lirr102,False,975
+lirr38,lirr217,lirr211,False,600
+lirr38,lirr220,lirr102,True,1850
+lirr38,lirr220,lirr102,False,1350
+lirr38,lirr223,lirr102,True,2600
+lirr38,lirr223,lirr102,False,1900
+lirr36,lirr1,lirr102,True,1100
+lirr36,lirr1,lirr63,True,425
+lirr36,lirr1,lirr102,False,800
+lirr36,lirr1,lirr63,False,425
+lirr36,lirr4,lirr102,True,2775
+lirr36,lirr4,lirr63,True,1850
+lirr36,lirr4,lirr102,False,2025
+lirr36,lirr4,lirr63,False,1850
+lirr36,lirr8,lirr102,True,1350
+lirr36,lirr8,lirr102,False,975
+lirr36,lirr2,lirr214,True,1350
+lirr36,lirr2,lirr214,False,975
+lirr36,lirr27,lirr102,True,1350
+lirr36,lirr27,lirr63,True,600
+lirr36,lirr27,lirr102,False,975
+lirr36,lirr27,lirr63,False,600
+lirr36,lirr225,lirr102,True,1100
+lirr36,lirr225,lirr102,False,800
+lirr36,lirr26,lirr102,True,1650
+lirr36,lirr26,lirr63,True,825
+lirr36,lirr26,lirr102,False,1200
+lirr36,lirr26,lirr63,False,825
+lirr36,lirr25,lirr214,True,1350
+lirr36,lirr25,lirr214,False,975
+lirr36,lirr16,lirr102,True,1100
+lirr36,lirr16,lirr102,False,800
+lirr36,lirr21,lirr102,True,2125
+lirr36,lirr21,lirr63,True,1200
+lirr36,lirr21,lirr102,False,1550
+lirr36,lirr21,lirr63,False,1200
+lirr36,lirr20,lirr102,True,1100
+lirr36,lirr20,lirr63,True,425
+lirr36,lirr20,lirr102,False,800
+lirr36,lirr20,lirr63,False,425
+lirr36,lirr29,lirr102,True,1650
+lirr36,lirr29,lirr63,True,825
+lirr36,lirr29,lirr102,False,1200
+lirr36,lirr29,lirr63,False,825
+lirr36,lirr13,lirr102,True,2775
+lirr36,lirr13,lirr63,True,1850
+lirr36,lirr13,lirr102,False,2025
+lirr36,lirr13,lirr63,False,1850
+lirr36,lirr11,lirr214,True,1350
+lirr36,lirr11,lirr214,False,975
+lirr36,lirr39,lirr102,True,1100
+lirr36,lirr39,lirr102,False,800
+lirr36,lirr32,lirr102,True,1000
+lirr36,lirr32,lirr102,False,725
+lirr36,lirr33,lirr102,True,1650
+lirr36,lirr33,lirr63,True,825
+lirr36,lirr33,lirr102,False,1200
+lirr36,lirr33,lirr63,False,825
+lirr36,lirr31,lirr102,True,1100
+lirr36,lirr31,lirr102,False,800
+lirr36,lirr40,lirr102,True,1350
+lirr36,lirr40,lirr63,True,600
+lirr36,lirr40,lirr102,False,975
+lirr36,lirr40,lirr63,False,600
+lirr36,lirr38,lirr102,True,1350
+lirr36,lirr38,lirr102,False,975
+lirr36,lirr44,lirr102,True,1350
+lirr36,lirr44,lirr63,True,600
+lirr36,lirr44,lirr102,False,975
+lirr36,lirr44,lirr63,False,600
+lirr36,lirr42,lirr214,True,1350
+lirr36,lirr42,lirr214,False,975
+lirr36,lirr48,lirr102,True,2775
+lirr36,lirr48,lirr63,True,1850
+lirr36,lirr48,lirr102,False,2025
+lirr36,lirr48,lirr63,False,1850
+lirr36,lirr51,lirr102,True,1100
+lirr36,lirr51,lirr102,False,800
+lirr36,lirr52,lirr102,True,1000
+lirr36,lirr52,lirr63,True,425
+lirr36,lirr52,lirr102,False,725
+lirr36,lirr52,lirr63,False,425
+lirr36,lirr65,lirr102,True,1000
+lirr36,lirr65,lirr102,False,725
+lirr36,lirr59,lirr102,True,1100
+lirr36,lirr59,lirr63,True,425
+lirr36,lirr59,lirr102,False,800
+lirr36,lirr59,lirr63,False,425
+lirr36,lirr56,lirr214,True,1350
+lirr36,lirr56,lirr214,False,975
+lirr36,lirr64,lirr102,True,1100
+lirr36,lirr64,lirr102,False,800
+lirr36,lirr66,lirr102,True,1000
+lirr36,lirr66,lirr102,False,725
+lirr36,lirr67,lirr102,True,1100
+lirr36,lirr67,lirr63,True,425
+lirr36,lirr67,lirr102,False,800
+lirr36,lirr67,lirr63,False,425
+lirr36,lirr71,lirr102,True,1100
+lirr36,lirr71,lirr63,True,425
+lirr36,lirr71,lirr102,False,800
+lirr36,lirr71,lirr63,False,425
+lirr36,lirr76,lirr102,True,1100
+lirr36,lirr76,lirr63,True,425
+lirr36,lirr76,lirr102,False,800
+lirr36,lirr76,lirr63,False,425
+lirr36,lirr72,lirr214,True,1475
+lirr36,lirr72,lirr214,False,1075
+lirr36,lirr74,lirr102,True,1650
+lirr36,lirr74,lirr63,True,825
+lirr36,lirr74,lirr102,False,1200
+lirr36,lirr74,lirr63,False,825
+lirr36,lirr78,lirr102,True,1350
+lirr36,lirr78,lirr63,True,600
+lirr36,lirr78,lirr102,False,975
+lirr36,lirr78,lirr63,False,600
+lirr36,lirr73,lirr102,True,2775
+lirr36,lirr73,lirr63,True,1850
+lirr36,lirr73,lirr102,False,2025
+lirr36,lirr73,lirr63,False,1850
+lirr36,lirr77,lirr102,True,1100
+lirr36,lirr77,lirr63,True,425
+lirr36,lirr77,lirr102,False,800
+lirr36,lirr77,lirr63,False,425
+lirr36,lirr83,lirr102,True,2775
+lirr36,lirr83,lirr63,True,1850
+lirr36,lirr83,lirr102,False,2025
+lirr36,lirr83,lirr63,False,1850
+lirr36,lirr85,lirr102,True,1000
+lirr36,lirr85,lirr102,False,725
+lirr36,lirr94,lirr102,True,1000
+lirr36,lirr94,lirr102,False,725
+lirr36,lirr92,lirr102,True,1100
+lirr36,lirr92,lirr102,False,800
+lirr36,lirr91,lirr102,True,1350
+lirr36,lirr91,lirr63,True,600
+lirr36,lirr91,lirr102,False,975
+lirr36,lirr91,lirr63,False,600
+lirr36,lirr101,lirr102,True,1000
+lirr36,lirr101,lirr102,False,725
+lirr36,lirr99,lirr102,True,1100
+lirr36,lirr99,lirr102,False,800
+lirr36,lirr100,lirr102,True,1650
+lirr36,lirr100,lirr63,True,825
+lirr36,lirr100,lirr102,False,1200
+lirr36,lirr100,lirr63,False,825
+lirr36,lirr111,lirr102,True,1650
+lirr36,lirr111,lirr63,True,825
+lirr36,lirr111,lirr102,False,1200
+lirr36,lirr111,lirr63,False,825
+lirr36,lirr124,lirr102,True,1000
+lirr36,lirr124,lirr102,False,725
+lirr36,lirr122,lirr102,True,900
+lirr36,lirr122,lirr102,False,650
+lirr36,lirr114,lirr102,True,1000
+lirr36,lirr114,lirr102,False,725
+lirr36,lirr117,lirr102,True,1350
+lirr36,lirr117,lirr102,False,975
+lirr36,lirr120,lirr214,True,1350
+lirr36,lirr120,lirr214,False,975
+lirr36,lirr119,lirr102,True,900
+lirr36,lirr119,lirr102,False,650
+lirr36,lirr123,lirr102,True,1100
+lirr36,lirr123,lirr63,True,425
+lirr36,lirr123,lirr102,False,800
+lirr36,lirr123,lirr63,False,425
+lirr36,lirr113,lirr102,True,1100
+lirr36,lirr113,lirr102,False,800
+lirr36,lirr125,lirr102,True,1000
+lirr36,lirr125,lirr102,False,725
+lirr36,lirr142,lirr102,True,1000
+lirr36,lirr142,lirr102,False,725
+lirr36,lirr131,lirr214,True,1475
+lirr36,lirr131,lirr214,False,1075
+lirr36,lirr136,lirr102,True,1100
+lirr36,lirr136,lirr102,False,800
+lirr36,lirr135,lirr102,True,1100
+lirr36,lirr135,lirr102,False,800
+lirr36,lirr140,lirr102,True,2125
+lirr36,lirr140,lirr63,True,1200
+lirr36,lirr140,lirr102,False,1550
+lirr36,lirr140,lirr63,False,1200
+lirr36,lirr126,lirr102,True,2775
+lirr36,lirr126,lirr63,True,1850
+lirr36,lirr126,lirr102,False,2025
+lirr36,lirr126,lirr63,False,1850
+lirr36,lirr129,lirr102,True,1650
+lirr36,lirr129,lirr63,True,825
+lirr36,lirr129,lirr102,False,1200
+lirr36,lirr129,lirr63,False,825
+lirr36,lirr127,lirr102,True,1000
+lirr36,lirr127,lirr102,False,725
+lirr36,lirr226,lirr102,True,1100
+lirr36,lirr226,lirr102,False,800
+lirr36,lirr132,lirr102,True,1000
+lirr36,lirr132,lirr102,False,725
+lirr36,lirr141,lirr102,True,2775
+lirr36,lirr141,lirr63,True,1850
+lirr36,lirr141,lirr102,False,2025
+lirr36,lirr141,lirr63,False,1850
+lirr36,lirr130,lirr214,True,1350
+lirr36,lirr130,lirr214,False,975
+lirr36,lirr152,lirr102,True,1000
+lirr36,lirr152,lirr102,False,725
+lirr36,lirr153,lirr102,True,1350
+lirr36,lirr153,lirr63,True,600
+lirr36,lirr153,lirr102,False,975
+lirr36,lirr153,lirr63,False,600
+lirr36,lirr157,lirr102,True,1650
+lirr36,lirr157,lirr63,True,825
+lirr36,lirr157,lirr102,False,1200
+lirr36,lirr157,lirr63,False,825
+lirr36,lirr155,lirr102,True,1100
+lirr36,lirr155,lirr102,False,800
+lirr36,lirr154,lirr102,True,1100
+lirr36,lirr154,lirr63,True,425
+lirr36,lirr154,lirr102,False,800
+lirr36,lirr154,lirr63,False,425
+lirr36,lirr163,lirr102,True,1650
+lirr36,lirr163,lirr63,True,825
+lirr36,lirr163,lirr102,False,1200
+lirr36,lirr163,lirr63,False,825
+lirr36,lirr165,lirr102,True,1350
+lirr36,lirr165,lirr63,True,600
+lirr36,lirr165,lirr102,False,975
+lirr36,lirr165,lirr63,False,600
+lirr36,lirr162,lirr214,True,1475
+lirr36,lirr162,lirr214,False,1075
+lirr36,lirr164,lirr102,True,1650
+lirr36,lirr164,lirr63,True,825
+lirr36,lirr164,lirr102,False,1200
+lirr36,lirr164,lirr63,False,825
+lirr36,lirr171,lirr214,True,1475
+lirr36,lirr171,lirr214,False,1075
+lirr36,lirr176,lirr102,True,2775
+lirr36,lirr176,lirr63,True,1850
+lirr36,lirr176,lirr102,False,2025
+lirr36,lirr176,lirr63,False,1850
+lirr36,lirr183,lirr102,True,1100
+lirr36,lirr183,lirr102,False,800
+lirr36,lirr179,lirr102,True,1650
+lirr36,lirr179,lirr63,True,825
+lirr36,lirr179,lirr102,False,1200
+lirr36,lirr179,lirr63,False,825
+lirr36,lirr180,lirr102,True,900
+lirr36,lirr180,lirr102,False,650
+lirr36,lirr182,lirr102,True,1100
+lirr36,lirr182,lirr63,True,425
+lirr36,lirr182,lirr102,False,800
+lirr36,lirr182,lirr63,False,425
+lirr36,lirr204,lirr102,True,1650
+lirr36,lirr204,lirr63,True,825
+lirr36,lirr204,lirr102,False,1200
+lirr36,lirr204,lirr63,False,825
+lirr36,lirr185,lirr102,True,1100
+lirr36,lirr185,lirr63,True,425
+lirr36,lirr185,lirr102,False,800
+lirr36,lirr185,lirr63,False,425
+lirr36,lirr187,lirr102,True,1100
+lirr36,lirr187,lirr102,False,800
+lirr36,lirr202,lirr102,True,1650
+lirr36,lirr202,lirr63,True,825
+lirr36,lirr202,lirr102,False,1200
+lirr36,lirr202,lirr63,False,825
+lirr36,lirr191,lirr102,True,2775
+lirr36,lirr191,lirr63,True,1850
+lirr36,lirr191,lirr102,False,2025
+lirr36,lirr191,lirr63,False,1850
+lirr36,lirr190,lirr102,True,2775
+lirr36,lirr190,lirr63,True,1850
+lirr36,lirr190,lirr102,False,2025
+lirr36,lirr190,lirr63,False,1850
+lirr36,lirr198,lirr102,True,2125
+lirr36,lirr198,lirr63,True,1200
+lirr36,lirr198,lirr102,False,1550
+lirr36,lirr198,lirr63,False,1200
+lirr36,lirr184,lirr102,True,900
+lirr36,lirr184,lirr102,False,650
+lirr36,lirr193,lirr102,True,1650
+lirr36,lirr193,lirr63,True,825
+lirr36,lirr193,lirr102,False,1200
+lirr36,lirr193,lirr63,False,825
+lirr36,lirr14,lirr102,True,1650
+lirr36,lirr14,lirr63,True,825
+lirr36,lirr14,lirr102,False,1200
+lirr36,lirr14,lirr63,False,825
+lirr36,lirr205,lirr102,True,1100
+lirr36,lirr205,lirr63,True,425
+lirr36,lirr205,lirr102,False,800
+lirr36,lirr205,lirr63,False,425
+lirr36,lirr211,lirr102,True,1000
+lirr36,lirr211,lirr102,False,725
+lirr36,lirr215,lirr102,True,1100
+lirr36,lirr215,lirr102,False,800
+lirr36,lirr216,lirr102,True,1000
+lirr36,lirr216,lirr102,False,725
+lirr36,lirr213,lirr102,True,1100
+lirr36,lirr213,lirr102,False,800
+lirr36,lirr233,lirr102,True,2775
+lirr36,lirr233,lirr63,True,1850
+lirr36,lirr233,lirr102,False,2025
+lirr36,lirr233,lirr63,False,1850
+lirr36,lirr219,lirr102,True,1000
+lirr36,lirr219,lirr102,False,725
+lirr36,lirr217,lirr102,True,1000
+lirr36,lirr217,lirr102,False,725
+lirr36,lirr220,lirr102,True,1350
+lirr36,lirr220,lirr63,True,600
+lirr36,lirr220,lirr102,False,975
+lirr36,lirr220,lirr63,False,600
+lirr36,lirr223,lirr102,True,2125
+lirr36,lirr223,lirr63,True,1200
+lirr36,lirr223,lirr102,False,1550
+lirr36,lirr223,lirr63,False,1200
+lirr44,lirr1,lirr132,True,650
+lirr44,lirr1,lirr132,False,650
+lirr44,lirr4,lirr102,True,3275
+lirr44,lirr4,lirr92,True,1775
+lirr44,lirr4,lirr102,False,2375
+lirr44,lirr4,lirr92,False,1775
+lirr44,lirr8,lirr102,True,1850
+lirr44,lirr8,lirr102,False,1350
+lirr44,lirr2,lirr214,True,1825
+lirr44,lirr2,lirr214,False,1325
+lirr44,lirr27,lirr102,True,1850
+lirr44,lirr27,lirr92,True,450
+lirr44,lirr27,lirr102,False,1350
+lirr44,lirr27,lirr92,False,450
+lirr44,lirr225,lirr102,True,1575
+lirr44,lirr225,lirr102,False,1150
+lirr44,lirr26,lirr102,True,2125
+lirr44,lirr26,lirr92,True,650
+lirr44,lirr26,lirr102,False,1550
+lirr44,lirr26,lirr92,False,650
+lirr44,lirr25,lirr214,True,1825
+lirr44,lirr25,lirr214,False,1325
+lirr44,lirr23,lirr102,True,1350
+lirr44,lirr23,lirr102,False,975
+lirr44,lirr16,lirr102,True,1575
+lirr44,lirr16,lirr102,False,1150
+lirr44,lirr21,lirr102,True,2600
+lirr44,lirr21,lirr92,True,1100
+lirr44,lirr21,lirr102,False,1900
+lirr44,lirr21,lirr92,False,1100
+lirr44,lirr13,lirr102,True,3275
+lirr44,lirr13,lirr92,True,1775
+lirr44,lirr13,lirr102,False,2375
+lirr44,lirr13,lirr92,False,1775
+lirr44,lirr11,lirr214,True,1825
+lirr44,lirr11,lirr214,False,1325
+lirr44,lirr32,lirr102,True,1350
+lirr44,lirr32,lirr102,False,975
+lirr44,lirr31,lirr102,True,1575
+lirr44,lirr31,lirr102,False,1150
+lirr44,lirr40,lirr92,True,450
+lirr44,lirr40,lirr92,False,450
+lirr44,lirr38,lirr102,True,1850
+lirr44,lirr38,lirr102,False,1350
+lirr44,lirr36,lirr102,True,1350
+lirr44,lirr36,lirr63,True,600
+lirr44,lirr36,lirr102,False,975
+lirr44,lirr36,lirr63,False,600
+lirr44,lirr42,lirr214,True,1825
+lirr44,lirr42,lirr214,False,1325
+lirr44,lirr48,lirr102,True,3275
+lirr44,lirr48,lirr92,True,1775
+lirr44,lirr48,lirr102,False,2375
+lirr44,lirr48,lirr92,False,1775
+lirr44,lirr51,lirr102,True,1575
+lirr44,lirr51,lirr102,False,1150
+lirr44,lirr52,lirr132,True,600
+lirr44,lirr52,lirr132,False,600
+lirr44,lirr65,lirr102,True,1350
+lirr44,lirr65,lirr102,False,975
+lirr44,lirr63,lirr102,True,1350
+lirr44,lirr63,lirr102,False,975
+lirr44,lirr56,lirr214,True,1825
+lirr44,lirr56,lirr214,False,1325
+lirr44,lirr64,lirr102,True,1575
+lirr44,lirr64,lirr102,False,1150
+lirr44,lirr68,lirr102,True,1350
+lirr44,lirr68,lirr63,True,600
+lirr44,lirr68,lirr102,False,975
+lirr44,lirr68,lirr63,False,600
+lirr44,lirr66,lirr102,True,1350
+lirr44,lirr66,lirr102,False,975
+lirr44,lirr67,lirr132,True,650
+lirr44,lirr67,lirr132,False,650
+lirr44,lirr71,lirr132,True,650
+lirr44,lirr71,lirr132,False,650
+lirr44,lirr76,lirr132,True,650
+lirr44,lirr76,lirr132,False,650
+lirr44,lirr72,lirr214,True,1975
+lirr44,lirr72,lirr214,False,1425
+lirr44,lirr74,lirr102,True,2125
+lirr44,lirr74,lirr92,True,650
+lirr44,lirr74,lirr102,False,1550
+lirr44,lirr74,lirr92,False,650
+lirr44,lirr78,lirr92,True,450
+lirr44,lirr78,lirr92,False,450
+lirr44,lirr77,lirr132,True,650
+lirr44,lirr77,lirr132,False,650
+lirr44,lirr83,lirr102,True,3275
+lirr44,lirr83,lirr92,True,1775
+lirr44,lirr83,lirr102,False,2375
+lirr44,lirr83,lirr92,False,1775
+lirr44,lirr84,lirr102,True,1350
+lirr44,lirr84,lirr63,True,600
+lirr44,lirr84,lirr102,False,975
+lirr44,lirr84,lirr63,False,600
+lirr44,lirr85,lirr102,True,1350
+lirr44,lirr85,lirr102,False,975
+lirr44,lirr94,lirr102,True,1350
+lirr44,lirr94,lirr102,False,975
+lirr44,lirr89,lirr102,True,1300
+lirr44,lirr89,lirr102,False,950
+lirr44,lirr91,lirr92,True,450
+lirr44,lirr91,lirr92,False,450
+lirr44,lirr101,lirr102,True,1350
+lirr44,lirr101,lirr102,False,975
+lirr44,lirr99,lirr102,True,1575
+lirr44,lirr99,lirr102,False,1150
+lirr44,lirr100,lirr102,True,2125
+lirr44,lirr100,lirr92,True,650
+lirr44,lirr100,lirr102,False,1550
+lirr44,lirr100,lirr92,False,650
+lirr44,lirr111,lirr92,True,650
+lirr44,lirr111,lirr92,False,650
+lirr44,lirr124,lirr102,True,1350
+lirr44,lirr124,lirr102,False,975
+lirr44,lirr122,lirr102,True,1300
+lirr44,lirr122,lirr102,False,950
+lirr44,lirr114,lirr102,True,1350
+lirr44,lirr114,lirr102,False,975
+lirr44,lirr117,lirr102,True,1850
+lirr44,lirr117,lirr102,False,1350
+lirr44,lirr120,lirr214,True,1825
+lirr44,lirr120,lirr214,False,1325
+lirr44,lirr119,lirr102,True,1300
+lirr44,lirr119,lirr102,False,950
+lirr44,lirr123,lirr132,True,650
+lirr44,lirr123,lirr132,False,650
+lirr44,lirr113,lirr102,True,1575
+lirr44,lirr113,lirr102,False,1150
+lirr44,lirr125,lirr102,True,1350
+lirr44,lirr125,lirr102,False,975
+lirr44,lirr142,lirr102,True,1350
+lirr44,lirr142,lirr102,False,975
+lirr44,lirr131,lirr214,True,1975
+lirr44,lirr131,lirr214,False,1425
+lirr44,lirr136,lirr102,True,1575
+lirr44,lirr136,lirr102,False,1150
+lirr44,lirr135,lirr102,True,1575
+lirr44,lirr135,lirr102,False,1150
+lirr44,lirr140,lirr102,True,2600
+lirr44,lirr140,lirr92,True,1100
+lirr44,lirr140,lirr102,False,1900
+lirr44,lirr140,lirr92,False,1100
+lirr44,lirr226,lirr102,True,1575
+lirr44,lirr226,lirr102,False,1150
+lirr44,lirr141,lirr102,True,3275
+lirr44,lirr141,lirr92,True,1775
+lirr44,lirr141,lirr102,False,2375
+lirr44,lirr141,lirr92,False,1775
+lirr44,lirr130,lirr214,True,1825
+lirr44,lirr130,lirr214,False,1325
+lirr44,lirr149,lirr102,True,1350
+lirr44,lirr149,lirr63,True,600
+lirr44,lirr149,lirr102,False,975
+lirr44,lirr149,lirr63,False,600
+lirr44,lirr153,lirr92,True,450
+lirr44,lirr153,lirr92,False,450
+lirr44,lirr157,lirr102,True,2125
+lirr44,lirr157,lirr92,True,650
+lirr44,lirr157,lirr102,False,1550
+lirr44,lirr157,lirr92,False,650
+lirr44,lirr155,lirr102,True,1575
+lirr44,lirr155,lirr102,False,1150
+lirr44,lirr154,lirr132,True,650
+lirr44,lirr154,lirr132,False,650
+lirr44,lirr163,lirr102,True,2125
+lirr44,lirr163,lirr92,True,650
+lirr44,lirr163,lirr102,False,1550
+lirr44,lirr163,lirr92,False,650
+lirr44,lirr162,lirr214,True,1975
+lirr44,lirr162,lirr214,False,1425
+lirr44,lirr164,lirr92,True,650
+lirr44,lirr164,lirr92,False,650
+lirr44,lirr171,lirr214,True,1975
+lirr44,lirr171,lirr214,False,1425
+lirr44,lirr175,lirr102,True,1300
+lirr44,lirr175,lirr102,False,950
+lirr44,lirr183,lirr102,True,1575
+lirr44,lirr183,lirr102,False,1150
+lirr44,lirr180,lirr102,True,1300
+lirr44,lirr180,lirr102,False,950
+lirr44,lirr182,lirr132,True,650
+lirr44,lirr182,lirr132,False,650
+lirr44,lirr204,lirr102,True,2125
+lirr44,lirr204,lirr92,True,650
+lirr44,lirr204,lirr102,False,1550
+lirr44,lirr204,lirr92,False,650
+lirr44,lirr185,lirr132,True,650
+lirr44,lirr185,lirr132,False,650
+lirr44,lirr187,lirr102,True,1575
+lirr44,lirr187,lirr102,False,1150
+lirr44,lirr202,lirr92,True,650
+lirr44,lirr202,lirr92,False,650
+lirr44,lirr191,lirr102,True,3275
+lirr44,lirr191,lirr92,True,1775
+lirr44,lirr191,lirr102,False,2375
+lirr44,lirr191,lirr92,False,1775
+lirr44,lirr198,lirr102,True,2600
+lirr44,lirr198,lirr92,True,1100
+lirr44,lirr198,lirr102,False,1900
+lirr44,lirr198,lirr92,False,1100
+lirr44,lirr184,lirr102,True,1300
+lirr44,lirr184,lirr102,False,950
+lirr44,lirr193,lirr92,True,650
+lirr44,lirr193,lirr92,False,650
+lirr44,lirr195,lirr102,True,1350
+lirr44,lirr195,lirr63,True,600
+lirr44,lirr195,lirr102,False,975
+lirr44,lirr195,lirr63,False,600
+lirr44,lirr14,lirr92,True,650
+lirr44,lirr14,lirr92,False,650
+lirr44,lirr205,lirr92,True,425
+lirr44,lirr205,lirr92,False,425
+lirr44,lirr211,lirr102,True,1350
+lirr44,lirr211,lirr102,False,975
+lirr44,lirr215,lirr102,True,1575
+lirr44,lirr215,lirr102,False,1150
+lirr44,lirr216,lirr102,True,1350
+lirr44,lirr216,lirr102,False,975
+lirr44,lirr233,lirr102,True,3275
+lirr44,lirr233,lirr92,True,1775
+lirr44,lirr233,lirr102,False,2375
+lirr44,lirr233,lirr92,False,1775
+lirr44,lirr219,lirr102,True,1350
+lirr44,lirr219,lirr102,False,975
+lirr44,lirr217,lirr102,True,1350
+lirr44,lirr217,lirr102,False,975
+lirr42,lirr1,lirr214,True,1575
+lirr42,lirr1,lirr214,False,1150
+lirr42,lirr4,lirr214,True,3200
+lirr42,lirr4,lirr214,False,2325
+lirr42,lirr8,lirr214,True,1825
+lirr42,lirr8,lirr214,False,1325
+lirr42,lirr27,lirr214,True,1825
+lirr42,lirr27,lirr214,False,1325
+lirr42,lirr225,lirr214,True,1575
+lirr42,lirr225,lirr214,False,1150
+lirr42,lirr26,lirr214,True,2050
+lirr42,lirr26,lirr214,False,1500
+lirr42,lirr23,lirr214,True,1350
+lirr42,lirr23,lirr214,False,975
+lirr42,lirr16,lirr214,True,1575
+lirr42,lirr16,lirr214,False,1150
+lirr42,lirr21,lirr214,True,2500
+lirr42,lirr21,lirr214,False,1825
+lirr42,lirr20,lirr214,True,1575
+lirr42,lirr20,lirr214,False,1150
+lirr42,lirr29,lirr214,True,2050
+lirr42,lirr29,lirr214,False,1500
+lirr42,lirr13,lirr214,True,3200
+lirr42,lirr13,lirr214,False,2325
+lirr42,lirr39,lirr214,True,1575
+lirr42,lirr39,lirr214,False,1150
+lirr42,lirr32,lirr214,True,1350
+lirr42,lirr32,lirr214,False,975
+lirr42,lirr33,lirr214,True,2050
+lirr42,lirr33,lirr214,False,1500
+lirr42,lirr31,lirr214,True,1575
+lirr42,lirr31,lirr214,False,1150
+lirr42,lirr40,lirr214,True,1825
+lirr42,lirr40,lirr214,False,1325
+lirr42,lirr38,lirr214,True,1825
+lirr42,lirr38,lirr214,False,1325
+lirr42,lirr36,lirr214,True,1350
+lirr42,lirr36,lirr214,False,975
+lirr42,lirr44,lirr214,True,1825
+lirr42,lirr44,lirr214,False,1325
+lirr42,lirr48,lirr214,True,3200
+lirr42,lirr48,lirr214,False,2325
+lirr42,lirr51,lirr214,True,1575
+lirr42,lirr51,lirr214,False,1150
+lirr42,lirr52,lirr214,True,1350
+lirr42,lirr52,lirr214,False,975
+lirr42,lirr65,lirr214,True,1350
+lirr42,lirr65,lirr214,False,975
+lirr42,lirr59,lirr214,True,1575
+lirr42,lirr59,lirr214,False,1150
+lirr42,lirr63,lirr214,True,1350
+lirr42,lirr63,lirr214,False,975
+lirr42,lirr55,lirr214,True,1150
+lirr42,lirr55,lirr214,False,825
+lirr42,lirr64,lirr214,True,1575
+lirr42,lirr64,lirr214,False,1150
+lirr42,lirr68,lirr214,True,1350
+lirr42,lirr68,lirr214,False,975
+lirr42,lirr66,lirr214,True,1350
+lirr42,lirr66,lirr214,False,975
+lirr42,lirr67,lirr214,True,1575
+lirr42,lirr67,lirr214,False,1150
+lirr42,lirr71,lirr214,True,1575
+lirr42,lirr71,lirr214,False,1150
+lirr42,lirr76,lirr214,True,1575
+lirr42,lirr76,lirr214,False,1150
+lirr42,lirr74,lirr214,True,2050
+lirr42,lirr74,lirr214,False,1500
+lirr42,lirr78,lirr214,True,1825
+lirr42,lirr78,lirr214,False,1325
+lirr42,lirr73,lirr214,True,3200
+lirr42,lirr73,lirr214,False,2325
+lirr42,lirr77,lirr214,True,1575
+lirr42,lirr77,lirr214,False,1150
+lirr42,lirr83,lirr214,True,3200
+lirr42,lirr83,lirr214,False,2325
+lirr42,lirr84,lirr214,True,1350
+lirr42,lirr84,lirr214,False,975
+lirr42,lirr85,lirr214,True,1350
+lirr42,lirr85,lirr214,False,975
+lirr42,lirr94,lirr214,True,1350
+lirr42,lirr94,lirr214,False,975
+lirr42,lirr92,lirr214,True,1575
+lirr42,lirr92,lirr214,False,1150
+lirr42,lirr89,lirr214,True,1200
+lirr42,lirr89,lirr214,False,875
+lirr42,lirr91,lirr214,True,1825
+lirr42,lirr91,lirr214,False,1325
+lirr42,lirr101,lirr214,True,1350
+lirr42,lirr101,lirr214,False,975
+lirr42,lirr99,lirr214,True,1575
+lirr42,lirr99,lirr214,False,1150
+lirr42,lirr100,lirr214,True,2050
+lirr42,lirr100,lirr214,False,1500
+lirr42,lirr102,lirr214,True,1200
+lirr42,lirr102,lirr214,False,875
+lirr42,lirr107,lirr214,True,1150
+lirr42,lirr107,lirr214,False,825
+lirr42,lirr111,lirr214,True,2050
+lirr42,lirr111,lirr214,False,1500
+lirr42,lirr124,lirr214,True,1350
+lirr42,lirr124,lirr214,False,975
+lirr42,lirr122,lirr214,True,1200
+lirr42,lirr122,lirr214,False,875
+lirr42,lirr114,lirr214,True,1350
+lirr42,lirr114,lirr214,False,975
+lirr42,lirr117,lirr214,True,1825
+lirr42,lirr117,lirr214,False,1325
+lirr42,lirr119,lirr214,True,1200
+lirr42,lirr119,lirr214,False,875
+lirr42,lirr123,lirr214,True,1575
+lirr42,lirr123,lirr214,False,1150
+lirr42,lirr113,lirr214,True,1575
+lirr42,lirr113,lirr214,False,1150
+lirr42,lirr125,lirr214,True,1350
+lirr42,lirr125,lirr214,False,975
+lirr42,lirr142,lirr214,True,1350
+lirr42,lirr142,lirr214,False,975
+lirr42,lirr136,lirr214,True,1575
+lirr42,lirr136,lirr214,False,1150
+lirr42,lirr135,lirr214,True,1575
+lirr42,lirr135,lirr214,False,1150
+lirr42,lirr140,lirr214,True,2500
+lirr42,lirr140,lirr214,False,1825
+lirr42,lirr126,lirr214,True,3200
+lirr42,lirr126,lirr214,False,2325
+lirr42,lirr129,lirr214,True,2050
+lirr42,lirr129,lirr214,False,1500
+lirr42,lirr127,lirr214,True,1350
+lirr42,lirr127,lirr214,False,975
+lirr42,lirr226,lirr214,True,1575
+lirr42,lirr226,lirr214,False,1150
+lirr42,lirr132,lirr214,True,1350
+lirr42,lirr132,lirr214,False,975
+lirr42,lirr141,lirr214,True,3200
+lirr42,lirr141,lirr214,False,2325
+lirr42,lirr149,lirr214,True,1350
+lirr42,lirr149,lirr214,False,975
+lirr42,lirr152,lirr214,True,1350
+lirr42,lirr152,lirr214,False,975
+lirr42,lirr153,lirr214,True,1825
+lirr42,lirr153,lirr214,False,1325
+lirr42,lirr157,lirr214,True,2050
+lirr42,lirr157,lirr214,False,1500
+lirr42,lirr155,lirr214,True,1575
+lirr42,lirr155,lirr214,False,1150
+lirr42,lirr154,lirr214,True,1575
+lirr42,lirr154,lirr214,False,1150
+lirr42,lirr163,lirr214,True,2050
+lirr42,lirr163,lirr214,False,1500
+lirr42,lirr165,lirr214,True,1825
+lirr42,lirr165,lirr214,False,1325
+lirr42,lirr164,lirr214,True,2050
+lirr42,lirr164,lirr214,False,1500
+lirr42,lirr175,lirr214,True,1200
+lirr42,lirr175,lirr214,False,875
+lirr42,lirr176,lirr214,True,3200
+lirr42,lirr176,lirr214,False,2325
+lirr42,lirr183,lirr214,True,1575
+lirr42,lirr183,lirr214,False,1150
+lirr42,lirr179,lirr214,True,2050
+lirr42,lirr179,lirr214,False,1500
+lirr42,lirr180,lirr214,True,1200
+lirr42,lirr180,lirr214,False,875
+lirr42,lirr182,lirr214,True,1575
+lirr42,lirr182,lirr214,False,1150
+lirr42,lirr204,lirr214,True,2050
+lirr42,lirr204,lirr214,False,1500
+lirr42,lirr185,lirr214,True,1575
+lirr42,lirr185,lirr214,False,1150
+lirr42,lirr187,lirr214,True,1575
+lirr42,lirr187,lirr214,False,1150
+lirr42,lirr202,lirr214,True,2050
+lirr42,lirr202,lirr214,False,1500
+lirr42,lirr191,lirr214,True,3200
+lirr42,lirr191,lirr214,False,2325
+lirr42,lirr190,lirr214,True,3200
+lirr42,lirr190,lirr214,False,2325
+lirr42,lirr198,lirr214,True,2500
+lirr42,lirr198,lirr214,False,1825
+lirr42,lirr184,lirr214,True,1200
+lirr42,lirr184,lirr214,False,875
+lirr42,lirr193,lirr214,True,2050
+lirr42,lirr193,lirr214,False,1500
+lirr42,lirr195,lirr214,True,1350
+lirr42,lirr195,lirr214,False,975
+lirr42,lirr14,lirr214,True,2050
+lirr42,lirr14,lirr214,False,1500
+lirr42,lirr205,lirr214,True,1575
+lirr42,lirr205,lirr214,False,1150
+lirr42,lirr211,lirr214,True,1350
+lirr42,lirr211,lirr214,False,975
+lirr42,lirr215,lirr214,True,1575
+lirr42,lirr215,lirr214,False,1150
+lirr42,lirr216,lirr214,True,1350
+lirr42,lirr216,lirr214,False,975
+lirr42,lirr213,lirr214,True,1575
+lirr42,lirr213,lirr214,False,1150
+lirr42,lirr233,lirr214,True,3200
+lirr42,lirr233,lirr214,False,2325
+lirr42,lirr219,lirr214,True,1350
+lirr42,lirr219,lirr214,False,975
+lirr42,lirr217,lirr214,True,1350
+lirr42,lirr217,lirr214,False,975
+lirr42,lirr220,lirr214,True,1825
+lirr42,lirr220,lirr214,False,1325
+lirr42,lirr223,lirr214,True,2500
+lirr42,lirr223,lirr214,False,1825
+lirr48,lirr1,lirr102,True,2975
+lirr48,lirr1,lirr132,True,1875
+lirr48,lirr1,lirr102,False,2175
+lirr48,lirr1,lirr132,False,1875
+lirr48,lirr2,lirr214,True,3200
+lirr48,lirr2,lirr214,False,2325
+lirr48,lirr25,lirr214,True,3200
+lirr48,lirr25,lirr214,False,2325
+lirr48,lirr23,lirr102,True,2775
+lirr48,lirr23,lirr102,False,2025
+lirr48,lirr20,lirr102,True,2975
+lirr48,lirr20,lirr92,True,1725
+lirr48,lirr20,lirr102,False,2175
+lirr48,lirr20,lirr92,False,1725
+lirr48,lirr29,lirr102,True,3475
+lirr48,lirr29,lirr92,True,2025
+lirr48,lirr29,lirr102,False,2525
+lirr48,lirr29,lirr92,False,2025
+lirr48,lirr11,lirr214,True,3200
+lirr48,lirr11,lirr214,False,2325
+lirr48,lirr39,lirr102,True,2975
+lirr48,lirr39,lirr102,False,2175
+lirr48,lirr32,lirr102,True,2775
+lirr48,lirr32,lirr102,False,2025
+lirr48,lirr33,lirr102,True,3475
+lirr48,lirr33,lirr92,True,2025
+lirr48,lirr33,lirr102,False,2525
+lirr48,lirr33,lirr92,False,2025
+lirr48,lirr31,lirr102,True,2975
+lirr48,lirr31,lirr125,True,1875
+lirr48,lirr31,lirr102,False,2175
+lirr48,lirr31,lirr125,False,1875
+lirr48,lirr40,lirr102,True,3275
+lirr48,lirr40,lirr92,True,1775
+lirr48,lirr40,lirr102,False,2375
+lirr48,lirr40,lirr92,False,1775
+lirr48,lirr36,lirr102,True,2775
+lirr48,lirr36,lirr63,True,1850
+lirr48,lirr36,lirr102,False,2025
+lirr48,lirr36,lirr63,False,1850
+lirr48,lirr44,lirr102,True,3275
+lirr48,lirr44,lirr92,True,1775
+lirr48,lirr44,lirr102,False,2375
+lirr48,lirr44,lirr92,False,1775
+lirr48,lirr42,lirr214,True,3200
+lirr48,lirr42,lirr214,False,2325
+lirr48,lirr51,lirr102,True,2975
+lirr48,lirr51,lirr125,True,1875
+lirr48,lirr51,lirr102,False,2175
+lirr48,lirr51,lirr125,False,1875
+lirr48,lirr52,lirr102,True,2775
+lirr48,lirr52,lirr132,True,1850
+lirr48,lirr52,lirr102,False,2025
+lirr48,lirr52,lirr132,False,1850
+lirr48,lirr65,lirr102,True,2775
+lirr48,lirr65,lirr102,False,2025
+lirr48,lirr59,lirr102,True,2975
+lirr48,lirr59,lirr92,True,1725
+lirr48,lirr59,lirr102,False,2175
+lirr48,lirr59,lirr92,False,1725
+lirr48,lirr63,lirr102,True,2775
+lirr48,lirr63,lirr102,False,2025
+lirr48,lirr56,lirr214,True,3200
+lirr48,lirr56,lirr214,False,2325
+lirr48,lirr68,lirr102,True,2775
+lirr48,lirr68,lirr63,True,1850
+lirr48,lirr68,lirr102,False,2025
+lirr48,lirr68,lirr63,False,1850
+lirr48,lirr66,lirr102,True,2775
+lirr48,lirr66,lirr102,False,2025
+lirr48,lirr67,lirr102,True,2975
+lirr48,lirr67,lirr132,True,1875
+lirr48,lirr67,lirr102,False,2175
+lirr48,lirr67,lirr132,False,1875
+lirr48,lirr71,lirr102,True,2975
+lirr48,lirr71,lirr132,True,1875
+lirr48,lirr71,lirr102,False,2175
+lirr48,lirr71,lirr132,False,1875
+lirr48,lirr76,lirr102,True,2975
+lirr48,lirr76,lirr132,True,1875
+lirr48,lirr76,lirr102,False,2175
+lirr48,lirr76,lirr132,False,1875
+lirr48,lirr72,lirr214,True,3375
+lirr48,lirr72,lirr214,False,2450
+lirr48,lirr78,lirr102,True,3275
+lirr48,lirr78,lirr92,True,1775
+lirr48,lirr78,lirr102,False,2375
+lirr48,lirr78,lirr92,False,1775
+lirr48,lirr73,lirr102,True,4350
+lirr48,lirr73,lirr92,True,2800
+lirr48,lirr73,lirr102,False,3175
+lirr48,lirr73,lirr92,False,2800
+lirr48,lirr77,lirr102,True,2975
+lirr48,lirr77,lirr132,True,1875
+lirr48,lirr77,lirr102,False,2175
+lirr48,lirr77,lirr132,False,1875
+lirr48,lirr84,lirr102,True,2775
+lirr48,lirr84,lirr63,True,1850
+lirr48,lirr84,lirr102,False,2025
+lirr48,lirr84,lirr63,False,1850
+lirr48,lirr85,lirr102,True,2775
+lirr48,lirr85,lirr102,False,2025
+lirr48,lirr94,lirr102,True,2775
+lirr48,lirr94,lirr102,False,2025
+lirr48,lirr92,lirr102,True,2975
+lirr48,lirr92,lirr102,False,2175
+lirr48,lirr89,lirr102,True,2700
+lirr48,lirr89,lirr102,False,1975
+lirr48,lirr91,lirr102,True,3275
+lirr48,lirr91,lirr92,True,1775
+lirr48,lirr91,lirr102,False,2375
+lirr48,lirr91,lirr92,False,1775
+lirr48,lirr101,lirr102,True,2775
+lirr48,lirr101,lirr102,False,2025
+lirr48,lirr99,lirr102,True,2975
+lirr48,lirr99,lirr125,True,1875
+lirr48,lirr99,lirr102,False,2175
+lirr48,lirr99,lirr125,False,1875
+lirr48,lirr111,lirr102,True,3475
+lirr48,lirr111,lirr92,True,2025
+lirr48,lirr111,lirr102,False,2525
+lirr48,lirr111,lirr92,False,2025
+lirr48,lirr124,lirr102,True,2775
+lirr48,lirr124,lirr102,False,2025
+lirr48,lirr122,lirr102,True,2700
+lirr48,lirr122,lirr102,False,1975
+lirr48,lirr114,lirr102,True,2775
+lirr48,lirr114,lirr102,False,2025
+lirr48,lirr120,lirr214,True,3200
+lirr48,lirr120,lirr214,False,2325
+lirr48,lirr119,lirr102,True,2700
+lirr48,lirr119,lirr102,False,1975
+lirr48,lirr123,lirr102,True,2975
+lirr48,lirr123,lirr132,True,1875
+lirr48,lirr123,lirr102,False,2175
+lirr48,lirr123,lirr132,False,1875
+lirr48,lirr113,lirr102,True,2975
+lirr48,lirr113,lirr125,True,1875
+lirr48,lirr113,lirr102,False,2175
+lirr48,lirr113,lirr125,False,1875
+lirr48,lirr125,lirr102,True,2775
+lirr48,lirr125,lirr102,False,2025
+lirr48,lirr142,lirr102,True,2775
+lirr48,lirr142,lirr102,False,2025
+lirr48,lirr131,lirr214,True,3375
+lirr48,lirr131,lirr214,False,2450
+lirr48,lirr126,lirr102,True,4350
+lirr48,lirr126,lirr92,True,2800
+lirr48,lirr126,lirr102,False,3175
+lirr48,lirr126,lirr92,False,2800
+lirr48,lirr129,lirr102,True,3475
+lirr48,lirr129,lirr92,True,2025
+lirr48,lirr129,lirr102,False,2525
+lirr48,lirr129,lirr92,False,2025
+lirr48,lirr127,lirr102,True,2775
+lirr48,lirr127,lirr102,False,2025
+lirr48,lirr132,lirr102,True,2775
+lirr48,lirr132,lirr102,False,2025
+lirr48,lirr130,lirr214,True,3200
+lirr48,lirr130,lirr214,False,2325
+lirr48,lirr149,lirr102,True,2775
+lirr48,lirr149,lirr63,True,1850
+lirr48,lirr149,lirr102,False,2025
+lirr48,lirr149,lirr63,False,1850
+lirr48,lirr152,lirr102,True,2775
+lirr48,lirr152,lirr102,False,2025
+lirr48,lirr153,lirr102,True,3275
+lirr48,lirr153,lirr92,True,1775
+lirr48,lirr153,lirr102,False,2375
+lirr48,lirr153,lirr92,False,1775
+lirr48,lirr155,lirr102,True,2975
+lirr48,lirr155,lirr125,True,1875
+lirr48,lirr155,lirr102,False,2175
+lirr48,lirr155,lirr125,False,1875
+lirr48,lirr154,lirr102,True,2975
+lirr48,lirr154,lirr132,True,1875
+lirr48,lirr154,lirr102,False,2175
+lirr48,lirr154,lirr132,False,1875
+lirr48,lirr165,lirr102,True,3275
+lirr48,lirr165,lirr92,True,1775
+lirr48,lirr165,lirr102,False,2375
+lirr48,lirr165,lirr92,False,1775
+lirr48,lirr162,lirr214,True,3375
+lirr48,lirr162,lirr214,False,2450
+lirr48,lirr164,lirr102,True,3475
+lirr48,lirr164,lirr92,True,2025
+lirr48,lirr164,lirr102,False,2525
+lirr48,lirr164,lirr92,False,2025
+lirr48,lirr171,lirr214,True,3375
+lirr48,lirr171,lirr214,False,2450
+lirr48,lirr175,lirr102,True,2700
+lirr48,lirr175,lirr102,False,1975
+lirr48,lirr176,lirr102,True,4350
+lirr48,lirr176,lirr92,True,2800
+lirr48,lirr176,lirr102,False,3175
+lirr48,lirr176,lirr92,False,2800
+lirr48,lirr179,lirr102,True,3475
+lirr48,lirr179,lirr92,True,2025
+lirr48,lirr179,lirr102,False,2525
+lirr48,lirr179,lirr92,False,2025
+lirr48,lirr180,lirr102,True,2700
+lirr48,lirr180,lirr102,False,1975
+lirr48,lirr182,lirr102,True,2975
+lirr48,lirr182,lirr132,True,1875
+lirr48,lirr182,lirr102,False,2175
+lirr48,lirr182,lirr132,False,1875
+lirr48,lirr185,lirr102,True,2975
+lirr48,lirr185,lirr132,True,1875
+lirr48,lirr185,lirr102,False,2175
+lirr48,lirr185,lirr132,False,1875
+lirr48,lirr202,lirr102,True,3475
+lirr48,lirr202,lirr92,True,2025
+lirr48,lirr202,lirr102,False,2525
+lirr48,lirr202,lirr92,False,2025
+lirr48,lirr190,lirr102,True,4350
+lirr48,lirr190,lirr92,True,2800
+lirr48,lirr190,lirr102,False,3175
+lirr48,lirr190,lirr92,False,2800
+lirr48,lirr184,lirr102,True,2700
+lirr48,lirr184,lirr102,False,1975
+lirr48,lirr193,lirr102,True,3475
+lirr48,lirr193,lirr92,True,2025
+lirr48,lirr193,lirr102,False,2525
+lirr48,lirr193,lirr92,False,2025
+lirr48,lirr195,lirr102,True,2775
+lirr48,lirr195,lirr63,True,1850
+lirr48,lirr195,lirr102,False,2025
+lirr48,lirr195,lirr63,False,1850
+lirr48,lirr14,lirr102,True,3475
+lirr48,lirr14,lirr92,True,2025
+lirr48,lirr14,lirr102,False,2525
+lirr48,lirr14,lirr92,False,2025
+lirr48,lirr205,lirr102,True,2975
+lirr48,lirr205,lirr92,True,1725
+lirr48,lirr205,lirr102,False,2175
+lirr48,lirr205,lirr92,False,1725
+lirr48,lirr211,lirr102,True,2775
+lirr48,lirr211,lirr102,False,2025
+lirr48,lirr216,lirr102,True,2775
+lirr48,lirr216,lirr102,False,2025
+lirr48,lirr213,lirr102,True,2975
+lirr48,lirr213,lirr102,False,2175
+lirr48,lirr219,lirr102,True,2775
+lirr48,lirr219,lirr102,False,2025
+lirr48,lirr217,lirr102,True,2775
+lirr48,lirr217,lirr102,False,2025
+lirr48,lirr220,lirr102,True,3275
+lirr48,lirr220,lirr92,True,1775
+lirr48,lirr220,lirr102,False,2375
+lirr48,lirr220,lirr92,False,1775
+lirr48,lirr223,lirr102,True,4000
+lirr48,lirr223,lirr92,True,2450
+lirr48,lirr223,lirr102,False,2900
+lirr48,lirr223,lirr92,False,2450
+lirr50,lirr55,lirr102,True,1200
+lirr50,lirr55,lirr102,False,875
+lirr50,lirr107,lirr102,True,1200
+lirr50,lirr107,lirr102,False,875
+lirr50,lirr237,lirr102,True,1200
+lirr50,lirr237,lirr102,False,875
+lirr50,lirr214,lirr102,True,1200
+lirr50,lirr214,lirr102,False,875
+lirr51,lirr1,lirr102,True,1225
+lirr51,lirr1,lirr102,False,900
+lirr51,lirr4,lirr102,True,2975
+lirr51,lirr4,lirr125,True,1875
+lirr51,lirr4,lirr102,False,2175
+lirr51,lirr4,lirr125,False,1875
+lirr51,lirr8,lirr102,True,1575
+lirr51,lirr8,lirr125,True,650
+lirr51,lirr8,lirr102,False,1150
+lirr51,lirr8,lirr125,False,650
+lirr51,lirr2,lirr214,True,1575
+lirr51,lirr2,lirr214,False,1150
+lirr51,lirr27,lirr102,True,1575
+lirr51,lirr27,lirr125,True,650
+lirr51,lirr27,lirr102,False,1150
+lirr51,lirr27,lirr125,False,650
+lirr51,lirr225,lirr102,True,1225
+lirr51,lirr225,lirr125,True,450
+lirr51,lirr225,lirr102,False,900
+lirr51,lirr225,lirr125,False,450
+lirr51,lirr26,lirr102,True,1825
+lirr51,lirr26,lirr125,True,900
+lirr51,lirr26,lirr102,False,1325
+lirr51,lirr26,lirr125,False,900
+lirr51,lirr25,lirr214,True,1575
+lirr51,lirr25,lirr214,False,1150
+lirr51,lirr23,lirr102,True,1100
+lirr51,lirr23,lirr102,False,800
+lirr51,lirr16,lirr102,True,1225
+lirr51,lirr16,lirr125,True,450
+lirr51,lirr16,lirr102,False,900
+lirr51,lirr16,lirr125,False,450
+lirr51,lirr21,lirr102,True,2275
+lirr51,lirr21,lirr125,True,1225
+lirr51,lirr21,lirr102,False,1650
+lirr51,lirr21,lirr125,False,1225
+lirr51,lirr20,lirr102,True,1225
+lirr51,lirr20,lirr102,False,900
+lirr51,lirr29,lirr102,True,1825
+lirr51,lirr29,lirr102,False,1325
+lirr51,lirr13,lirr102,True,2975
+lirr51,lirr13,lirr125,True,1875
+lirr51,lirr13,lirr102,False,2175
+lirr51,lirr13,lirr125,False,1875
+lirr51,lirr11,lirr214,True,1575
+lirr51,lirr11,lirr214,False,1150
+lirr51,lirr39,lirr102,True,1225
+lirr51,lirr39,lirr102,False,900
+lirr51,lirr32,lirr211,True,425
+lirr51,lirr32,lirr211,False,425
+lirr51,lirr33,lirr102,True,1825
+lirr51,lirr33,lirr102,False,1325
+lirr51,lirr40,lirr102,True,1575
+lirr51,lirr40,lirr102,False,1150
+lirr51,lirr38,lirr102,True,1575
+lirr51,lirr38,lirr125,True,650
+lirr51,lirr38,lirr102,False,1150
+lirr51,lirr38,lirr125,False,650
+lirr51,lirr36,lirr102,True,1100
+lirr51,lirr36,lirr102,False,800
+lirr51,lirr44,lirr102,True,1575
+lirr51,lirr44,lirr102,False,1150
+lirr51,lirr42,lirr214,True,1575
+lirr51,lirr42,lirr214,False,1150
+lirr51,lirr48,lirr102,True,2975
+lirr51,lirr48,lirr125,True,1875
+lirr51,lirr48,lirr102,False,2175
+lirr51,lirr48,lirr125,False,1875
+lirr51,lirr52,lirr102,True,1100
+lirr51,lirr52,lirr102,False,800
+lirr51,lirr65,lirr211,True,425
+lirr51,lirr65,lirr211,False,425
+lirr51,lirr59,lirr102,True,1225
+lirr51,lirr59,lirr102,False,900
+lirr51,lirr63,lirr102,True,1100
+lirr51,lirr63,lirr102,False,800
+lirr51,lirr56,lirr214,True,1575
+lirr51,lirr56,lirr214,False,1150
+lirr51,lirr64,lirr102,True,1225
+lirr51,lirr64,lirr125,True,450
+lirr51,lirr64,lirr102,False,900
+lirr51,lirr64,lirr125,False,450
+lirr51,lirr68,lirr102,True,1100
+lirr51,lirr68,lirr102,False,800
+lirr51,lirr66,lirr211,True,425
+lirr51,lirr66,lirr211,False,425
+lirr51,lirr67,lirr102,True,1225
+lirr51,lirr67,lirr102,False,900
+lirr51,lirr71,lirr102,True,1225
+lirr51,lirr71,lirr102,False,900
+lirr51,lirr76,lirr102,True,1225
+lirr51,lirr76,lirr102,False,900
+lirr51,lirr72,lirr214,True,1725
+lirr51,lirr72,lirr214,False,1250
+lirr51,lirr74,lirr102,True,1825
+lirr51,lirr74,lirr125,True,900
+lirr51,lirr74,lirr102,False,1325
+lirr51,lirr74,lirr125,False,900
+lirr51,lirr78,lirr102,True,1575
+lirr51,lirr78,lirr102,False,1150
+lirr51,lirr73,lirr102,True,2975
+lirr51,lirr73,lirr102,False,2175
+lirr51,lirr77,lirr102,True,1225
+lirr51,lirr77,lirr102,False,900
+lirr51,lirr83,lirr102,True,2975
+lirr51,lirr83,lirr125,True,1875
+lirr51,lirr83,lirr102,False,2175
+lirr51,lirr83,lirr125,False,1875
+lirr51,lirr84,lirr102,True,1100
+lirr51,lirr84,lirr102,False,800
+lirr51,lirr85,lirr211,True,425
+lirr51,lirr85,lirr211,False,425
+lirr51,lirr94,lirr211,True,425
+lirr51,lirr94,lirr211,False,425
+lirr51,lirr92,lirr102,True,1225
+lirr51,lirr92,lirr102,False,900
+lirr51,lirr89,lirr102,True,1050
+lirr51,lirr89,lirr102,False,775
+lirr51,lirr91,lirr102,True,1575
+lirr51,lirr91,lirr102,False,1150
+lirr51,lirr101,lirr211,True,425
+lirr51,lirr101,lirr211,False,425
+lirr51,lirr100,lirr102,True,1825
+lirr51,lirr100,lirr125,True,900
+lirr51,lirr100,lirr102,False,1325
+lirr51,lirr100,lirr125,False,900
+lirr51,lirr111,lirr102,True,1825
+lirr51,lirr111,lirr102,False,1325
+lirr51,lirr124,lirr211,True,425
+lirr51,lirr124,lirr211,False,425
+lirr51,lirr122,lirr102,True,1050
+lirr51,lirr122,lirr102,False,775
+lirr51,lirr114,lirr211,True,425
+lirr51,lirr114,lirr211,False,425
+lirr51,lirr117,lirr102,True,1575
+lirr51,lirr117,lirr125,True,650
+lirr51,lirr117,lirr102,False,1150
+lirr51,lirr117,lirr125,False,650
+lirr51,lirr120,lirr214,True,1575
+lirr51,lirr120,lirr214,False,1150
+lirr51,lirr119,lirr102,True,1050
+lirr51,lirr119,lirr102,False,775
+lirr51,lirr123,lirr102,True,1225
+lirr51,lirr123,lirr102,False,900
+lirr51,lirr142,lirr211,True,425
+lirr51,lirr142,lirr211,False,425
+lirr51,lirr131,lirr214,True,1725
+lirr51,lirr131,lirr214,False,1250
+lirr51,lirr136,lirr102,True,1225
+lirr51,lirr136,lirr125,True,450
+lirr51,lirr136,lirr102,False,900
+lirr51,lirr136,lirr125,False,450
+lirr51,lirr135,lirr102,True,1225
+lirr51,lirr135,lirr125,True,450
+lirr51,lirr135,lirr102,False,900
+lirr51,lirr135,lirr125,False,450
+lirr51,lirr140,lirr102,True,2275
+lirr51,lirr140,lirr125,True,1225
+lirr51,lirr140,lirr102,False,1650
+lirr51,lirr140,lirr125,False,1225
+lirr51,lirr126,lirr102,True,2975
+lirr51,lirr126,lirr102,False,2175
+lirr51,lirr129,lirr102,True,1825
+lirr51,lirr129,lirr102,False,1325
+lirr51,lirr127,lirr102,True,1100
+lirr51,lirr127,lirr102,False,800
+lirr51,lirr226,lirr102,True,1225
+lirr51,lirr226,lirr125,True,450
+lirr51,lirr226,lirr102,False,900
+lirr51,lirr226,lirr125,False,450
+lirr51,lirr132,lirr102,True,1100
+lirr51,lirr132,lirr102,False,800
+lirr51,lirr141,lirr102,True,2975
+lirr51,lirr141,lirr125,True,1875
+lirr51,lirr141,lirr102,False,2175
+lirr51,lirr141,lirr125,False,1875
+lirr51,lirr130,lirr214,True,1575
+lirr51,lirr130,lirr214,False,1150
+lirr51,lirr149,lirr102,True,1100
+lirr51,lirr149,lirr102,False,800
+lirr51,lirr152,lirr102,True,1100
+lirr51,lirr152,lirr102,False,800
+lirr51,lirr153,lirr102,True,1575
+lirr51,lirr153,lirr102,False,1150
+lirr51,lirr157,lirr102,True,1825
+lirr51,lirr157,lirr125,True,900
+lirr51,lirr157,lirr102,False,1325
+lirr51,lirr157,lirr125,False,900
+lirr51,lirr154,lirr102,True,1225
+lirr51,lirr154,lirr102,False,900
+lirr51,lirr163,lirr102,True,1825
+lirr51,lirr163,lirr125,True,900
+lirr51,lirr163,lirr102,False,1325
+lirr51,lirr163,lirr125,False,900
+lirr51,lirr165,lirr102,True,1575
+lirr51,lirr165,lirr102,False,1150
+lirr51,lirr162,lirr214,True,1725
+lirr51,lirr162,lirr214,False,1250
+lirr51,lirr164,lirr102,True,1825
+lirr51,lirr164,lirr102,False,1325
+lirr51,lirr171,lirr214,True,1725
+lirr51,lirr171,lirr214,False,1250
+lirr51,lirr175,lirr102,True,1050
+lirr51,lirr175,lirr102,False,775
+lirr51,lirr176,lirr102,True,2975
+lirr51,lirr176,lirr102,False,2175
+lirr51,lirr183,lirr102,True,1225
+lirr51,lirr183,lirr125,True,450
+lirr51,lirr183,lirr102,False,900
+lirr51,lirr183,lirr125,False,450
+lirr51,lirr179,lirr102,True,1825
+lirr51,lirr179,lirr102,False,1325
+lirr51,lirr180,lirr102,True,1050
+lirr51,lirr180,lirr102,False,775
+lirr51,lirr182,lirr102,True,1225
+lirr51,lirr182,lirr102,False,900
+lirr51,lirr204,lirr102,True,1825
+lirr51,lirr204,lirr125,True,900
+lirr51,lirr204,lirr102,False,1325
+lirr51,lirr204,lirr125,False,900
+lirr51,lirr185,lirr102,True,1225
+lirr51,lirr185,lirr102,False,900
+lirr51,lirr187,lirr102,True,1225
+lirr51,lirr187,lirr125,True,450
+lirr51,lirr187,lirr102,False,900
+lirr51,lirr187,lirr125,False,450
+lirr51,lirr202,lirr102,True,1825
+lirr51,lirr202,lirr102,False,1325
+lirr51,lirr191,lirr102,True,2975
+lirr51,lirr191,lirr125,True,1875
+lirr51,lirr191,lirr102,False,2175
+lirr51,lirr191,lirr125,False,1875
+lirr51,lirr190,lirr102,True,2975
+lirr51,lirr190,lirr102,False,2175
+lirr51,lirr198,lirr102,True,2275
+lirr51,lirr198,lirr125,True,1225
+lirr51,lirr198,lirr102,False,1650
+lirr51,lirr198,lirr125,False,1225
+lirr51,lirr184,lirr102,True,1050
+lirr51,lirr184,lirr102,False,775
+lirr51,lirr193,lirr102,True,1825
+lirr51,lirr193,lirr102,False,1325
+lirr51,lirr195,lirr102,True,1100
+lirr51,lirr195,lirr102,False,800
+lirr51,lirr14,lirr102,True,1825
+lirr51,lirr14,lirr102,False,1325
+lirr51,lirr205,lirr102,True,1225
+lirr51,lirr205,lirr102,False,900
+lirr51,lirr215,lirr102,True,1225
+lirr51,lirr215,lirr125,True,450
+lirr51,lirr215,lirr102,False,900
+lirr51,lirr215,lirr125,False,450
+lirr51,lirr216,lirr211,True,425
+lirr51,lirr216,lirr211,False,425
+lirr51,lirr213,lirr102,True,1225
+lirr51,lirr213,lirr102,False,900
+lirr51,lirr233,lirr102,True,2975
+lirr51,lirr233,lirr125,True,1875
+lirr51,lirr233,lirr102,False,2175
+lirr51,lirr233,lirr125,False,1875
+lirr51,lirr219,lirr211,True,425
+lirr51,lirr219,lirr211,False,425
+lirr51,lirr217,lirr211,True,425
+lirr51,lirr217,lirr211,False,425
+lirr51,lirr220,lirr102,True,1575
+lirr51,lirr220,lirr102,False,1150
+lirr51,lirr223,lirr102,True,2275
+lirr51,lirr223,lirr102,False,1650
+lirr52,lirr4,lirr102,True,2775
+lirr52,lirr4,lirr132,True,1850
+lirr52,lirr4,lirr102,False,2025
+lirr52,lirr4,lirr132,False,1850
+lirr52,lirr8,lirr102,True,1350
+lirr52,lirr8,lirr102,False,975
+lirr52,lirr2,lirr214,True,1350
+lirr52,lirr2,lirr214,False,975
+lirr52,lirr27,lirr102,True,1350
+lirr52,lirr27,lirr132,True,600
+lirr52,lirr27,lirr102,False,975
+lirr52,lirr27,lirr132,False,600
+lirr52,lirr225,lirr102,True,1100
+lirr52,lirr225,lirr102,False,800
+lirr52,lirr26,lirr102,True,1650
+lirr52,lirr26,lirr132,True,825
+lirr52,lirr26,lirr102,False,1200
+lirr52,lirr26,lirr132,False,825
+lirr52,lirr25,lirr214,True,1350
+lirr52,lirr25,lirr214,False,975
+lirr52,lirr23,lirr102,True,1000
+lirr52,lirr23,lirr102,False,725
+lirr52,lirr16,lirr102,True,1100
+lirr52,lirr16,lirr102,False,800
+lirr52,lirr21,lirr102,True,2125
+lirr52,lirr21,lirr132,True,1200
+lirr52,lirr21,lirr102,False,1550
+lirr52,lirr21,lirr132,False,1200
+lirr52,lirr20,lirr132,True,425
+lirr52,lirr20,lirr132,False,425
+lirr52,lirr29,lirr132,True,825
+lirr52,lirr29,lirr132,False,825
+lirr52,lirr13,lirr102,True,2775
+lirr52,lirr13,lirr132,True,1850
+lirr52,lirr13,lirr102,False,2025
+lirr52,lirr13,lirr132,False,1850
+lirr52,lirr11,lirr214,True,1350
+lirr52,lirr11,lirr214,False,975
+lirr52,lirr39,lirr132,True,425
+lirr52,lirr39,lirr132,False,425
+lirr52,lirr32,lirr102,True,1000
+lirr52,lirr32,lirr102,False,725
+lirr52,lirr33,lirr132,True,825
+lirr52,lirr33,lirr132,False,825
+lirr52,lirr31,lirr102,True,1100
+lirr52,lirr31,lirr102,False,800
+lirr52,lirr40,lirr132,True,600
+lirr52,lirr40,lirr132,False,600
+lirr52,lirr38,lirr102,True,1350
+lirr52,lirr38,lirr102,False,975
+lirr52,lirr36,lirr102,True,1000
+lirr52,lirr36,lirr63,True,425
+lirr52,lirr36,lirr102,False,725
+lirr52,lirr36,lirr63,False,425
+lirr52,lirr44,lirr132,True,600
+lirr52,lirr44,lirr132,False,600
+lirr52,lirr42,lirr214,True,1350
+lirr52,lirr42,lirr214,False,975
+lirr52,lirr48,lirr102,True,2775
+lirr52,lirr48,lirr132,True,1850
+lirr52,lirr48,lirr102,False,2025
+lirr52,lirr48,lirr132,False,1850
+lirr52,lirr51,lirr102,True,1100
+lirr52,lirr51,lirr102,False,800
+lirr52,lirr65,lirr102,True,1000
+lirr52,lirr65,lirr102,False,725
+lirr52,lirr59,lirr132,True,425
+lirr52,lirr59,lirr132,False,425
+lirr52,lirr63,lirr102,True,1000
+lirr52,lirr63,lirr102,False,725
+lirr52,lirr56,lirr214,True,1350
+lirr52,lirr56,lirr214,False,975
+lirr52,lirr64,lirr102,True,1100
+lirr52,lirr64,lirr102,False,800
+lirr52,lirr68,lirr102,True,1000
+lirr52,lirr68,lirr63,True,425
+lirr52,lirr68,lirr102,False,725
+lirr52,lirr68,lirr63,False,425
+lirr52,lirr66,lirr102,True,1000
+lirr52,lirr66,lirr102,False,725
+lirr52,lirr72,lirr214,True,1475
+lirr52,lirr72,lirr214,False,1075
+lirr52,lirr74,lirr102,True,1650
+lirr52,lirr74,lirr132,True,825
+lirr52,lirr74,lirr102,False,1200
+lirr52,lirr74,lirr132,False,825
+lirr52,lirr78,lirr132,True,600
+lirr52,lirr78,lirr132,False,600
+lirr52,lirr73,lirr132,True,1850
+lirr52,lirr73,lirr132,False,1850
+lirr52,lirr83,lirr102,True,2775
+lirr52,lirr83,lirr132,True,1850
+lirr52,lirr83,lirr102,False,2025
+lirr52,lirr83,lirr132,False,1850
+lirr52,lirr84,lirr102,True,1000
+lirr52,lirr84,lirr63,True,425
+lirr52,lirr84,lirr102,False,725
+lirr52,lirr84,lirr63,False,425
+lirr52,lirr85,lirr102,True,1000
+lirr52,lirr85,lirr102,False,725
+lirr52,lirr94,lirr102,True,1000
+lirr52,lirr94,lirr102,False,725
+lirr52,lirr92,lirr132,True,425
+lirr52,lirr92,lirr132,False,425
+lirr52,lirr89,lirr102,True,900
+lirr52,lirr89,lirr102,False,650
+lirr52,lirr91,lirr132,True,600
+lirr52,lirr91,lirr132,False,600
+lirr52,lirr101,lirr102,True,1000
+lirr52,lirr101,lirr102,False,725
+lirr52,lirr99,lirr102,True,1100
+lirr52,lirr99,lirr102,False,800
+lirr52,lirr100,lirr102,True,1650
+lirr52,lirr100,lirr132,True,825
+lirr52,lirr100,lirr102,False,1200
+lirr52,lirr100,lirr132,False,825
+lirr52,lirr111,lirr132,True,825
+lirr52,lirr111,lirr132,False,825
+lirr52,lirr124,lirr102,True,1000
+lirr52,lirr124,lirr102,False,725
+lirr52,lirr122,lirr102,True,900
+lirr52,lirr122,lirr102,False,650
+lirr52,lirr114,lirr102,True,1000
+lirr52,lirr114,lirr102,False,725
+lirr52,lirr117,lirr102,True,1350
+lirr52,lirr117,lirr102,False,975
+lirr52,lirr120,lirr214,True,1350
+lirr52,lirr120,lirr214,False,975
+lirr52,lirr119,lirr102,True,900
+lirr52,lirr119,lirr102,False,650
+lirr52,lirr113,lirr102,True,1100
+lirr52,lirr113,lirr102,False,800
+lirr52,lirr125,lirr102,True,1000
+lirr52,lirr125,lirr102,False,725
+lirr52,lirr142,lirr102,True,1000
+lirr52,lirr142,lirr102,False,725
+lirr52,lirr131,lirr214,True,1475
+lirr52,lirr131,lirr214,False,1075
+lirr52,lirr136,lirr102,True,1100
+lirr52,lirr136,lirr102,False,800
+lirr52,lirr135,lirr102,True,1100
+lirr52,lirr135,lirr102,False,800
+lirr52,lirr140,lirr102,True,2125
+lirr52,lirr140,lirr132,True,1200
+lirr52,lirr140,lirr102,False,1550
+lirr52,lirr140,lirr132,False,1200
+lirr52,lirr126,lirr132,True,1850
+lirr52,lirr126,lirr132,False,1850
+lirr52,lirr129,lirr132,True,825
+lirr52,lirr129,lirr132,False,825
+lirr52,lirr226,lirr102,True,1100
+lirr52,lirr226,lirr102,False,800
+lirr52,lirr141,lirr102,True,2775
+lirr52,lirr141,lirr132,True,1850
+lirr52,lirr141,lirr102,False,2025
+lirr52,lirr141,lirr132,False,1850
+lirr52,lirr130,lirr214,True,1350
+lirr52,lirr130,lirr214,False,975
+lirr52,lirr149,lirr102,True,1000
+lirr52,lirr149,lirr63,True,425
+lirr52,lirr149,lirr102,False,725
+lirr52,lirr149,lirr63,False,425
+lirr52,lirr153,lirr132,True,600
+lirr52,lirr153,lirr132,False,600
+lirr52,lirr157,lirr102,True,1650
+lirr52,lirr157,lirr132,True,825
+lirr52,lirr157,lirr102,False,1200
+lirr52,lirr157,lirr132,False,825
+lirr52,lirr155,lirr102,True,1100
+lirr52,lirr155,lirr102,False,800
+lirr52,lirr163,lirr102,True,1650
+lirr52,lirr163,lirr132,True,825
+lirr52,lirr163,lirr102,False,1200
+lirr52,lirr163,lirr132,False,825
+lirr52,lirr165,lirr132,True,600
+lirr52,lirr165,lirr132,False,600
+lirr52,lirr162,lirr214,True,1475
+lirr52,lirr162,lirr214,False,1075
+lirr52,lirr164,lirr132,True,825
+lirr52,lirr164,lirr132,False,825
+lirr52,lirr171,lirr214,True,1475
+lirr52,lirr171,lirr214,False,1075
+lirr52,lirr175,lirr102,True,900
+lirr52,lirr175,lirr102,False,650
+lirr52,lirr176,lirr132,True,1850
+lirr52,lirr176,lirr132,False,1850
+lirr52,lirr183,lirr102,True,1100
+lirr52,lirr183,lirr102,False,800
+lirr52,lirr179,lirr132,True,825
+lirr52,lirr179,lirr132,False,825
+lirr52,lirr180,lirr102,True,900
+lirr52,lirr180,lirr102,False,650
+lirr52,lirr204,lirr102,True,1650
+lirr52,lirr204,lirr132,True,825
+lirr52,lirr204,lirr102,False,1200
+lirr52,lirr204,lirr132,False,825
+lirr52,lirr187,lirr102,True,1100
+lirr52,lirr187,lirr102,False,800
+lirr52,lirr202,lirr132,True,825
+lirr52,lirr202,lirr132,False,825
+lirr52,lirr191,lirr102,True,2775
+lirr52,lirr191,lirr132,True,1850
+lirr52,lirr191,lirr102,False,2025
+lirr52,lirr191,lirr132,False,1850
+lirr52,lirr190,lirr132,True,1850
+lirr52,lirr190,lirr132,False,1850
+lirr52,lirr198,lirr102,True,2125
+lirr52,lirr198,lirr132,True,1200
+lirr52,lirr198,lirr102,False,1550
+lirr52,lirr198,lirr132,False,1200
+lirr52,lirr184,lirr102,True,900
+lirr52,lirr184,lirr102,False,650
+lirr52,lirr193,lirr132,True,825
+lirr52,lirr193,lirr132,False,825
+lirr52,lirr195,lirr102,True,1000
+lirr52,lirr195,lirr63,True,425
+lirr52,lirr195,lirr102,False,725
+lirr52,lirr195,lirr63,False,425
+lirr52,lirr14,lirr132,True,825
+lirr52,lirr14,lirr132,False,825
+lirr52,lirr205,lirr132,True,425
+lirr52,lirr205,lirr132,False,425
+lirr52,lirr211,lirr102,True,1000
+lirr52,lirr211,lirr102,False,725
+lirr52,lirr215,lirr102,True,1100
+lirr52,lirr215,lirr102,False,800
+lirr52,lirr216,lirr102,True,1000
+lirr52,lirr216,lirr102,False,725
+lirr52,lirr213,lirr132,True,425
+lirr52,lirr213,lirr132,False,425
+lirr52,lirr233,lirr102,True,2775
+lirr52,lirr233,lirr132,True,1850
+lirr52,lirr233,lirr102,False,2025
+lirr52,lirr233,lirr132,False,1850
+lirr52,lirr219,lirr102,True,1000
+lirr52,lirr219,lirr102,False,725
+lirr52,lirr217,lirr102,True,1000
+lirr52,lirr217,lirr102,False,725
+lirr52,lirr220,lirr132,True,600
+lirr52,lirr220,lirr132,False,600
+lirr52,lirr223,lirr132,True,1200
+lirr52,lirr223,lirr132,False,1200
+lirr65,lirr1,lirr102,True,1100
+lirr65,lirr1,lirr102,False,800
+lirr65,lirr4,lirr102,True,2775
+lirr65,lirr4,lirr102,False,2025
+lirr65,lirr8,lirr102,True,1350
+lirr65,lirr8,lirr211,True,600
+lirr65,lirr8,lirr102,False,975
+lirr65,lirr8,lirr211,False,600
+lirr65,lirr2,lirr214,True,1350
+lirr65,lirr2,lirr214,False,975
+lirr65,lirr27,lirr102,True,1350
+lirr65,lirr27,lirr211,True,600
+lirr65,lirr27,lirr102,False,975
+lirr65,lirr27,lirr211,False,600
+lirr65,lirr225,lirr102,True,1100
+lirr65,lirr225,lirr211,True,425
+lirr65,lirr225,lirr102,False,800
+lirr65,lirr225,lirr211,False,425
+lirr65,lirr26,lirr102,True,1650
+lirr65,lirr26,lirr102,False,1200
+lirr65,lirr25,lirr214,True,1350
+lirr65,lirr25,lirr214,False,975
+lirr65,lirr23,lirr102,True,1000
+lirr65,lirr23,lirr102,False,725
+lirr65,lirr16,lirr102,True,1100
+lirr65,lirr16,lirr211,True,425
+lirr65,lirr16,lirr102,False,800
+lirr65,lirr16,lirr211,False,425
+lirr65,lirr21,lirr102,True,2125
+lirr65,lirr21,lirr102,False,1550
+lirr65,lirr20,lirr102,True,1100
+lirr65,lirr20,lirr102,False,800
+lirr65,lirr29,lirr102,True,1650
+lirr65,lirr29,lirr102,False,1200
+lirr65,lirr13,lirr102,True,2775
+lirr65,lirr13,lirr102,False,2025
+lirr65,lirr11,lirr214,True,1350
+lirr65,lirr11,lirr214,False,975
+lirr65,lirr39,lirr102,True,1100
+lirr65,lirr39,lirr102,False,800
+lirr65,lirr33,lirr102,True,1650
+lirr65,lirr33,lirr102,False,1200
+lirr65,lirr31,lirr211,True,425
+lirr65,lirr31,lirr211,False,425
+lirr65,lirr40,lirr102,True,1350
+lirr65,lirr40,lirr102,False,975
+lirr65,lirr38,lirr102,True,1350
+lirr65,lirr38,lirr211,True,600
+lirr65,lirr38,lirr102,False,975
+lirr65,lirr38,lirr211,False,600
+lirr65,lirr36,lirr102,True,1000
+lirr65,lirr36,lirr102,False,725
+lirr65,lirr44,lirr102,True,1350
+lirr65,lirr44,lirr102,False,975
+lirr65,lirr42,lirr214,True,1350
+lirr65,lirr42,lirr214,False,975
+lirr65,lirr48,lirr102,True,2775
+lirr65,lirr48,lirr102,False,2025
+lirr65,lirr51,lirr211,True,425
+lirr65,lirr51,lirr211,False,425
+lirr65,lirr52,lirr102,True,1000
+lirr65,lirr52,lirr102,False,725
+lirr65,lirr59,lirr102,True,1100
+lirr65,lirr59,lirr102,False,800
+lirr65,lirr63,lirr102,True,1000
+lirr65,lirr63,lirr102,False,725
+lirr65,lirr56,lirr214,True,1350
+lirr65,lirr56,lirr214,False,975
+lirr65,lirr64,lirr102,True,1100
+lirr65,lirr64,lirr211,True,425
+lirr65,lirr64,lirr102,False,800
+lirr65,lirr64,lirr211,False,425
+lirr65,lirr68,lirr102,True,1000
+lirr65,lirr68,lirr102,False,725
+lirr65,lirr67,lirr102,True,1100
+lirr65,lirr67,lirr102,False,800
+lirr65,lirr71,lirr102,True,1100
+lirr65,lirr71,lirr102,False,800
+lirr65,lirr76,lirr102,True,1100
+lirr65,lirr76,lirr102,False,800
+lirr65,lirr72,lirr214,True,1475
+lirr65,lirr72,lirr214,False,1075
+lirr65,lirr74,lirr102,True,1650
+lirr65,lirr74,lirr102,False,1200
+lirr65,lirr78,lirr102,True,1350
+lirr65,lirr78,lirr102,False,975
+lirr65,lirr73,lirr102,True,2775
+lirr65,lirr73,lirr102,False,2025
+lirr65,lirr77,lirr102,True,1100
+lirr65,lirr77,lirr102,False,800
+lirr65,lirr83,lirr102,True,2775
+lirr65,lirr83,lirr102,False,2025
+lirr65,lirr84,lirr102,True,1000
+lirr65,lirr84,lirr102,False,725
+lirr65,lirr85,lirr211,True,425
+lirr65,lirr85,lirr211,False,425
+lirr65,lirr92,lirr102,True,1100
+lirr65,lirr92,lirr102,False,800
+lirr65,lirr89,lirr102,True,900
+lirr65,lirr89,lirr102,False,650
+lirr65,lirr91,lirr102,True,1350
+lirr65,lirr91,lirr102,False,975
+lirr65,lirr99,lirr211,True,425
+lirr65,lirr99,lirr211,False,425
+lirr65,lirr100,lirr102,True,1650
+lirr65,lirr100,lirr102,False,1200
+lirr65,lirr111,lirr102,True,1650
+lirr65,lirr111,lirr102,False,1200
+lirr65,lirr124,lirr211,True,425
+lirr65,lirr124,lirr211,False,425
+lirr65,lirr117,lirr102,True,1350
+lirr65,lirr117,lirr211,True,600
+lirr65,lirr117,lirr102,False,975
+lirr65,lirr117,lirr211,False,600
+lirr65,lirr120,lirr214,True,1350
+lirr65,lirr120,lirr214,False,975
+lirr65,lirr123,lirr102,True,1100
+lirr65,lirr123,lirr102,False,800
+lirr65,lirr113,lirr211,True,425
+lirr65,lirr113,lirr211,False,425
+lirr65,lirr125,lirr211,True,425
+lirr65,lirr125,lirr211,False,425
+lirr65,lirr142,lirr211,True,425
+lirr65,lirr142,lirr211,False,425
+lirr65,lirr131,lirr214,True,1475
+lirr65,lirr131,lirr214,False,1075
+lirr65,lirr136,lirr102,True,1100
+lirr65,lirr136,lirr211,True,425
+lirr65,lirr136,lirr102,False,800
+lirr65,lirr136,lirr211,False,425
+lirr65,lirr135,lirr102,True,1100
+lirr65,lirr135,lirr211,True,425
+lirr65,lirr135,lirr102,False,800
+lirr65,lirr135,lirr211,False,425
+lirr65,lirr140,lirr102,True,2125
+lirr65,lirr140,lirr102,False,1550
+lirr65,lirr126,lirr102,True,2775
+lirr65,lirr126,lirr102,False,2025
+lirr65,lirr129,lirr102,True,1650
+lirr65,lirr129,lirr102,False,1200
+lirr65,lirr127,lirr102,True,1000
+lirr65,lirr127,lirr102,False,725
+lirr65,lirr226,lirr102,True,1100
+lirr65,lirr226,lirr211,True,425
+lirr65,lirr226,lirr102,False,800
+lirr65,lirr226,lirr211,False,425
+lirr65,lirr132,lirr102,True,1000
+lirr65,lirr132,lirr102,False,725
+lirr65,lirr141,lirr102,True,2775
+lirr65,lirr141,lirr102,False,2025
+lirr65,lirr130,lirr214,True,1350
+lirr65,lirr130,lirr214,False,975
+lirr65,lirr149,lirr102,True,1000
+lirr65,lirr149,lirr102,False,725
+lirr65,lirr152,lirr102,True,1000
+lirr65,lirr152,lirr102,False,725
+lirr65,lirr153,lirr102,True,1350
+lirr65,lirr153,lirr102,False,975
+lirr65,lirr157,lirr102,True,1650
+lirr65,lirr157,lirr102,False,1200
+lirr65,lirr155,lirr211,True,425
+lirr65,lirr155,lirr211,False,425
+lirr65,lirr154,lirr102,True,1100
+lirr65,lirr154,lirr102,False,800
+lirr65,lirr163,lirr102,True,1650
+lirr65,lirr163,lirr102,False,1200
+lirr65,lirr165,lirr102,True,1350
+lirr65,lirr165,lirr102,False,975
+lirr65,lirr162,lirr214,True,1475
+lirr65,lirr162,lirr214,False,1075
+lirr65,lirr164,lirr102,True,1650
+lirr65,lirr164,lirr102,False,1200
+lirr65,lirr171,lirr214,True,1475
+lirr65,lirr171,lirr214,False,1075
+lirr65,lirr175,lirr102,True,900
+lirr65,lirr175,lirr102,False,650
+lirr65,lirr176,lirr102,True,2775
+lirr65,lirr176,lirr102,False,2025
+lirr65,lirr183,lirr102,True,1100
+lirr65,lirr183,lirr211,True,425
+lirr65,lirr183,lirr102,False,800
+lirr65,lirr183,lirr211,False,425
+lirr65,lirr179,lirr102,True,1650
+lirr65,lirr179,lirr102,False,1200
+lirr65,lirr182,lirr102,True,1100
+lirr65,lirr182,lirr102,False,800
+lirr65,lirr204,lirr102,True,1650
+lirr65,lirr204,lirr102,False,1200
+lirr65,lirr185,lirr102,True,1100
+lirr65,lirr185,lirr102,False,800
+lirr65,lirr187,lirr102,True,1100
+lirr65,lirr187,lirr211,True,425
+lirr65,lirr187,lirr102,False,800
+lirr65,lirr187,lirr211,False,425
+lirr65,lirr202,lirr102,True,1650
+lirr65,lirr202,lirr102,False,1200
+lirr65,lirr191,lirr102,True,2775
+lirr65,lirr191,lirr102,False,2025
+lirr65,lirr190,lirr102,True,2775
+lirr65,lirr190,lirr102,False,2025
+lirr65,lirr198,lirr102,True,2125
+lirr65,lirr198,lirr102,False,1550
+lirr65,lirr193,lirr102,True,1650
+lirr65,lirr193,lirr102,False,1200
+lirr65,lirr195,lirr102,True,1000
+lirr65,lirr195,lirr102,False,725
+lirr65,lirr14,lirr102,True,1650
+lirr65,lirr14,lirr102,False,1200
+lirr65,lirr205,lirr102,True,1100
+lirr65,lirr205,lirr102,False,800
+lirr65,lirr215,lirr102,True,1100
+lirr65,lirr215,lirr211,True,425
+lirr65,lirr215,lirr102,False,800
+lirr65,lirr215,lirr211,False,425
+lirr65,lirr216,lirr211,True,425
+lirr65,lirr216,lirr211,False,425
+lirr65,lirr213,lirr102,True,1100
+lirr65,lirr213,lirr102,False,800
+lirr65,lirr233,lirr102,True,2775
+lirr65,lirr233,lirr102,False,2025
+lirr65,lirr219,lirr211,True,425
+lirr65,lirr219,lirr211,False,425
+lirr65,lirr220,lirr102,True,1350
+lirr65,lirr220,lirr102,False,975
+lirr65,lirr223,lirr102,True,2125
+lirr65,lirr223,lirr102,False,1550
+lirr59,lirr1,lirr132,True,450
+lirr59,lirr1,lirr132,False,450
+lirr59,lirr4,lirr102,True,2975
+lirr59,lirr4,lirr92,True,1725
+lirr59,lirr4,lirr102,False,2175
+lirr59,lirr4,lirr92,False,1725
+lirr59,lirr8,lirr102,True,1575
+lirr59,lirr8,lirr102,False,1150
+lirr59,lirr2,lirr214,True,1575
+lirr59,lirr2,lirr214,False,1150
+lirr59,lirr27,lirr102,True,1575
+lirr59,lirr27,lirr92,True,425
+lirr59,lirr27,lirr102,False,1150
+lirr59,lirr27,lirr92,False,425
+lirr59,lirr225,lirr102,True,1225
+lirr59,lirr225,lirr102,False,900
+lirr59,lirr26,lirr102,True,1825
+lirr59,lirr26,lirr92,True,600
+lirr59,lirr26,lirr102,False,1325
+lirr59,lirr26,lirr92,False,600
+lirr59,lirr25,lirr214,True,1575
+lirr59,lirr25,lirr214,False,1150
+lirr59,lirr23,lirr102,True,1100
+lirr59,lirr23,lirr102,False,800
+lirr59,lirr16,lirr102,True,1225
+lirr59,lirr16,lirr102,False,900
+lirr59,lirr21,lirr102,True,2275
+lirr59,lirr21,lirr92,True,1050
+lirr59,lirr21,lirr102,False,1650
+lirr59,lirr21,lirr92,False,1050
+lirr59,lirr13,lirr102,True,2975
+lirr59,lirr13,lirr92,True,1725
+lirr59,lirr13,lirr102,False,2175
+lirr59,lirr13,lirr92,False,1725
+lirr59,lirr11,lirr214,True,1575
+lirr59,lirr11,lirr214,False,1150
+lirr59,lirr32,lirr102,True,1100
+lirr59,lirr32,lirr102,False,800
+lirr59,lirr31,lirr102,True,1225
+lirr59,lirr31,lirr102,False,900
+lirr59,lirr40,lirr92,True,425
+lirr59,lirr40,lirr92,False,425
+lirr59,lirr38,lirr102,True,1575
+lirr59,lirr38,lirr102,False,1150
+lirr59,lirr36,lirr102,True,1100
+lirr59,lirr36,lirr63,True,425
+lirr59,lirr36,lirr102,False,800
+lirr59,lirr36,lirr63,False,425
+lirr59,lirr42,lirr214,True,1575
+lirr59,lirr42,lirr214,False,1150
+lirr59,lirr48,lirr102,True,2975
+lirr59,lirr48,lirr92,True,1725
+lirr59,lirr48,lirr102,False,2175
+lirr59,lirr48,lirr92,False,1725
+lirr59,lirr51,lirr102,True,1225
+lirr59,lirr51,lirr102,False,900
+lirr59,lirr52,lirr132,True,425
+lirr59,lirr52,lirr132,False,425
+lirr59,lirr65,lirr102,True,1100
+lirr59,lirr65,lirr102,False,800
+lirr59,lirr63,lirr102,True,1100
+lirr59,lirr63,lirr102,False,800
+lirr59,lirr56,lirr214,True,1575
+lirr59,lirr56,lirr214,False,1150
+lirr59,lirr64,lirr102,True,1225
+lirr59,lirr64,lirr102,False,900
+lirr59,lirr68,lirr102,True,1100
+lirr59,lirr68,lirr63,True,425
+lirr59,lirr68,lirr102,False,800
+lirr59,lirr68,lirr63,False,425
+lirr59,lirr66,lirr102,True,1100
+lirr59,lirr66,lirr102,False,800
+lirr59,lirr67,lirr132,True,450
+lirr59,lirr67,lirr132,False,450
+lirr59,lirr71,lirr132,True,450
+lirr59,lirr71,lirr132,False,450
+lirr59,lirr76,lirr132,True,450
+lirr59,lirr76,lirr132,False,450
+lirr59,lirr72,lirr214,True,1725
+lirr59,lirr72,lirr214,False,1250
+lirr59,lirr74,lirr102,True,1825
+lirr59,lirr74,lirr92,True,600
+lirr59,lirr74,lirr102,False,1325
+lirr59,lirr74,lirr92,False,600
+lirr59,lirr78,lirr92,True,425
+lirr59,lirr78,lirr92,False,425
+lirr59,lirr77,lirr132,True,450
+lirr59,lirr77,lirr132,False,450
+lirr59,lirr83,lirr102,True,2975
+lirr59,lirr83,lirr92,True,1725
+lirr59,lirr83,lirr102,False,2175
+lirr59,lirr83,lirr92,False,1725
+lirr59,lirr84,lirr102,True,1100
+lirr59,lirr84,lirr63,True,425
+lirr59,lirr84,lirr102,False,800
+lirr59,lirr84,lirr63,False,425
+lirr59,lirr85,lirr102,True,1100
+lirr59,lirr85,lirr102,False,800
+lirr59,lirr94,lirr102,True,1100
+lirr59,lirr94,lirr102,False,800
+lirr59,lirr89,lirr102,True,1050
+lirr59,lirr89,lirr102,False,775
+lirr59,lirr91,lirr92,True,425
+lirr59,lirr91,lirr92,False,425
+lirr59,lirr101,lirr102,True,1100
+lirr59,lirr101,lirr102,False,800
+lirr59,lirr99,lirr102,True,1225
+lirr59,lirr99,lirr102,False,900
+lirr59,lirr100,lirr102,True,1825
+lirr59,lirr100,lirr92,True,600
+lirr59,lirr100,lirr102,False,1325
+lirr59,lirr100,lirr92,False,600
+lirr59,lirr111,lirr92,True,600
+lirr59,lirr111,lirr92,False,600
+lirr59,lirr124,lirr102,True,1100
+lirr59,lirr124,lirr102,False,800
+lirr59,lirr122,lirr102,True,1050
+lirr59,lirr122,lirr102,False,775
+lirr59,lirr114,lirr102,True,1100
+lirr59,lirr114,lirr102,False,800
+lirr59,lirr117,lirr102,True,1575
+lirr59,lirr117,lirr102,False,1150
+lirr59,lirr120,lirr214,True,1575
+lirr59,lirr120,lirr214,False,1150
+lirr59,lirr119,lirr102,True,1050
+lirr59,lirr119,lirr102,False,775
+lirr59,lirr123,lirr132,True,450
+lirr59,lirr123,lirr132,False,450
+lirr59,lirr113,lirr102,True,1225
+lirr59,lirr113,lirr102,False,900
+lirr59,lirr125,lirr102,True,1100
+lirr59,lirr125,lirr102,False,800
+lirr59,lirr142,lirr102,True,1100
+lirr59,lirr142,lirr102,False,800
+lirr59,lirr131,lirr214,True,1725
+lirr59,lirr131,lirr214,False,1250
+lirr59,lirr136,lirr102,True,1225
+lirr59,lirr136,lirr102,False,900
+lirr59,lirr135,lirr102,True,1225
+lirr59,lirr135,lirr102,False,900
+lirr59,lirr140,lirr102,True,2275
+lirr59,lirr140,lirr92,True,1050
+lirr59,lirr140,lirr102,False,1650
+lirr59,lirr140,lirr92,False,1050
+lirr59,lirr226,lirr102,True,1225
+lirr59,lirr226,lirr102,False,900
+lirr59,lirr141,lirr102,True,2975
+lirr59,lirr141,lirr92,True,1725
+lirr59,lirr141,lirr102,False,2175
+lirr59,lirr141,lirr92,False,1725
+lirr59,lirr130,lirr214,True,1575
+lirr59,lirr130,lirr214,False,1150
+lirr59,lirr149,lirr102,True,1100
+lirr59,lirr149,lirr63,True,425
+lirr59,lirr149,lirr102,False,800
+lirr59,lirr149,lirr63,False,425
+lirr59,lirr153,lirr92,True,425
+lirr59,lirr153,lirr92,False,425
+lirr59,lirr157,lirr102,True,1825
+lirr59,lirr157,lirr92,True,600
+lirr59,lirr157,lirr102,False,1325
+lirr59,lirr157,lirr92,False,600
+lirr59,lirr155,lirr102,True,1225
+lirr59,lirr155,lirr102,False,900
+lirr59,lirr154,lirr132,True,450
+lirr59,lirr154,lirr132,False,450
+lirr59,lirr163,lirr102,True,1825
+lirr59,lirr163,lirr92,True,600
+lirr59,lirr163,lirr102,False,1325
+lirr59,lirr163,lirr92,False,600
+lirr59,lirr162,lirr214,True,1725
+lirr59,lirr162,lirr214,False,1250
+lirr59,lirr164,lirr92,True,600
+lirr59,lirr164,lirr92,False,600
+lirr59,lirr171,lirr214,True,1725
+lirr59,lirr171,lirr214,False,1250
+lirr59,lirr175,lirr102,True,1050
+lirr59,lirr175,lirr102,False,775
+lirr59,lirr183,lirr102,True,1225
+lirr59,lirr183,lirr102,False,900
+lirr59,lirr180,lirr102,True,1050
+lirr59,lirr180,lirr102,False,775
+lirr59,lirr182,lirr132,True,450
+lirr59,lirr182,lirr132,False,450
+lirr59,lirr204,lirr102,True,1825
+lirr59,lirr204,lirr92,True,600
+lirr59,lirr204,lirr102,False,1325
+lirr59,lirr204,lirr92,False,600
+lirr59,lirr185,lirr132,True,450
+lirr59,lirr185,lirr132,False,450
+lirr59,lirr187,lirr102,True,1225
+lirr59,lirr187,lirr102,False,900
+lirr59,lirr202,lirr92,True,600
+lirr59,lirr202,lirr92,False,600
+lirr59,lirr191,lirr102,True,2975
+lirr59,lirr191,lirr92,True,1725
+lirr59,lirr191,lirr102,False,2175
+lirr59,lirr191,lirr92,False,1725
+lirr59,lirr198,lirr102,True,2275
+lirr59,lirr198,lirr92,True,1050
+lirr59,lirr198,lirr102,False,1650
+lirr59,lirr198,lirr92,False,1050
+lirr59,lirr184,lirr102,True,1050
+lirr59,lirr184,lirr102,False,775
+lirr59,lirr193,lirr92,True,600
+lirr59,lirr193,lirr92,False,600
+lirr59,lirr195,lirr102,True,1100
+lirr59,lirr195,lirr63,True,425
+lirr59,lirr195,lirr102,False,800
+lirr59,lirr195,lirr63,False,425
+lirr59,lirr14,lirr92,True,600
+lirr59,lirr14,lirr92,False,600
+lirr59,lirr205,lirr92,True,425
+lirr59,lirr205,lirr92,False,425
+lirr59,lirr211,lirr102,True,1100
+lirr59,lirr211,lirr102,False,800
+lirr59,lirr215,lirr102,True,1225
+lirr59,lirr215,lirr102,False,900
+lirr59,lirr216,lirr102,True,1100
+lirr59,lirr216,lirr102,False,800
+lirr59,lirr233,lirr102,True,2975
+lirr59,lirr233,lirr92,True,1725
+lirr59,lirr233,lirr102,False,2175
+lirr59,lirr233,lirr92,False,1725
+lirr59,lirr219,lirr102,True,1100
+lirr59,lirr219,lirr102,False,800
+lirr59,lirr217,lirr102,True,1100
+lirr59,lirr217,lirr102,False,800
+lirr63,lirr1,lirr102,True,1100
+lirr63,lirr1,lirr102,False,800
+lirr63,lirr4,lirr102,True,2775
+lirr63,lirr4,lirr102,False,2025
+lirr63,lirr8,lirr102,True,1350
+lirr63,lirr8,lirr102,False,975
+lirr63,lirr2,lirr214,True,1350
+lirr63,lirr2,lirr214,False,975
+lirr63,lirr27,lirr102,True,1350
+lirr63,lirr27,lirr102,False,975
+lirr63,lirr225,lirr102,True,1100
+lirr63,lirr225,lirr102,False,800
+lirr63,lirr26,lirr102,True,1650
+lirr63,lirr26,lirr102,False,1200
+lirr63,lirr25,lirr214,True,1350
+lirr63,lirr25,lirr214,False,975
+lirr63,lirr16,lirr102,True,1100
+lirr63,lirr16,lirr102,False,800
+lirr63,lirr21,lirr102,True,2125
+lirr63,lirr21,lirr102,False,1550
+lirr63,lirr20,lirr102,True,1100
+lirr63,lirr20,lirr102,False,800
+lirr63,lirr29,lirr102,True,1650
+lirr63,lirr29,lirr102,False,1200
+lirr63,lirr13,lirr102,True,2775
+lirr63,lirr13,lirr102,False,2025
+lirr63,lirr11,lirr214,True,1350
+lirr63,lirr11,lirr214,False,975
+lirr63,lirr39,lirr102,True,1100
+lirr63,lirr39,lirr102,False,800
+lirr63,lirr32,lirr102,True,1000
+lirr63,lirr32,lirr102,False,725
+lirr63,lirr33,lirr102,True,1650
+lirr63,lirr33,lirr102,False,1200
+lirr63,lirr31,lirr102,True,1100
+lirr63,lirr31,lirr102,False,800
+lirr63,lirr40,lirr102,True,1350
+lirr63,lirr40,lirr102,False,975
+lirr63,lirr38,lirr102,True,1350
+lirr63,lirr38,lirr102,False,975
+lirr63,lirr44,lirr102,True,1350
+lirr63,lirr44,lirr102,False,975
+lirr63,lirr42,lirr214,True,1350
+lirr63,lirr42,lirr214,False,975
+lirr63,lirr48,lirr102,True,2775
+lirr63,lirr48,lirr102,False,2025
+lirr63,lirr51,lirr102,True,1100
+lirr63,lirr51,lirr102,False,800
+lirr63,lirr52,lirr102,True,1000
+lirr63,lirr52,lirr102,False,725
+lirr63,lirr65,lirr102,True,1000
+lirr63,lirr65,lirr102,False,725
+lirr63,lirr59,lirr102,True,1100
+lirr63,lirr59,lirr102,False,800
+lirr63,lirr56,lirr214,True,1350
+lirr63,lirr56,lirr214,False,975
+lirr63,lirr64,lirr102,True,1100
+lirr63,lirr64,lirr102,False,800
+lirr63,lirr66,lirr102,True,1000
+lirr63,lirr66,lirr102,False,725
+lirr63,lirr67,lirr102,True,1100
+lirr63,lirr67,lirr102,False,800
+lirr63,lirr71,lirr102,True,1100
+lirr63,lirr71,lirr102,False,800
+lirr63,lirr76,lirr102,True,1100
+lirr63,lirr76,lirr102,False,800
+lirr63,lirr72,lirr214,True,1475
+lirr63,lirr72,lirr214,False,1075
+lirr63,lirr74,lirr102,True,1650
+lirr63,lirr74,lirr102,False,1200
+lirr63,lirr78,lirr102,True,1350
+lirr63,lirr78,lirr102,False,975
+lirr63,lirr73,lirr102,True,2775
+lirr63,lirr73,lirr102,False,2025
+lirr63,lirr77,lirr102,True,1100
+lirr63,lirr77,lirr102,False,800
+lirr63,lirr83,lirr102,True,2775
+lirr63,lirr83,lirr102,False,2025
+lirr63,lirr85,lirr102,True,1000
+lirr63,lirr85,lirr102,False,725
+lirr63,lirr94,lirr102,True,1000
+lirr63,lirr94,lirr102,False,725
+lirr63,lirr92,lirr102,True,1100
+lirr63,lirr92,lirr102,False,800
+lirr63,lirr91,lirr102,True,1350
+lirr63,lirr91,lirr102,False,975
+lirr63,lirr101,lirr102,True,1000
+lirr63,lirr101,lirr102,False,725
+lirr63,lirr99,lirr102,True,1100
+lirr63,lirr99,lirr102,False,800
+lirr63,lirr100,lirr102,True,1650
+lirr63,lirr100,lirr102,False,1200
+lirr63,lirr111,lirr102,True,1650
+lirr63,lirr111,lirr102,False,1200
+lirr63,lirr124,lirr102,True,1000
+lirr63,lirr124,lirr102,False,725
+lirr63,lirr122,lirr102,True,900
+lirr63,lirr122,lirr102,False,650
+lirr63,lirr114,lirr102,True,1000
+lirr63,lirr114,lirr102,False,725
+lirr63,lirr117,lirr102,True,1350
+lirr63,lirr117,lirr102,False,975
+lirr63,lirr120,lirr214,True,1350
+lirr63,lirr120,lirr214,False,975
+lirr63,lirr119,lirr102,True,900
+lirr63,lirr119,lirr102,False,650
+lirr63,lirr123,lirr102,True,1100
+lirr63,lirr123,lirr102,False,800
+lirr63,lirr113,lirr102,True,1100
+lirr63,lirr113,lirr102,False,800
+lirr63,lirr125,lirr102,True,1000
+lirr63,lirr125,lirr102,False,725
+lirr63,lirr142,lirr102,True,1000
+lirr63,lirr142,lirr102,False,725
+lirr63,lirr131,lirr214,True,1475
+lirr63,lirr131,lirr214,False,1075
+lirr63,lirr136,lirr102,True,1100
+lirr63,lirr136,lirr102,False,800
+lirr63,lirr135,lirr102,True,1100
+lirr63,lirr135,lirr102,False,800
+lirr63,lirr140,lirr102,True,2125
+lirr63,lirr140,lirr102,False,1550
+lirr63,lirr126,lirr102,True,2775
+lirr63,lirr126,lirr102,False,2025
+lirr63,lirr129,lirr102,True,1650
+lirr63,lirr129,lirr102,False,1200
+lirr63,lirr127,lirr102,True,1000
+lirr63,lirr127,lirr102,False,725
+lirr63,lirr226,lirr102,True,1100
+lirr63,lirr226,lirr102,False,800
+lirr63,lirr132,lirr102,True,1000
+lirr63,lirr132,lirr102,False,725
+lirr63,lirr141,lirr102,True,2775
+lirr63,lirr141,lirr102,False,2025
+lirr63,lirr130,lirr214,True,1350
+lirr63,lirr130,lirr214,False,975
+lirr63,lirr152,lirr102,True,1000
+lirr63,lirr152,lirr102,False,725
+lirr63,lirr153,lirr102,True,1350
+lirr63,lirr153,lirr102,False,975
+lirr63,lirr157,lirr102,True,1650
+lirr63,lirr157,lirr102,False,1200
+lirr63,lirr155,lirr102,True,1100
+lirr63,lirr155,lirr102,False,800
+lirr63,lirr154,lirr102,True,1100
+lirr63,lirr154,lirr102,False,800
+lirr63,lirr163,lirr102,True,1650
+lirr63,lirr163,lirr102,False,1200
+lirr63,lirr165,lirr102,True,1350
+lirr63,lirr165,lirr102,False,975
+lirr63,lirr162,lirr214,True,1475
+lirr63,lirr162,lirr214,False,1075
+lirr63,lirr164,lirr102,True,1650
+lirr63,lirr164,lirr102,False,1200
+lirr63,lirr171,lirr214,True,1475
+lirr63,lirr171,lirr214,False,1075
+lirr63,lirr176,lirr102,True,2775
+lirr63,lirr176,lirr102,False,2025
+lirr63,lirr183,lirr102,True,1100
+lirr63,lirr183,lirr102,False,800
+lirr63,lirr179,lirr102,True,1650
+lirr63,lirr179,lirr102,False,1200
+lirr63,lirr180,lirr102,True,900
+lirr63,lirr180,lirr102,False,650
+lirr63,lirr182,lirr102,True,1100
+lirr63,lirr182,lirr102,False,800
+lirr63,lirr204,lirr102,True,1650
+lirr63,lirr204,lirr102,False,1200
+lirr63,lirr185,lirr102,True,1100
+lirr63,lirr185,lirr102,False,800
+lirr63,lirr187,lirr102,True,1100
+lirr63,lirr187,lirr102,False,800
+lirr63,lirr202,lirr102,True,1650
+lirr63,lirr202,lirr102,False,1200
+lirr63,lirr191,lirr102,True,2775
+lirr63,lirr191,lirr102,False,2025
+lirr63,lirr190,lirr102,True,2775
+lirr63,lirr190,lirr102,False,2025
+lirr63,lirr198,lirr102,True,2125
+lirr63,lirr198,lirr102,False,1550
+lirr63,lirr184,lirr102,True,900
+lirr63,lirr184,lirr102,False,650
+lirr63,lirr193,lirr102,True,1650
+lirr63,lirr193,lirr102,False,1200
+lirr63,lirr14,lirr102,True,1650
+lirr63,lirr14,lirr102,False,1200
+lirr63,lirr205,lirr102,True,1100
+lirr63,lirr205,lirr102,False,800
+lirr63,lirr211,lirr102,True,1000
+lirr63,lirr211,lirr102,False,725
+lirr63,lirr215,lirr102,True,1100
+lirr63,lirr215,lirr102,False,800
+lirr63,lirr216,lirr102,True,1000
+lirr63,lirr216,lirr102,False,725
+lirr63,lirr213,lirr102,True,1100
+lirr63,lirr213,lirr102,False,800
+lirr63,lirr233,lirr102,True,2775
+lirr63,lirr233,lirr102,False,2025
+lirr63,lirr219,lirr102,True,1000
+lirr63,lirr219,lirr102,False,725
+lirr63,lirr217,lirr102,True,1000
+lirr63,lirr217,lirr102,False,725
+lirr63,lirr220,lirr102,True,1350
+lirr63,lirr220,lirr102,False,975
+lirr63,lirr223,lirr102,True,2125
+lirr63,lirr223,lirr102,False,1550
+lirr56,lirr1,lirr214,True,1575
+lirr56,lirr1,lirr214,False,1150
+lirr56,lirr4,lirr214,True,3200
+lirr56,lirr4,lirr214,False,2325
+lirr56,lirr8,lirr214,True,1825
+lirr56,lirr8,lirr214,False,1325
+lirr56,lirr27,lirr214,True,1825
+lirr56,lirr27,lirr214,False,1325
+lirr56,lirr225,lirr214,True,1575
+lirr56,lirr225,lirr214,False,1150
+lirr56,lirr26,lirr214,True,2050
+lirr56,lirr26,lirr214,False,1500
+lirr56,lirr23,lirr214,True,1350
+lirr56,lirr23,lirr214,False,975
+lirr56,lirr16,lirr214,True,1575
+lirr56,lirr16,lirr214,False,1150
+lirr56,lirr21,lirr214,True,2500
+lirr56,lirr21,lirr214,False,1825
+lirr56,lirr20,lirr214,True,1575
+lirr56,lirr20,lirr214,False,1150
+lirr56,lirr29,lirr214,True,2050
+lirr56,lirr29,lirr214,False,1500
+lirr56,lirr13,lirr214,True,3200
+lirr56,lirr13,lirr214,False,2325
+lirr56,lirr39,lirr214,True,1575
+lirr56,lirr39,lirr214,False,1150
+lirr56,lirr32,lirr214,True,1350
+lirr56,lirr32,lirr214,False,975
+lirr56,lirr33,lirr214,True,2050
+lirr56,lirr33,lirr214,False,1500
+lirr56,lirr31,lirr214,True,1575
+lirr56,lirr31,lirr214,False,1150
+lirr56,lirr40,lirr214,True,1825
+lirr56,lirr40,lirr214,False,1325
+lirr56,lirr38,lirr214,True,1825
+lirr56,lirr38,lirr214,False,1325
+lirr56,lirr36,lirr214,True,1350
+lirr56,lirr36,lirr214,False,975
+lirr56,lirr44,lirr214,True,1825
+lirr56,lirr44,lirr214,False,1325
+lirr56,lirr48,lirr214,True,3200
+lirr56,lirr48,lirr214,False,2325
+lirr56,lirr51,lirr214,True,1575
+lirr56,lirr51,lirr214,False,1150
+lirr56,lirr52,lirr214,True,1350
+lirr56,lirr52,lirr214,False,975
+lirr56,lirr65,lirr214,True,1350
+lirr56,lirr65,lirr214,False,975
+lirr56,lirr59,lirr214,True,1575
+lirr56,lirr59,lirr214,False,1150
+lirr56,lirr63,lirr214,True,1350
+lirr56,lirr63,lirr214,False,975
+lirr56,lirr55,lirr214,True,1150
+lirr56,lirr55,lirr214,False,825
+lirr56,lirr64,lirr214,True,1575
+lirr56,lirr64,lirr214,False,1150
+lirr56,lirr68,lirr214,True,1350
+lirr56,lirr68,lirr214,False,975
+lirr56,lirr66,lirr214,True,1350
+lirr56,lirr66,lirr214,False,975
+lirr56,lirr67,lirr214,True,1575
+lirr56,lirr67,lirr214,False,1150
+lirr56,lirr71,lirr214,True,1575
+lirr56,lirr71,lirr214,False,1150
+lirr56,lirr76,lirr214,True,1575
+lirr56,lirr76,lirr214,False,1150
+lirr56,lirr74,lirr214,True,2050
+lirr56,lirr74,lirr214,False,1500
+lirr56,lirr78,lirr214,True,1825
+lirr56,lirr78,lirr214,False,1325
+lirr56,lirr73,lirr214,True,3200
+lirr56,lirr73,lirr214,False,2325
+lirr56,lirr77,lirr214,True,1575
+lirr56,lirr77,lirr214,False,1150
+lirr56,lirr83,lirr214,True,3200
+lirr56,lirr83,lirr214,False,2325
+lirr56,lirr84,lirr214,True,1350
+lirr56,lirr84,lirr214,False,975
+lirr56,lirr85,lirr214,True,1350
+lirr56,lirr85,lirr214,False,975
+lirr56,lirr94,lirr214,True,1350
+lirr56,lirr94,lirr214,False,975
+lirr56,lirr92,lirr214,True,1575
+lirr56,lirr92,lirr214,False,1150
+lirr56,lirr89,lirr214,True,1200
+lirr56,lirr89,lirr214,False,875
+lirr56,lirr91,lirr214,True,1825
+lirr56,lirr91,lirr214,False,1325
+lirr56,lirr101,lirr214,True,1350
+lirr56,lirr101,lirr214,False,975
+lirr56,lirr99,lirr214,True,1575
+lirr56,lirr99,lirr214,False,1150
+lirr56,lirr100,lirr214,True,2050
+lirr56,lirr100,lirr214,False,1500
+lirr56,lirr102,lirr214,True,1200
+lirr56,lirr102,lirr214,False,875
+lirr56,lirr107,lirr214,True,1150
+lirr56,lirr107,lirr214,False,825
+lirr56,lirr111,lirr214,True,2050
+lirr56,lirr111,lirr214,False,1500
+lirr56,lirr124,lirr214,True,1350
+lirr56,lirr124,lirr214,False,975
+lirr56,lirr122,lirr214,True,1200
+lirr56,lirr122,lirr214,False,875
+lirr56,lirr114,lirr214,True,1350
+lirr56,lirr114,lirr214,False,975
+lirr56,lirr117,lirr214,True,1825
+lirr56,lirr117,lirr214,False,1325
+lirr56,lirr119,lirr214,True,1200
+lirr56,lirr119,lirr214,False,875
+lirr56,lirr123,lirr214,True,1575
+lirr56,lirr123,lirr214,False,1150
+lirr56,lirr113,lirr214,True,1575
+lirr56,lirr113,lirr214,False,1150
+lirr56,lirr125,lirr214,True,1350
+lirr56,lirr125,lirr214,False,975
+lirr56,lirr142,lirr214,True,1350
+lirr56,lirr142,lirr214,False,975
+lirr56,lirr136,lirr214,True,1575
+lirr56,lirr136,lirr214,False,1150
+lirr56,lirr135,lirr214,True,1575
+lirr56,lirr135,lirr214,False,1150
+lirr56,lirr140,lirr214,True,2500
+lirr56,lirr140,lirr214,False,1825
+lirr56,lirr126,lirr214,True,3200
+lirr56,lirr126,lirr214,False,2325
+lirr56,lirr129,lirr214,True,2050
+lirr56,lirr129,lirr214,False,1500
+lirr56,lirr127,lirr214,True,1350
+lirr56,lirr127,lirr214,False,975
+lirr56,lirr226,lirr214,True,1575
+lirr56,lirr226,lirr214,False,1150
+lirr56,lirr132,lirr214,True,1350
+lirr56,lirr132,lirr214,False,975
+lirr56,lirr141,lirr214,True,3200
+lirr56,lirr141,lirr214,False,2325
+lirr56,lirr149,lirr214,True,1350
+lirr56,lirr149,lirr214,False,975
+lirr56,lirr152,lirr214,True,1350
+lirr56,lirr152,lirr214,False,975
+lirr56,lirr153,lirr214,True,1825
+lirr56,lirr153,lirr214,False,1325
+lirr56,lirr157,lirr214,True,2050
+lirr56,lirr157,lirr214,False,1500
+lirr56,lirr155,lirr214,True,1575
+lirr56,lirr155,lirr214,False,1150
+lirr56,lirr154,lirr214,True,1575
+lirr56,lirr154,lirr214,False,1150
+lirr56,lirr163,lirr214,True,2050
+lirr56,lirr163,lirr214,False,1500
+lirr56,lirr165,lirr214,True,1825
+lirr56,lirr165,lirr214,False,1325
+lirr56,lirr164,lirr214,True,2050
+lirr56,lirr164,lirr214,False,1500
+lirr56,lirr175,lirr214,True,1200
+lirr56,lirr175,lirr214,False,875
+lirr56,lirr176,lirr214,True,3200
+lirr56,lirr176,lirr214,False,2325
+lirr56,lirr183,lirr214,True,1575
+lirr56,lirr183,lirr214,False,1150
+lirr56,lirr179,lirr214,True,2050
+lirr56,lirr179,lirr214,False,1500
+lirr56,lirr180,lirr214,True,1200
+lirr56,lirr180,lirr214,False,875
+lirr56,lirr182,lirr214,True,1575
+lirr56,lirr182,lirr214,False,1150
+lirr56,lirr204,lirr214,True,2050
+lirr56,lirr204,lirr214,False,1500
+lirr56,lirr185,lirr214,True,1575
+lirr56,lirr185,lirr214,False,1150
+lirr56,lirr187,lirr214,True,1575
+lirr56,lirr187,lirr214,False,1150
+lirr56,lirr202,lirr214,True,2050
+lirr56,lirr202,lirr214,False,1500
+lirr56,lirr191,lirr214,True,3200
+lirr56,lirr191,lirr214,False,2325
+lirr56,lirr190,lirr214,True,3200
+lirr56,lirr190,lirr214,False,2325
+lirr56,lirr198,lirr214,True,2500
+lirr56,lirr198,lirr214,False,1825
+lirr56,lirr184,lirr214,True,1200
+lirr56,lirr184,lirr214,False,875
+lirr56,lirr193,lirr214,True,2050
+lirr56,lirr193,lirr214,False,1500
+lirr56,lirr195,lirr214,True,1350
+lirr56,lirr195,lirr214,False,975
+lirr56,lirr14,lirr214,True,2050
+lirr56,lirr14,lirr214,False,1500
+lirr56,lirr205,lirr214,True,1575
+lirr56,lirr205,lirr214,False,1150
+lirr56,lirr211,lirr214,True,1350
+lirr56,lirr211,lirr214,False,975
+lirr56,lirr215,lirr214,True,1575
+lirr56,lirr215,lirr214,False,1150
+lirr56,lirr216,lirr214,True,1350
+lirr56,lirr216,lirr214,False,975
+lirr56,lirr213,lirr214,True,1575
+lirr56,lirr213,lirr214,False,1150
+lirr56,lirr233,lirr214,True,3200
+lirr56,lirr233,lirr214,False,2325
+lirr56,lirr219,lirr214,True,1350
+lirr56,lirr219,lirr214,False,975
+lirr56,lirr217,lirr214,True,1350
+lirr56,lirr217,lirr214,False,975
+lirr56,lirr220,lirr214,True,1825
+lirr56,lirr220,lirr214,False,1325
+lirr56,lirr223,lirr214,True,2500
+lirr56,lirr223,lirr214,False,1825
+lirr55,lirr241,lirr102,True,1200
+lirr55,lirr241,lirr102,False,875
+lirr55,lirr2,lirr214,True,1150
+lirr55,lirr2,lirr214,False,825
+lirr55,lirr25,lirr214,True,1150
+lirr55,lirr25,lirr214,False,825
+lirr55,lirr11,lirr214,True,1150
+lirr55,lirr11,lirr214,False,825
+lirr55,lirr42,lirr214,True,1150
+lirr55,lirr42,lirr214,False,825
+lirr55,lirr50,lirr102,True,1200
+lirr55,lirr50,lirr102,False,875
+lirr55,lirr56,lirr214,True,1150
+lirr55,lirr56,lirr214,False,825
+lirr55,lirr72,lirr214,True,1300
+lirr55,lirr72,lirr214,False,950
+lirr55,lirr120,lirr214,True,1150
+lirr55,lirr120,lirr214,False,825
+lirr55,lirr131,lirr214,True,1300
+lirr55,lirr131,lirr214,False,950
+lirr55,lirr130,lirr214,True,1150
+lirr55,lirr130,lirr214,False,825
+lirr55,lirr148,lirr102,True,1200
+lirr55,lirr148,lirr102,False,875
+lirr55,lirr162,lirr214,True,1300
+lirr55,lirr162,lirr214,False,950
+lirr55,lirr171,lirr214,True,1300
+lirr55,lirr171,lirr214,False,950
+lirr64,lirr1,lirr102,True,1225
+lirr64,lirr1,lirr102,False,900
+lirr64,lirr2,lirr214,True,1575
+lirr64,lirr2,lirr214,False,1150
+lirr64,lirr25,lirr214,True,1575
+lirr64,lirr25,lirr214,False,1150
+lirr64,lirr23,lirr102,True,1100
+lirr64,lirr23,lirr102,False,800
+lirr64,lirr20,lirr102,True,1225
+lirr64,lirr20,lirr102,False,900
+lirr64,lirr29,lirr102,True,1825
+lirr64,lirr29,lirr102,False,1325
+lirr64,lirr11,lirr214,True,1575
+lirr64,lirr11,lirr214,False,1150
+lirr64,lirr39,lirr102,True,1225
+lirr64,lirr39,lirr102,False,900
+lirr64,lirr32,lirr102,True,1100
+lirr64,lirr32,lirr211,True,425
+lirr64,lirr32,lirr102,False,800
+lirr64,lirr32,lirr211,False,425
+lirr64,lirr33,lirr102,True,1825
+lirr64,lirr33,lirr102,False,1325
+lirr64,lirr31,lirr102,True,1225
+lirr64,lirr31,lirr125,True,450
+lirr64,lirr31,lirr102,False,900
+lirr64,lirr31,lirr125,False,450
+lirr64,lirr40,lirr102,True,1575
+lirr64,lirr40,lirr102,False,1150
+lirr64,lirr36,lirr102,True,1100
+lirr64,lirr36,lirr102,False,800
+lirr64,lirr44,lirr102,True,1575
+lirr64,lirr44,lirr102,False,1150
+lirr64,lirr42,lirr214,True,1575
+lirr64,lirr42,lirr214,False,1150
+lirr64,lirr51,lirr102,True,1225
+lirr64,lirr51,lirr125,True,450
+lirr64,lirr51,lirr102,False,900
+lirr64,lirr51,lirr125,False,450
+lirr64,lirr52,lirr102,True,1100
+lirr64,lirr52,lirr102,False,800
+lirr64,lirr65,lirr102,True,1100
+lirr64,lirr65,lirr211,True,425
+lirr64,lirr65,lirr102,False,800
+lirr64,lirr65,lirr211,False,425
+lirr64,lirr59,lirr102,True,1225
+lirr64,lirr59,lirr102,False,900
+lirr64,lirr63,lirr102,True,1100
+lirr64,lirr63,lirr102,False,800
+lirr64,lirr56,lirr214,True,1575
+lirr64,lirr56,lirr214,False,1150
+lirr64,lirr68,lirr102,True,1100
+lirr64,lirr68,lirr102,False,800
+lirr64,lirr66,lirr102,True,1100
+lirr64,lirr66,lirr211,True,425
+lirr64,lirr66,lirr102,False,800
+lirr64,lirr66,lirr211,False,425
+lirr64,lirr67,lirr102,True,1225
+lirr64,lirr67,lirr102,False,900
+lirr64,lirr71,lirr102,True,1225
+lirr64,lirr71,lirr102,False,900
+lirr64,lirr76,lirr102,True,1225
+lirr64,lirr76,lirr102,False,900
+lirr64,lirr72,lirr214,True,1725
+lirr64,lirr72,lirr214,False,1250
+lirr64,lirr78,lirr102,True,1575
+lirr64,lirr78,lirr102,False,1150
+lirr64,lirr73,lirr102,True,2975
+lirr64,lirr73,lirr102,False,2175
+lirr64,lirr77,lirr102,True,1225
+lirr64,lirr77,lirr102,False,900
+lirr64,lirr84,lirr102,True,1100
+lirr64,lirr84,lirr102,False,800
+lirr64,lirr85,lirr102,True,1100
+lirr64,lirr85,lirr102,False,800
+lirr64,lirr94,lirr102,True,1100
+lirr64,lirr94,lirr211,True,425
+lirr64,lirr94,lirr102,False,800
+lirr64,lirr94,lirr211,False,425
+lirr64,lirr92,lirr102,True,1225
+lirr64,lirr92,lirr102,False,900
+lirr64,lirr89,lirr102,True,1050
+lirr64,lirr89,lirr102,False,775
+lirr64,lirr91,lirr102,True,1575
+lirr64,lirr91,lirr102,False,1150
+lirr64,lirr101,lirr102,True,1100
+lirr64,lirr101,lirr211,True,425
+lirr64,lirr101,lirr102,False,800
+lirr64,lirr101,lirr211,False,425
+lirr64,lirr99,lirr102,True,1225
+lirr64,lirr99,lirr125,True,450
+lirr64,lirr99,lirr102,False,900
+lirr64,lirr99,lirr125,False,450
+lirr64,lirr111,lirr102,True,1825
+lirr64,lirr111,lirr102,False,1325
+lirr64,lirr124,lirr102,True,1100
+lirr64,lirr124,lirr102,False,800
+lirr64,lirr122,lirr102,True,1050
+lirr64,lirr122,lirr102,False,775
+lirr64,lirr114,lirr102,True,1100
+lirr64,lirr114,lirr211,True,425
+lirr64,lirr114,lirr102,False,800
+lirr64,lirr114,lirr211,False,425
+lirr64,lirr120,lirr214,True,1575
+lirr64,lirr120,lirr214,False,1150
+lirr64,lirr119,lirr102,True,1050
+lirr64,lirr119,lirr102,False,775
+lirr64,lirr123,lirr102,True,1225
+lirr64,lirr123,lirr102,False,900
+lirr64,lirr113,lirr102,True,1225
+lirr64,lirr113,lirr125,True,450
+lirr64,lirr113,lirr102,False,900
+lirr64,lirr113,lirr125,False,450
+lirr64,lirr125,lirr102,True,1100
+lirr64,lirr125,lirr102,False,800
+lirr64,lirr142,lirr102,True,1100
+lirr64,lirr142,lirr102,False,800
+lirr64,lirr131,lirr214,True,1725
+lirr64,lirr131,lirr214,False,1250
+lirr64,lirr126,lirr102,True,2975
+lirr64,lirr126,lirr102,False,2175
+lirr64,lirr129,lirr102,True,1825
+lirr64,lirr129,lirr102,False,1325
+lirr64,lirr127,lirr102,True,1100
+lirr64,lirr127,lirr102,False,800
+lirr64,lirr132,lirr102,True,1100
+lirr64,lirr132,lirr102,False,800
+lirr64,lirr130,lirr214,True,1575
+lirr64,lirr130,lirr214,False,1150
+lirr64,lirr149,lirr102,True,1100
+lirr64,lirr149,lirr102,False,800
+lirr64,lirr152,lirr102,True,1100
+lirr64,lirr152,lirr102,False,800
+lirr64,lirr153,lirr102,True,1575
+lirr64,lirr153,lirr102,False,1150
+lirr64,lirr155,lirr102,True,1225
+lirr64,lirr155,lirr125,True,450
+lirr64,lirr155,lirr102,False,900
+lirr64,lirr155,lirr125,False,450
+lirr64,lirr154,lirr102,True,1225
+lirr64,lirr154,lirr102,False,900
+lirr64,lirr165,lirr102,True,1575
+lirr64,lirr165,lirr102,False,1150
+lirr64,lirr162,lirr214,True,1725
+lirr64,lirr162,lirr214,False,1250
+lirr64,lirr164,lirr102,True,1825
+lirr64,lirr164,lirr102,False,1325
+lirr64,lirr171,lirr214,True,1725
+lirr64,lirr171,lirr214,False,1250
+lirr64,lirr175,lirr102,True,1050
+lirr64,lirr175,lirr102,False,775
+lirr64,lirr176,lirr102,True,2975
+lirr64,lirr176,lirr102,False,2175
+lirr64,lirr179,lirr102,True,1825
+lirr64,lirr179,lirr102,False,1325
+lirr64,lirr180,lirr102,True,1050
+lirr64,lirr180,lirr102,False,775
+lirr64,lirr182,lirr102,True,1225
+lirr64,lirr182,lirr102,False,900
+lirr64,lirr185,lirr102,True,1225
+lirr64,lirr185,lirr102,False,900
+lirr64,lirr202,lirr102,True,1825
+lirr64,lirr202,lirr102,False,1325
+lirr64,lirr190,lirr102,True,2975
+lirr64,lirr190,lirr102,False,2175
+lirr64,lirr184,lirr102,True,1050
+lirr64,lirr184,lirr102,False,775
+lirr64,lirr193,lirr102,True,1825
+lirr64,lirr193,lirr102,False,1325
+lirr64,lirr195,lirr102,True,1100
+lirr64,lirr195,lirr102,False,800
+lirr64,lirr14,lirr102,True,1825
+lirr64,lirr14,lirr102,False,1325
+lirr64,lirr205,lirr102,True,1225
+lirr64,lirr205,lirr102,False,900
+lirr64,lirr211,lirr102,True,1100
+lirr64,lirr211,lirr102,False,800
+lirr64,lirr216,lirr102,True,1100
+lirr64,lirr216,lirr102,False,800
+lirr64,lirr213,lirr102,True,1225
+lirr64,lirr213,lirr102,False,900
+lirr64,lirr219,lirr102,True,1100
+lirr64,lirr219,lirr102,False,800
+lirr64,lirr217,lirr102,True,1100
+lirr64,lirr217,lirr211,True,425
+lirr64,lirr217,lirr102,False,800
+lirr64,lirr217,lirr211,False,425
+lirr64,lirr220,lirr102,True,1575
+lirr64,lirr220,lirr102,False,1150
+lirr64,lirr223,lirr102,True,2275
+lirr64,lirr223,lirr102,False,1650
+lirr68,lirr1,lirr102,True,1100
+lirr68,lirr1,lirr63,True,425
+lirr68,lirr1,lirr102,False,800
+lirr68,lirr1,lirr63,False,425
+lirr68,lirr4,lirr102,True,2775
+lirr68,lirr4,lirr63,True,1850
+lirr68,lirr4,lirr102,False,2025
+lirr68,lirr4,lirr63,False,1850
+lirr68,lirr8,lirr102,True,1350
+lirr68,lirr8,lirr102,False,975
+lirr68,lirr2,lirr214,True,1350
+lirr68,lirr2,lirr214,False,975
+lirr68,lirr27,lirr102,True,1350
+lirr68,lirr27,lirr63,True,600
+lirr68,lirr27,lirr102,False,975
+lirr68,lirr27,lirr63,False,600
+lirr68,lirr225,lirr102,True,1100
+lirr68,lirr225,lirr102,False,800
+lirr68,lirr26,lirr102,True,1650
+lirr68,lirr26,lirr63,True,825
+lirr68,lirr26,lirr102,False,1200
+lirr68,lirr26,lirr63,False,825
+lirr68,lirr25,lirr214,True,1350
+lirr68,lirr25,lirr214,False,975
+lirr68,lirr16,lirr102,True,1100
+lirr68,lirr16,lirr102,False,800
+lirr68,lirr21,lirr102,True,2125
+lirr68,lirr21,lirr63,True,1200
+lirr68,lirr21,lirr102,False,1550
+lirr68,lirr21,lirr63,False,1200
+lirr68,lirr20,lirr102,True,1100
+lirr68,lirr20,lirr63,True,425
+lirr68,lirr20,lirr102,False,800
+lirr68,lirr20,lirr63,False,425
+lirr68,lirr29,lirr102,True,1650
+lirr68,lirr29,lirr63,True,825
+lirr68,lirr29,lirr102,False,1200
+lirr68,lirr29,lirr63,False,825
+lirr68,lirr13,lirr102,True,2775
+lirr68,lirr13,lirr63,True,1850
+lirr68,lirr13,lirr102,False,2025
+lirr68,lirr13,lirr63,False,1850
+lirr68,lirr11,lirr214,True,1350
+lirr68,lirr11,lirr214,False,975
+lirr68,lirr39,lirr102,True,1100
+lirr68,lirr39,lirr102,False,800
+lirr68,lirr32,lirr102,True,1000
+lirr68,lirr32,lirr102,False,725
+lirr68,lirr33,lirr102,True,1650
+lirr68,lirr33,lirr63,True,825
+lirr68,lirr33,lirr102,False,1200
+lirr68,lirr33,lirr63,False,825
+lirr68,lirr31,lirr102,True,1100
+lirr68,lirr31,lirr102,False,800
+lirr68,lirr40,lirr102,True,1350
+lirr68,lirr40,lirr63,True,600
+lirr68,lirr40,lirr102,False,975
+lirr68,lirr40,lirr63,False,600
+lirr68,lirr38,lirr102,True,1350
+lirr68,lirr38,lirr102,False,975
+lirr68,lirr44,lirr102,True,1350
+lirr68,lirr44,lirr63,True,600
+lirr68,lirr44,lirr102,False,975
+lirr68,lirr44,lirr63,False,600
+lirr68,lirr42,lirr214,True,1350
+lirr68,lirr42,lirr214,False,975
+lirr68,lirr48,lirr102,True,2775
+lirr68,lirr48,lirr63,True,1850
+lirr68,lirr48,lirr102,False,2025
+lirr68,lirr48,lirr63,False,1850
+lirr68,lirr51,lirr102,True,1100
+lirr68,lirr51,lirr102,False,800
+lirr68,lirr52,lirr102,True,1000
+lirr68,lirr52,lirr63,True,425
+lirr68,lirr52,lirr102,False,725
+lirr68,lirr52,lirr63,False,425
+lirr68,lirr65,lirr102,True,1000
+lirr68,lirr65,lirr102,False,725
+lirr68,lirr59,lirr102,True,1100
+lirr68,lirr59,lirr63,True,425
+lirr68,lirr59,lirr102,False,800
+lirr68,lirr59,lirr63,False,425
+lirr68,lirr56,lirr214,True,1350
+lirr68,lirr56,lirr214,False,975
+lirr68,lirr64,lirr102,True,1100
+lirr68,lirr64,lirr102,False,800
+lirr68,lirr66,lirr102,True,1000
+lirr68,lirr66,lirr102,False,725
+lirr68,lirr67,lirr102,True,1100
+lirr68,lirr67,lirr63,True,425
+lirr68,lirr67,lirr102,False,800
+lirr68,lirr67,lirr63,False,425
+lirr68,lirr71,lirr102,True,1100
+lirr68,lirr71,lirr63,True,425
+lirr68,lirr71,lirr102,False,800
+lirr68,lirr71,lirr63,False,425
+lirr68,lirr76,lirr102,True,1100
+lirr68,lirr76,lirr63,True,425
+lirr68,lirr76,lirr102,False,800
+lirr68,lirr76,lirr63,False,425
+lirr68,lirr72,lirr214,True,1475
+lirr68,lirr72,lirr214,False,1075
+lirr68,lirr74,lirr102,True,1650
+lirr68,lirr74,lirr63,True,825
+lirr68,lirr74,lirr102,False,1200
+lirr68,lirr74,lirr63,False,825
+lirr68,lirr78,lirr102,True,1350
+lirr68,lirr78,lirr63,True,600
+lirr68,lirr78,lirr102,False,975
+lirr68,lirr78,lirr63,False,600
+lirr68,lirr73,lirr102,True,2775
+lirr68,lirr73,lirr63,True,1850
+lirr68,lirr73,lirr102,False,2025
+lirr68,lirr73,lirr63,False,1850
+lirr68,lirr77,lirr102,True,1100
+lirr68,lirr77,lirr63,True,425
+lirr68,lirr77,lirr102,False,800
+lirr68,lirr77,lirr63,False,425
+lirr68,lirr83,lirr102,True,2775
+lirr68,lirr83,lirr63,True,1850
+lirr68,lirr83,lirr102,False,2025
+lirr68,lirr83,lirr63,False,1850
+lirr68,lirr85,lirr102,True,1000
+lirr68,lirr85,lirr102,False,725
+lirr68,lirr94,lirr102,True,1000
+lirr68,lirr94,lirr102,False,725
+lirr68,lirr92,lirr102,True,1100
+lirr68,lirr92,lirr102,False,800
+lirr68,lirr91,lirr102,True,1350
+lirr68,lirr91,lirr63,True,600
+lirr68,lirr91,lirr102,False,975
+lirr68,lirr91,lirr63,False,600
+lirr68,lirr101,lirr102,True,1000
+lirr68,lirr101,lirr102,False,725
+lirr68,lirr99,lirr102,True,1100
+lirr68,lirr99,lirr102,False,800
+lirr68,lirr100,lirr102,True,1650
+lirr68,lirr100,lirr63,True,825
+lirr68,lirr100,lirr102,False,1200
+lirr68,lirr100,lirr63,False,825
+lirr68,lirr111,lirr102,True,1650
+lirr68,lirr111,lirr63,True,825
+lirr68,lirr111,lirr102,False,1200
+lirr68,lirr111,lirr63,False,825
+lirr68,lirr124,lirr102,True,1000
+lirr68,lirr124,lirr102,False,725
+lirr68,lirr122,lirr102,True,900
+lirr68,lirr122,lirr102,False,650
+lirr68,lirr114,lirr102,True,1000
+lirr68,lirr114,lirr102,False,725
+lirr68,lirr117,lirr102,True,1350
+lirr68,lirr117,lirr102,False,975
+lirr68,lirr120,lirr214,True,1350
+lirr68,lirr120,lirr214,False,975
+lirr68,lirr119,lirr102,True,900
+lirr68,lirr119,lirr102,False,650
+lirr68,lirr123,lirr102,True,1100
+lirr68,lirr123,lirr63,True,425
+lirr68,lirr123,lirr102,False,800
+lirr68,lirr123,lirr63,False,425
+lirr68,lirr113,lirr102,True,1100
+lirr68,lirr113,lirr102,False,800
+lirr68,lirr125,lirr102,True,1000
+lirr68,lirr125,lirr102,False,725
+lirr68,lirr142,lirr102,True,1000
+lirr68,lirr142,lirr102,False,725
+lirr68,lirr131,lirr214,True,1475
+lirr68,lirr131,lirr214,False,1075
+lirr68,lirr136,lirr102,True,1100
+lirr68,lirr136,lirr102,False,800
+lirr68,lirr135,lirr102,True,1100
+lirr68,lirr135,lirr102,False,800
+lirr68,lirr140,lirr102,True,2125
+lirr68,lirr140,lirr63,True,1200
+lirr68,lirr140,lirr102,False,1550
+lirr68,lirr140,lirr63,False,1200
+lirr68,lirr126,lirr102,True,2775
+lirr68,lirr126,lirr63,True,1850
+lirr68,lirr126,lirr102,False,2025
+lirr68,lirr126,lirr63,False,1850
+lirr68,lirr129,lirr102,True,1650
+lirr68,lirr129,lirr63,True,825
+lirr68,lirr129,lirr102,False,1200
+lirr68,lirr129,lirr63,False,825
+lirr68,lirr127,lirr102,True,1000
+lirr68,lirr127,lirr102,False,725
+lirr68,lirr226,lirr102,True,1100
+lirr68,lirr226,lirr102,False,800
+lirr68,lirr132,lirr102,True,1000
+lirr68,lirr132,lirr102,False,725
+lirr68,lirr141,lirr102,True,2775
+lirr68,lirr141,lirr63,True,1850
+lirr68,lirr141,lirr102,False,2025
+lirr68,lirr141,lirr63,False,1850
+lirr68,lirr130,lirr214,True,1350
+lirr68,lirr130,lirr214,False,975
+lirr68,lirr152,lirr102,True,1000
+lirr68,lirr152,lirr102,False,725
+lirr68,lirr153,lirr102,True,1350
+lirr68,lirr153,lirr63,True,600
+lirr68,lirr153,lirr102,False,975
+lirr68,lirr153,lirr63,False,600
+lirr68,lirr157,lirr102,True,1650
+lirr68,lirr157,lirr63,True,825
+lirr68,lirr157,lirr102,False,1200
+lirr68,lirr157,lirr63,False,825
+lirr68,lirr155,lirr102,True,1100
+lirr68,lirr155,lirr102,False,800
+lirr68,lirr154,lirr102,True,1100
+lirr68,lirr154,lirr63,True,425
+lirr68,lirr154,lirr102,False,800
+lirr68,lirr154,lirr63,False,425
+lirr68,lirr163,lirr102,True,1650
+lirr68,lirr163,lirr63,True,825
+lirr68,lirr163,lirr102,False,1200
+lirr68,lirr163,lirr63,False,825
+lirr68,lirr165,lirr102,True,1350
+lirr68,lirr165,lirr63,True,600
+lirr68,lirr165,lirr102,False,975
+lirr68,lirr165,lirr63,False,600
+lirr68,lirr162,lirr214,True,1475
+lirr68,lirr162,lirr214,False,1075
+lirr68,lirr164,lirr102,True,1650
+lirr68,lirr164,lirr63,True,825
+lirr68,lirr164,lirr102,False,1200
+lirr68,lirr164,lirr63,False,825
+lirr68,lirr171,lirr214,True,1475
+lirr68,lirr171,lirr214,False,1075
+lirr68,lirr176,lirr102,True,2775
+lirr68,lirr176,lirr63,True,1850
+lirr68,lirr176,lirr102,False,2025
+lirr68,lirr176,lirr63,False,1850
+lirr68,lirr183,lirr102,True,1100
+lirr68,lirr183,lirr102,False,800
+lirr68,lirr179,lirr102,True,1650
+lirr68,lirr179,lirr63,True,825
+lirr68,lirr179,lirr102,False,1200
+lirr68,lirr179,lirr63,False,825
+lirr68,lirr180,lirr102,True,900
+lirr68,lirr180,lirr102,False,650
+lirr68,lirr182,lirr102,True,1100
+lirr68,lirr182,lirr63,True,425
+lirr68,lirr182,lirr102,False,800
+lirr68,lirr182,lirr63,False,425
+lirr68,lirr204,lirr102,True,1650
+lirr68,lirr204,lirr63,True,825
+lirr68,lirr204,lirr102,False,1200
+lirr68,lirr204,lirr63,False,825
+lirr68,lirr185,lirr102,True,1100
+lirr68,lirr185,lirr63,True,425
+lirr68,lirr185,lirr102,False,800
+lirr68,lirr185,lirr63,False,425
+lirr68,lirr187,lirr102,True,1100
+lirr68,lirr187,lirr102,False,800
+lirr68,lirr202,lirr102,True,1650
+lirr68,lirr202,lirr63,True,825
+lirr68,lirr202,lirr102,False,1200
+lirr68,lirr202,lirr63,False,825
+lirr68,lirr191,lirr102,True,2775
+lirr68,lirr191,lirr63,True,1850
+lirr68,lirr191,lirr102,False,2025
+lirr68,lirr191,lirr63,False,1850
+lirr68,lirr190,lirr102,True,2775
+lirr68,lirr190,lirr63,True,1850
+lirr68,lirr190,lirr102,False,2025
+lirr68,lirr190,lirr63,False,1850
+lirr68,lirr198,lirr102,True,2125
+lirr68,lirr198,lirr63,True,1200
+lirr68,lirr198,lirr102,False,1550
+lirr68,lirr198,lirr63,False,1200
+lirr68,lirr184,lirr102,True,900
+lirr68,lirr184,lirr102,False,650
+lirr68,lirr193,lirr102,True,1650
+lirr68,lirr193,lirr63,True,825
+lirr68,lirr193,lirr102,False,1200
+lirr68,lirr193,lirr63,False,825
+lirr68,lirr14,lirr102,True,1650
+lirr68,lirr14,lirr63,True,825
+lirr68,lirr14,lirr102,False,1200
+lirr68,lirr14,lirr63,False,825
+lirr68,lirr205,lirr102,True,1100
+lirr68,lirr205,lirr63,True,425
+lirr68,lirr205,lirr102,False,800
+lirr68,lirr205,lirr63,False,425
+lirr68,lirr211,lirr102,True,1000
+lirr68,lirr211,lirr102,False,725
+lirr68,lirr215,lirr102,True,1100
+lirr68,lirr215,lirr102,False,800
+lirr68,lirr216,lirr102,True,1000
+lirr68,lirr216,lirr102,False,725
+lirr68,lirr213,lirr102,True,1100
+lirr68,lirr213,lirr102,False,800
+lirr68,lirr233,lirr102,True,2775
+lirr68,lirr233,lirr63,True,1850
+lirr68,lirr233,lirr102,False,2025
+lirr68,lirr233,lirr63,False,1850
+lirr68,lirr219,lirr102,True,1000
+lirr68,lirr219,lirr102,False,725
+lirr68,lirr217,lirr102,True,1000
+lirr68,lirr217,lirr102,False,725
+lirr68,lirr220,lirr102,True,1350
+lirr68,lirr220,lirr63,True,600
+lirr68,lirr220,lirr102,False,975
+lirr68,lirr220,lirr63,False,600
+lirr68,lirr223,lirr102,True,2125
+lirr68,lirr223,lirr63,True,1200
+lirr68,lirr223,lirr102,False,1550
+lirr68,lirr223,lirr63,False,1200
+lirr66,lirr1,lirr102,True,1100
+lirr66,lirr1,lirr102,False,800
+lirr66,lirr4,lirr102,True,2775
+lirr66,lirr4,lirr102,False,2025
+lirr66,lirr8,lirr102,True,1350
+lirr66,lirr8,lirr211,True,600
+lirr66,lirr8,lirr102,False,975
+lirr66,lirr8,lirr211,False,600
+lirr66,lirr2,lirr214,True,1350
+lirr66,lirr2,lirr214,False,975
+lirr66,lirr27,lirr102,True,1350
+lirr66,lirr27,lirr211,True,600
+lirr66,lirr27,lirr102,False,975
+lirr66,lirr27,lirr211,False,600
+lirr66,lirr225,lirr102,True,1100
+lirr66,lirr225,lirr211,True,425
+lirr66,lirr225,lirr102,False,800
+lirr66,lirr225,lirr211,False,425
+lirr66,lirr26,lirr102,True,1650
+lirr66,lirr26,lirr102,False,1200
+lirr66,lirr25,lirr214,True,1350
+lirr66,lirr25,lirr214,False,975
+lirr66,lirr23,lirr102,True,1000
+lirr66,lirr23,lirr102,False,725
+lirr66,lirr16,lirr102,True,1100
+lirr66,lirr16,lirr211,True,425
+lirr66,lirr16,lirr102,False,800
+lirr66,lirr16,lirr211,False,425
+lirr66,lirr21,lirr102,True,2125
+lirr66,lirr21,lirr102,False,1550
+lirr66,lirr20,lirr102,True,1100
+lirr66,lirr20,lirr102,False,800
+lirr66,lirr29,lirr102,True,1650
+lirr66,lirr29,lirr102,False,1200
+lirr66,lirr13,lirr102,True,2775
+lirr66,lirr13,lirr102,False,2025
+lirr66,lirr11,lirr214,True,1350
+lirr66,lirr11,lirr214,False,975
+lirr66,lirr39,lirr102,True,1100
+lirr66,lirr39,lirr102,False,800
+lirr66,lirr33,lirr102,True,1650
+lirr66,lirr33,lirr102,False,1200
+lirr66,lirr31,lirr211,True,425
+lirr66,lirr31,lirr211,False,425
+lirr66,lirr40,lirr102,True,1350
+lirr66,lirr40,lirr102,False,975
+lirr66,lirr38,lirr102,True,1350
+lirr66,lirr38,lirr211,True,600
+lirr66,lirr38,lirr102,False,975
+lirr66,lirr38,lirr211,False,600
+lirr66,lirr36,lirr102,True,1000
+lirr66,lirr36,lirr102,False,725
+lirr66,lirr44,lirr102,True,1350
+lirr66,lirr44,lirr102,False,975
+lirr66,lirr42,lirr214,True,1350
+lirr66,lirr42,lirr214,False,975
+lirr66,lirr48,lirr102,True,2775
+lirr66,lirr48,lirr102,False,2025
+lirr66,lirr51,lirr211,True,425
+lirr66,lirr51,lirr211,False,425
+lirr66,lirr52,lirr102,True,1000
+lirr66,lirr52,lirr102,False,725
+lirr66,lirr59,lirr102,True,1100
+lirr66,lirr59,lirr102,False,800
+lirr66,lirr63,lirr102,True,1000
+lirr66,lirr63,lirr102,False,725
+lirr66,lirr56,lirr214,True,1350
+lirr66,lirr56,lirr214,False,975
+lirr66,lirr64,lirr102,True,1100
+lirr66,lirr64,lirr211,True,425
+lirr66,lirr64,lirr102,False,800
+lirr66,lirr64,lirr211,False,425
+lirr66,lirr68,lirr102,True,1000
+lirr66,lirr68,lirr102,False,725
+lirr66,lirr67,lirr102,True,1100
+lirr66,lirr67,lirr102,False,800
+lirr66,lirr71,lirr102,True,1100
+lirr66,lirr71,lirr102,False,800
+lirr66,lirr76,lirr102,True,1100
+lirr66,lirr76,lirr102,False,800
+lirr66,lirr72,lirr214,True,1475
+lirr66,lirr72,lirr214,False,1075
+lirr66,lirr74,lirr102,True,1650
+lirr66,lirr74,lirr102,False,1200
+lirr66,lirr78,lirr102,True,1350
+lirr66,lirr78,lirr102,False,975
+lirr66,lirr73,lirr102,True,2775
+lirr66,lirr73,lirr102,False,2025
+lirr66,lirr77,lirr102,True,1100
+lirr66,lirr77,lirr102,False,800
+lirr66,lirr83,lirr102,True,2775
+lirr66,lirr83,lirr102,False,2025
+lirr66,lirr84,lirr102,True,1000
+lirr66,lirr84,lirr102,False,725
+lirr66,lirr85,lirr211,True,425
+lirr66,lirr85,lirr211,False,425
+lirr66,lirr92,lirr102,True,1100
+lirr66,lirr92,lirr102,False,800
+lirr66,lirr89,lirr102,True,900
+lirr66,lirr89,lirr102,False,650
+lirr66,lirr91,lirr102,True,1350
+lirr66,lirr91,lirr102,False,975
+lirr66,lirr99,lirr211,True,425
+lirr66,lirr99,lirr211,False,425
+lirr66,lirr100,lirr102,True,1650
+lirr66,lirr100,lirr102,False,1200
+lirr66,lirr111,lirr102,True,1650
+lirr66,lirr111,lirr102,False,1200
+lirr66,lirr124,lirr211,True,425
+lirr66,lirr124,lirr211,False,425
+lirr66,lirr117,lirr102,True,1350
+lirr66,lirr117,lirr211,True,600
+lirr66,lirr117,lirr102,False,975
+lirr66,lirr117,lirr211,False,600
+lirr66,lirr120,lirr214,True,1350
+lirr66,lirr120,lirr214,False,975
+lirr66,lirr123,lirr102,True,1100
+lirr66,lirr123,lirr102,False,800
+lirr66,lirr113,lirr211,True,425
+lirr66,lirr113,lirr211,False,425
+lirr66,lirr125,lirr211,True,425
+lirr66,lirr125,lirr211,False,425
+lirr66,lirr142,lirr211,True,425
+lirr66,lirr142,lirr211,False,425
+lirr66,lirr131,lirr214,True,1475
+lirr66,lirr131,lirr214,False,1075
+lirr66,lirr136,lirr102,True,1100
+lirr66,lirr136,lirr211,True,425
+lirr66,lirr136,lirr102,False,800
+lirr66,lirr136,lirr211,False,425
+lirr66,lirr135,lirr102,True,1100
+lirr66,lirr135,lirr211,True,425
+lirr66,lirr135,lirr102,False,800
+lirr66,lirr135,lirr211,False,425
+lirr66,lirr140,lirr102,True,2125
+lirr66,lirr140,lirr102,False,1550
+lirr66,lirr126,lirr102,True,2775
+lirr66,lirr126,lirr102,False,2025
+lirr66,lirr129,lirr102,True,1650
+lirr66,lirr129,lirr102,False,1200
+lirr66,lirr127,lirr102,True,1000
+lirr66,lirr127,lirr102,False,725
+lirr66,lirr226,lirr102,True,1100
+lirr66,lirr226,lirr211,True,425
+lirr66,lirr226,lirr102,False,800
+lirr66,lirr226,lirr211,False,425
+lirr66,lirr132,lirr102,True,1000
+lirr66,lirr132,lirr102,False,725
+lirr66,lirr141,lirr102,True,2775
+lirr66,lirr141,lirr102,False,2025
+lirr66,lirr130,lirr214,True,1350
+lirr66,lirr130,lirr214,False,975
+lirr66,lirr149,lirr102,True,1000
+lirr66,lirr149,lirr102,False,725
+lirr66,lirr152,lirr102,True,1000
+lirr66,lirr152,lirr102,False,725
+lirr66,lirr153,lirr102,True,1350
+lirr66,lirr153,lirr102,False,975
+lirr66,lirr157,lirr102,True,1650
+lirr66,lirr157,lirr102,False,1200
+lirr66,lirr155,lirr211,True,425
+lirr66,lirr155,lirr211,False,425
+lirr66,lirr154,lirr102,True,1100
+lirr66,lirr154,lirr102,False,800
+lirr66,lirr163,lirr102,True,1650
+lirr66,lirr163,lirr102,False,1200
+lirr66,lirr165,lirr102,True,1350
+lirr66,lirr165,lirr102,False,975
+lirr66,lirr162,lirr214,True,1475
+lirr66,lirr162,lirr214,False,1075
+lirr66,lirr164,lirr102,True,1650
+lirr66,lirr164,lirr102,False,1200
+lirr66,lirr171,lirr214,True,1475
+lirr66,lirr171,lirr214,False,1075
+lirr66,lirr175,lirr102,True,900
+lirr66,lirr175,lirr102,False,650
+lirr66,lirr176,lirr102,True,2775
+lirr66,lirr176,lirr102,False,2025
+lirr66,lirr183,lirr102,True,1100
+lirr66,lirr183,lirr211,True,425
+lirr66,lirr183,lirr102,False,800
+lirr66,lirr183,lirr211,False,425
+lirr66,lirr179,lirr102,True,1650
+lirr66,lirr179,lirr102,False,1200
+lirr66,lirr182,lirr102,True,1100
+lirr66,lirr182,lirr102,False,800
+lirr66,lirr204,lirr102,True,1650
+lirr66,lirr204,lirr102,False,1200
+lirr66,lirr185,lirr102,True,1100
+lirr66,lirr185,lirr102,False,800
+lirr66,lirr187,lirr102,True,1100
+lirr66,lirr187,lirr211,True,425
+lirr66,lirr187,lirr102,False,800
+lirr66,lirr187,lirr211,False,425
+lirr66,lirr202,lirr102,True,1650
+lirr66,lirr202,lirr102,False,1200
+lirr66,lirr191,lirr102,True,2775
+lirr66,lirr191,lirr102,False,2025
+lirr66,lirr190,lirr102,True,2775
+lirr66,lirr190,lirr102,False,2025
+lirr66,lirr198,lirr102,True,2125
+lirr66,lirr198,lirr102,False,1550
+lirr66,lirr193,lirr102,True,1650
+lirr66,lirr193,lirr102,False,1200
+lirr66,lirr195,lirr102,True,1000
+lirr66,lirr195,lirr102,False,725
+lirr66,lirr14,lirr102,True,1650
+lirr66,lirr14,lirr102,False,1200
+lirr66,lirr205,lirr102,True,1100
+lirr66,lirr205,lirr102,False,800
+lirr66,lirr215,lirr102,True,1100
+lirr66,lirr215,lirr211,True,425
+lirr66,lirr215,lirr102,False,800
+lirr66,lirr215,lirr211,False,425
+lirr66,lirr216,lirr211,True,425
+lirr66,lirr216,lirr211,False,425
+lirr66,lirr213,lirr102,True,1100
+lirr66,lirr213,lirr102,False,800
+lirr66,lirr233,lirr102,True,2775
+lirr66,lirr233,lirr102,False,2025
+lirr66,lirr219,lirr211,True,425
+lirr66,lirr219,lirr211,False,425
+lirr66,lirr220,lirr102,True,1350
+lirr66,lirr220,lirr102,False,975
+lirr66,lirr223,lirr102,True,2125
+lirr66,lirr223,lirr102,False,1550
+lirr67,lirr4,lirr102,True,2975
+lirr67,lirr4,lirr132,True,1875
+lirr67,lirr4,lirr102,False,2175
+lirr67,lirr4,lirr132,False,1875
+lirr67,lirr8,lirr102,True,1575
+lirr67,lirr8,lirr102,False,1150
+lirr67,lirr2,lirr214,True,1575
+lirr67,lirr2,lirr214,False,1150
+lirr67,lirr27,lirr102,True,1575
+lirr67,lirr27,lirr132,True,650
+lirr67,lirr27,lirr102,False,1150
+lirr67,lirr27,lirr132,False,650
+lirr67,lirr225,lirr102,True,1225
+lirr67,lirr225,lirr102,False,900
+lirr67,lirr26,lirr102,True,1825
+lirr67,lirr26,lirr132,True,900
+lirr67,lirr26,lirr102,False,1325
+lirr67,lirr26,lirr132,False,900
+lirr67,lirr25,lirr214,True,1575
+lirr67,lirr25,lirr214,False,1150
+lirr67,lirr23,lirr102,True,1100
+lirr67,lirr23,lirr102,False,800
+lirr67,lirr16,lirr102,True,1225
+lirr67,lirr16,lirr102,False,900
+lirr67,lirr21,lirr102,True,2275
+lirr67,lirr21,lirr132,True,1225
+lirr67,lirr21,lirr102,False,1650
+lirr67,lirr21,lirr132,False,1225
+lirr67,lirr20,lirr132,True,450
+lirr67,lirr20,lirr132,False,450
+lirr67,lirr29,lirr132,True,900
+lirr67,lirr29,lirr132,False,900
+lirr67,lirr13,lirr102,True,2975
+lirr67,lirr13,lirr132,True,1875
+lirr67,lirr13,lirr102,False,2175
+lirr67,lirr13,lirr132,False,1875
+lirr67,lirr11,lirr214,True,1575
+lirr67,lirr11,lirr214,False,1150
+lirr67,lirr39,lirr132,True,450
+lirr67,lirr39,lirr132,False,450
+lirr67,lirr32,lirr102,True,1100
+lirr67,lirr32,lirr102,False,800
+lirr67,lirr33,lirr132,True,900
+lirr67,lirr33,lirr132,False,900
+lirr67,lirr31,lirr102,True,1225
+lirr67,lirr31,lirr102,False,900
+lirr67,lirr40,lirr132,True,650
+lirr67,lirr40,lirr132,False,650
+lirr67,lirr38,lirr102,True,1575
+lirr67,lirr38,lirr102,False,1150
+lirr67,lirr36,lirr102,True,1100
+lirr67,lirr36,lirr63,True,425
+lirr67,lirr36,lirr102,False,800
+lirr67,lirr36,lirr63,False,425
+lirr67,lirr44,lirr132,True,650
+lirr67,lirr44,lirr132,False,650
+lirr67,lirr42,lirr214,True,1575
+lirr67,lirr42,lirr214,False,1150
+lirr67,lirr48,lirr102,True,2975
+lirr67,lirr48,lirr132,True,1875
+lirr67,lirr48,lirr102,False,2175
+lirr67,lirr48,lirr132,False,1875
+lirr67,lirr51,lirr102,True,1225
+lirr67,lirr51,lirr102,False,900
+lirr67,lirr65,lirr102,True,1100
+lirr67,lirr65,lirr102,False,800
+lirr67,lirr59,lirr132,True,450
+lirr67,lirr59,lirr132,False,450
+lirr67,lirr63,lirr102,True,1100
+lirr67,lirr63,lirr102,False,800
+lirr67,lirr56,lirr214,True,1575
+lirr67,lirr56,lirr214,False,1150
+lirr67,lirr64,lirr102,True,1225
+lirr67,lirr64,lirr102,False,900
+lirr67,lirr68,lirr102,True,1100
+lirr67,lirr68,lirr63,True,425
+lirr67,lirr68,lirr102,False,800
+lirr67,lirr68,lirr63,False,425
+lirr67,lirr66,lirr102,True,1100
+lirr67,lirr66,lirr102,False,800
+lirr67,lirr72,lirr214,True,1725
+lirr67,lirr72,lirr214,False,1250
+lirr67,lirr74,lirr102,True,1825
+lirr67,lirr74,lirr132,True,900
+lirr67,lirr74,lirr102,False,1325
+lirr67,lirr74,lirr132,False,900
+lirr67,lirr78,lirr132,True,650
+lirr67,lirr78,lirr132,False,650
+lirr67,lirr73,lirr132,True,1875
+lirr67,lirr73,lirr132,False,1875
+lirr67,lirr83,lirr102,True,2975
+lirr67,lirr83,lirr132,True,1875
+lirr67,lirr83,lirr102,False,2175
+lirr67,lirr83,lirr132,False,1875
+lirr67,lirr84,lirr102,True,1100
+lirr67,lirr84,lirr63,True,425
+lirr67,lirr84,lirr102,False,800
+lirr67,lirr84,lirr63,False,425
+lirr67,lirr85,lirr102,True,1100
+lirr67,lirr85,lirr102,False,800
+lirr67,lirr94,lirr102,True,1100
+lirr67,lirr94,lirr102,False,800
+lirr67,lirr92,lirr132,True,450
+lirr67,lirr92,lirr132,False,450
+lirr67,lirr89,lirr102,True,1050
+lirr67,lirr89,lirr102,False,775
+lirr67,lirr91,lirr132,True,650
+lirr67,lirr91,lirr132,False,650
+lirr67,lirr101,lirr102,True,1100
+lirr67,lirr101,lirr102,False,800
+lirr67,lirr99,lirr102,True,1225
+lirr67,lirr99,lirr102,False,900
+lirr67,lirr100,lirr102,True,1825
+lirr67,lirr100,lirr132,True,900
+lirr67,lirr100,lirr102,False,1325
+lirr67,lirr100,lirr132,False,900
+lirr67,lirr111,lirr132,True,900
+lirr67,lirr111,lirr132,False,900
+lirr67,lirr124,lirr102,True,1100
+lirr67,lirr124,lirr102,False,800
+lirr67,lirr122,lirr102,True,1050
+lirr67,lirr122,lirr102,False,775
+lirr67,lirr114,lirr102,True,1100
+lirr67,lirr114,lirr102,False,800
+lirr67,lirr117,lirr102,True,1575
+lirr67,lirr117,lirr102,False,1150
+lirr67,lirr120,lirr214,True,1575
+lirr67,lirr120,lirr214,False,1150
+lirr67,lirr119,lirr102,True,1050
+lirr67,lirr119,lirr102,False,775
+lirr67,lirr113,lirr102,True,1225
+lirr67,lirr113,lirr102,False,900
+lirr67,lirr125,lirr102,True,1100
+lirr67,lirr125,lirr102,False,800
+lirr67,lirr142,lirr102,True,1100
+lirr67,lirr142,lirr102,False,800
+lirr67,lirr131,lirr214,True,1725
+lirr67,lirr131,lirr214,False,1250
+lirr67,lirr136,lirr102,True,1225
+lirr67,lirr136,lirr102,False,900
+lirr67,lirr135,lirr102,True,1225
+lirr67,lirr135,lirr102,False,900
+lirr67,lirr140,lirr102,True,2275
+lirr67,lirr140,lirr132,True,1225
+lirr67,lirr140,lirr102,False,1650
+lirr67,lirr140,lirr132,False,1225
+lirr67,lirr126,lirr132,True,1875
+lirr67,lirr126,lirr132,False,1875
+lirr67,lirr129,lirr132,True,900
+lirr67,lirr129,lirr132,False,900
+lirr67,lirr226,lirr102,True,1225
+lirr67,lirr226,lirr102,False,900
+lirr67,lirr141,lirr102,True,2975
+lirr67,lirr141,lirr132,True,1875
+lirr67,lirr141,lirr102,False,2175
+lirr67,lirr141,lirr132,False,1875
+lirr67,lirr130,lirr214,True,1575
+lirr67,lirr130,lirr214,False,1150
+lirr67,lirr149,lirr102,True,1100
+lirr67,lirr149,lirr63,True,425
+lirr67,lirr149,lirr102,False,800
+lirr67,lirr149,lirr63,False,425
+lirr67,lirr153,lirr132,True,650
+lirr67,lirr153,lirr132,False,650
+lirr67,lirr157,lirr102,True,1825
+lirr67,lirr157,lirr132,True,900
+lirr67,lirr157,lirr102,False,1325
+lirr67,lirr157,lirr132,False,900
+lirr67,lirr155,lirr102,True,1225
+lirr67,lirr155,lirr102,False,900
+lirr67,lirr163,lirr102,True,1825
+lirr67,lirr163,lirr132,True,900
+lirr67,lirr163,lirr102,False,1325
+lirr67,lirr163,lirr132,False,900
+lirr67,lirr165,lirr132,True,650
+lirr67,lirr165,lirr132,False,650
+lirr67,lirr162,lirr214,True,1725
+lirr67,lirr162,lirr214,False,1250
+lirr67,lirr164,lirr132,True,900
+lirr67,lirr164,lirr132,False,900
+lirr67,lirr171,lirr214,True,1725
+lirr67,lirr171,lirr214,False,1250
+lirr67,lirr175,lirr102,True,1050
+lirr67,lirr175,lirr102,False,775
+lirr67,lirr176,lirr132,True,1875
+lirr67,lirr176,lirr132,False,1875
+lirr67,lirr183,lirr102,True,1225
+lirr67,lirr183,lirr102,False,900
+lirr67,lirr179,lirr132,True,900
+lirr67,lirr179,lirr132,False,900
+lirr67,lirr180,lirr102,True,1050
+lirr67,lirr180,lirr102,False,775
+lirr67,lirr204,lirr102,True,1825
+lirr67,lirr204,lirr132,True,900
+lirr67,lirr204,lirr102,False,1325
+lirr67,lirr204,lirr132,False,900
+lirr67,lirr187,lirr102,True,1225
+lirr67,lirr187,lirr102,False,900
+lirr67,lirr202,lirr132,True,900
+lirr67,lirr202,lirr132,False,900
+lirr67,lirr191,lirr102,True,2975
+lirr67,lirr191,lirr132,True,1875
+lirr67,lirr191,lirr102,False,2175
+lirr67,lirr191,lirr132,False,1875
+lirr67,lirr190,lirr132,True,1875
+lirr67,lirr190,lirr132,False,1875
+lirr67,lirr198,lirr102,True,2275
+lirr67,lirr198,lirr132,True,1225
+lirr67,lirr198,lirr102,False,1650
+lirr67,lirr198,lirr132,False,1225
+lirr67,lirr184,lirr102,True,1050
+lirr67,lirr184,lirr102,False,775
+lirr67,lirr193,lirr132,True,900
+lirr67,lirr193,lirr132,False,900
+lirr67,lirr195,lirr102,True,1100
+lirr67,lirr195,lirr63,True,425
+lirr67,lirr195,lirr102,False,800
+lirr67,lirr195,lirr63,False,425
+lirr67,lirr14,lirr132,True,900
+lirr67,lirr14,lirr132,False,900
+lirr67,lirr205,lirr132,True,450
+lirr67,lirr205,lirr132,False,450
+lirr67,lirr211,lirr102,True,1100
+lirr67,lirr211,lirr102,False,800
+lirr67,lirr215,lirr102,True,1225
+lirr67,lirr215,lirr102,False,900
+lirr67,lirr216,lirr102,True,1100
+lirr67,lirr216,lirr102,False,800
+lirr67,lirr213,lirr132,True,450
+lirr67,lirr213,lirr132,False,450
+lirr67,lirr233,lirr102,True,2975
+lirr67,lirr233,lirr132,True,1875
+lirr67,lirr233,lirr102,False,2175
+lirr67,lirr233,lirr132,False,1875
+lirr67,lirr219,lirr102,True,1100
+lirr67,lirr219,lirr102,False,800
+lirr67,lirr217,lirr102,True,1100
+lirr67,lirr217,lirr102,False,800
+lirr67,lirr220,lirr132,True,650
+lirr67,lirr220,lirr132,False,650
+lirr67,lirr223,lirr132,True,1225
+lirr67,lirr223,lirr132,False,1225
+lirr71,lirr4,lirr102,True,2975
+lirr71,lirr4,lirr132,True,1875
+lirr71,lirr4,lirr102,False,2175
+lirr71,lirr4,lirr132,False,1875
+lirr71,lirr8,lirr102,True,1575
+lirr71,lirr8,lirr102,False,1150
+lirr71,lirr2,lirr214,True,1575
+lirr71,lirr2,lirr214,False,1150
+lirr71,lirr27,lirr102,True,1575
+lirr71,lirr27,lirr132,True,650
+lirr71,lirr27,lirr102,False,1150
+lirr71,lirr27,lirr132,False,650
+lirr71,lirr225,lirr102,True,1225
+lirr71,lirr225,lirr102,False,900
+lirr71,lirr26,lirr102,True,1825
+lirr71,lirr26,lirr132,True,900
+lirr71,lirr26,lirr102,False,1325
+lirr71,lirr26,lirr132,False,900
+lirr71,lirr25,lirr214,True,1575
+lirr71,lirr25,lirr214,False,1150
+lirr71,lirr23,lirr102,True,1100
+lirr71,lirr23,lirr102,False,800
+lirr71,lirr16,lirr102,True,1225
+lirr71,lirr16,lirr102,False,900
+lirr71,lirr21,lirr102,True,2275
+lirr71,lirr21,lirr132,True,1225
+lirr71,lirr21,lirr102,False,1650
+lirr71,lirr21,lirr132,False,1225
+lirr71,lirr20,lirr132,True,450
+lirr71,lirr20,lirr132,False,450
+lirr71,lirr29,lirr132,True,900
+lirr71,lirr29,lirr132,False,900
+lirr71,lirr13,lirr102,True,2975
+lirr71,lirr13,lirr132,True,1875
+lirr71,lirr13,lirr102,False,2175
+lirr71,lirr13,lirr132,False,1875
+lirr71,lirr11,lirr214,True,1575
+lirr71,lirr11,lirr214,False,1150
+lirr71,lirr39,lirr132,True,450
+lirr71,lirr39,lirr132,False,450
+lirr71,lirr32,lirr102,True,1100
+lirr71,lirr32,lirr102,False,800
+lirr71,lirr33,lirr132,True,900
+lirr71,lirr33,lirr132,False,900
+lirr71,lirr31,lirr102,True,1225
+lirr71,lirr31,lirr102,False,900
+lirr71,lirr40,lirr132,True,650
+lirr71,lirr40,lirr132,False,650
+lirr71,lirr38,lirr102,True,1575
+lirr71,lirr38,lirr102,False,1150
+lirr71,lirr36,lirr102,True,1100
+lirr71,lirr36,lirr63,True,425
+lirr71,lirr36,lirr102,False,800
+lirr71,lirr36,lirr63,False,425
+lirr71,lirr44,lirr132,True,650
+lirr71,lirr44,lirr132,False,650
+lirr71,lirr42,lirr214,True,1575
+lirr71,lirr42,lirr214,False,1150
+lirr71,lirr48,lirr102,True,2975
+lirr71,lirr48,lirr132,True,1875
+lirr71,lirr48,lirr102,False,2175
+lirr71,lirr48,lirr132,False,1875
+lirr71,lirr51,lirr102,True,1225
+lirr71,lirr51,lirr102,False,900
+lirr71,lirr65,lirr102,True,1100
+lirr71,lirr65,lirr102,False,800
+lirr71,lirr59,lirr132,True,450
+lirr71,lirr59,lirr132,False,450
+lirr71,lirr63,lirr102,True,1100
+lirr71,lirr63,lirr102,False,800
+lirr71,lirr56,lirr214,True,1575
+lirr71,lirr56,lirr214,False,1150
+lirr71,lirr64,lirr102,True,1225
+lirr71,lirr64,lirr102,False,900
+lirr71,lirr68,lirr102,True,1100
+lirr71,lirr68,lirr63,True,425
+lirr71,lirr68,lirr102,False,800
+lirr71,lirr68,lirr63,False,425
+lirr71,lirr66,lirr102,True,1100
+lirr71,lirr66,lirr102,False,800
+lirr71,lirr72,lirr214,True,1725
+lirr71,lirr72,lirr214,False,1250
+lirr71,lirr74,lirr102,True,1825
+lirr71,lirr74,lirr132,True,900
+lirr71,lirr74,lirr102,False,1325
+lirr71,lirr74,lirr132,False,900
+lirr71,lirr78,lirr132,True,650
+lirr71,lirr78,lirr132,False,650
+lirr71,lirr73,lirr132,True,1875
+lirr71,lirr73,lirr132,False,1875
+lirr71,lirr83,lirr102,True,2975
+lirr71,lirr83,lirr132,True,1875
+lirr71,lirr83,lirr102,False,2175
+lirr71,lirr83,lirr132,False,1875
+lirr71,lirr84,lirr102,True,1100
+lirr71,lirr84,lirr63,True,425
+lirr71,lirr84,lirr102,False,800
+lirr71,lirr84,lirr63,False,425
+lirr71,lirr85,lirr102,True,1100
+lirr71,lirr85,lirr102,False,800
+lirr71,lirr94,lirr102,True,1100
+lirr71,lirr94,lirr102,False,800
+lirr71,lirr92,lirr132,True,450
+lirr71,lirr92,lirr132,False,450
+lirr71,lirr89,lirr102,True,1050
+lirr71,lirr89,lirr102,False,775
+lirr71,lirr91,lirr132,True,650
+lirr71,lirr91,lirr132,False,650
+lirr71,lirr101,lirr102,True,1100
+lirr71,lirr101,lirr102,False,800
+lirr71,lirr99,lirr102,True,1225
+lirr71,lirr99,lirr102,False,900
+lirr71,lirr100,lirr102,True,1825
+lirr71,lirr100,lirr132,True,900
+lirr71,lirr100,lirr102,False,1325
+lirr71,lirr100,lirr132,False,900
+lirr71,lirr111,lirr132,True,900
+lirr71,lirr111,lirr132,False,900
+lirr71,lirr124,lirr102,True,1100
+lirr71,lirr124,lirr102,False,800
+lirr71,lirr122,lirr102,True,1050
+lirr71,lirr122,lirr102,False,775
+lirr71,lirr114,lirr102,True,1100
+lirr71,lirr114,lirr102,False,800
+lirr71,lirr117,lirr102,True,1575
+lirr71,lirr117,lirr102,False,1150
+lirr71,lirr120,lirr214,True,1575
+lirr71,lirr120,lirr214,False,1150
+lirr71,lirr119,lirr102,True,1050
+lirr71,lirr119,lirr102,False,775
+lirr71,lirr113,lirr102,True,1225
+lirr71,lirr113,lirr102,False,900
+lirr71,lirr125,lirr102,True,1100
+lirr71,lirr125,lirr102,False,800
+lirr71,lirr142,lirr102,True,1100
+lirr71,lirr142,lirr102,False,800
+lirr71,lirr131,lirr214,True,1725
+lirr71,lirr131,lirr214,False,1250
+lirr71,lirr136,lirr102,True,1225
+lirr71,lirr136,lirr102,False,900
+lirr71,lirr135,lirr102,True,1225
+lirr71,lirr135,lirr102,False,900
+lirr71,lirr140,lirr102,True,2275
+lirr71,lirr140,lirr132,True,1225
+lirr71,lirr140,lirr102,False,1650
+lirr71,lirr140,lirr132,False,1225
+lirr71,lirr126,lirr132,True,1875
+lirr71,lirr126,lirr132,False,1875
+lirr71,lirr129,lirr132,True,900
+lirr71,lirr129,lirr132,False,900
+lirr71,lirr226,lirr102,True,1225
+lirr71,lirr226,lirr102,False,900
+lirr71,lirr141,lirr102,True,2975
+lirr71,lirr141,lirr132,True,1875
+lirr71,lirr141,lirr102,False,2175
+lirr71,lirr141,lirr132,False,1875
+lirr71,lirr130,lirr214,True,1575
+lirr71,lirr130,lirr214,False,1150
+lirr71,lirr149,lirr102,True,1100
+lirr71,lirr149,lirr63,True,425
+lirr71,lirr149,lirr102,False,800
+lirr71,lirr149,lirr63,False,425
+lirr71,lirr153,lirr132,True,650
+lirr71,lirr153,lirr132,False,650
+lirr71,lirr157,lirr102,True,1825
+lirr71,lirr157,lirr132,True,900
+lirr71,lirr157,lirr102,False,1325
+lirr71,lirr157,lirr132,False,900
+lirr71,lirr155,lirr102,True,1225
+lirr71,lirr155,lirr102,False,900
+lirr71,lirr163,lirr102,True,1825
+lirr71,lirr163,lirr132,True,900
+lirr71,lirr163,lirr102,False,1325
+lirr71,lirr163,lirr132,False,900
+lirr71,lirr165,lirr132,True,650
+lirr71,lirr165,lirr132,False,650
+lirr71,lirr162,lirr214,True,1725
+lirr71,lirr162,lirr214,False,1250
+lirr71,lirr164,lirr132,True,900
+lirr71,lirr164,lirr132,False,900
+lirr71,lirr171,lirr214,True,1725
+lirr71,lirr171,lirr214,False,1250
+lirr71,lirr175,lirr102,True,1050
+lirr71,lirr175,lirr102,False,775
+lirr71,lirr176,lirr132,True,1875
+lirr71,lirr176,lirr132,False,1875
+lirr71,lirr183,lirr102,True,1225
+lirr71,lirr183,lirr102,False,900
+lirr71,lirr179,lirr132,True,900
+lirr71,lirr179,lirr132,False,900
+lirr71,lirr180,lirr102,True,1050
+lirr71,lirr180,lirr102,False,775
+lirr71,lirr204,lirr102,True,1825
+lirr71,lirr204,lirr132,True,900
+lirr71,lirr204,lirr102,False,1325
+lirr71,lirr204,lirr132,False,900
+lirr71,lirr187,lirr102,True,1225
+lirr71,lirr187,lirr102,False,900
+lirr71,lirr202,lirr132,True,900
+lirr71,lirr202,lirr132,False,900
+lirr71,lirr191,lirr102,True,2975
+lirr71,lirr191,lirr132,True,1875
+lirr71,lirr191,lirr102,False,2175
+lirr71,lirr191,lirr132,False,1875
+lirr71,lirr190,lirr132,True,1875
+lirr71,lirr190,lirr132,False,1875
+lirr71,lirr198,lirr102,True,2275
+lirr71,lirr198,lirr132,True,1225
+lirr71,lirr198,lirr102,False,1650
+lirr71,lirr198,lirr132,False,1225
+lirr71,lirr184,lirr102,True,1050
+lirr71,lirr184,lirr102,False,775
+lirr71,lirr193,lirr132,True,900
+lirr71,lirr193,lirr132,False,900
+lirr71,lirr195,lirr102,True,1100
+lirr71,lirr195,lirr63,True,425
+lirr71,lirr195,lirr102,False,800
+lirr71,lirr195,lirr63,False,425
+lirr71,lirr14,lirr132,True,900
+lirr71,lirr14,lirr132,False,900
+lirr71,lirr205,lirr132,True,450
+lirr71,lirr205,lirr132,False,450
+lirr71,lirr211,lirr102,True,1100
+lirr71,lirr211,lirr102,False,800
+lirr71,lirr215,lirr102,True,1225
+lirr71,lirr215,lirr102,False,900
+lirr71,lirr216,lirr102,True,1100
+lirr71,lirr216,lirr102,False,800
+lirr71,lirr213,lirr132,True,450
+lirr71,lirr213,lirr132,False,450
+lirr71,lirr233,lirr102,True,2975
+lirr71,lirr233,lirr132,True,1875
+lirr71,lirr233,lirr102,False,2175
+lirr71,lirr233,lirr132,False,1875
+lirr71,lirr219,lirr102,True,1100
+lirr71,lirr219,lirr102,False,800
+lirr71,lirr217,lirr102,True,1100
+lirr71,lirr217,lirr102,False,800
+lirr71,lirr220,lirr132,True,650
+lirr71,lirr220,lirr132,False,650
+lirr71,lirr223,lirr132,True,1225
+lirr71,lirr223,lirr132,False,1225
+lirr76,lirr4,lirr102,True,2975
+lirr76,lirr4,lirr132,True,1875
+lirr76,lirr4,lirr102,False,2175
+lirr76,lirr4,lirr132,False,1875
+lirr76,lirr8,lirr102,True,1575
+lirr76,lirr8,lirr102,False,1150
+lirr76,lirr2,lirr214,True,1575
+lirr76,lirr2,lirr214,False,1150
+lirr76,lirr27,lirr102,True,1575
+lirr76,lirr27,lirr132,True,650
+lirr76,lirr27,lirr102,False,1150
+lirr76,lirr27,lirr132,False,650
+lirr76,lirr225,lirr102,True,1225
+lirr76,lirr225,lirr102,False,900
+lirr76,lirr26,lirr102,True,1825
+lirr76,lirr26,lirr132,True,900
+lirr76,lirr26,lirr102,False,1325
+lirr76,lirr26,lirr132,False,900
+lirr76,lirr25,lirr214,True,1575
+lirr76,lirr25,lirr214,False,1150
+lirr76,lirr23,lirr102,True,1100
+lirr76,lirr23,lirr102,False,800
+lirr76,lirr16,lirr102,True,1225
+lirr76,lirr16,lirr102,False,900
+lirr76,lirr21,lirr102,True,2275
+lirr76,lirr21,lirr132,True,1225
+lirr76,lirr21,lirr102,False,1650
+lirr76,lirr21,lirr132,False,1225
+lirr76,lirr20,lirr132,True,450
+lirr76,lirr20,lirr132,False,450
+lirr76,lirr29,lirr132,True,900
+lirr76,lirr29,lirr132,False,900
+lirr76,lirr13,lirr102,True,2975
+lirr76,lirr13,lirr132,True,1875
+lirr76,lirr13,lirr102,False,2175
+lirr76,lirr13,lirr132,False,1875
+lirr76,lirr11,lirr214,True,1575
+lirr76,lirr11,lirr214,False,1150
+lirr76,lirr39,lirr132,True,450
+lirr76,lirr39,lirr132,False,450
+lirr76,lirr32,lirr102,True,1100
+lirr76,lirr32,lirr102,False,800
+lirr76,lirr33,lirr132,True,900
+lirr76,lirr33,lirr132,False,900
+lirr76,lirr31,lirr102,True,1225
+lirr76,lirr31,lirr102,False,900
+lirr76,lirr40,lirr132,True,650
+lirr76,lirr40,lirr132,False,650
+lirr76,lirr38,lirr102,True,1575
+lirr76,lirr38,lirr102,False,1150
+lirr76,lirr36,lirr102,True,1100
+lirr76,lirr36,lirr63,True,425
+lirr76,lirr36,lirr102,False,800
+lirr76,lirr36,lirr63,False,425
+lirr76,lirr44,lirr132,True,650
+lirr76,lirr44,lirr132,False,650
+lirr76,lirr42,lirr214,True,1575
+lirr76,lirr42,lirr214,False,1150
+lirr76,lirr48,lirr102,True,2975
+lirr76,lirr48,lirr132,True,1875
+lirr76,lirr48,lirr102,False,2175
+lirr76,lirr48,lirr132,False,1875
+lirr76,lirr51,lirr102,True,1225
+lirr76,lirr51,lirr102,False,900
+lirr76,lirr65,lirr102,True,1100
+lirr76,lirr65,lirr102,False,800
+lirr76,lirr59,lirr132,True,450
+lirr76,lirr59,lirr132,False,450
+lirr76,lirr63,lirr102,True,1100
+lirr76,lirr63,lirr102,False,800
+lirr76,lirr56,lirr214,True,1575
+lirr76,lirr56,lirr214,False,1150
+lirr76,lirr64,lirr102,True,1225
+lirr76,lirr64,lirr102,False,900
+lirr76,lirr68,lirr102,True,1100
+lirr76,lirr68,lirr63,True,425
+lirr76,lirr68,lirr102,False,800
+lirr76,lirr68,lirr63,False,425
+lirr76,lirr66,lirr102,True,1100
+lirr76,lirr66,lirr102,False,800
+lirr76,lirr72,lirr214,True,1725
+lirr76,lirr72,lirr214,False,1250
+lirr76,lirr74,lirr102,True,1825
+lirr76,lirr74,lirr132,True,900
+lirr76,lirr74,lirr102,False,1325
+lirr76,lirr74,lirr132,False,900
+lirr76,lirr78,lirr132,True,650
+lirr76,lirr78,lirr132,False,650
+lirr76,lirr73,lirr132,True,1875
+lirr76,lirr73,lirr132,False,1875
+lirr76,lirr83,lirr102,True,2975
+lirr76,lirr83,lirr132,True,1875
+lirr76,lirr83,lirr102,False,2175
+lirr76,lirr83,lirr132,False,1875
+lirr76,lirr84,lirr102,True,1100
+lirr76,lirr84,lirr63,True,425
+lirr76,lirr84,lirr102,False,800
+lirr76,lirr84,lirr63,False,425
+lirr76,lirr85,lirr102,True,1100
+lirr76,lirr85,lirr102,False,800
+lirr76,lirr94,lirr102,True,1100
+lirr76,lirr94,lirr102,False,800
+lirr76,lirr92,lirr132,True,450
+lirr76,lirr92,lirr132,False,450
+lirr76,lirr89,lirr102,True,1050
+lirr76,lirr89,lirr102,False,775
+lirr76,lirr91,lirr132,True,650
+lirr76,lirr91,lirr132,False,650
+lirr76,lirr101,lirr102,True,1100
+lirr76,lirr101,lirr102,False,800
+lirr76,lirr99,lirr102,True,1225
+lirr76,lirr99,lirr102,False,900
+lirr76,lirr100,lirr102,True,1825
+lirr76,lirr100,lirr132,True,900
+lirr76,lirr100,lirr102,False,1325
+lirr76,lirr100,lirr132,False,900
+lirr76,lirr111,lirr132,True,900
+lirr76,lirr111,lirr132,False,900
+lirr76,lirr124,lirr102,True,1100
+lirr76,lirr124,lirr102,False,800
+lirr76,lirr122,lirr102,True,1050
+lirr76,lirr122,lirr102,False,775
+lirr76,lirr114,lirr102,True,1100
+lirr76,lirr114,lirr102,False,800
+lirr76,lirr117,lirr102,True,1575
+lirr76,lirr117,lirr102,False,1150
+lirr76,lirr120,lirr214,True,1575
+lirr76,lirr120,lirr214,False,1150
+lirr76,lirr119,lirr102,True,1050
+lirr76,lirr119,lirr102,False,775
+lirr76,lirr113,lirr102,True,1225
+lirr76,lirr113,lirr102,False,900
+lirr76,lirr125,lirr102,True,1100
+lirr76,lirr125,lirr102,False,800
+lirr76,lirr142,lirr102,True,1100
+lirr76,lirr142,lirr102,False,800
+lirr76,lirr131,lirr214,True,1725
+lirr76,lirr131,lirr214,False,1250
+lirr76,lirr136,lirr102,True,1225
+lirr76,lirr136,lirr102,False,900
+lirr76,lirr135,lirr102,True,1225
+lirr76,lirr135,lirr102,False,900
+lirr76,lirr140,lirr102,True,2275
+lirr76,lirr140,lirr132,True,1225
+lirr76,lirr140,lirr102,False,1650
+lirr76,lirr140,lirr132,False,1225
+lirr76,lirr126,lirr132,True,1875
+lirr76,lirr126,lirr132,False,1875
+lirr76,lirr129,lirr132,True,900
+lirr76,lirr129,lirr132,False,900
+lirr76,lirr226,lirr102,True,1225
+lirr76,lirr226,lirr102,False,900
+lirr76,lirr141,lirr102,True,2975
+lirr76,lirr141,lirr132,True,1875
+lirr76,lirr141,lirr102,False,2175
+lirr76,lirr141,lirr132,False,1875
+lirr76,lirr130,lirr214,True,1575
+lirr76,lirr130,lirr214,False,1150
+lirr76,lirr149,lirr102,True,1100
+lirr76,lirr149,lirr63,True,425
+lirr76,lirr149,lirr102,False,800
+lirr76,lirr149,lirr63,False,425
+lirr76,lirr153,lirr132,True,650
+lirr76,lirr153,lirr132,False,650
+lirr76,lirr157,lirr102,True,1825
+lirr76,lirr157,lirr132,True,900
+lirr76,lirr157,lirr102,False,1325
+lirr76,lirr157,lirr132,False,900
+lirr76,lirr155,lirr102,True,1225
+lirr76,lirr155,lirr102,False,900
+lirr76,lirr163,lirr102,True,1825
+lirr76,lirr163,lirr132,True,900
+lirr76,lirr163,lirr102,False,1325
+lirr76,lirr163,lirr132,False,900
+lirr76,lirr165,lirr132,True,650
+lirr76,lirr165,lirr132,False,650
+lirr76,lirr162,lirr214,True,1725
+lirr76,lirr162,lirr214,False,1250
+lirr76,lirr164,lirr132,True,900
+lirr76,lirr164,lirr132,False,900
+lirr76,lirr171,lirr214,True,1725
+lirr76,lirr171,lirr214,False,1250
+lirr76,lirr175,lirr102,True,1050
+lirr76,lirr175,lirr102,False,775
+lirr76,lirr176,lirr132,True,1875
+lirr76,lirr176,lirr132,False,1875
+lirr76,lirr183,lirr102,True,1225
+lirr76,lirr183,lirr102,False,900
+lirr76,lirr179,lirr132,True,900
+lirr76,lirr179,lirr132,False,900
+lirr76,lirr180,lirr102,True,1050
+lirr76,lirr180,lirr102,False,775
+lirr76,lirr204,lirr102,True,1825
+lirr76,lirr204,lirr132,True,900
+lirr76,lirr204,lirr102,False,1325
+lirr76,lirr204,lirr132,False,900
+lirr76,lirr187,lirr102,True,1225
+lirr76,lirr187,lirr102,False,900
+lirr76,lirr202,lirr132,True,900
+lirr76,lirr202,lirr132,False,900
+lirr76,lirr191,lirr102,True,2975
+lirr76,lirr191,lirr132,True,1875
+lirr76,lirr191,lirr102,False,2175
+lirr76,lirr191,lirr132,False,1875
+lirr76,lirr190,lirr132,True,1875
+lirr76,lirr190,lirr132,False,1875
+lirr76,lirr198,lirr102,True,2275
+lirr76,lirr198,lirr132,True,1225
+lirr76,lirr198,lirr102,False,1650
+lirr76,lirr198,lirr132,False,1225
+lirr76,lirr184,lirr102,True,1050
+lirr76,lirr184,lirr102,False,775
+lirr76,lirr193,lirr132,True,900
+lirr76,lirr193,lirr132,False,900
+lirr76,lirr195,lirr102,True,1100
+lirr76,lirr195,lirr63,True,425
+lirr76,lirr195,lirr102,False,800
+lirr76,lirr195,lirr63,False,425
+lirr76,lirr14,lirr132,True,900
+lirr76,lirr14,lirr132,False,900
+lirr76,lirr205,lirr132,True,450
+lirr76,lirr205,lirr132,False,450
+lirr76,lirr211,lirr102,True,1100
+lirr76,lirr211,lirr102,False,800
+lirr76,lirr215,lirr102,True,1225
+lirr76,lirr215,lirr102,False,900
+lirr76,lirr216,lirr102,True,1100
+lirr76,lirr216,lirr102,False,800
+lirr76,lirr213,lirr132,True,450
+lirr76,lirr213,lirr132,False,450
+lirr76,lirr233,lirr102,True,2975
+lirr76,lirr233,lirr132,True,1875
+lirr76,lirr233,lirr102,False,2175
+lirr76,lirr233,lirr132,False,1875
+lirr76,lirr219,lirr102,True,1100
+lirr76,lirr219,lirr102,False,800
+lirr76,lirr217,lirr102,True,1100
+lirr76,lirr217,lirr102,False,800
+lirr76,lirr220,lirr132,True,650
+lirr76,lirr220,lirr132,False,650
+lirr76,lirr223,lirr132,True,1225
+lirr76,lirr223,lirr132,False,1225
+lirr72,lirr1,lirr214,True,1725
+lirr72,lirr1,lirr214,False,1250
+lirr72,lirr4,lirr214,True,3375
+lirr72,lirr4,lirr214,False,2450
+lirr72,lirr8,lirr214,True,1975
+lirr72,lirr8,lirr214,False,1425
+lirr72,lirr27,lirr214,True,1975
+lirr72,lirr27,lirr214,False,1425
+lirr72,lirr225,lirr214,True,1725
+lirr72,lirr225,lirr214,False,1250
+lirr72,lirr26,lirr214,True,2225
+lirr72,lirr26,lirr214,False,1625
+lirr72,lirr23,lirr214,True,1475
+lirr72,lirr23,lirr214,False,1075
+lirr72,lirr16,lirr214,True,1725
+lirr72,lirr16,lirr214,False,1250
+lirr72,lirr21,lirr214,True,2700
+lirr72,lirr21,lirr214,False,1975
+lirr72,lirr20,lirr214,True,1725
+lirr72,lirr20,lirr214,False,1250
+lirr72,lirr29,lirr214,True,2225
+lirr72,lirr29,lirr214,False,1625
+lirr72,lirr13,lirr214,True,3375
+lirr72,lirr13,lirr214,False,2450
+lirr72,lirr39,lirr214,True,1725
+lirr72,lirr39,lirr214,False,1250
+lirr72,lirr32,lirr214,True,1475
+lirr72,lirr32,lirr214,False,1075
+lirr72,lirr33,lirr214,True,2225
+lirr72,lirr33,lirr214,False,1625
+lirr72,lirr31,lirr214,True,1725
+lirr72,lirr31,lirr214,False,1250
+lirr72,lirr40,lirr214,True,1975
+lirr72,lirr40,lirr214,False,1425
+lirr72,lirr38,lirr214,True,1975
+lirr72,lirr38,lirr214,False,1425
+lirr72,lirr36,lirr214,True,1475
+lirr72,lirr36,lirr214,False,1075
+lirr72,lirr44,lirr214,True,1975
+lirr72,lirr44,lirr214,False,1425
+lirr72,lirr48,lirr214,True,3375
+lirr72,lirr48,lirr214,False,2450
+lirr72,lirr51,lirr214,True,1725
+lirr72,lirr51,lirr214,False,1250
+lirr72,lirr52,lirr214,True,1475
+lirr72,lirr52,lirr214,False,1075
+lirr72,lirr65,lirr214,True,1475
+lirr72,lirr65,lirr214,False,1075
+lirr72,lirr59,lirr214,True,1725
+lirr72,lirr59,lirr214,False,1250
+lirr72,lirr63,lirr214,True,1475
+lirr72,lirr63,lirr214,False,1075
+lirr72,lirr55,lirr214,True,1300
+lirr72,lirr55,lirr214,False,950
+lirr72,lirr64,lirr214,True,1725
+lirr72,lirr64,lirr214,False,1250
+lirr72,lirr68,lirr214,True,1475
+lirr72,lirr68,lirr214,False,1075
+lirr72,lirr66,lirr214,True,1475
+lirr72,lirr66,lirr214,False,1075
+lirr72,lirr67,lirr214,True,1725
+lirr72,lirr67,lirr214,False,1250
+lirr72,lirr71,lirr214,True,1725
+lirr72,lirr71,lirr214,False,1250
+lirr72,lirr76,lirr214,True,1725
+lirr72,lirr76,lirr214,False,1250
+lirr72,lirr74,lirr214,True,2225
+lirr72,lirr74,lirr214,False,1625
+lirr72,lirr78,lirr214,True,1975
+lirr72,lirr78,lirr214,False,1425
+lirr72,lirr73,lirr214,True,3375
+lirr72,lirr73,lirr214,False,2450
+lirr72,lirr77,lirr214,True,1725
+lirr72,lirr77,lirr214,False,1250
+lirr72,lirr83,lirr214,True,3375
+lirr72,lirr83,lirr214,False,2450
+lirr72,lirr84,lirr214,True,1475
+lirr72,lirr84,lirr214,False,1075
+lirr72,lirr85,lirr214,True,1475
+lirr72,lirr85,lirr214,False,1075
+lirr72,lirr94,lirr214,True,1475
+lirr72,lirr94,lirr214,False,1075
+lirr72,lirr92,lirr214,True,1725
+lirr72,lirr92,lirr214,False,1250
+lirr72,lirr89,lirr214,True,1350
+lirr72,lirr89,lirr214,False,975
+lirr72,lirr91,lirr214,True,1975
+lirr72,lirr91,lirr214,False,1425
+lirr72,lirr101,lirr214,True,1475
+lirr72,lirr101,lirr214,False,1075
+lirr72,lirr99,lirr214,True,1725
+lirr72,lirr99,lirr214,False,1250
+lirr72,lirr100,lirr214,True,2225
+lirr72,lirr100,lirr214,False,1625
+lirr72,lirr102,lirr214,True,1350
+lirr72,lirr102,lirr214,False,975
+lirr72,lirr107,lirr214,True,1300
+lirr72,lirr107,lirr214,False,950
+lirr72,lirr111,lirr214,True,2225
+lirr72,lirr111,lirr214,False,1625
+lirr72,lirr124,lirr214,True,1475
+lirr72,lirr124,lirr214,False,1075
+lirr72,lirr122,lirr214,True,1350
+lirr72,lirr122,lirr214,False,975
+lirr72,lirr114,lirr214,True,1475
+lirr72,lirr114,lirr214,False,1075
+lirr72,lirr117,lirr214,True,1975
+lirr72,lirr117,lirr214,False,1425
+lirr72,lirr119,lirr214,True,1350
+lirr72,lirr119,lirr214,False,975
+lirr72,lirr123,lirr214,True,1725
+lirr72,lirr123,lirr214,False,1250
+lirr72,lirr113,lirr214,True,1725
+lirr72,lirr113,lirr214,False,1250
+lirr72,lirr125,lirr214,True,1475
+lirr72,lirr125,lirr214,False,1075
+lirr72,lirr142,lirr214,True,1475
+lirr72,lirr142,lirr214,False,1075
+lirr72,lirr136,lirr214,True,1725
+lirr72,lirr136,lirr214,False,1250
+lirr72,lirr135,lirr214,True,1725
+lirr72,lirr135,lirr214,False,1250
+lirr72,lirr140,lirr214,True,2700
+lirr72,lirr140,lirr214,False,1975
+lirr72,lirr126,lirr214,True,3375
+lirr72,lirr126,lirr214,False,2450
+lirr72,lirr129,lirr214,True,2225
+lirr72,lirr129,lirr214,False,1625
+lirr72,lirr127,lirr214,True,1475
+lirr72,lirr127,lirr214,False,1075
+lirr72,lirr226,lirr214,True,1725
+lirr72,lirr226,lirr214,False,1250
+lirr72,lirr132,lirr214,True,1475
+lirr72,lirr132,lirr214,False,1075
+lirr72,lirr141,lirr214,True,3375
+lirr72,lirr141,lirr214,False,2450
+lirr72,lirr149,lirr214,True,1475
+lirr72,lirr149,lirr214,False,1075
+lirr72,lirr152,lirr214,True,1475
+lirr72,lirr152,lirr214,False,1075
+lirr72,lirr153,lirr214,True,1975
+lirr72,lirr153,lirr214,False,1425
+lirr72,lirr157,lirr214,True,2225
+lirr72,lirr157,lirr214,False,1625
+lirr72,lirr155,lirr214,True,1725
+lirr72,lirr155,lirr214,False,1250
+lirr72,lirr154,lirr214,True,1725
+lirr72,lirr154,lirr214,False,1250
+lirr72,lirr163,lirr214,True,2225
+lirr72,lirr163,lirr214,False,1625
+lirr72,lirr165,lirr214,True,1975
+lirr72,lirr165,lirr214,False,1425
+lirr72,lirr164,lirr214,True,2225
+lirr72,lirr164,lirr214,False,1625
+lirr72,lirr175,lirr214,True,1350
+lirr72,lirr175,lirr214,False,975
+lirr72,lirr176,lirr214,True,3375
+lirr72,lirr176,lirr214,False,2450
+lirr72,lirr183,lirr214,True,1725
+lirr72,lirr183,lirr214,False,1250
+lirr72,lirr179,lirr214,True,2225
+lirr72,lirr179,lirr214,False,1625
+lirr72,lirr180,lirr214,True,1350
+lirr72,lirr180,lirr214,False,975
+lirr72,lirr182,lirr214,True,1725
+lirr72,lirr182,lirr214,False,1250
+lirr72,lirr204,lirr214,True,2225
+lirr72,lirr204,lirr214,False,1625
+lirr72,lirr185,lirr214,True,1725
+lirr72,lirr185,lirr214,False,1250
+lirr72,lirr187,lirr214,True,1725
+lirr72,lirr187,lirr214,False,1250
+lirr72,lirr202,lirr214,True,2225
+lirr72,lirr202,lirr214,False,1625
+lirr72,lirr191,lirr214,True,3375
+lirr72,lirr191,lirr214,False,2450
+lirr72,lirr190,lirr214,True,3375
+lirr72,lirr190,lirr214,False,2450
+lirr72,lirr198,lirr214,True,2700
+lirr72,lirr198,lirr214,False,1975
+lirr72,lirr184,lirr214,True,1350
+lirr72,lirr184,lirr214,False,975
+lirr72,lirr193,lirr214,True,2225
+lirr72,lirr193,lirr214,False,1625
+lirr72,lirr195,lirr214,True,1475
+lirr72,lirr195,lirr214,False,1075
+lirr72,lirr14,lirr214,True,2225
+lirr72,lirr14,lirr214,False,1625
+lirr72,lirr205,lirr214,True,1725
+lirr72,lirr205,lirr214,False,1250
+lirr72,lirr211,lirr214,True,1475
+lirr72,lirr211,lirr214,False,1075
+lirr72,lirr215,lirr214,True,1725
+lirr72,lirr215,lirr214,False,1250
+lirr72,lirr216,lirr214,True,1475
+lirr72,lirr216,lirr214,False,1075
+lirr72,lirr213,lirr214,True,1725
+lirr72,lirr213,lirr214,False,1250
+lirr72,lirr233,lirr214,True,3375
+lirr72,lirr233,lirr214,False,2450
+lirr72,lirr219,lirr214,True,1475
+lirr72,lirr219,lirr214,False,1075
+lirr72,lirr217,lirr214,True,1475
+lirr72,lirr217,lirr214,False,1075
+lirr72,lirr220,lirr214,True,1975
+lirr72,lirr220,lirr214,False,1425
+lirr72,lirr223,lirr214,True,2700
+lirr72,lirr223,lirr214,False,1975
+lirr74,lirr1,lirr102,True,1825
+lirr74,lirr1,lirr132,True,900
+lirr74,lirr1,lirr102,False,1325
+lirr74,lirr1,lirr132,False,900
+lirr74,lirr2,lirr214,True,2050
+lirr74,lirr2,lirr214,False,1500
+lirr74,lirr25,lirr214,True,2050
+lirr74,lirr25,lirr214,False,1500
+lirr74,lirr23,lirr102,True,1650
+lirr74,lirr23,lirr102,False,1200
+lirr74,lirr20,lirr102,True,1825
+lirr74,lirr20,lirr92,True,600
+lirr74,lirr20,lirr102,False,1325
+lirr74,lirr20,lirr92,False,600
+lirr74,lirr29,lirr102,True,2275
+lirr74,lirr29,lirr92,True,1000
+lirr74,lirr29,lirr102,False,1650
+lirr74,lirr29,lirr92,False,1000
+lirr74,lirr11,lirr214,True,2050
+lirr74,lirr11,lirr214,False,1500
+lirr74,lirr39,lirr102,True,1825
+lirr74,lirr39,lirr102,False,1325
+lirr74,lirr32,lirr102,True,1650
+lirr74,lirr32,lirr102,False,1200
+lirr74,lirr33,lirr102,True,2275
+lirr74,lirr33,lirr92,True,1000
+lirr74,lirr33,lirr102,False,1650
+lirr74,lirr33,lirr92,False,1000
+lirr74,lirr31,lirr102,True,1825
+lirr74,lirr31,lirr125,True,900
+lirr74,lirr31,lirr102,False,1325
+lirr74,lirr31,lirr125,False,900
+lirr74,lirr40,lirr102,True,2125
+lirr74,lirr40,lirr92,True,650
+lirr74,lirr40,lirr102,False,1550
+lirr74,lirr40,lirr92,False,650
+lirr74,lirr36,lirr102,True,1650
+lirr74,lirr36,lirr63,True,825
+lirr74,lirr36,lirr102,False,1200
+lirr74,lirr36,lirr63,False,825
+lirr74,lirr44,lirr102,True,2125
+lirr74,lirr44,lirr92,True,650
+lirr74,lirr44,lirr102,False,1550
+lirr74,lirr44,lirr92,False,650
+lirr74,lirr42,lirr214,True,2050
+lirr74,lirr42,lirr214,False,1500
+lirr74,lirr51,lirr102,True,1825
+lirr74,lirr51,lirr125,True,900
+lirr74,lirr51,lirr102,False,1325
+lirr74,lirr51,lirr125,False,900
+lirr74,lirr52,lirr102,True,1650
+lirr74,lirr52,lirr132,True,825
+lirr74,lirr52,lirr102,False,1200
+lirr74,lirr52,lirr132,False,825
+lirr74,lirr65,lirr102,True,1650
+lirr74,lirr65,lirr102,False,1200
+lirr74,lirr59,lirr102,True,1825
+lirr74,lirr59,lirr92,True,600
+lirr74,lirr59,lirr102,False,1325
+lirr74,lirr59,lirr92,False,600
+lirr74,lirr63,lirr102,True,1650
+lirr74,lirr63,lirr102,False,1200
+lirr74,lirr56,lirr214,True,2050
+lirr74,lirr56,lirr214,False,1500
+lirr74,lirr68,lirr102,True,1650
+lirr74,lirr68,lirr63,True,825
+lirr74,lirr68,lirr102,False,1200
+lirr74,lirr68,lirr63,False,825
+lirr74,lirr66,lirr102,True,1650
+lirr74,lirr66,lirr102,False,1200
+lirr74,lirr67,lirr102,True,1825
+lirr74,lirr67,lirr132,True,900
+lirr74,lirr67,lirr102,False,1325
+lirr74,lirr67,lirr132,False,900
+lirr74,lirr71,lirr102,True,1825
+lirr74,lirr71,lirr132,True,900
+lirr74,lirr71,lirr102,False,1325
+lirr74,lirr71,lirr132,False,900
+lirr74,lirr76,lirr102,True,1825
+lirr74,lirr76,lirr132,True,900
+lirr74,lirr76,lirr102,False,1325
+lirr74,lirr76,lirr132,False,900
+lirr74,lirr72,lirr214,True,2225
+lirr74,lirr72,lirr214,False,1625
+lirr74,lirr78,lirr102,True,2125
+lirr74,lirr78,lirr92,True,650
+lirr74,lirr78,lirr102,False,1550
+lirr74,lirr78,lirr92,False,650
+lirr74,lirr73,lirr102,True,3475
+lirr74,lirr73,lirr92,True,2025
+lirr74,lirr73,lirr102,False,2525
+lirr74,lirr73,lirr92,False,2025
+lirr74,lirr77,lirr102,True,1825
+lirr74,lirr77,lirr132,True,900
+lirr74,lirr77,lirr102,False,1325
+lirr74,lirr77,lirr132,False,900
+lirr74,lirr84,lirr102,True,1650
+lirr74,lirr84,lirr63,True,825
+lirr74,lirr84,lirr102,False,1200
+lirr74,lirr84,lirr63,False,825
+lirr74,lirr85,lirr102,True,1650
+lirr74,lirr85,lirr102,False,1200
+lirr74,lirr94,lirr102,True,1650
+lirr74,lirr94,lirr102,False,1200
+lirr74,lirr92,lirr102,True,1825
+lirr74,lirr92,lirr102,False,1325
+lirr74,lirr89,lirr102,True,1575
+lirr74,lirr89,lirr102,False,1150
+lirr74,lirr91,lirr102,True,2125
+lirr74,lirr91,lirr92,True,650
+lirr74,lirr91,lirr102,False,1550
+lirr74,lirr91,lirr92,False,650
+lirr74,lirr101,lirr102,True,1650
+lirr74,lirr101,lirr102,False,1200
+lirr74,lirr99,lirr102,True,1825
+lirr74,lirr99,lirr125,True,900
+lirr74,lirr99,lirr102,False,1325
+lirr74,lirr99,lirr125,False,900
+lirr74,lirr111,lirr102,True,2275
+lirr74,lirr111,lirr92,True,1000
+lirr74,lirr111,lirr102,False,1650
+lirr74,lirr111,lirr92,False,1000
+lirr74,lirr124,lirr102,True,1650
+lirr74,lirr124,lirr102,False,1200
+lirr74,lirr122,lirr102,True,1575
+lirr74,lirr122,lirr102,False,1150
+lirr74,lirr114,lirr102,True,1650
+lirr74,lirr114,lirr102,False,1200
+lirr74,lirr120,lirr214,True,2050
+lirr74,lirr120,lirr214,False,1500
+lirr74,lirr119,lirr102,True,1575
+lirr74,lirr119,lirr102,False,1150
+lirr74,lirr123,lirr102,True,1825
+lirr74,lirr123,lirr132,True,900
+lirr74,lirr123,lirr102,False,1325
+lirr74,lirr123,lirr132,False,900
+lirr74,lirr113,lirr102,True,1825
+lirr74,lirr113,lirr125,True,900
+lirr74,lirr113,lirr102,False,1325
+lirr74,lirr113,lirr125,False,900
+lirr74,lirr125,lirr102,True,1650
+lirr74,lirr125,lirr102,False,1200
+lirr74,lirr142,lirr102,True,1650
+lirr74,lirr142,lirr102,False,1200
+lirr74,lirr131,lirr214,True,2225
+lirr74,lirr131,lirr214,False,1625
+lirr74,lirr126,lirr102,True,3475
+lirr74,lirr126,lirr92,True,2025
+lirr74,lirr126,lirr102,False,2525
+lirr74,lirr126,lirr92,False,2025
+lirr74,lirr129,lirr102,True,2275
+lirr74,lirr129,lirr92,True,1000
+lirr74,lirr129,lirr102,False,1650
+lirr74,lirr129,lirr92,False,1000
+lirr74,lirr127,lirr102,True,1650
+lirr74,lirr127,lirr102,False,1200
+lirr74,lirr132,lirr102,True,1650
+lirr74,lirr132,lirr102,False,1200
+lirr74,lirr130,lirr214,True,2050
+lirr74,lirr130,lirr214,False,1500
+lirr74,lirr149,lirr102,True,1650
+lirr74,lirr149,lirr63,True,825
+lirr74,lirr149,lirr102,False,1200
+lirr74,lirr149,lirr63,False,825
+lirr74,lirr152,lirr102,True,1650
+lirr74,lirr152,lirr102,False,1200
+lirr74,lirr153,lirr102,True,2125
+lirr74,lirr153,lirr92,True,650
+lirr74,lirr153,lirr102,False,1550
+lirr74,lirr153,lirr92,False,650
+lirr74,lirr155,lirr102,True,1825
+lirr74,lirr155,lirr125,True,900
+lirr74,lirr155,lirr102,False,1325
+lirr74,lirr155,lirr125,False,900
+lirr74,lirr154,lirr102,True,1825
+lirr74,lirr154,lirr132,True,900
+lirr74,lirr154,lirr102,False,1325
+lirr74,lirr154,lirr132,False,900
+lirr74,lirr165,lirr102,True,2125
+lirr74,lirr165,lirr92,True,650
+lirr74,lirr165,lirr102,False,1550
+lirr74,lirr165,lirr92,False,650
+lirr74,lirr162,lirr214,True,2225
+lirr74,lirr162,lirr214,False,1625
+lirr74,lirr164,lirr102,True,2275
+lirr74,lirr164,lirr92,True,1000
+lirr74,lirr164,lirr102,False,1650
+lirr74,lirr164,lirr92,False,1000
+lirr74,lirr171,lirr214,True,2225
+lirr74,lirr171,lirr214,False,1625
+lirr74,lirr175,lirr102,True,1575
+lirr74,lirr175,lirr102,False,1150
+lirr74,lirr176,lirr102,True,3475
+lirr74,lirr176,lirr92,True,2025
+lirr74,lirr176,lirr102,False,2525
+lirr74,lirr176,lirr92,False,2025
+lirr74,lirr179,lirr102,True,2275
+lirr74,lirr179,lirr92,True,1000
+lirr74,lirr179,lirr102,False,1650
+lirr74,lirr179,lirr92,False,1000
+lirr74,lirr180,lirr102,True,1575
+lirr74,lirr180,lirr102,False,1150
+lirr74,lirr182,lirr102,True,1825
+lirr74,lirr182,lirr132,True,900
+lirr74,lirr182,lirr102,False,1325
+lirr74,lirr182,lirr132,False,900
+lirr74,lirr185,lirr102,True,1825
+lirr74,lirr185,lirr132,True,900
+lirr74,lirr185,lirr102,False,1325
+lirr74,lirr185,lirr132,False,900
+lirr74,lirr202,lirr102,True,2275
+lirr74,lirr202,lirr92,True,1000
+lirr74,lirr202,lirr102,False,1650
+lirr74,lirr202,lirr92,False,1000
+lirr74,lirr190,lirr102,True,3475
+lirr74,lirr190,lirr92,True,2025
+lirr74,lirr190,lirr102,False,2525
+lirr74,lirr190,lirr92,False,2025
+lirr74,lirr184,lirr102,True,1575
+lirr74,lirr184,lirr102,False,1150
+lirr74,lirr193,lirr102,True,2275
+lirr74,lirr193,lirr92,True,1000
+lirr74,lirr193,lirr102,False,1650
+lirr74,lirr193,lirr92,False,1000
+lirr74,lirr195,lirr102,True,1650
+lirr74,lirr195,lirr63,True,825
+lirr74,lirr195,lirr102,False,1200
+lirr74,lirr195,lirr63,False,825
+lirr74,lirr14,lirr102,True,2275
+lirr74,lirr14,lirr92,True,1000
+lirr74,lirr14,lirr102,False,1650
+lirr74,lirr14,lirr92,False,1000
+lirr74,lirr205,lirr102,True,1825
+lirr74,lirr205,lirr92,True,600
+lirr74,lirr205,lirr102,False,1325
+lirr74,lirr205,lirr92,False,600
+lirr74,lirr211,lirr102,True,1650
+lirr74,lirr211,lirr102,False,1200
+lirr74,lirr216,lirr102,True,1650
+lirr74,lirr216,lirr102,False,1200
+lirr74,lirr213,lirr102,True,1825
+lirr74,lirr213,lirr102,False,1325
+lirr74,lirr219,lirr102,True,1650
+lirr74,lirr219,lirr102,False,1200
+lirr74,lirr217,lirr102,True,1650
+lirr74,lirr217,lirr102,False,1200
+lirr74,lirr220,lirr102,True,2125
+lirr74,lirr220,lirr92,True,650
+lirr74,lirr220,lirr102,False,1550
+lirr74,lirr220,lirr92,False,650
+lirr74,lirr223,lirr102,True,2800
+lirr74,lirr223,lirr92,True,1350
+lirr74,lirr223,lirr102,False,2025
+lirr74,lirr223,lirr92,False,1350
+lirr78,lirr1,lirr132,True,650
+lirr78,lirr1,lirr132,False,650
+lirr78,lirr4,lirr102,True,3275
+lirr78,lirr4,lirr92,True,1775
+lirr78,lirr4,lirr102,False,2375
+lirr78,lirr4,lirr92,False,1775
+lirr78,lirr8,lirr102,True,1850
+lirr78,lirr8,lirr102,False,1350
+lirr78,lirr2,lirr214,True,1825
+lirr78,lirr2,lirr214,False,1325
+lirr78,lirr27,lirr102,True,1850
+lirr78,lirr27,lirr92,True,450
+lirr78,lirr27,lirr102,False,1350
+lirr78,lirr27,lirr92,False,450
+lirr78,lirr225,lirr102,True,1575
+lirr78,lirr225,lirr102,False,1150
+lirr78,lirr26,lirr102,True,2125
+lirr78,lirr26,lirr92,True,650
+lirr78,lirr26,lirr102,False,1550
+lirr78,lirr26,lirr92,False,650
+lirr78,lirr25,lirr214,True,1825
+lirr78,lirr25,lirr214,False,1325
+lirr78,lirr23,lirr102,True,1350
+lirr78,lirr23,lirr102,False,975
+lirr78,lirr16,lirr102,True,1575
+lirr78,lirr16,lirr102,False,1150
+lirr78,lirr21,lirr102,True,2600
+lirr78,lirr21,lirr92,True,1100
+lirr78,lirr21,lirr102,False,1900
+lirr78,lirr21,lirr92,False,1100
+lirr78,lirr20,lirr92,True,425
+lirr78,lirr20,lirr92,False,425
+lirr78,lirr29,lirr92,True,650
+lirr78,lirr29,lirr92,False,650
+lirr78,lirr13,lirr102,True,3275
+lirr78,lirr13,lirr92,True,1775
+lirr78,lirr13,lirr102,False,2375
+lirr78,lirr13,lirr92,False,1775
+lirr78,lirr11,lirr214,True,1825
+lirr78,lirr11,lirr214,False,1325
+lirr78,lirr32,lirr102,True,1350
+lirr78,lirr32,lirr102,False,975
+lirr78,lirr33,lirr92,True,650
+lirr78,lirr33,lirr92,False,650
+lirr78,lirr31,lirr102,True,1575
+lirr78,lirr31,lirr102,False,1150
+lirr78,lirr38,lirr102,True,1850
+lirr78,lirr38,lirr102,False,1350
+lirr78,lirr36,lirr102,True,1350
+lirr78,lirr36,lirr63,True,600
+lirr78,lirr36,lirr102,False,975
+lirr78,lirr36,lirr63,False,600
+lirr78,lirr44,lirr92,True,450
+lirr78,lirr44,lirr92,False,450
+lirr78,lirr42,lirr214,True,1825
+lirr78,lirr42,lirr214,False,1325
+lirr78,lirr48,lirr102,True,3275
+lirr78,lirr48,lirr92,True,1775
+lirr78,lirr48,lirr102,False,2375
+lirr78,lirr48,lirr92,False,1775
+lirr78,lirr51,lirr102,True,1575
+lirr78,lirr51,lirr102,False,1150
+lirr78,lirr52,lirr132,True,600
+lirr78,lirr52,lirr132,False,600
+lirr78,lirr65,lirr102,True,1350
+lirr78,lirr65,lirr102,False,975
+lirr78,lirr59,lirr92,True,425
+lirr78,lirr59,lirr92,False,425
+lirr78,lirr63,lirr102,True,1350
+lirr78,lirr63,lirr102,False,975
+lirr78,lirr56,lirr214,True,1825
+lirr78,lirr56,lirr214,False,1325
+lirr78,lirr64,lirr102,True,1575
+lirr78,lirr64,lirr102,False,1150
+lirr78,lirr68,lirr102,True,1350
+lirr78,lirr68,lirr63,True,600
+lirr78,lirr68,lirr102,False,975
+lirr78,lirr68,lirr63,False,600
+lirr78,lirr66,lirr102,True,1350
+lirr78,lirr66,lirr102,False,975
+lirr78,lirr67,lirr132,True,650
+lirr78,lirr67,lirr132,False,650
+lirr78,lirr71,lirr132,True,650
+lirr78,lirr71,lirr132,False,650
+lirr78,lirr76,lirr132,True,650
+lirr78,lirr76,lirr132,False,650
+lirr78,lirr72,lirr214,True,1975
+lirr78,lirr72,lirr214,False,1425
+lirr78,lirr74,lirr102,True,2125
+lirr78,lirr74,lirr92,True,650
+lirr78,lirr74,lirr102,False,1550
+lirr78,lirr74,lirr92,False,650
+lirr78,lirr73,lirr92,True,1775
+lirr78,lirr73,lirr92,False,1775
+lirr78,lirr77,lirr132,True,650
+lirr78,lirr77,lirr132,False,650
+lirr78,lirr83,lirr102,True,3275
+lirr78,lirr83,lirr92,True,1775
+lirr78,lirr83,lirr102,False,2375
+lirr78,lirr83,lirr92,False,1775
+lirr78,lirr84,lirr102,True,1350
+lirr78,lirr84,lirr63,True,600
+lirr78,lirr84,lirr102,False,975
+lirr78,lirr84,lirr63,False,600
+lirr78,lirr85,lirr102,True,1350
+lirr78,lirr85,lirr102,False,975
+lirr78,lirr94,lirr102,True,1350
+lirr78,lirr94,lirr102,False,975
+lirr78,lirr89,lirr102,True,1300
+lirr78,lirr89,lirr102,False,950
+lirr78,lirr101,lirr102,True,1350
+lirr78,lirr101,lirr102,False,975
+lirr78,lirr99,lirr102,True,1575
+lirr78,lirr99,lirr102,False,1150
+lirr78,lirr100,lirr102,True,2125
+lirr78,lirr100,lirr92,True,650
+lirr78,lirr100,lirr102,False,1550
+lirr78,lirr100,lirr92,False,650
+lirr78,lirr124,lirr102,True,1350
+lirr78,lirr124,lirr102,False,975
+lirr78,lirr122,lirr102,True,1300
+lirr78,lirr122,lirr102,False,950
+lirr78,lirr114,lirr102,True,1350
+lirr78,lirr114,lirr102,False,975
+lirr78,lirr117,lirr102,True,1850
+lirr78,lirr117,lirr102,False,1350
+lirr78,lirr120,lirr214,True,1825
+lirr78,lirr120,lirr214,False,1325
+lirr78,lirr119,lirr102,True,1300
+lirr78,lirr119,lirr102,False,950
+lirr78,lirr123,lirr132,True,650
+lirr78,lirr123,lirr132,False,650
+lirr78,lirr113,lirr102,True,1575
+lirr78,lirr113,lirr102,False,1150
+lirr78,lirr125,lirr102,True,1350
+lirr78,lirr125,lirr102,False,975
+lirr78,lirr142,lirr102,True,1350
+lirr78,lirr142,lirr102,False,975
+lirr78,lirr131,lirr214,True,1975
+lirr78,lirr131,lirr214,False,1425
+lirr78,lirr136,lirr102,True,1575
+lirr78,lirr136,lirr102,False,1150
+lirr78,lirr135,lirr102,True,1575
+lirr78,lirr135,lirr102,False,1150
+lirr78,lirr140,lirr102,True,2600
+lirr78,lirr140,lirr92,True,1100
+lirr78,lirr140,lirr102,False,1900
+lirr78,lirr140,lirr92,False,1100
+lirr78,lirr126,lirr92,True,1775
+lirr78,lirr126,lirr92,False,1775
+lirr78,lirr129,lirr92,True,650
+lirr78,lirr129,lirr92,False,650
+lirr78,lirr226,lirr102,True,1575
+lirr78,lirr226,lirr102,False,1150
+lirr78,lirr141,lirr102,True,3275
+lirr78,lirr141,lirr92,True,1775
+lirr78,lirr141,lirr102,False,2375
+lirr78,lirr141,lirr92,False,1775
+lirr78,lirr130,lirr214,True,1825
+lirr78,lirr130,lirr214,False,1325
+lirr78,lirr149,lirr102,True,1350
+lirr78,lirr149,lirr63,True,600
+lirr78,lirr149,lirr102,False,975
+lirr78,lirr149,lirr63,False,600
+lirr78,lirr157,lirr102,True,2125
+lirr78,lirr157,lirr92,True,650
+lirr78,lirr157,lirr102,False,1550
+lirr78,lirr157,lirr92,False,650
+lirr78,lirr155,lirr102,True,1575
+lirr78,lirr155,lirr102,False,1150
+lirr78,lirr154,lirr132,True,650
+lirr78,lirr154,lirr132,False,650
+lirr78,lirr163,lirr102,True,2125
+lirr78,lirr163,lirr92,True,650
+lirr78,lirr163,lirr102,False,1550
+lirr78,lirr163,lirr92,False,650
+lirr78,lirr165,lirr92,True,450
+lirr78,lirr165,lirr92,False,450
+lirr78,lirr162,lirr214,True,1975
+lirr78,lirr162,lirr214,False,1425
+lirr78,lirr171,lirr214,True,1975
+lirr78,lirr171,lirr214,False,1425
+lirr78,lirr175,lirr102,True,1300
+lirr78,lirr175,lirr102,False,950
+lirr78,lirr176,lirr92,True,1775
+lirr78,lirr176,lirr92,False,1775
+lirr78,lirr183,lirr102,True,1575
+lirr78,lirr183,lirr102,False,1150
+lirr78,lirr179,lirr92,True,650
+lirr78,lirr179,lirr92,False,650
+lirr78,lirr180,lirr102,True,1300
+lirr78,lirr180,lirr102,False,950
+lirr78,lirr182,lirr132,True,650
+lirr78,lirr182,lirr132,False,650
+lirr78,lirr204,lirr102,True,2125
+lirr78,lirr204,lirr92,True,650
+lirr78,lirr204,lirr102,False,1550
+lirr78,lirr204,lirr92,False,650
+lirr78,lirr185,lirr132,True,650
+lirr78,lirr185,lirr132,False,650
+lirr78,lirr187,lirr102,True,1575
+lirr78,lirr187,lirr102,False,1150
+lirr78,lirr191,lirr102,True,3275
+lirr78,lirr191,lirr92,True,1775
+lirr78,lirr191,lirr102,False,2375
+lirr78,lirr191,lirr92,False,1775
+lirr78,lirr190,lirr92,True,1775
+lirr78,lirr190,lirr92,False,1775
+lirr78,lirr198,lirr102,True,2600
+lirr78,lirr198,lirr92,True,1100
+lirr78,lirr198,lirr102,False,1900
+lirr78,lirr198,lirr92,False,1100
+lirr78,lirr184,lirr102,True,1300
+lirr78,lirr184,lirr102,False,950
+lirr78,lirr195,lirr102,True,1350
+lirr78,lirr195,lirr63,True,600
+lirr78,lirr195,lirr102,False,975
+lirr78,lirr195,lirr63,False,600
+lirr78,lirr211,lirr102,True,1350
+lirr78,lirr211,lirr102,False,975
+lirr78,lirr215,lirr102,True,1575
+lirr78,lirr215,lirr102,False,1150
+lirr78,lirr216,lirr102,True,1350
+lirr78,lirr216,lirr102,False,975
+lirr78,lirr233,lirr102,True,3275
+lirr78,lirr233,lirr92,True,1775
+lirr78,lirr233,lirr102,False,2375
+lirr78,lirr233,lirr92,False,1775
+lirr78,lirr219,lirr102,True,1350
+lirr78,lirr219,lirr102,False,975
+lirr78,lirr217,lirr102,True,1350
+lirr78,lirr217,lirr102,False,975
+lirr78,lirr220,lirr92,True,450
+lirr78,lirr220,lirr92,False,450
+lirr78,lirr223,lirr92,True,1100
+lirr78,lirr223,lirr92,False,1100
+lirr73,lirr1,lirr132,True,1875
+lirr73,lirr1,lirr132,False,1875
+lirr73,lirr4,lirr102,True,4350
+lirr73,lirr4,lirr92,True,2800
+lirr73,lirr4,lirr102,False,3175
+lirr73,lirr4,lirr92,False,2800
+lirr73,lirr8,lirr102,True,3275
+lirr73,lirr8,lirr102,False,2375
+lirr73,lirr2,lirr214,True,3200
+lirr73,lirr2,lirr214,False,2325
+lirr73,lirr27,lirr102,True,3275
+lirr73,lirr27,lirr92,True,1775
+lirr73,lirr27,lirr102,False,2375
+lirr73,lirr27,lirr92,False,1775
+lirr73,lirr225,lirr102,True,2975
+lirr73,lirr225,lirr102,False,2175
+lirr73,lirr26,lirr102,True,3475
+lirr73,lirr26,lirr92,True,2025
+lirr73,lirr26,lirr102,False,2525
+lirr73,lirr26,lirr92,False,2025
+lirr73,lirr25,lirr214,True,3200
+lirr73,lirr25,lirr214,False,2325
+lirr73,lirr23,lirr102,True,2775
+lirr73,lirr23,lirr102,False,2025
+lirr73,lirr16,lirr102,True,2975
+lirr73,lirr16,lirr102,False,2175
+lirr73,lirr21,lirr102,True,4000
+lirr73,lirr21,lirr92,True,2450
+lirr73,lirr21,lirr102,False,2900
+lirr73,lirr21,lirr92,False,2450
+lirr73,lirr13,lirr102,True,4350
+lirr73,lirr13,lirr92,True,2800
+lirr73,lirr13,lirr102,False,3175
+lirr73,lirr13,lirr92,False,2800
+lirr73,lirr11,lirr214,True,3200
+lirr73,lirr11,lirr214,False,2325
+lirr73,lirr32,lirr102,True,2775
+lirr73,lirr32,lirr102,False,2025
+lirr73,lirr31,lirr102,True,2975
+lirr73,lirr31,lirr102,False,2175
+lirr73,lirr40,lirr92,True,1775
+lirr73,lirr40,lirr92,False,1775
+lirr73,lirr38,lirr102,True,3275
+lirr73,lirr38,lirr102,False,2375
+lirr73,lirr36,lirr102,True,2775
+lirr73,lirr36,lirr63,True,1850
+lirr73,lirr36,lirr102,False,2025
+lirr73,lirr36,lirr63,False,1850
+lirr73,lirr42,lirr214,True,3200
+lirr73,lirr42,lirr214,False,2325
+lirr73,lirr48,lirr102,True,4350
+lirr73,lirr48,lirr92,True,2800
+lirr73,lirr48,lirr102,False,3175
+lirr73,lirr48,lirr92,False,2800
+lirr73,lirr51,lirr102,True,2975
+lirr73,lirr51,lirr102,False,2175
+lirr73,lirr52,lirr132,True,1850
+lirr73,lirr52,lirr132,False,1850
+lirr73,lirr65,lirr102,True,2775
+lirr73,lirr65,lirr102,False,2025
+lirr73,lirr63,lirr102,True,2775
+lirr73,lirr63,lirr102,False,2025
+lirr73,lirr56,lirr214,True,3200
+lirr73,lirr56,lirr214,False,2325
+lirr73,lirr64,lirr102,True,2975
+lirr73,lirr64,lirr102,False,2175
+lirr73,lirr68,lirr102,True,2775
+lirr73,lirr68,lirr63,True,1850
+lirr73,lirr68,lirr102,False,2025
+lirr73,lirr68,lirr63,False,1850
+lirr73,lirr66,lirr102,True,2775
+lirr73,lirr66,lirr102,False,2025
+lirr73,lirr67,lirr132,True,1875
+lirr73,lirr67,lirr132,False,1875
+lirr73,lirr71,lirr132,True,1875
+lirr73,lirr71,lirr132,False,1875
+lirr73,lirr76,lirr132,True,1875
+lirr73,lirr76,lirr132,False,1875
+lirr73,lirr72,lirr214,True,3375
+lirr73,lirr72,lirr214,False,2450
+lirr73,lirr74,lirr102,True,3475
+lirr73,lirr74,lirr92,True,2025
+lirr73,lirr74,lirr102,False,2525
+lirr73,lirr74,lirr92,False,2025
+lirr73,lirr78,lirr92,True,1775
+lirr73,lirr78,lirr92,False,1775
+lirr73,lirr77,lirr132,True,1875
+lirr73,lirr77,lirr132,False,1875
+lirr73,lirr83,lirr102,True,4350
+lirr73,lirr83,lirr92,True,2800
+lirr73,lirr83,lirr102,False,3175
+lirr73,lirr83,lirr92,False,2800
+lirr73,lirr84,lirr102,True,2775
+lirr73,lirr84,lirr63,True,1850
+lirr73,lirr84,lirr102,False,2025
+lirr73,lirr84,lirr63,False,1850
+lirr73,lirr85,lirr102,True,2775
+lirr73,lirr85,lirr102,False,2025
+lirr73,lirr94,lirr102,True,2775
+lirr73,lirr94,lirr102,False,2025
+lirr73,lirr89,lirr102,True,2700
+lirr73,lirr89,lirr102,False,1975
+lirr73,lirr91,lirr92,True,1775
+lirr73,lirr91,lirr92,False,1775
+lirr73,lirr101,lirr102,True,2775
+lirr73,lirr101,lirr102,False,2025
+lirr73,lirr99,lirr102,True,2975
+lirr73,lirr99,lirr102,False,2175
+lirr73,lirr100,lirr102,True,3475
+lirr73,lirr100,lirr92,True,2025
+lirr73,lirr100,lirr102,False,2525
+lirr73,lirr100,lirr92,False,2025
+lirr73,lirr111,lirr92,True,2025
+lirr73,lirr111,lirr92,False,2025
+lirr73,lirr124,lirr102,True,2775
+lirr73,lirr124,lirr102,False,2025
+lirr73,lirr122,lirr102,True,2700
+lirr73,lirr122,lirr102,False,1975
+lirr73,lirr114,lirr102,True,2775
+lirr73,lirr114,lirr102,False,2025
+lirr73,lirr117,lirr102,True,3275
+lirr73,lirr117,lirr102,False,2375
+lirr73,lirr120,lirr214,True,3200
+lirr73,lirr120,lirr214,False,2325
+lirr73,lirr119,lirr102,True,2700
+lirr73,lirr119,lirr102,False,1975
+lirr73,lirr123,lirr132,True,1875
+lirr73,lirr123,lirr132,False,1875
+lirr73,lirr113,lirr102,True,2975
+lirr73,lirr113,lirr102,False,2175
+lirr73,lirr125,lirr102,True,2775
+lirr73,lirr125,lirr102,False,2025
+lirr73,lirr142,lirr102,True,2775
+lirr73,lirr142,lirr102,False,2025
+lirr73,lirr131,lirr214,True,3375
+lirr73,lirr131,lirr214,False,2450
+lirr73,lirr136,lirr102,True,2975
+lirr73,lirr136,lirr102,False,2175
+lirr73,lirr135,lirr102,True,2975
+lirr73,lirr135,lirr102,False,2175
+lirr73,lirr140,lirr102,True,4000
+lirr73,lirr140,lirr92,True,2450
+lirr73,lirr140,lirr102,False,2900
+lirr73,lirr140,lirr92,False,2450
+lirr73,lirr226,lirr102,True,2975
+lirr73,lirr226,lirr102,False,2175
+lirr73,lirr141,lirr102,True,4350
+lirr73,lirr141,lirr92,True,2800
+lirr73,lirr141,lirr102,False,3175
+lirr73,lirr141,lirr92,False,2800
+lirr73,lirr130,lirr214,True,3200
+lirr73,lirr130,lirr214,False,2325
+lirr73,lirr149,lirr102,True,2775
+lirr73,lirr149,lirr63,True,1850
+lirr73,lirr149,lirr102,False,2025
+lirr73,lirr149,lirr63,False,1850
+lirr73,lirr153,lirr92,True,1775
+lirr73,lirr153,lirr92,False,1775
+lirr73,lirr157,lirr102,True,3475
+lirr73,lirr157,lirr92,True,2025
+lirr73,lirr157,lirr102,False,2525
+lirr73,lirr157,lirr92,False,2025
+lirr73,lirr155,lirr102,True,2975
+lirr73,lirr155,lirr102,False,2175
+lirr73,lirr154,lirr132,True,1875
+lirr73,lirr154,lirr132,False,1875
+lirr73,lirr163,lirr102,True,3475
+lirr73,lirr163,lirr92,True,2025
+lirr73,lirr163,lirr102,False,2525
+lirr73,lirr163,lirr92,False,2025
+lirr73,lirr162,lirr214,True,3375
+lirr73,lirr162,lirr214,False,2450
+lirr73,lirr164,lirr92,True,2025
+lirr73,lirr164,lirr92,False,2025
+lirr73,lirr171,lirr214,True,3375
+lirr73,lirr171,lirr214,False,2450
+lirr73,lirr175,lirr102,True,2700
+lirr73,lirr175,lirr102,False,1975
+lirr73,lirr183,lirr102,True,2975
+lirr73,lirr183,lirr102,False,2175
+lirr73,lirr180,lirr102,True,2700
+lirr73,lirr180,lirr102,False,1975
+lirr73,lirr182,lirr132,True,1875
+lirr73,lirr182,lirr132,False,1875
+lirr73,lirr204,lirr102,True,3475
+lirr73,lirr204,lirr92,True,2025
+lirr73,lirr204,lirr102,False,2525
+lirr73,lirr204,lirr92,False,2025
+lirr73,lirr185,lirr132,True,1875
+lirr73,lirr185,lirr132,False,1875
+lirr73,lirr187,lirr102,True,2975
+lirr73,lirr187,lirr102,False,2175
+lirr73,lirr202,lirr92,True,2025
+lirr73,lirr202,lirr92,False,2025
+lirr73,lirr191,lirr102,True,4350
+lirr73,lirr191,lirr92,True,2800
+lirr73,lirr191,lirr102,False,3175
+lirr73,lirr191,lirr92,False,2800
+lirr73,lirr198,lirr102,True,4000
+lirr73,lirr198,lirr92,True,2450
+lirr73,lirr198,lirr102,False,2900
+lirr73,lirr198,lirr92,False,2450
+lirr73,lirr184,lirr102,True,2700
+lirr73,lirr184,lirr102,False,1975
+lirr73,lirr193,lirr92,True,2025
+lirr73,lirr193,lirr92,False,2025
+lirr73,lirr195,lirr102,True,2775
+lirr73,lirr195,lirr63,True,1850
+lirr73,lirr195,lirr102,False,2025
+lirr73,lirr195,lirr63,False,1850
+lirr73,lirr14,lirr92,True,2025
+lirr73,lirr14,lirr92,False,2025
+lirr73,lirr205,lirr92,True,1725
+lirr73,lirr205,lirr92,False,1725
+lirr73,lirr211,lirr102,True,2775
+lirr73,lirr211,lirr102,False,2025
+lirr73,lirr215,lirr102,True,2975
+lirr73,lirr215,lirr102,False,2175
+lirr73,lirr216,lirr102,True,2775
+lirr73,lirr216,lirr102,False,2025
+lirr73,lirr233,lirr102,True,4350
+lirr73,lirr233,lirr92,True,2800
+lirr73,lirr233,lirr102,False,3175
+lirr73,lirr233,lirr92,False,2800
+lirr73,lirr219,lirr102,True,2775
+lirr73,lirr219,lirr102,False,2025
+lirr73,lirr217,lirr102,True,2775
+lirr73,lirr217,lirr102,False,2025
+lirr77,lirr4,lirr102,True,2975
+lirr77,lirr4,lirr132,True,1875
+lirr77,lirr4,lirr102,False,2175
+lirr77,lirr4,lirr132,False,1875
+lirr77,lirr8,lirr102,True,1575
+lirr77,lirr8,lirr102,False,1150
+lirr77,lirr2,lirr214,True,1575
+lirr77,lirr2,lirr214,False,1150
+lirr77,lirr27,lirr102,True,1575
+lirr77,lirr27,lirr132,True,650
+lirr77,lirr27,lirr102,False,1150
+lirr77,lirr27,lirr132,False,650
+lirr77,lirr225,lirr102,True,1225
+lirr77,lirr225,lirr102,False,900
+lirr77,lirr26,lirr102,True,1825
+lirr77,lirr26,lirr132,True,900
+lirr77,lirr26,lirr102,False,1325
+lirr77,lirr26,lirr132,False,900
+lirr77,lirr25,lirr214,True,1575
+lirr77,lirr25,lirr214,False,1150
+lirr77,lirr23,lirr102,True,1100
+lirr77,lirr23,lirr102,False,800
+lirr77,lirr16,lirr102,True,1225
+lirr77,lirr16,lirr102,False,900
+lirr77,lirr21,lirr102,True,2275
+lirr77,lirr21,lirr132,True,1225
+lirr77,lirr21,lirr102,False,1650
+lirr77,lirr21,lirr132,False,1225
+lirr77,lirr20,lirr132,True,450
+lirr77,lirr20,lirr132,False,450
+lirr77,lirr29,lirr132,True,900
+lirr77,lirr29,lirr132,False,900
+lirr77,lirr13,lirr102,True,2975
+lirr77,lirr13,lirr132,True,1875
+lirr77,lirr13,lirr102,False,2175
+lirr77,lirr13,lirr132,False,1875
+lirr77,lirr11,lirr214,True,1575
+lirr77,lirr11,lirr214,False,1150
+lirr77,lirr39,lirr132,True,450
+lirr77,lirr39,lirr132,False,450
+lirr77,lirr32,lirr102,True,1100
+lirr77,lirr32,lirr102,False,800
+lirr77,lirr33,lirr132,True,900
+lirr77,lirr33,lirr132,False,900
+lirr77,lirr31,lirr102,True,1225
+lirr77,lirr31,lirr102,False,900
+lirr77,lirr40,lirr132,True,650
+lirr77,lirr40,lirr132,False,650
+lirr77,lirr38,lirr102,True,1575
+lirr77,lirr38,lirr102,False,1150
+lirr77,lirr36,lirr102,True,1100
+lirr77,lirr36,lirr63,True,425
+lirr77,lirr36,lirr102,False,800
+lirr77,lirr36,lirr63,False,425
+lirr77,lirr44,lirr132,True,650
+lirr77,lirr44,lirr132,False,650
+lirr77,lirr42,lirr214,True,1575
+lirr77,lirr42,lirr214,False,1150
+lirr77,lirr48,lirr102,True,2975
+lirr77,lirr48,lirr132,True,1875
+lirr77,lirr48,lirr102,False,2175
+lirr77,lirr48,lirr132,False,1875
+lirr77,lirr51,lirr102,True,1225
+lirr77,lirr51,lirr102,False,900
+lirr77,lirr65,lirr102,True,1100
+lirr77,lirr65,lirr102,False,800
+lirr77,lirr59,lirr132,True,450
+lirr77,lirr59,lirr132,False,450
+lirr77,lirr63,lirr102,True,1100
+lirr77,lirr63,lirr102,False,800
+lirr77,lirr56,lirr214,True,1575
+lirr77,lirr56,lirr214,False,1150
+lirr77,lirr64,lirr102,True,1225
+lirr77,lirr64,lirr102,False,900
+lirr77,lirr68,lirr102,True,1100
+lirr77,lirr68,lirr63,True,425
+lirr77,lirr68,lirr102,False,800
+lirr77,lirr68,lirr63,False,425
+lirr77,lirr66,lirr102,True,1100
+lirr77,lirr66,lirr102,False,800
+lirr77,lirr72,lirr214,True,1725
+lirr77,lirr72,lirr214,False,1250
+lirr77,lirr74,lirr102,True,1825
+lirr77,lirr74,lirr132,True,900
+lirr77,lirr74,lirr102,False,1325
+lirr77,lirr74,lirr132,False,900
+lirr77,lirr78,lirr132,True,650
+lirr77,lirr78,lirr132,False,650
+lirr77,lirr73,lirr132,True,1875
+lirr77,lirr73,lirr132,False,1875
+lirr77,lirr83,lirr102,True,2975
+lirr77,lirr83,lirr132,True,1875
+lirr77,lirr83,lirr102,False,2175
+lirr77,lirr83,lirr132,False,1875
+lirr77,lirr84,lirr102,True,1100
+lirr77,lirr84,lirr63,True,425
+lirr77,lirr84,lirr102,False,800
+lirr77,lirr84,lirr63,False,425
+lirr77,lirr85,lirr102,True,1100
+lirr77,lirr85,lirr102,False,800
+lirr77,lirr94,lirr102,True,1100
+lirr77,lirr94,lirr102,False,800
+lirr77,lirr92,lirr132,True,450
+lirr77,lirr92,lirr132,False,450
+lirr77,lirr89,lirr102,True,1050
+lirr77,lirr89,lirr102,False,775
+lirr77,lirr91,lirr132,True,650
+lirr77,lirr91,lirr132,False,650
+lirr77,lirr101,lirr102,True,1100
+lirr77,lirr101,lirr102,False,800
+lirr77,lirr99,lirr102,True,1225
+lirr77,lirr99,lirr102,False,900
+lirr77,lirr100,lirr102,True,1825
+lirr77,lirr100,lirr132,True,900
+lirr77,lirr100,lirr102,False,1325
+lirr77,lirr100,lirr132,False,900
+lirr77,lirr111,lirr132,True,900
+lirr77,lirr111,lirr132,False,900
+lirr77,lirr124,lirr102,True,1100
+lirr77,lirr124,lirr102,False,800
+lirr77,lirr122,lirr102,True,1050
+lirr77,lirr122,lirr102,False,775
+lirr77,lirr114,lirr102,True,1100
+lirr77,lirr114,lirr102,False,800
+lirr77,lirr117,lirr102,True,1575
+lirr77,lirr117,lirr102,False,1150
+lirr77,lirr120,lirr214,True,1575
+lirr77,lirr120,lirr214,False,1150
+lirr77,lirr119,lirr102,True,1050
+lirr77,lirr119,lirr102,False,775
+lirr77,lirr113,lirr102,True,1225
+lirr77,lirr113,lirr102,False,900
+lirr77,lirr125,lirr102,True,1100
+lirr77,lirr125,lirr102,False,800
+lirr77,lirr142,lirr102,True,1100
+lirr77,lirr142,lirr102,False,800
+lirr77,lirr131,lirr214,True,1725
+lirr77,lirr131,lirr214,False,1250
+lirr77,lirr136,lirr102,True,1225
+lirr77,lirr136,lirr102,False,900
+lirr77,lirr135,lirr102,True,1225
+lirr77,lirr135,lirr102,False,900
+lirr77,lirr140,lirr102,True,2275
+lirr77,lirr140,lirr132,True,1225
+lirr77,lirr140,lirr102,False,1650
+lirr77,lirr140,lirr132,False,1225
+lirr77,lirr126,lirr132,True,1875
+lirr77,lirr126,lirr132,False,1875
+lirr77,lirr129,lirr132,True,900
+lirr77,lirr129,lirr132,False,900
+lirr77,lirr226,lirr102,True,1225
+lirr77,lirr226,lirr102,False,900
+lirr77,lirr141,lirr102,True,2975
+lirr77,lirr141,lirr132,True,1875
+lirr77,lirr141,lirr102,False,2175
+lirr77,lirr141,lirr132,False,1875
+lirr77,lirr130,lirr214,True,1575
+lirr77,lirr130,lirr214,False,1150
+lirr77,lirr149,lirr102,True,1100
+lirr77,lirr149,lirr63,True,425
+lirr77,lirr149,lirr102,False,800
+lirr77,lirr149,lirr63,False,425
+lirr77,lirr153,lirr132,True,650
+lirr77,lirr153,lirr132,False,650
+lirr77,lirr157,lirr102,True,1825
+lirr77,lirr157,lirr132,True,900
+lirr77,lirr157,lirr102,False,1325
+lirr77,lirr157,lirr132,False,900
+lirr77,lirr155,lirr102,True,1225
+lirr77,lirr155,lirr102,False,900
+lirr77,lirr163,lirr102,True,1825
+lirr77,lirr163,lirr132,True,900
+lirr77,lirr163,lirr102,False,1325
+lirr77,lirr163,lirr132,False,900
+lirr77,lirr165,lirr132,True,650
+lirr77,lirr165,lirr132,False,650
+lirr77,lirr162,lirr214,True,1725
+lirr77,lirr162,lirr214,False,1250
+lirr77,lirr164,lirr132,True,900
+lirr77,lirr164,lirr132,False,900
+lirr77,lirr171,lirr214,True,1725
+lirr77,lirr171,lirr214,False,1250
+lirr77,lirr175,lirr102,True,1050
+lirr77,lirr175,lirr102,False,775
+lirr77,lirr176,lirr132,True,1875
+lirr77,lirr176,lirr132,False,1875
+lirr77,lirr183,lirr102,True,1225
+lirr77,lirr183,lirr102,False,900
+lirr77,lirr179,lirr132,True,900
+lirr77,lirr179,lirr132,False,900
+lirr77,lirr180,lirr102,True,1050
+lirr77,lirr180,lirr102,False,775
+lirr77,lirr204,lirr102,True,1825
+lirr77,lirr204,lirr132,True,900
+lirr77,lirr204,lirr102,False,1325
+lirr77,lirr204,lirr132,False,900
+lirr77,lirr187,lirr102,True,1225
+lirr77,lirr187,lirr102,False,900
+lirr77,lirr202,lirr132,True,900
+lirr77,lirr202,lirr132,False,900
+lirr77,lirr191,lirr102,True,2975
+lirr77,lirr191,lirr132,True,1875
+lirr77,lirr191,lirr102,False,2175
+lirr77,lirr191,lirr132,False,1875
+lirr77,lirr190,lirr132,True,1875
+lirr77,lirr190,lirr132,False,1875
+lirr77,lirr198,lirr102,True,2275
+lirr77,lirr198,lirr132,True,1225
+lirr77,lirr198,lirr102,False,1650
+lirr77,lirr198,lirr132,False,1225
+lirr77,lirr184,lirr102,True,1050
+lirr77,lirr184,lirr102,False,775
+lirr77,lirr193,lirr132,True,900
+lirr77,lirr193,lirr132,False,900
+lirr77,lirr195,lirr102,True,1100
+lirr77,lirr195,lirr63,True,425
+lirr77,lirr195,lirr102,False,800
+lirr77,lirr195,lirr63,False,425
+lirr77,lirr14,lirr132,True,900
+lirr77,lirr14,lirr132,False,900
+lirr77,lirr205,lirr132,True,450
+lirr77,lirr205,lirr132,False,450
+lirr77,lirr211,lirr102,True,1100
+lirr77,lirr211,lirr102,False,800
+lirr77,lirr215,lirr102,True,1225
+lirr77,lirr215,lirr102,False,900
+lirr77,lirr216,lirr102,True,1100
+lirr77,lirr216,lirr102,False,800
+lirr77,lirr213,lirr132,True,450
+lirr77,lirr213,lirr132,False,450
+lirr77,lirr233,lirr102,True,2975
+lirr77,lirr233,lirr132,True,1875
+lirr77,lirr233,lirr102,False,2175
+lirr77,lirr233,lirr132,False,1875
+lirr77,lirr219,lirr102,True,1100
+lirr77,lirr219,lirr102,False,800
+lirr77,lirr217,lirr102,True,1100
+lirr77,lirr217,lirr102,False,800
+lirr77,lirr220,lirr132,True,650
+lirr77,lirr220,lirr132,False,650
+lirr77,lirr223,lirr132,True,1225
+lirr77,lirr223,lirr132,False,1225
+lirr83,lirr1,lirr102,True,2975
+lirr83,lirr1,lirr132,True,1875
+lirr83,lirr1,lirr102,False,2175
+lirr83,lirr1,lirr132,False,1875
+lirr83,lirr2,lirr214,True,3200
+lirr83,lirr2,lirr214,False,2325
+lirr83,lirr25,lirr214,True,3200
+lirr83,lirr25,lirr214,False,2325
+lirr83,lirr23,lirr102,True,2775
+lirr83,lirr23,lirr102,False,2025
+lirr83,lirr20,lirr102,True,2975
+lirr83,lirr20,lirr92,True,1725
+lirr83,lirr20,lirr102,False,2175
+lirr83,lirr20,lirr92,False,1725
+lirr83,lirr29,lirr102,True,3475
+lirr83,lirr29,lirr92,True,2025
+lirr83,lirr29,lirr102,False,2525
+lirr83,lirr29,lirr92,False,2025
+lirr83,lirr11,lirr214,True,3200
+lirr83,lirr11,lirr214,False,2325
+lirr83,lirr39,lirr102,True,2975
+lirr83,lirr39,lirr102,False,2175
+lirr83,lirr32,lirr102,True,2775
+lirr83,lirr32,lirr102,False,2025
+lirr83,lirr33,lirr102,True,3475
+lirr83,lirr33,lirr92,True,2025
+lirr83,lirr33,lirr102,False,2525
+lirr83,lirr33,lirr92,False,2025
+lirr83,lirr31,lirr102,True,2975
+lirr83,lirr31,lirr125,True,1875
+lirr83,lirr31,lirr102,False,2175
+lirr83,lirr31,lirr125,False,1875
+lirr83,lirr40,lirr102,True,3275
+lirr83,lirr40,lirr92,True,1775
+lirr83,lirr40,lirr102,False,2375
+lirr83,lirr40,lirr92,False,1775
+lirr83,lirr36,lirr102,True,2775
+lirr83,lirr36,lirr63,True,1850
+lirr83,lirr36,lirr102,False,2025
+lirr83,lirr36,lirr63,False,1850
+lirr83,lirr44,lirr102,True,3275
+lirr83,lirr44,lirr92,True,1775
+lirr83,lirr44,lirr102,False,2375
+lirr83,lirr44,lirr92,False,1775
+lirr83,lirr42,lirr214,True,3200
+lirr83,lirr42,lirr214,False,2325
+lirr83,lirr51,lirr102,True,2975
+lirr83,lirr51,lirr125,True,1875
+lirr83,lirr51,lirr102,False,2175
+lirr83,lirr51,lirr125,False,1875
+lirr83,lirr52,lirr102,True,2775
+lirr83,lirr52,lirr132,True,1850
+lirr83,lirr52,lirr102,False,2025
+lirr83,lirr52,lirr132,False,1850
+lirr83,lirr65,lirr102,True,2775
+lirr83,lirr65,lirr102,False,2025
+lirr83,lirr59,lirr102,True,2975
+lirr83,lirr59,lirr92,True,1725
+lirr83,lirr59,lirr102,False,2175
+lirr83,lirr59,lirr92,False,1725
+lirr83,lirr63,lirr102,True,2775
+lirr83,lirr63,lirr102,False,2025
+lirr83,lirr56,lirr214,True,3200
+lirr83,lirr56,lirr214,False,2325
+lirr83,lirr68,lirr102,True,2775
+lirr83,lirr68,lirr63,True,1850
+lirr83,lirr68,lirr102,False,2025
+lirr83,lirr68,lirr63,False,1850
+lirr83,lirr66,lirr102,True,2775
+lirr83,lirr66,lirr102,False,2025
+lirr83,lirr67,lirr102,True,2975
+lirr83,lirr67,lirr132,True,1875
+lirr83,lirr67,lirr102,False,2175
+lirr83,lirr67,lirr132,False,1875
+lirr83,lirr71,lirr102,True,2975
+lirr83,lirr71,lirr132,True,1875
+lirr83,lirr71,lirr102,False,2175
+lirr83,lirr71,lirr132,False,1875
+lirr83,lirr76,lirr102,True,2975
+lirr83,lirr76,lirr132,True,1875
+lirr83,lirr76,lirr102,False,2175
+lirr83,lirr76,lirr132,False,1875
+lirr83,lirr72,lirr214,True,3375
+lirr83,lirr72,lirr214,False,2450
+lirr83,lirr78,lirr102,True,3275
+lirr83,lirr78,lirr92,True,1775
+lirr83,lirr78,lirr102,False,2375
+lirr83,lirr78,lirr92,False,1775
+lirr83,lirr73,lirr102,True,4350
+lirr83,lirr73,lirr92,True,2800
+lirr83,lirr73,lirr102,False,3175
+lirr83,lirr73,lirr92,False,2800
+lirr83,lirr77,lirr102,True,2975
+lirr83,lirr77,lirr132,True,1875
+lirr83,lirr77,lirr102,False,2175
+lirr83,lirr77,lirr132,False,1875
+lirr83,lirr84,lirr102,True,2775
+lirr83,lirr84,lirr63,True,1850
+lirr83,lirr84,lirr102,False,2025
+lirr83,lirr84,lirr63,False,1850
+lirr83,lirr85,lirr102,True,2775
+lirr83,lirr85,lirr102,False,2025
+lirr83,lirr94,lirr102,True,2775
+lirr83,lirr94,lirr102,False,2025
+lirr83,lirr92,lirr102,True,2975
+lirr83,lirr92,lirr102,False,2175
+lirr83,lirr89,lirr102,True,2700
+lirr83,lirr89,lirr102,False,1975
+lirr83,lirr91,lirr102,True,3275
+lirr83,lirr91,lirr92,True,1775
+lirr83,lirr91,lirr102,False,2375
+lirr83,lirr91,lirr92,False,1775
+lirr83,lirr101,lirr102,True,2775
+lirr83,lirr101,lirr102,False,2025
+lirr83,lirr99,lirr102,True,2975
+lirr83,lirr99,lirr125,True,1875
+lirr83,lirr99,lirr102,False,2175
+lirr83,lirr99,lirr125,False,1875
+lirr83,lirr111,lirr102,True,3475
+lirr83,lirr111,lirr92,True,2025
+lirr83,lirr111,lirr102,False,2525
+lirr83,lirr111,lirr92,False,2025
+lirr83,lirr124,lirr102,True,2775
+lirr83,lirr124,lirr102,False,2025
+lirr83,lirr122,lirr102,True,2700
+lirr83,lirr122,lirr102,False,1975
+lirr83,lirr114,lirr102,True,2775
+lirr83,lirr114,lirr102,False,2025
+lirr83,lirr120,lirr214,True,3200
+lirr83,lirr120,lirr214,False,2325
+lirr83,lirr119,lirr102,True,2700
+lirr83,lirr119,lirr102,False,1975
+lirr83,lirr123,lirr102,True,2975
+lirr83,lirr123,lirr132,True,1875
+lirr83,lirr123,lirr102,False,2175
+lirr83,lirr123,lirr132,False,1875
+lirr83,lirr113,lirr102,True,2975
+lirr83,lirr113,lirr125,True,1875
+lirr83,lirr113,lirr102,False,2175
+lirr83,lirr113,lirr125,False,1875
+lirr83,lirr125,lirr102,True,2775
+lirr83,lirr125,lirr102,False,2025
+lirr83,lirr142,lirr102,True,2775
+lirr83,lirr142,lirr102,False,2025
+lirr83,lirr131,lirr214,True,3375
+lirr83,lirr131,lirr214,False,2450
+lirr83,lirr126,lirr102,True,4350
+lirr83,lirr126,lirr92,True,2800
+lirr83,lirr126,lirr102,False,3175
+lirr83,lirr126,lirr92,False,2800
+lirr83,lirr129,lirr102,True,3475
+lirr83,lirr129,lirr92,True,2025
+lirr83,lirr129,lirr102,False,2525
+lirr83,lirr129,lirr92,False,2025
+lirr83,lirr127,lirr102,True,2775
+lirr83,lirr127,lirr102,False,2025
+lirr83,lirr132,lirr102,True,2775
+lirr83,lirr132,lirr102,False,2025
+lirr83,lirr130,lirr214,True,3200
+lirr83,lirr130,lirr214,False,2325
+lirr83,lirr149,lirr102,True,2775
+lirr83,lirr149,lirr63,True,1850
+lirr83,lirr149,lirr102,False,2025
+lirr83,lirr149,lirr63,False,1850
+lirr83,lirr152,lirr102,True,2775
+lirr83,lirr152,lirr102,False,2025
+lirr83,lirr153,lirr102,True,3275
+lirr83,lirr153,lirr92,True,1775
+lirr83,lirr153,lirr102,False,2375
+lirr83,lirr153,lirr92,False,1775
+lirr83,lirr155,lirr102,True,2975
+lirr83,lirr155,lirr125,True,1875
+lirr83,lirr155,lirr102,False,2175
+lirr83,lirr155,lirr125,False,1875
+lirr83,lirr154,lirr102,True,2975
+lirr83,lirr154,lirr132,True,1875
+lirr83,lirr154,lirr102,False,2175
+lirr83,lirr154,lirr132,False,1875
+lirr83,lirr165,lirr102,True,3275
+lirr83,lirr165,lirr92,True,1775
+lirr83,lirr165,lirr102,False,2375
+lirr83,lirr165,lirr92,False,1775
+lirr83,lirr162,lirr214,True,3375
+lirr83,lirr162,lirr214,False,2450
+lirr83,lirr164,lirr102,True,3475
+lirr83,lirr164,lirr92,True,2025
+lirr83,lirr164,lirr102,False,2525
+lirr83,lirr164,lirr92,False,2025
+lirr83,lirr171,lirr214,True,3375
+lirr83,lirr171,lirr214,False,2450
+lirr83,lirr175,lirr102,True,2700
+lirr83,lirr175,lirr102,False,1975
+lirr83,lirr176,lirr102,True,4350
+lirr83,lirr176,lirr92,True,2800
+lirr83,lirr176,lirr102,False,3175
+lirr83,lirr176,lirr92,False,2800
+lirr83,lirr179,lirr102,True,3475
+lirr83,lirr179,lirr92,True,2025
+lirr83,lirr179,lirr102,False,2525
+lirr83,lirr179,lirr92,False,2025
+lirr83,lirr180,lirr102,True,2700
+lirr83,lirr180,lirr102,False,1975
+lirr83,lirr182,lirr102,True,2975
+lirr83,lirr182,lirr132,True,1875
+lirr83,lirr182,lirr102,False,2175
+lirr83,lirr182,lirr132,False,1875
+lirr83,lirr185,lirr102,True,2975
+lirr83,lirr185,lirr132,True,1875
+lirr83,lirr185,lirr102,False,2175
+lirr83,lirr185,lirr132,False,1875
+lirr83,lirr202,lirr102,True,3475
+lirr83,lirr202,lirr92,True,2025
+lirr83,lirr202,lirr102,False,2525
+lirr83,lirr202,lirr92,False,2025
+lirr83,lirr190,lirr102,True,4350
+lirr83,lirr190,lirr92,True,2800
+lirr83,lirr190,lirr102,False,3175
+lirr83,lirr190,lirr92,False,2800
+lirr83,lirr184,lirr102,True,2700
+lirr83,lirr184,lirr102,False,1975
+lirr83,lirr193,lirr102,True,3475
+lirr83,lirr193,lirr92,True,2025
+lirr83,lirr193,lirr102,False,2525
+lirr83,lirr193,lirr92,False,2025
+lirr83,lirr195,lirr102,True,2775
+lirr83,lirr195,lirr63,True,1850
+lirr83,lirr195,lirr102,False,2025
+lirr83,lirr195,lirr63,False,1850
+lirr83,lirr14,lirr102,True,3475
+lirr83,lirr14,lirr92,True,2025
+lirr83,lirr14,lirr102,False,2525
+lirr83,lirr14,lirr92,False,2025
+lirr83,lirr205,lirr102,True,2975
+lirr83,lirr205,lirr92,True,1725
+lirr83,lirr205,lirr102,False,2175
+lirr83,lirr205,lirr92,False,1725
+lirr83,lirr211,lirr102,True,2775
+lirr83,lirr211,lirr102,False,2025
+lirr83,lirr216,lirr102,True,2775
+lirr83,lirr216,lirr102,False,2025
+lirr83,lirr213,lirr102,True,2975
+lirr83,lirr213,lirr102,False,2175
+lirr83,lirr219,lirr102,True,2775
+lirr83,lirr219,lirr102,False,2025
+lirr83,lirr217,lirr102,True,2775
+lirr83,lirr217,lirr102,False,2025
+lirr83,lirr220,lirr102,True,3275
+lirr83,lirr220,lirr92,True,1775
+lirr83,lirr220,lirr102,False,2375
+lirr83,lirr220,lirr92,False,1775
+lirr83,lirr223,lirr102,True,4000
+lirr83,lirr223,lirr92,True,2450
+lirr83,lirr223,lirr102,False,2900
+lirr83,lirr223,lirr92,False,2450
+lirr84,lirr1,lirr102,True,1100
+lirr84,lirr1,lirr63,True,425
+lirr84,lirr1,lirr102,False,800
+lirr84,lirr1,lirr63,False,425
+lirr84,lirr4,lirr102,True,2775
+lirr84,lirr4,lirr63,True,1850
+lirr84,lirr4,lirr102,False,2025
+lirr84,lirr4,lirr63,False,1850
+lirr84,lirr8,lirr102,True,1350
+lirr84,lirr8,lirr102,False,975
+lirr84,lirr2,lirr214,True,1350
+lirr84,lirr2,lirr214,False,975
+lirr84,lirr27,lirr102,True,1350
+lirr84,lirr27,lirr63,True,600
+lirr84,lirr27,lirr102,False,975
+lirr84,lirr27,lirr63,False,600
+lirr84,lirr225,lirr102,True,1100
+lirr84,lirr225,lirr102,False,800
+lirr84,lirr26,lirr102,True,1650
+lirr84,lirr26,lirr63,True,825
+lirr84,lirr26,lirr102,False,1200
+lirr84,lirr26,lirr63,False,825
+lirr84,lirr25,lirr214,True,1350
+lirr84,lirr25,lirr214,False,975
+lirr84,lirr16,lirr102,True,1100
+lirr84,lirr16,lirr102,False,800
+lirr84,lirr21,lirr102,True,2125
+lirr84,lirr21,lirr63,True,1200
+lirr84,lirr21,lirr102,False,1550
+lirr84,lirr21,lirr63,False,1200
+lirr84,lirr20,lirr102,True,1100
+lirr84,lirr20,lirr63,True,425
+lirr84,lirr20,lirr102,False,800
+lirr84,lirr20,lirr63,False,425
+lirr84,lirr29,lirr102,True,1650
+lirr84,lirr29,lirr63,True,825
+lirr84,lirr29,lirr102,False,1200
+lirr84,lirr29,lirr63,False,825
+lirr84,lirr13,lirr102,True,2775
+lirr84,lirr13,lirr63,True,1850
+lirr84,lirr13,lirr102,False,2025
+lirr84,lirr13,lirr63,False,1850
+lirr84,lirr11,lirr214,True,1350
+lirr84,lirr11,lirr214,False,975
+lirr84,lirr39,lirr102,True,1100
+lirr84,lirr39,lirr102,False,800
+lirr84,lirr32,lirr102,True,1000
+lirr84,lirr32,lirr102,False,725
+lirr84,lirr33,lirr102,True,1650
+lirr84,lirr33,lirr63,True,825
+lirr84,lirr33,lirr102,False,1200
+lirr84,lirr33,lirr63,False,825
+lirr84,lirr31,lirr102,True,1100
+lirr84,lirr31,lirr102,False,800
+lirr84,lirr40,lirr102,True,1350
+lirr84,lirr40,lirr63,True,600
+lirr84,lirr40,lirr102,False,975
+lirr84,lirr40,lirr63,False,600
+lirr84,lirr38,lirr102,True,1350
+lirr84,lirr38,lirr102,False,975
+lirr84,lirr44,lirr102,True,1350
+lirr84,lirr44,lirr63,True,600
+lirr84,lirr44,lirr102,False,975
+lirr84,lirr44,lirr63,False,600
+lirr84,lirr42,lirr214,True,1350
+lirr84,lirr42,lirr214,False,975
+lirr84,lirr48,lirr102,True,2775
+lirr84,lirr48,lirr63,True,1850
+lirr84,lirr48,lirr102,False,2025
+lirr84,lirr48,lirr63,False,1850
+lirr84,lirr51,lirr102,True,1100
+lirr84,lirr51,lirr102,False,800
+lirr84,lirr52,lirr102,True,1000
+lirr84,lirr52,lirr63,True,425
+lirr84,lirr52,lirr102,False,725
+lirr84,lirr52,lirr63,False,425
+lirr84,lirr65,lirr102,True,1000
+lirr84,lirr65,lirr102,False,725
+lirr84,lirr59,lirr102,True,1100
+lirr84,lirr59,lirr63,True,425
+lirr84,lirr59,lirr102,False,800
+lirr84,lirr59,lirr63,False,425
+lirr84,lirr56,lirr214,True,1350
+lirr84,lirr56,lirr214,False,975
+lirr84,lirr64,lirr102,True,1100
+lirr84,lirr64,lirr102,False,800
+lirr84,lirr66,lirr102,True,1000
+lirr84,lirr66,lirr102,False,725
+lirr84,lirr67,lirr102,True,1100
+lirr84,lirr67,lirr63,True,425
+lirr84,lirr67,lirr102,False,800
+lirr84,lirr67,lirr63,False,425
+lirr84,lirr71,lirr102,True,1100
+lirr84,lirr71,lirr63,True,425
+lirr84,lirr71,lirr102,False,800
+lirr84,lirr71,lirr63,False,425
+lirr84,lirr76,lirr102,True,1100
+lirr84,lirr76,lirr63,True,425
+lirr84,lirr76,lirr102,False,800
+lirr84,lirr76,lirr63,False,425
+lirr84,lirr72,lirr214,True,1475
+lirr84,lirr72,lirr214,False,1075
+lirr84,lirr74,lirr102,True,1650
+lirr84,lirr74,lirr63,True,825
+lirr84,lirr74,lirr102,False,1200
+lirr84,lirr74,lirr63,False,825
+lirr84,lirr78,lirr102,True,1350
+lirr84,lirr78,lirr63,True,600
+lirr84,lirr78,lirr102,False,975
+lirr84,lirr78,lirr63,False,600
+lirr84,lirr73,lirr102,True,2775
+lirr84,lirr73,lirr63,True,1850
+lirr84,lirr73,lirr102,False,2025
+lirr84,lirr73,lirr63,False,1850
+lirr84,lirr77,lirr102,True,1100
+lirr84,lirr77,lirr63,True,425
+lirr84,lirr77,lirr102,False,800
+lirr84,lirr77,lirr63,False,425
+lirr84,lirr83,lirr102,True,2775
+lirr84,lirr83,lirr63,True,1850
+lirr84,lirr83,lirr102,False,2025
+lirr84,lirr83,lirr63,False,1850
+lirr84,lirr85,lirr102,True,1000
+lirr84,lirr85,lirr102,False,725
+lirr84,lirr94,lirr102,True,1000
+lirr84,lirr94,lirr102,False,725
+lirr84,lirr92,lirr102,True,1100
+lirr84,lirr92,lirr102,False,800
+lirr84,lirr91,lirr102,True,1350
+lirr84,lirr91,lirr63,True,600
+lirr84,lirr91,lirr102,False,975
+lirr84,lirr91,lirr63,False,600
+lirr84,lirr101,lirr102,True,1000
+lirr84,lirr101,lirr102,False,725
+lirr84,lirr99,lirr102,True,1100
+lirr84,lirr99,lirr102,False,800
+lirr84,lirr100,lirr102,True,1650
+lirr84,lirr100,lirr63,True,825
+lirr84,lirr100,lirr102,False,1200
+lirr84,lirr100,lirr63,False,825
+lirr84,lirr111,lirr102,True,1650
+lirr84,lirr111,lirr63,True,825
+lirr84,lirr111,lirr102,False,1200
+lirr84,lirr111,lirr63,False,825
+lirr84,lirr124,lirr102,True,1000
+lirr84,lirr124,lirr102,False,725
+lirr84,lirr122,lirr102,True,900
+lirr84,lirr122,lirr102,False,650
+lirr84,lirr114,lirr102,True,1000
+lirr84,lirr114,lirr102,False,725
+lirr84,lirr117,lirr102,True,1350
+lirr84,lirr117,lirr102,False,975
+lirr84,lirr120,lirr214,True,1350
+lirr84,lirr120,lirr214,False,975
+lirr84,lirr119,lirr102,True,900
+lirr84,lirr119,lirr102,False,650
+lirr84,lirr123,lirr102,True,1100
+lirr84,lirr123,lirr63,True,425
+lirr84,lirr123,lirr102,False,800
+lirr84,lirr123,lirr63,False,425
+lirr84,lirr113,lirr102,True,1100
+lirr84,lirr113,lirr102,False,800
+lirr84,lirr125,lirr102,True,1000
+lirr84,lirr125,lirr102,False,725
+lirr84,lirr142,lirr102,True,1000
+lirr84,lirr142,lirr102,False,725
+lirr84,lirr131,lirr214,True,1475
+lirr84,lirr131,lirr214,False,1075
+lirr84,lirr136,lirr102,True,1100
+lirr84,lirr136,lirr102,False,800
+lirr84,lirr135,lirr102,True,1100
+lirr84,lirr135,lirr102,False,800
+lirr84,lirr140,lirr102,True,2125
+lirr84,lirr140,lirr63,True,1200
+lirr84,lirr140,lirr102,False,1550
+lirr84,lirr140,lirr63,False,1200
+lirr84,lirr126,lirr102,True,2775
+lirr84,lirr126,lirr63,True,1850
+lirr84,lirr126,lirr102,False,2025
+lirr84,lirr126,lirr63,False,1850
+lirr84,lirr129,lirr102,True,1650
+lirr84,lirr129,lirr63,True,825
+lirr84,lirr129,lirr102,False,1200
+lirr84,lirr129,lirr63,False,825
+lirr84,lirr127,lirr102,True,1000
+lirr84,lirr127,lirr102,False,725
+lirr84,lirr226,lirr102,True,1100
+lirr84,lirr226,lirr102,False,800
+lirr84,lirr132,lirr102,True,1000
+lirr84,lirr132,lirr102,False,725
+lirr84,lirr141,lirr102,True,2775
+lirr84,lirr141,lirr63,True,1850
+lirr84,lirr141,lirr102,False,2025
+lirr84,lirr141,lirr63,False,1850
+lirr84,lirr130,lirr214,True,1350
+lirr84,lirr130,lirr214,False,975
+lirr84,lirr152,lirr102,True,1000
+lirr84,lirr152,lirr102,False,725
+lirr84,lirr153,lirr102,True,1350
+lirr84,lirr153,lirr63,True,600
+lirr84,lirr153,lirr102,False,975
+lirr84,lirr153,lirr63,False,600
+lirr84,lirr157,lirr102,True,1650
+lirr84,lirr157,lirr63,True,825
+lirr84,lirr157,lirr102,False,1200
+lirr84,lirr157,lirr63,False,825
+lirr84,lirr155,lirr102,True,1100
+lirr84,lirr155,lirr102,False,800
+lirr84,lirr154,lirr102,True,1100
+lirr84,lirr154,lirr63,True,425
+lirr84,lirr154,lirr102,False,800
+lirr84,lirr154,lirr63,False,425
+lirr84,lirr163,lirr102,True,1650
+lirr84,lirr163,lirr63,True,825
+lirr84,lirr163,lirr102,False,1200
+lirr84,lirr163,lirr63,False,825
+lirr84,lirr165,lirr102,True,1350
+lirr84,lirr165,lirr63,True,600
+lirr84,lirr165,lirr102,False,975
+lirr84,lirr165,lirr63,False,600
+lirr84,lirr162,lirr214,True,1475
+lirr84,lirr162,lirr214,False,1075
+lirr84,lirr164,lirr102,True,1650
+lirr84,lirr164,lirr63,True,825
+lirr84,lirr164,lirr102,False,1200
+lirr84,lirr164,lirr63,False,825
+lirr84,lirr171,lirr214,True,1475
+lirr84,lirr171,lirr214,False,1075
+lirr84,lirr176,lirr102,True,2775
+lirr84,lirr176,lirr63,True,1850
+lirr84,lirr176,lirr102,False,2025
+lirr84,lirr176,lirr63,False,1850
+lirr84,lirr183,lirr102,True,1100
+lirr84,lirr183,lirr102,False,800
+lirr84,lirr179,lirr102,True,1650
+lirr84,lirr179,lirr63,True,825
+lirr84,lirr179,lirr102,False,1200
+lirr84,lirr179,lirr63,False,825
+lirr84,lirr180,lirr102,True,900
+lirr84,lirr180,lirr102,False,650
+lirr84,lirr182,lirr102,True,1100
+lirr84,lirr182,lirr63,True,425
+lirr84,lirr182,lirr102,False,800
+lirr84,lirr182,lirr63,False,425
+lirr84,lirr204,lirr102,True,1650
+lirr84,lirr204,lirr63,True,825
+lirr84,lirr204,lirr102,False,1200
+lirr84,lirr204,lirr63,False,825
+lirr84,lirr185,lirr102,True,1100
+lirr84,lirr185,lirr63,True,425
+lirr84,lirr185,lirr102,False,800
+lirr84,lirr185,lirr63,False,425
+lirr84,lirr187,lirr102,True,1100
+lirr84,lirr187,lirr102,False,800
+lirr84,lirr202,lirr102,True,1650
+lirr84,lirr202,lirr63,True,825
+lirr84,lirr202,lirr102,False,1200
+lirr84,lirr202,lirr63,False,825
+lirr84,lirr191,lirr102,True,2775
+lirr84,lirr191,lirr63,True,1850
+lirr84,lirr191,lirr102,False,2025
+lirr84,lirr191,lirr63,False,1850
+lirr84,lirr190,lirr102,True,2775
+lirr84,lirr190,lirr63,True,1850
+lirr84,lirr190,lirr102,False,2025
+lirr84,lirr190,lirr63,False,1850
+lirr84,lirr198,lirr102,True,2125
+lirr84,lirr198,lirr63,True,1200
+lirr84,lirr198,lirr102,False,1550
+lirr84,lirr198,lirr63,False,1200
+lirr84,lirr184,lirr102,True,900
+lirr84,lirr184,lirr102,False,650
+lirr84,lirr193,lirr102,True,1650
+lirr84,lirr193,lirr63,True,825
+lirr84,lirr193,lirr102,False,1200
+lirr84,lirr193,lirr63,False,825
+lirr84,lirr14,lirr102,True,1650
+lirr84,lirr14,lirr63,True,825
+lirr84,lirr14,lirr102,False,1200
+lirr84,lirr14,lirr63,False,825
+lirr84,lirr205,lirr102,True,1100
+lirr84,lirr205,lirr63,True,425
+lirr84,lirr205,lirr102,False,800
+lirr84,lirr205,lirr63,False,425
+lirr84,lirr211,lirr102,True,1000
+lirr84,lirr211,lirr102,False,725
+lirr84,lirr215,lirr102,True,1100
+lirr84,lirr215,lirr102,False,800
+lirr84,lirr216,lirr102,True,1000
+lirr84,lirr216,lirr102,False,725
+lirr84,lirr213,lirr102,True,1100
+lirr84,lirr213,lirr102,False,800
+lirr84,lirr233,lirr102,True,2775
+lirr84,lirr233,lirr63,True,1850
+lirr84,lirr233,lirr102,False,2025
+lirr84,lirr233,lirr63,False,1850
+lirr84,lirr219,lirr102,True,1000
+lirr84,lirr219,lirr102,False,725
+lirr84,lirr217,lirr102,True,1000
+lirr84,lirr217,lirr102,False,725
+lirr84,lirr220,lirr102,True,1350
+lirr84,lirr220,lirr63,True,600
+lirr84,lirr220,lirr102,False,975
+lirr84,lirr220,lirr63,False,600
+lirr84,lirr223,lirr102,True,2125
+lirr84,lirr223,lirr63,True,1200
+lirr84,lirr223,lirr102,False,1550
+lirr84,lirr223,lirr63,False,1200
+lirr85,lirr1,lirr102,True,1100
+lirr85,lirr1,lirr102,False,800
+lirr85,lirr4,lirr102,True,2775
+lirr85,lirr4,lirr102,False,2025
+lirr85,lirr8,lirr102,True,1350
+lirr85,lirr8,lirr102,False,975
+lirr85,lirr2,lirr214,True,1350
+lirr85,lirr2,lirr214,False,975
+lirr85,lirr27,lirr102,True,1350
+lirr85,lirr27,lirr102,False,975
+lirr85,lirr225,lirr102,True,1100
+lirr85,lirr225,lirr102,False,800
+lirr85,lirr26,lirr102,True,1650
+lirr85,lirr26,lirr102,False,1200
+lirr85,lirr25,lirr214,True,1350
+lirr85,lirr25,lirr214,False,975
+lirr85,lirr23,lirr102,True,1000
+lirr85,lirr23,lirr102,False,725
+lirr85,lirr16,lirr102,True,1100
+lirr85,lirr16,lirr102,False,800
+lirr85,lirr21,lirr102,True,2125
+lirr85,lirr21,lirr102,False,1550
+lirr85,lirr20,lirr102,True,1100
+lirr85,lirr20,lirr102,False,800
+lirr85,lirr29,lirr102,True,1650
+lirr85,lirr29,lirr102,False,1200
+lirr85,lirr13,lirr102,True,2775
+lirr85,lirr13,lirr102,False,2025
+lirr85,lirr11,lirr214,True,1350
+lirr85,lirr11,lirr214,False,975
+lirr85,lirr39,lirr102,True,1100
+lirr85,lirr39,lirr102,False,800
+lirr85,lirr32,lirr211,True,425
+lirr85,lirr32,lirr211,False,425
+lirr85,lirr33,lirr102,True,1650
+lirr85,lirr33,lirr102,False,1200
+lirr85,lirr31,lirr211,True,425
+lirr85,lirr31,lirr211,False,425
+lirr85,lirr40,lirr102,True,1350
+lirr85,lirr40,lirr102,False,975
+lirr85,lirr38,lirr102,True,1350
+lirr85,lirr38,lirr102,False,975
+lirr85,lirr36,lirr102,True,1000
+lirr85,lirr36,lirr102,False,725
+lirr85,lirr44,lirr102,True,1350
+lirr85,lirr44,lirr102,False,975
+lirr85,lirr42,lirr214,True,1350
+lirr85,lirr42,lirr214,False,975
+lirr85,lirr48,lirr102,True,2775
+lirr85,lirr48,lirr102,False,2025
+lirr85,lirr51,lirr211,True,425
+lirr85,lirr51,lirr211,False,425
+lirr85,lirr52,lirr102,True,1000
+lirr85,lirr52,lirr102,False,725
+lirr85,lirr65,lirr211,True,425
+lirr85,lirr65,lirr211,False,425
+lirr85,lirr59,lirr102,True,1100
+lirr85,lirr59,lirr102,False,800
+lirr85,lirr63,lirr102,True,1000
+lirr85,lirr63,lirr102,False,725
+lirr85,lirr56,lirr214,True,1350
+lirr85,lirr56,lirr214,False,975
+lirr85,lirr64,lirr102,True,1100
+lirr85,lirr64,lirr102,False,800
+lirr85,lirr68,lirr102,True,1000
+lirr85,lirr68,lirr102,False,725
+lirr85,lirr66,lirr211,True,425
+lirr85,lirr66,lirr211,False,425
+lirr85,lirr67,lirr102,True,1100
+lirr85,lirr67,lirr102,False,800
+lirr85,lirr71,lirr102,True,1100
+lirr85,lirr71,lirr102,False,800
+lirr85,lirr76,lirr102,True,1100
+lirr85,lirr76,lirr102,False,800
+lirr85,lirr72,lirr214,True,1475
+lirr85,lirr72,lirr214,False,1075
+lirr85,lirr74,lirr102,True,1650
+lirr85,lirr74,lirr102,False,1200
+lirr85,lirr78,lirr102,True,1350
+lirr85,lirr78,lirr102,False,975
+lirr85,lirr73,lirr102,True,2775
+lirr85,lirr73,lirr102,False,2025
+lirr85,lirr77,lirr102,True,1100
+lirr85,lirr77,lirr102,False,800
+lirr85,lirr83,lirr102,True,2775
+lirr85,lirr83,lirr102,False,2025
+lirr85,lirr84,lirr102,True,1000
+lirr85,lirr84,lirr102,False,725
+lirr85,lirr94,lirr211,True,425
+lirr85,lirr94,lirr211,False,425
+lirr85,lirr92,lirr102,True,1100
+lirr85,lirr92,lirr102,False,800
+lirr85,lirr89,lirr102,True,900
+lirr85,lirr89,lirr102,False,650
+lirr85,lirr91,lirr102,True,1350
+lirr85,lirr91,lirr102,False,975
+lirr85,lirr101,lirr211,True,425
+lirr85,lirr101,lirr211,False,425
+lirr85,lirr99,lirr211,True,425
+lirr85,lirr99,lirr211,False,425
+lirr85,lirr100,lirr102,True,1650
+lirr85,lirr100,lirr102,False,1200
+lirr85,lirr111,lirr102,True,1650
+lirr85,lirr111,lirr102,False,1200
+lirr85,lirr122,lirr102,True,900
+lirr85,lirr122,lirr102,False,650
+lirr85,lirr114,lirr211,True,425
+lirr85,lirr114,lirr211,False,425
+lirr85,lirr117,lirr102,True,1350
+lirr85,lirr117,lirr102,False,975
+lirr85,lirr120,lirr214,True,1350
+lirr85,lirr120,lirr214,False,975
+lirr85,lirr119,lirr102,True,900
+lirr85,lirr119,lirr102,False,650
+lirr85,lirr123,lirr102,True,1100
+lirr85,lirr123,lirr102,False,800
+lirr85,lirr113,lirr211,True,425
+lirr85,lirr113,lirr211,False,425
+lirr85,lirr125,lirr211,True,425
+lirr85,lirr125,lirr211,False,425
+lirr85,lirr131,lirr214,True,1475
+lirr85,lirr131,lirr214,False,1075
+lirr85,lirr136,lirr102,True,1100
+lirr85,lirr136,lirr102,False,800
+lirr85,lirr135,lirr102,True,1100
+lirr85,lirr135,lirr102,False,800
+lirr85,lirr140,lirr102,True,2125
+lirr85,lirr140,lirr102,False,1550
+lirr85,lirr126,lirr102,True,2775
+lirr85,lirr126,lirr102,False,2025
+lirr85,lirr129,lirr102,True,1650
+lirr85,lirr129,lirr102,False,1200
+lirr85,lirr127,lirr102,True,1000
+lirr85,lirr127,lirr102,False,725
+lirr85,lirr226,lirr102,True,1100
+lirr85,lirr226,lirr102,False,800
+lirr85,lirr132,lirr102,True,1000
+lirr85,lirr132,lirr102,False,725
+lirr85,lirr141,lirr102,True,2775
+lirr85,lirr141,lirr102,False,2025
+lirr85,lirr130,lirr214,True,1350
+lirr85,lirr130,lirr214,False,975
+lirr85,lirr149,lirr102,True,1000
+lirr85,lirr149,lirr102,False,725
+lirr85,lirr152,lirr102,True,1000
+lirr85,lirr152,lirr102,False,725
+lirr85,lirr153,lirr102,True,1350
+lirr85,lirr153,lirr102,False,975
+lirr85,lirr157,lirr102,True,1650
+lirr85,lirr157,lirr102,False,1200
+lirr85,lirr155,lirr211,True,425
+lirr85,lirr155,lirr211,False,425
+lirr85,lirr154,lirr102,True,1100
+lirr85,lirr154,lirr102,False,800
+lirr85,lirr163,lirr102,True,1650
+lirr85,lirr163,lirr102,False,1200
+lirr85,lirr165,lirr102,True,1350
+lirr85,lirr165,lirr102,False,975
+lirr85,lirr162,lirr214,True,1475
+lirr85,lirr162,lirr214,False,1075
+lirr85,lirr164,lirr102,True,1650
+lirr85,lirr164,lirr102,False,1200
+lirr85,lirr171,lirr214,True,1475
+lirr85,lirr171,lirr214,False,1075
+lirr85,lirr175,lirr102,True,900
+lirr85,lirr175,lirr102,False,650
+lirr85,lirr176,lirr102,True,2775
+lirr85,lirr176,lirr102,False,2025
+lirr85,lirr183,lirr102,True,1100
+lirr85,lirr183,lirr102,False,800
+lirr85,lirr179,lirr102,True,1650
+lirr85,lirr179,lirr102,False,1200
+lirr85,lirr180,lirr102,True,900
+lirr85,lirr180,lirr102,False,650
+lirr85,lirr182,lirr102,True,1100
+lirr85,lirr182,lirr102,False,800
+lirr85,lirr204,lirr102,True,1650
+lirr85,lirr204,lirr102,False,1200
+lirr85,lirr185,lirr102,True,1100
+lirr85,lirr185,lirr102,False,800
+lirr85,lirr187,lirr102,True,1100
+lirr85,lirr187,lirr102,False,800
+lirr85,lirr202,lirr102,True,1650
+lirr85,lirr202,lirr102,False,1200
+lirr85,lirr191,lirr102,True,2775
+lirr85,lirr191,lirr102,False,2025
+lirr85,lirr190,lirr102,True,2775
+lirr85,lirr190,lirr102,False,2025
+lirr85,lirr198,lirr102,True,2125
+lirr85,lirr198,lirr102,False,1550
+lirr85,lirr193,lirr102,True,1650
+lirr85,lirr193,lirr102,False,1200
+lirr85,lirr195,lirr102,True,1000
+lirr85,lirr195,lirr102,False,725
+lirr85,lirr14,lirr102,True,1650
+lirr85,lirr14,lirr102,False,1200
+lirr85,lirr205,lirr102,True,1100
+lirr85,lirr205,lirr102,False,800
+lirr85,lirr215,lirr102,True,1100
+lirr85,lirr215,lirr102,False,800
+lirr85,lirr213,lirr102,True,1100
+lirr85,lirr213,lirr102,False,800
+lirr85,lirr233,lirr102,True,2775
+lirr85,lirr233,lirr102,False,2025
+lirr85,lirr217,lirr211,True,425
+lirr85,lirr217,lirr211,False,425
+lirr85,lirr220,lirr102,True,1350
+lirr85,lirr220,lirr102,False,975
+lirr85,lirr223,lirr102,True,2125
+lirr85,lirr223,lirr102,False,1550
+lirr94,lirr1,lirr102,True,1100
+lirr94,lirr1,lirr102,False,800
+lirr94,lirr4,lirr102,True,2775
+lirr94,lirr4,lirr102,False,2025
+lirr94,lirr8,lirr102,True,1350
+lirr94,lirr8,lirr211,True,600
+lirr94,lirr8,lirr102,False,975
+lirr94,lirr8,lirr211,False,600
+lirr94,lirr2,lirr214,True,1350
+lirr94,lirr2,lirr214,False,975
+lirr94,lirr27,lirr102,True,1350
+lirr94,lirr27,lirr211,True,600
+lirr94,lirr27,lirr102,False,975
+lirr94,lirr27,lirr211,False,600
+lirr94,lirr225,lirr102,True,1100
+lirr94,lirr225,lirr211,True,425
+lirr94,lirr225,lirr102,False,800
+lirr94,lirr225,lirr211,False,425
+lirr94,lirr26,lirr102,True,1650
+lirr94,lirr26,lirr102,False,1200
+lirr94,lirr25,lirr214,True,1350
+lirr94,lirr25,lirr214,False,975
+lirr94,lirr23,lirr102,True,1000
+lirr94,lirr23,lirr102,False,725
+lirr94,lirr16,lirr102,True,1100
+lirr94,lirr16,lirr211,True,425
+lirr94,lirr16,lirr102,False,800
+lirr94,lirr16,lirr211,False,425
+lirr94,lirr21,lirr102,True,2125
+lirr94,lirr21,lirr102,False,1550
+lirr94,lirr20,lirr102,True,1100
+lirr94,lirr20,lirr102,False,800
+lirr94,lirr29,lirr102,True,1650
+lirr94,lirr29,lirr102,False,1200
+lirr94,lirr13,lirr102,True,2775
+lirr94,lirr13,lirr102,False,2025
+lirr94,lirr11,lirr214,True,1350
+lirr94,lirr11,lirr214,False,975
+lirr94,lirr39,lirr102,True,1100
+lirr94,lirr39,lirr102,False,800
+lirr94,lirr33,lirr102,True,1650
+lirr94,lirr33,lirr102,False,1200
+lirr94,lirr31,lirr211,True,425
+lirr94,lirr31,lirr211,False,425
+lirr94,lirr40,lirr102,True,1350
+lirr94,lirr40,lirr102,False,975
+lirr94,lirr38,lirr102,True,1350
+lirr94,lirr38,lirr211,True,600
+lirr94,lirr38,lirr102,False,975
+lirr94,lirr38,lirr211,False,600
+lirr94,lirr36,lirr102,True,1000
+lirr94,lirr36,lirr102,False,725
+lirr94,lirr44,lirr102,True,1350
+lirr94,lirr44,lirr102,False,975
+lirr94,lirr42,lirr214,True,1350
+lirr94,lirr42,lirr214,False,975
+lirr94,lirr48,lirr102,True,2775
+lirr94,lirr48,lirr102,False,2025
+lirr94,lirr51,lirr211,True,425
+lirr94,lirr51,lirr211,False,425
+lirr94,lirr52,lirr102,True,1000
+lirr94,lirr52,lirr102,False,725
+lirr94,lirr59,lirr102,True,1100
+lirr94,lirr59,lirr102,False,800
+lirr94,lirr63,lirr102,True,1000
+lirr94,lirr63,lirr102,False,725
+lirr94,lirr56,lirr214,True,1350
+lirr94,lirr56,lirr214,False,975
+lirr94,lirr64,lirr102,True,1100
+lirr94,lirr64,lirr211,True,425
+lirr94,lirr64,lirr102,False,800
+lirr94,lirr64,lirr211,False,425
+lirr94,lirr68,lirr102,True,1000
+lirr94,lirr68,lirr102,False,725
+lirr94,lirr67,lirr102,True,1100
+lirr94,lirr67,lirr102,False,800
+lirr94,lirr71,lirr102,True,1100
+lirr94,lirr71,lirr102,False,800
+lirr94,lirr76,lirr102,True,1100
+lirr94,lirr76,lirr102,False,800
+lirr94,lirr72,lirr214,True,1475
+lirr94,lirr72,lirr214,False,1075
+lirr94,lirr74,lirr102,True,1650
+lirr94,lirr74,lirr102,False,1200
+lirr94,lirr78,lirr102,True,1350
+lirr94,lirr78,lirr102,False,975
+lirr94,lirr73,lirr102,True,2775
+lirr94,lirr73,lirr102,False,2025
+lirr94,lirr77,lirr102,True,1100
+lirr94,lirr77,lirr102,False,800
+lirr94,lirr83,lirr102,True,2775
+lirr94,lirr83,lirr102,False,2025
+lirr94,lirr84,lirr102,True,1000
+lirr94,lirr84,lirr102,False,725
+lirr94,lirr85,lirr211,True,425
+lirr94,lirr85,lirr211,False,425
+lirr94,lirr92,lirr102,True,1100
+lirr94,lirr92,lirr102,False,800
+lirr94,lirr89,lirr102,True,900
+lirr94,lirr89,lirr102,False,650
+lirr94,lirr91,lirr102,True,1350
+lirr94,lirr91,lirr102,False,975
+lirr94,lirr99,lirr211,True,425
+lirr94,lirr99,lirr211,False,425
+lirr94,lirr100,lirr102,True,1650
+lirr94,lirr100,lirr102,False,1200
+lirr94,lirr111,lirr102,True,1650
+lirr94,lirr111,lirr102,False,1200
+lirr94,lirr124,lirr211,True,425
+lirr94,lirr124,lirr211,False,425
+lirr94,lirr117,lirr102,True,1350
+lirr94,lirr117,lirr211,True,600
+lirr94,lirr117,lirr102,False,975
+lirr94,lirr117,lirr211,False,600
+lirr94,lirr120,lirr214,True,1350
+lirr94,lirr120,lirr214,False,975
+lirr94,lirr123,lirr102,True,1100
+lirr94,lirr123,lirr102,False,800
+lirr94,lirr113,lirr211,True,425
+lirr94,lirr113,lirr211,False,425
+lirr94,lirr125,lirr211,True,425
+lirr94,lirr125,lirr211,False,425
+lirr94,lirr142,lirr211,True,425
+lirr94,lirr142,lirr211,False,425
+lirr94,lirr131,lirr214,True,1475
+lirr94,lirr131,lirr214,False,1075
+lirr94,lirr136,lirr102,True,1100
+lirr94,lirr136,lirr211,True,425
+lirr94,lirr136,lirr102,False,800
+lirr94,lirr136,lirr211,False,425
+lirr94,lirr135,lirr102,True,1100
+lirr94,lirr135,lirr211,True,425
+lirr94,lirr135,lirr102,False,800
+lirr94,lirr135,lirr211,False,425
+lirr94,lirr140,lirr102,True,2125
+lirr94,lirr140,lirr102,False,1550
+lirr94,lirr126,lirr102,True,2775
+lirr94,lirr126,lirr102,False,2025
+lirr94,lirr129,lirr102,True,1650
+lirr94,lirr129,lirr102,False,1200
+lirr94,lirr127,lirr102,True,1000
+lirr94,lirr127,lirr102,False,725
+lirr94,lirr226,lirr102,True,1100
+lirr94,lirr226,lirr211,True,425
+lirr94,lirr226,lirr102,False,800
+lirr94,lirr226,lirr211,False,425
+lirr94,lirr132,lirr102,True,1000
+lirr94,lirr132,lirr102,False,725
+lirr94,lirr141,lirr102,True,2775
+lirr94,lirr141,lirr102,False,2025
+lirr94,lirr130,lirr214,True,1350
+lirr94,lirr130,lirr214,False,975
+lirr94,lirr149,lirr102,True,1000
+lirr94,lirr149,lirr102,False,725
+lirr94,lirr152,lirr102,True,1000
+lirr94,lirr152,lirr102,False,725
+lirr94,lirr153,lirr102,True,1350
+lirr94,lirr153,lirr102,False,975
+lirr94,lirr157,lirr102,True,1650
+lirr94,lirr157,lirr102,False,1200
+lirr94,lirr155,lirr211,True,425
+lirr94,lirr155,lirr211,False,425
+lirr94,lirr154,lirr102,True,1100
+lirr94,lirr154,lirr102,False,800
+lirr94,lirr163,lirr102,True,1650
+lirr94,lirr163,lirr102,False,1200
+lirr94,lirr165,lirr102,True,1350
+lirr94,lirr165,lirr102,False,975
+lirr94,lirr162,lirr214,True,1475
+lirr94,lirr162,lirr214,False,1075
+lirr94,lirr164,lirr102,True,1650
+lirr94,lirr164,lirr102,False,1200
+lirr94,lirr171,lirr214,True,1475
+lirr94,lirr171,lirr214,False,1075
+lirr94,lirr175,lirr102,True,900
+lirr94,lirr175,lirr102,False,650
+lirr94,lirr176,lirr102,True,2775
+lirr94,lirr176,lirr102,False,2025
+lirr94,lirr183,lirr102,True,1100
+lirr94,lirr183,lirr211,True,425
+lirr94,lirr183,lirr102,False,800
+lirr94,lirr183,lirr211,False,425
+lirr94,lirr179,lirr102,True,1650
+lirr94,lirr179,lirr102,False,1200
+lirr94,lirr182,lirr102,True,1100
+lirr94,lirr182,lirr102,False,800
+lirr94,lirr204,lirr102,True,1650
+lirr94,lirr204,lirr102,False,1200
+lirr94,lirr185,lirr102,True,1100
+lirr94,lirr185,lirr102,False,800
+lirr94,lirr187,lirr102,True,1100
+lirr94,lirr187,lirr211,True,425
+lirr94,lirr187,lirr102,False,800
+lirr94,lirr187,lirr211,False,425
+lirr94,lirr202,lirr102,True,1650
+lirr94,lirr202,lirr102,False,1200
+lirr94,lirr191,lirr102,True,2775
+lirr94,lirr191,lirr102,False,2025
+lirr94,lirr190,lirr102,True,2775
+lirr94,lirr190,lirr102,False,2025
+lirr94,lirr198,lirr102,True,2125
+lirr94,lirr198,lirr102,False,1550
+lirr94,lirr193,lirr102,True,1650
+lirr94,lirr193,lirr102,False,1200
+lirr94,lirr195,lirr102,True,1000
+lirr94,lirr195,lirr102,False,725
+lirr94,lirr14,lirr102,True,1650
+lirr94,lirr14,lirr102,False,1200
+lirr94,lirr205,lirr102,True,1100
+lirr94,lirr205,lirr102,False,800
+lirr94,lirr215,lirr102,True,1100
+lirr94,lirr215,lirr211,True,425
+lirr94,lirr215,lirr102,False,800
+lirr94,lirr215,lirr211,False,425
+lirr94,lirr216,lirr211,True,425
+lirr94,lirr216,lirr211,False,425
+lirr94,lirr213,lirr102,True,1100
+lirr94,lirr213,lirr102,False,800
+lirr94,lirr233,lirr102,True,2775
+lirr94,lirr233,lirr102,False,2025
+lirr94,lirr219,lirr211,True,425
+lirr94,lirr219,lirr211,False,425
+lirr94,lirr220,lirr102,True,1350
+lirr94,lirr220,lirr102,False,975
+lirr94,lirr223,lirr102,True,2125
+lirr94,lirr223,lirr102,False,1550
+lirr92,lirr1,lirr132,True,450
+lirr92,lirr1,lirr132,False,450
+lirr92,lirr4,lirr102,True,2975
+lirr92,lirr4,lirr102,False,2175
+lirr92,lirr8,lirr102,True,1575
+lirr92,lirr8,lirr102,False,1150
+lirr92,lirr2,lirr214,True,1575
+lirr92,lirr2,lirr214,False,1150
+lirr92,lirr27,lirr102,True,1575
+lirr92,lirr27,lirr102,False,1150
+lirr92,lirr225,lirr102,True,1225
+lirr92,lirr225,lirr102,False,900
+lirr92,lirr26,lirr102,True,1825
+lirr92,lirr26,lirr102,False,1325
+lirr92,lirr25,lirr214,True,1575
+lirr92,lirr25,lirr214,False,1150
+lirr92,lirr23,lirr102,True,1100
+lirr92,lirr23,lirr102,False,800
+lirr92,lirr16,lirr102,True,1225
+lirr92,lirr16,lirr102,False,900
+lirr92,lirr21,lirr102,True,2275
+lirr92,lirr21,lirr102,False,1650
+lirr92,lirr13,lirr102,True,2975
+lirr92,lirr13,lirr102,False,2175
+lirr92,lirr11,lirr214,True,1575
+lirr92,lirr11,lirr214,False,1150
+lirr92,lirr32,lirr102,True,1100
+lirr92,lirr32,lirr102,False,800
+lirr92,lirr31,lirr102,True,1225
+lirr92,lirr31,lirr102,False,900
+lirr92,lirr38,lirr102,True,1575
+lirr92,lirr38,lirr102,False,1150
+lirr92,lirr36,lirr102,True,1100
+lirr92,lirr36,lirr102,False,800
+lirr92,lirr42,lirr214,True,1575
+lirr92,lirr42,lirr214,False,1150
+lirr92,lirr48,lirr102,True,2975
+lirr92,lirr48,lirr102,False,2175
+lirr92,lirr51,lirr102,True,1225
+lirr92,lirr51,lirr102,False,900
+lirr92,lirr52,lirr132,True,425
+lirr92,lirr52,lirr132,False,425
+lirr92,lirr65,lirr102,True,1100
+lirr92,lirr65,lirr102,False,800
+lirr92,lirr63,lirr102,True,1100
+lirr92,lirr63,lirr102,False,800
+lirr92,lirr56,lirr214,True,1575
+lirr92,lirr56,lirr214,False,1150
+lirr92,lirr64,lirr102,True,1225
+lirr92,lirr64,lirr102,False,900
+lirr92,lirr68,lirr102,True,1100
+lirr92,lirr68,lirr102,False,800
+lirr92,lirr66,lirr102,True,1100
+lirr92,lirr66,lirr102,False,800
+lirr92,lirr67,lirr132,True,450
+lirr92,lirr67,lirr132,False,450
+lirr92,lirr71,lirr132,True,450
+lirr92,lirr71,lirr132,False,450
+lirr92,lirr76,lirr132,True,450
+lirr92,lirr76,lirr132,False,450
+lirr92,lirr72,lirr214,True,1725
+lirr92,lirr72,lirr214,False,1250
+lirr92,lirr74,lirr102,True,1825
+lirr92,lirr74,lirr102,False,1325
+lirr92,lirr77,lirr132,True,450
+lirr92,lirr77,lirr132,False,450
+lirr92,lirr83,lirr102,True,2975
+lirr92,lirr83,lirr102,False,2175
+lirr92,lirr84,lirr102,True,1100
+lirr92,lirr84,lirr102,False,800
+lirr92,lirr85,lirr102,True,1100
+lirr92,lirr85,lirr102,False,800
+lirr92,lirr94,lirr102,True,1100
+lirr92,lirr94,lirr102,False,800
+lirr92,lirr89,lirr102,True,1050
+lirr92,lirr89,lirr102,False,775
+lirr92,lirr101,lirr102,True,1100
+lirr92,lirr101,lirr102,False,800
+lirr92,lirr99,lirr102,True,1225
+lirr92,lirr99,lirr102,False,900
+lirr92,lirr100,lirr102,True,1825
+lirr92,lirr100,lirr102,False,1325
+lirr92,lirr124,lirr102,True,1100
+lirr92,lirr124,lirr102,False,800
+lirr92,lirr122,lirr102,True,1050
+lirr92,lirr122,lirr102,False,775
+lirr92,lirr114,lirr102,True,1100
+lirr92,lirr114,lirr102,False,800
+lirr92,lirr117,lirr102,True,1575
+lirr92,lirr117,lirr102,False,1150
+lirr92,lirr120,lirr214,True,1575
+lirr92,lirr120,lirr214,False,1150
+lirr92,lirr119,lirr102,True,1050
+lirr92,lirr119,lirr102,False,775
+lirr92,lirr123,lirr132,True,450
+lirr92,lirr123,lirr132,False,450
+lirr92,lirr113,lirr102,True,1225
+lirr92,lirr113,lirr102,False,900
+lirr92,lirr125,lirr102,True,1100
+lirr92,lirr125,lirr102,False,800
+lirr92,lirr142,lirr102,True,1100
+lirr92,lirr142,lirr102,False,800
+lirr92,lirr131,lirr214,True,1725
+lirr92,lirr131,lirr214,False,1250
+lirr92,lirr136,lirr102,True,1225
+lirr92,lirr136,lirr102,False,900
+lirr92,lirr135,lirr102,True,1225
+lirr92,lirr135,lirr102,False,900
+lirr92,lirr140,lirr102,True,2275
+lirr92,lirr140,lirr102,False,1650
+lirr92,lirr226,lirr102,True,1225
+lirr92,lirr226,lirr102,False,900
+lirr92,lirr141,lirr102,True,2975
+lirr92,lirr141,lirr102,False,2175
+lirr92,lirr130,lirr214,True,1575
+lirr92,lirr130,lirr214,False,1150
+lirr92,lirr149,lirr102,True,1100
+lirr92,lirr149,lirr102,False,800
+lirr92,lirr157,lirr102,True,1825
+lirr92,lirr157,lirr102,False,1325
+lirr92,lirr155,lirr102,True,1225
+lirr92,lirr155,lirr102,False,900
+lirr92,lirr154,lirr132,True,450
+lirr92,lirr154,lirr132,False,450
+lirr92,lirr163,lirr102,True,1825
+lirr92,lirr163,lirr102,False,1325
+lirr92,lirr162,lirr214,True,1725
+lirr92,lirr162,lirr214,False,1250
+lirr92,lirr171,lirr214,True,1725
+lirr92,lirr171,lirr214,False,1250
+lirr92,lirr175,lirr102,True,1050
+lirr92,lirr175,lirr102,False,775
+lirr92,lirr183,lirr102,True,1225
+lirr92,lirr183,lirr102,False,900
+lirr92,lirr180,lirr102,True,1050
+lirr92,lirr180,lirr102,False,775
+lirr92,lirr182,lirr132,True,450
+lirr92,lirr182,lirr132,False,450
+lirr92,lirr204,lirr102,True,1825
+lirr92,lirr204,lirr102,False,1325
+lirr92,lirr185,lirr132,True,450
+lirr92,lirr185,lirr132,False,450
+lirr92,lirr187,lirr102,True,1225
+lirr92,lirr187,lirr102,False,900
+lirr92,lirr191,lirr102,True,2975
+lirr92,lirr191,lirr102,False,2175
+lirr92,lirr198,lirr102,True,2275
+lirr92,lirr198,lirr102,False,1650
+lirr92,lirr184,lirr102,True,1050
+lirr92,lirr184,lirr102,False,775
+lirr92,lirr195,lirr102,True,1100
+lirr92,lirr195,lirr102,False,800
+lirr92,lirr211,lirr102,True,1100
+lirr92,lirr211,lirr102,False,800
+lirr92,lirr215,lirr102,True,1225
+lirr92,lirr215,lirr102,False,900
+lirr92,lirr216,lirr102,True,1100
+lirr92,lirr216,lirr102,False,800
+lirr92,lirr233,lirr102,True,2975
+lirr92,lirr233,lirr102,False,2175
+lirr92,lirr219,lirr102,True,1100
+lirr92,lirr219,lirr102,False,800
+lirr92,lirr217,lirr102,True,1100
+lirr92,lirr217,lirr102,False,800
+lirr89,lirr1,lirr102,True,1050
+lirr89,lirr1,lirr102,False,775
+lirr89,lirr4,lirr102,True,2700
+lirr89,lirr4,lirr102,False,1975
+lirr89,lirr8,lirr102,True,1300
+lirr89,lirr8,lirr102,False,950
+lirr89,lirr2,lirr214,True,1200
+lirr89,lirr2,lirr214,False,875
+lirr89,lirr27,lirr102,True,1300
+lirr89,lirr27,lirr102,False,950
+lirr89,lirr225,lirr102,True,1050
+lirr89,lirr225,lirr102,False,775
+lirr89,lirr26,lirr102,True,1575
+lirr89,lirr26,lirr102,False,1150
+lirr89,lirr25,lirr214,True,1200
+lirr89,lirr25,lirr214,False,875
+lirr89,lirr16,lirr102,True,1050
+lirr89,lirr16,lirr102,False,775
+lirr89,lirr21,lirr102,True,2050
+lirr89,lirr21,lirr102,False,1500
+lirr89,lirr20,lirr102,True,1050
+lirr89,lirr20,lirr102,False,775
+lirr89,lirr29,lirr102,True,1575
+lirr89,lirr29,lirr102,False,1150
+lirr89,lirr13,lirr102,True,2700
+lirr89,lirr13,lirr102,False,1975
+lirr89,lirr11,lirr214,True,1200
+lirr89,lirr11,lirr214,False,875
+lirr89,lirr39,lirr102,True,1050
+lirr89,lirr39,lirr102,False,775
+lirr89,lirr32,lirr102,True,900
+lirr89,lirr32,lirr102,False,650
+lirr89,lirr33,lirr102,True,1575
+lirr89,lirr33,lirr102,False,1150
+lirr89,lirr31,lirr102,True,1050
+lirr89,lirr31,lirr102,False,775
+lirr89,lirr40,lirr102,True,1300
+lirr89,lirr40,lirr102,False,950
+lirr89,lirr38,lirr102,True,1300
+lirr89,lirr38,lirr102,False,950
+lirr89,lirr44,lirr102,True,1300
+lirr89,lirr44,lirr102,False,950
+lirr89,lirr42,lirr214,True,1200
+lirr89,lirr42,lirr214,False,875
+lirr89,lirr48,lirr102,True,2700
+lirr89,lirr48,lirr102,False,1975
+lirr89,lirr51,lirr102,True,1050
+lirr89,lirr51,lirr102,False,775
+lirr89,lirr52,lirr102,True,900
+lirr89,lirr52,lirr102,False,650
+lirr89,lirr65,lirr102,True,900
+lirr89,lirr65,lirr102,False,650
+lirr89,lirr59,lirr102,True,1050
+lirr89,lirr59,lirr102,False,775
+lirr89,lirr56,lirr214,True,1200
+lirr89,lirr56,lirr214,False,875
+lirr89,lirr64,lirr102,True,1050
+lirr89,lirr64,lirr102,False,775
+lirr89,lirr66,lirr102,True,900
+lirr89,lirr66,lirr102,False,650
+lirr89,lirr67,lirr102,True,1050
+lirr89,lirr67,lirr102,False,775
+lirr89,lirr71,lirr102,True,1050
+lirr89,lirr71,lirr102,False,775
+lirr89,lirr76,lirr102,True,1050
+lirr89,lirr76,lirr102,False,775
+lirr89,lirr72,lirr214,True,1350
+lirr89,lirr72,lirr214,False,975
+lirr89,lirr74,lirr102,True,1575
+lirr89,lirr74,lirr102,False,1150
+lirr89,lirr78,lirr102,True,1300
+lirr89,lirr78,lirr102,False,950
+lirr89,lirr73,lirr102,True,2700
+lirr89,lirr73,lirr102,False,1975
+lirr89,lirr77,lirr102,True,1050
+lirr89,lirr77,lirr102,False,775
+lirr89,lirr83,lirr102,True,2700
+lirr89,lirr83,lirr102,False,1975
+lirr89,lirr85,lirr102,True,900
+lirr89,lirr85,lirr102,False,650
+lirr89,lirr94,lirr102,True,900
+lirr89,lirr94,lirr102,False,650
+lirr89,lirr92,lirr102,True,1050
+lirr89,lirr92,lirr102,False,775
+lirr89,lirr91,lirr102,True,1300
+lirr89,lirr91,lirr102,False,950
+lirr89,lirr101,lirr102,True,900
+lirr89,lirr101,lirr102,False,650
+lirr89,lirr99,lirr102,True,1050
+lirr89,lirr99,lirr102,False,775
+lirr89,lirr100,lirr102,True,1575
+lirr89,lirr100,lirr102,False,1150
+lirr89,lirr111,lirr102,True,1575
+lirr89,lirr111,lirr102,False,1150
+lirr89,lirr124,lirr102,True,900
+lirr89,lirr124,lirr102,False,650
+lirr89,lirr122,lirr102,True,500
+lirr89,lirr122,lirr102,False,400
+lirr89,lirr114,lirr102,True,900
+lirr89,lirr114,lirr102,False,650
+lirr89,lirr117,lirr102,True,1300
+lirr89,lirr117,lirr102,False,950
+lirr89,lirr120,lirr214,True,1200
+lirr89,lirr120,lirr214,False,875
+lirr89,lirr119,lirr102,True,500
+lirr89,lirr119,lirr102,False,400
+lirr89,lirr123,lirr102,True,1050
+lirr89,lirr123,lirr102,False,775
+lirr89,lirr113,lirr102,True,1050
+lirr89,lirr113,lirr102,False,775
+lirr89,lirr125,lirr102,True,900
+lirr89,lirr125,lirr102,False,650
+lirr89,lirr142,lirr102,True,900
+lirr89,lirr142,lirr102,False,650
+lirr89,lirr131,lirr214,True,1350
+lirr89,lirr131,lirr214,False,975
+lirr89,lirr136,lirr102,True,1050
+lirr89,lirr136,lirr102,False,775
+lirr89,lirr135,lirr102,True,1050
+lirr89,lirr135,lirr102,False,775
+lirr89,lirr140,lirr102,True,2050
+lirr89,lirr140,lirr102,False,1500
+lirr89,lirr126,lirr102,True,2700
+lirr89,lirr126,lirr102,False,1975
+lirr89,lirr129,lirr102,True,1575
+lirr89,lirr129,lirr102,False,1150
+lirr89,lirr127,lirr102,True,900
+lirr89,lirr127,lirr102,False,650
+lirr89,lirr226,lirr102,True,1050
+lirr89,lirr226,lirr102,False,775
+lirr89,lirr132,lirr102,True,900
+lirr89,lirr132,lirr102,False,650
+lirr89,lirr141,lirr102,True,2700
+lirr89,lirr141,lirr102,False,1975
+lirr89,lirr130,lirr214,True,1200
+lirr89,lirr130,lirr214,False,875
+lirr89,lirr152,lirr102,True,900
+lirr89,lirr152,lirr102,False,650
+lirr89,lirr153,lirr102,True,1300
+lirr89,lirr153,lirr102,False,950
+lirr89,lirr157,lirr102,True,1575
+lirr89,lirr157,lirr102,False,1150
+lirr89,lirr155,lirr102,True,1050
+lirr89,lirr155,lirr102,False,775
+lirr89,lirr154,lirr102,True,1050
+lirr89,lirr154,lirr102,False,775
+lirr89,lirr163,lirr102,True,1575
+lirr89,lirr163,lirr102,False,1150
+lirr89,lirr165,lirr102,True,1300
+lirr89,lirr165,lirr102,False,950
+lirr89,lirr162,lirr214,True,1350
+lirr89,lirr162,lirr214,False,975
+lirr89,lirr164,lirr102,True,1575
+lirr89,lirr164,lirr102,False,1150
+lirr89,lirr171,lirr214,True,1350
+lirr89,lirr171,lirr214,False,975
+lirr89,lirr176,lirr102,True,2700
+lirr89,lirr176,lirr102,False,1975
+lirr89,lirr183,lirr102,True,1050
+lirr89,lirr183,lirr102,False,775
+lirr89,lirr179,lirr102,True,1575
+lirr89,lirr179,lirr102,False,1150
+lirr89,lirr180,lirr102,True,500
+lirr89,lirr180,lirr102,False,400
+lirr89,lirr182,lirr102,True,1050
+lirr89,lirr182,lirr102,False,775
+lirr89,lirr204,lirr102,True,1575
+lirr89,lirr204,lirr102,False,1150
+lirr89,lirr185,lirr102,True,1050
+lirr89,lirr185,lirr102,False,775
+lirr89,lirr187,lirr102,True,1050
+lirr89,lirr187,lirr102,False,775
+lirr89,lirr202,lirr102,True,1575
+lirr89,lirr202,lirr102,False,1150
+lirr89,lirr191,lirr102,True,2700
+lirr89,lirr191,lirr102,False,1975
+lirr89,lirr190,lirr102,True,2700
+lirr89,lirr190,lirr102,False,1975
+lirr89,lirr198,lirr102,True,2050
+lirr89,lirr198,lirr102,False,1500
+lirr89,lirr184,lirr102,True,500
+lirr89,lirr184,lirr102,False,400
+lirr89,lirr193,lirr102,True,1575
+lirr89,lirr193,lirr102,False,1150
+lirr89,lirr14,lirr102,True,1575
+lirr89,lirr14,lirr102,False,1150
+lirr89,lirr205,lirr102,True,1050
+lirr89,lirr205,lirr102,False,775
+lirr89,lirr211,lirr102,True,900
+lirr89,lirr211,lirr102,False,650
+lirr89,lirr215,lirr102,True,1050
+lirr89,lirr215,lirr102,False,775
+lirr89,lirr216,lirr102,True,900
+lirr89,lirr216,lirr102,False,650
+lirr89,lirr213,lirr102,True,1050
+lirr89,lirr213,lirr102,False,775
+lirr89,lirr233,lirr102,True,2700
+lirr89,lirr233,lirr102,False,1975
+lirr89,lirr219,lirr102,True,900
+lirr89,lirr219,lirr102,False,650
+lirr89,lirr217,lirr102,True,900
+lirr89,lirr217,lirr102,False,650
+lirr89,lirr220,lirr102,True,1300
+lirr89,lirr220,lirr102,False,950
+lirr89,lirr223,lirr102,True,2050
+lirr89,lirr223,lirr102,False,1500
+lirr91,lirr1,lirr132,True,650
+lirr91,lirr1,lirr132,False,650
+lirr91,lirr4,lirr102,True,3275
+lirr91,lirr4,lirr92,True,1775
+lirr91,lirr4,lirr102,False,2375
+lirr91,lirr4,lirr92,False,1775
+lirr91,lirr8,lirr102,True,1850
+lirr91,lirr8,lirr102,False,1350
+lirr91,lirr2,lirr214,True,1825
+lirr91,lirr2,lirr214,False,1325
+lirr91,lirr27,lirr102,True,1850
+lirr91,lirr27,lirr92,True,450
+lirr91,lirr27,lirr102,False,1350
+lirr91,lirr27,lirr92,False,450
+lirr91,lirr225,lirr102,True,1575
+lirr91,lirr225,lirr102,False,1150
+lirr91,lirr26,lirr102,True,2125
+lirr91,lirr26,lirr92,True,650
+lirr91,lirr26,lirr102,False,1550
+lirr91,lirr26,lirr92,False,650
+lirr91,lirr25,lirr214,True,1825
+lirr91,lirr25,lirr214,False,1325
+lirr91,lirr23,lirr102,True,1350
+lirr91,lirr23,lirr102,False,975
+lirr91,lirr16,lirr102,True,1575
+lirr91,lirr16,lirr102,False,1150
+lirr91,lirr21,lirr102,True,2600
+lirr91,lirr21,lirr92,True,1100
+lirr91,lirr21,lirr102,False,1900
+lirr91,lirr21,lirr92,False,1100
+lirr91,lirr20,lirr92,True,425
+lirr91,lirr20,lirr92,False,425
+lirr91,lirr29,lirr92,True,650
+lirr91,lirr29,lirr92,False,650
+lirr91,lirr13,lirr102,True,3275
+lirr91,lirr13,lirr92,True,1775
+lirr91,lirr13,lirr102,False,2375
+lirr91,lirr13,lirr92,False,1775
+lirr91,lirr11,lirr214,True,1825
+lirr91,lirr11,lirr214,False,1325
+lirr91,lirr32,lirr102,True,1350
+lirr91,lirr32,lirr102,False,975
+lirr91,lirr33,lirr92,True,650
+lirr91,lirr33,lirr92,False,650
+lirr91,lirr31,lirr102,True,1575
+lirr91,lirr31,lirr102,False,1150
+lirr91,lirr38,lirr102,True,1850
+lirr91,lirr38,lirr102,False,1350
+lirr91,lirr36,lirr102,True,1350
+lirr91,lirr36,lirr63,True,600
+lirr91,lirr36,lirr102,False,975
+lirr91,lirr36,lirr63,False,600
+lirr91,lirr44,lirr92,True,450
+lirr91,lirr44,lirr92,False,450
+lirr91,lirr42,lirr214,True,1825
+lirr91,lirr42,lirr214,False,1325
+lirr91,lirr48,lirr102,True,3275
+lirr91,lirr48,lirr92,True,1775
+lirr91,lirr48,lirr102,False,2375
+lirr91,lirr48,lirr92,False,1775
+lirr91,lirr51,lirr102,True,1575
+lirr91,lirr51,lirr102,False,1150
+lirr91,lirr52,lirr132,True,600
+lirr91,lirr52,lirr132,False,600
+lirr91,lirr65,lirr102,True,1350
+lirr91,lirr65,lirr102,False,975
+lirr91,lirr59,lirr92,True,425
+lirr91,lirr59,lirr92,False,425
+lirr91,lirr63,lirr102,True,1350
+lirr91,lirr63,lirr102,False,975
+lirr91,lirr56,lirr214,True,1825
+lirr91,lirr56,lirr214,False,1325
+lirr91,lirr64,lirr102,True,1575
+lirr91,lirr64,lirr102,False,1150
+lirr91,lirr68,lirr102,True,1350
+lirr91,lirr68,lirr63,True,600
+lirr91,lirr68,lirr102,False,975
+lirr91,lirr68,lirr63,False,600
+lirr91,lirr66,lirr102,True,1350
+lirr91,lirr66,lirr102,False,975
+lirr91,lirr67,lirr132,True,650
+lirr91,lirr67,lirr132,False,650
+lirr91,lirr71,lirr132,True,650
+lirr91,lirr71,lirr132,False,650
+lirr91,lirr76,lirr132,True,650
+lirr91,lirr76,lirr132,False,650
+lirr91,lirr72,lirr214,True,1975
+lirr91,lirr72,lirr214,False,1425
+lirr91,lirr74,lirr102,True,2125
+lirr91,lirr74,lirr92,True,650
+lirr91,lirr74,lirr102,False,1550
+lirr91,lirr74,lirr92,False,650
+lirr91,lirr73,lirr92,True,1775
+lirr91,lirr73,lirr92,False,1775
+lirr91,lirr77,lirr132,True,650
+lirr91,lirr77,lirr132,False,650
+lirr91,lirr83,lirr102,True,3275
+lirr91,lirr83,lirr92,True,1775
+lirr91,lirr83,lirr102,False,2375
+lirr91,lirr83,lirr92,False,1775
+lirr91,lirr84,lirr102,True,1350
+lirr91,lirr84,lirr63,True,600
+lirr91,lirr84,lirr102,False,975
+lirr91,lirr84,lirr63,False,600
+lirr91,lirr85,lirr102,True,1350
+lirr91,lirr85,lirr102,False,975
+lirr91,lirr94,lirr102,True,1350
+lirr91,lirr94,lirr102,False,975
+lirr91,lirr89,lirr102,True,1300
+lirr91,lirr89,lirr102,False,950
+lirr91,lirr101,lirr102,True,1350
+lirr91,lirr101,lirr102,False,975
+lirr91,lirr99,lirr102,True,1575
+lirr91,lirr99,lirr102,False,1150
+lirr91,lirr100,lirr102,True,2125
+lirr91,lirr100,lirr92,True,650
+lirr91,lirr100,lirr102,False,1550
+lirr91,lirr100,lirr92,False,650
+lirr91,lirr124,lirr102,True,1350
+lirr91,lirr124,lirr102,False,975
+lirr91,lirr122,lirr102,True,1300
+lirr91,lirr122,lirr102,False,950
+lirr91,lirr114,lirr102,True,1350
+lirr91,lirr114,lirr102,False,975
+lirr91,lirr117,lirr102,True,1850
+lirr91,lirr117,lirr102,False,1350
+lirr91,lirr120,lirr214,True,1825
+lirr91,lirr120,lirr214,False,1325
+lirr91,lirr119,lirr102,True,1300
+lirr91,lirr119,lirr102,False,950
+lirr91,lirr123,lirr132,True,650
+lirr91,lirr123,lirr132,False,650
+lirr91,lirr113,lirr102,True,1575
+lirr91,lirr113,lirr102,False,1150
+lirr91,lirr125,lirr102,True,1350
+lirr91,lirr125,lirr102,False,975
+lirr91,lirr142,lirr102,True,1350
+lirr91,lirr142,lirr102,False,975
+lirr91,lirr131,lirr214,True,1975
+lirr91,lirr131,lirr214,False,1425
+lirr91,lirr136,lirr102,True,1575
+lirr91,lirr136,lirr102,False,1150
+lirr91,lirr135,lirr102,True,1575
+lirr91,lirr135,lirr102,False,1150
+lirr91,lirr140,lirr102,True,2600
+lirr91,lirr140,lirr92,True,1100
+lirr91,lirr140,lirr102,False,1900
+lirr91,lirr140,lirr92,False,1100
+lirr91,lirr126,lirr92,True,1775
+lirr91,lirr126,lirr92,False,1775
+lirr91,lirr129,lirr92,True,650
+lirr91,lirr129,lirr92,False,650
+lirr91,lirr226,lirr102,True,1575
+lirr91,lirr226,lirr102,False,1150
+lirr91,lirr141,lirr102,True,3275
+lirr91,lirr141,lirr92,True,1775
+lirr91,lirr141,lirr102,False,2375
+lirr91,lirr141,lirr92,False,1775
+lirr91,lirr130,lirr214,True,1825
+lirr91,lirr130,lirr214,False,1325
+lirr91,lirr149,lirr102,True,1350
+lirr91,lirr149,lirr63,True,600
+lirr91,lirr149,lirr102,False,975
+lirr91,lirr149,lirr63,False,600
+lirr91,lirr157,lirr102,True,2125
+lirr91,lirr157,lirr92,True,650
+lirr91,lirr157,lirr102,False,1550
+lirr91,lirr157,lirr92,False,650
+lirr91,lirr155,lirr102,True,1575
+lirr91,lirr155,lirr102,False,1150
+lirr91,lirr154,lirr132,True,650
+lirr91,lirr154,lirr132,False,650
+lirr91,lirr163,lirr102,True,2125
+lirr91,lirr163,lirr92,True,650
+lirr91,lirr163,lirr102,False,1550
+lirr91,lirr163,lirr92,False,650
+lirr91,lirr165,lirr92,True,450
+lirr91,lirr165,lirr92,False,450
+lirr91,lirr162,lirr214,True,1975
+lirr91,lirr162,lirr214,False,1425
+lirr91,lirr171,lirr214,True,1975
+lirr91,lirr171,lirr214,False,1425
+lirr91,lirr175,lirr102,True,1300
+lirr91,lirr175,lirr102,False,950
+lirr91,lirr176,lirr92,True,1775
+lirr91,lirr176,lirr92,False,1775
+lirr91,lirr183,lirr102,True,1575
+lirr91,lirr183,lirr102,False,1150
+lirr91,lirr179,lirr92,True,650
+lirr91,lirr179,lirr92,False,650
+lirr91,lirr180,lirr102,True,1300
+lirr91,lirr180,lirr102,False,950
+lirr91,lirr182,lirr132,True,650
+lirr91,lirr182,lirr132,False,650
+lirr91,lirr204,lirr102,True,2125
+lirr91,lirr204,lirr92,True,650
+lirr91,lirr204,lirr102,False,1550
+lirr91,lirr204,lirr92,False,650
+lirr91,lirr185,lirr132,True,650
+lirr91,lirr185,lirr132,False,650
+lirr91,lirr187,lirr102,True,1575
+lirr91,lirr187,lirr102,False,1150
+lirr91,lirr191,lirr102,True,3275
+lirr91,lirr191,lirr92,True,1775
+lirr91,lirr191,lirr102,False,2375
+lirr91,lirr191,lirr92,False,1775
+lirr91,lirr190,lirr92,True,1775
+lirr91,lirr190,lirr92,False,1775
+lirr91,lirr198,lirr102,True,2600
+lirr91,lirr198,lirr92,True,1100
+lirr91,lirr198,lirr102,False,1900
+lirr91,lirr198,lirr92,False,1100
+lirr91,lirr184,lirr102,True,1300
+lirr91,lirr184,lirr102,False,950
+lirr91,lirr195,lirr102,True,1350
+lirr91,lirr195,lirr63,True,600
+lirr91,lirr195,lirr102,False,975
+lirr91,lirr195,lirr63,False,600
+lirr91,lirr211,lirr102,True,1350
+lirr91,lirr211,lirr102,False,975
+lirr91,lirr215,lirr102,True,1575
+lirr91,lirr215,lirr102,False,1150
+lirr91,lirr216,lirr102,True,1350
+lirr91,lirr216,lirr102,False,975
+lirr91,lirr233,lirr102,True,3275
+lirr91,lirr233,lirr92,True,1775
+lirr91,lirr233,lirr102,False,2375
+lirr91,lirr233,lirr92,False,1775
+lirr91,lirr219,lirr102,True,1350
+lirr91,lirr219,lirr102,False,975
+lirr91,lirr217,lirr102,True,1350
+lirr91,lirr217,lirr102,False,975
+lirr91,lirr220,lirr92,True,450
+lirr91,lirr220,lirr92,False,450
+lirr91,lirr223,lirr92,True,1100
+lirr91,lirr223,lirr92,False,1100
+lirr101,lirr1,lirr102,True,1100
+lirr101,lirr1,lirr102,False,800
+lirr101,lirr4,lirr102,True,2775
+lirr101,lirr4,lirr102,False,2025
+lirr101,lirr8,lirr102,True,1350
+lirr101,lirr8,lirr211,True,600
+lirr101,lirr8,lirr102,False,975
+lirr101,lirr8,lirr211,False,600
+lirr101,lirr2,lirr214,True,1350
+lirr101,lirr2,lirr214,False,975
+lirr101,lirr27,lirr102,True,1350
+lirr101,lirr27,lirr211,True,600
+lirr101,lirr27,lirr102,False,975
+lirr101,lirr27,lirr211,False,600
+lirr101,lirr225,lirr102,True,1100
+lirr101,lirr225,lirr211,True,425
+lirr101,lirr225,lirr102,False,800
+lirr101,lirr225,lirr211,False,425
+lirr101,lirr26,lirr102,True,1650
+lirr101,lirr26,lirr102,False,1200
+lirr101,lirr25,lirr214,True,1350
+lirr101,lirr25,lirr214,False,975
+lirr101,lirr23,lirr102,True,1000
+lirr101,lirr23,lirr102,False,725
+lirr101,lirr16,lirr102,True,1100
+lirr101,lirr16,lirr211,True,425
+lirr101,lirr16,lirr102,False,800
+lirr101,lirr16,lirr211,False,425
+lirr101,lirr21,lirr102,True,2125
+lirr101,lirr21,lirr102,False,1550
+lirr101,lirr20,lirr102,True,1100
+lirr101,lirr20,lirr102,False,800
+lirr101,lirr29,lirr102,True,1650
+lirr101,lirr29,lirr102,False,1200
+lirr101,lirr13,lirr102,True,2775
+lirr101,lirr13,lirr102,False,2025
+lirr101,lirr11,lirr214,True,1350
+lirr101,lirr11,lirr214,False,975
+lirr101,lirr39,lirr102,True,1100
+lirr101,lirr39,lirr102,False,800
+lirr101,lirr33,lirr102,True,1650
+lirr101,lirr33,lirr102,False,1200
+lirr101,lirr31,lirr211,True,425
+lirr101,lirr31,lirr211,False,425
+lirr101,lirr40,lirr102,True,1350
+lirr101,lirr40,lirr102,False,975
+lirr101,lirr38,lirr102,True,1350
+lirr101,lirr38,lirr211,True,600
+lirr101,lirr38,lirr102,False,975
+lirr101,lirr38,lirr211,False,600
+lirr101,lirr36,lirr102,True,1000
+lirr101,lirr36,lirr102,False,725
+lirr101,lirr44,lirr102,True,1350
+lirr101,lirr44,lirr102,False,975
+lirr101,lirr42,lirr214,True,1350
+lirr101,lirr42,lirr214,False,975
+lirr101,lirr48,lirr102,True,2775
+lirr101,lirr48,lirr102,False,2025
+lirr101,lirr51,lirr211,True,425
+lirr101,lirr51,lirr211,False,425
+lirr101,lirr52,lirr102,True,1000
+lirr101,lirr52,lirr102,False,725
+lirr101,lirr59,lirr102,True,1100
+lirr101,lirr59,lirr102,False,800
+lirr101,lirr63,lirr102,True,1000
+lirr101,lirr63,lirr102,False,725
+lirr101,lirr56,lirr214,True,1350
+lirr101,lirr56,lirr214,False,975
+lirr101,lirr64,lirr102,True,1100
+lirr101,lirr64,lirr211,True,425
+lirr101,lirr64,lirr102,False,800
+lirr101,lirr64,lirr211,False,425
+lirr101,lirr68,lirr102,True,1000
+lirr101,lirr68,lirr102,False,725
+lirr101,lirr67,lirr102,True,1100
+lirr101,lirr67,lirr102,False,800
+lirr101,lirr71,lirr102,True,1100
+lirr101,lirr71,lirr102,False,800
+lirr101,lirr76,lirr102,True,1100
+lirr101,lirr76,lirr102,False,800
+lirr101,lirr72,lirr214,True,1475
+lirr101,lirr72,lirr214,False,1075
+lirr101,lirr74,lirr102,True,1650
+lirr101,lirr74,lirr102,False,1200
+lirr101,lirr78,lirr102,True,1350
+lirr101,lirr78,lirr102,False,975
+lirr101,lirr73,lirr102,True,2775
+lirr101,lirr73,lirr102,False,2025
+lirr101,lirr77,lirr102,True,1100
+lirr101,lirr77,lirr102,False,800
+lirr101,lirr83,lirr102,True,2775
+lirr101,lirr83,lirr102,False,2025
+lirr101,lirr84,lirr102,True,1000
+lirr101,lirr84,lirr102,False,725
+lirr101,lirr85,lirr211,True,425
+lirr101,lirr85,lirr211,False,425
+lirr101,lirr92,lirr102,True,1100
+lirr101,lirr92,lirr102,False,800
+lirr101,lirr89,lirr102,True,900
+lirr101,lirr89,lirr102,False,650
+lirr101,lirr91,lirr102,True,1350
+lirr101,lirr91,lirr102,False,975
+lirr101,lirr99,lirr211,True,425
+lirr101,lirr99,lirr211,False,425
+lirr101,lirr100,lirr102,True,1650
+lirr101,lirr100,lirr102,False,1200
+lirr101,lirr111,lirr102,True,1650
+lirr101,lirr111,lirr102,False,1200
+lirr101,lirr124,lirr211,True,425
+lirr101,lirr124,lirr211,False,425
+lirr101,lirr117,lirr102,True,1350
+lirr101,lirr117,lirr211,True,600
+lirr101,lirr117,lirr102,False,975
+lirr101,lirr117,lirr211,False,600
+lirr101,lirr120,lirr214,True,1350
+lirr101,lirr120,lirr214,False,975
+lirr101,lirr123,lirr102,True,1100
+lirr101,lirr123,lirr102,False,800
+lirr101,lirr113,lirr211,True,425
+lirr101,lirr113,lirr211,False,425
+lirr101,lirr125,lirr211,True,425
+lirr101,lirr125,lirr211,False,425
+lirr101,lirr142,lirr211,True,425
+lirr101,lirr142,lirr211,False,425
+lirr101,lirr131,lirr214,True,1475
+lirr101,lirr131,lirr214,False,1075
+lirr101,lirr136,lirr102,True,1100
+lirr101,lirr136,lirr211,True,425
+lirr101,lirr136,lirr102,False,800
+lirr101,lirr136,lirr211,False,425
+lirr101,lirr135,lirr102,True,1100
+lirr101,lirr135,lirr211,True,425
+lirr101,lirr135,lirr102,False,800
+lirr101,lirr135,lirr211,False,425
+lirr101,lirr140,lirr102,True,2125
+lirr101,lirr140,lirr102,False,1550
+lirr101,lirr126,lirr102,True,2775
+lirr101,lirr126,lirr102,False,2025
+lirr101,lirr129,lirr102,True,1650
+lirr101,lirr129,lirr102,False,1200
+lirr101,lirr127,lirr102,True,1000
+lirr101,lirr127,lirr102,False,725
+lirr101,lirr226,lirr102,True,1100
+lirr101,lirr226,lirr211,True,425
+lirr101,lirr226,lirr102,False,800
+lirr101,lirr226,lirr211,False,425
+lirr101,lirr132,lirr102,True,1000
+lirr101,lirr132,lirr102,False,725
+lirr101,lirr141,lirr102,True,2775
+lirr101,lirr141,lirr102,False,2025
+lirr101,lirr130,lirr214,True,1350
+lirr101,lirr130,lirr214,False,975
+lirr101,lirr149,lirr102,True,1000
+lirr101,lirr149,lirr102,False,725
+lirr101,lirr152,lirr102,True,1000
+lirr101,lirr152,lirr102,False,725
+lirr101,lirr153,lirr102,True,1350
+lirr101,lirr153,lirr102,False,975
+lirr101,lirr157,lirr102,True,1650
+lirr101,lirr157,lirr102,False,1200
+lirr101,lirr155,lirr211,True,425
+lirr101,lirr155,lirr211,False,425
+lirr101,lirr154,lirr102,True,1100
+lirr101,lirr154,lirr102,False,800
+lirr101,lirr163,lirr102,True,1650
+lirr101,lirr163,lirr102,False,1200
+lirr101,lirr165,lirr102,True,1350
+lirr101,lirr165,lirr102,False,975
+lirr101,lirr162,lirr214,True,1475
+lirr101,lirr162,lirr214,False,1075
+lirr101,lirr164,lirr102,True,1650
+lirr101,lirr164,lirr102,False,1200
+lirr101,lirr171,lirr214,True,1475
+lirr101,lirr171,lirr214,False,1075
+lirr101,lirr175,lirr102,True,900
+lirr101,lirr175,lirr102,False,650
+lirr101,lirr176,lirr102,True,2775
+lirr101,lirr176,lirr102,False,2025
+lirr101,lirr183,lirr102,True,1100
+lirr101,lirr183,lirr211,True,425
+lirr101,lirr183,lirr102,False,800
+lirr101,lirr183,lirr211,False,425
+lirr101,lirr179,lirr102,True,1650
+lirr101,lirr179,lirr102,False,1200
+lirr101,lirr182,lirr102,True,1100
+lirr101,lirr182,lirr102,False,800
+lirr101,lirr204,lirr102,True,1650
+lirr101,lirr204,lirr102,False,1200
+lirr101,lirr185,lirr102,True,1100
+lirr101,lirr185,lirr102,False,800
+lirr101,lirr187,lirr102,True,1100
+lirr101,lirr187,lirr211,True,425
+lirr101,lirr187,lirr102,False,800
+lirr101,lirr187,lirr211,False,425
+lirr101,lirr202,lirr102,True,1650
+lirr101,lirr202,lirr102,False,1200
+lirr101,lirr191,lirr102,True,2775
+lirr101,lirr191,lirr102,False,2025
+lirr101,lirr190,lirr102,True,2775
+lirr101,lirr190,lirr102,False,2025
+lirr101,lirr198,lirr102,True,2125
+lirr101,lirr198,lirr102,False,1550
+lirr101,lirr193,lirr102,True,1650
+lirr101,lirr193,lirr102,False,1200
+lirr101,lirr195,lirr102,True,1000
+lirr101,lirr195,lirr102,False,725
+lirr101,lirr14,lirr102,True,1650
+lirr101,lirr14,lirr102,False,1200
+lirr101,lirr205,lirr102,True,1100
+lirr101,lirr205,lirr102,False,800
+lirr101,lirr215,lirr102,True,1100
+lirr101,lirr215,lirr211,True,425
+lirr101,lirr215,lirr102,False,800
+lirr101,lirr215,lirr211,False,425
+lirr101,lirr216,lirr211,True,425
+lirr101,lirr216,lirr211,False,425
+lirr101,lirr213,lirr102,True,1100
+lirr101,lirr213,lirr102,False,800
+lirr101,lirr233,lirr102,True,2775
+lirr101,lirr233,lirr102,False,2025
+lirr101,lirr219,lirr211,True,425
+lirr101,lirr219,lirr211,False,425
+lirr101,lirr220,lirr102,True,1350
+lirr101,lirr220,lirr102,False,975
+lirr101,lirr223,lirr102,True,2125
+lirr101,lirr223,lirr102,False,1550
+lirr99,lirr1,lirr102,True,1225
+lirr99,lirr1,lirr102,False,900
+lirr99,lirr4,lirr102,True,2975
+lirr99,lirr4,lirr125,True,1875
+lirr99,lirr4,lirr102,False,2175
+lirr99,lirr4,lirr125,False,1875
+lirr99,lirr8,lirr102,True,1575
+lirr99,lirr8,lirr125,True,650
+lirr99,lirr8,lirr102,False,1150
+lirr99,lirr8,lirr125,False,650
+lirr99,lirr2,lirr214,True,1575
+lirr99,lirr2,lirr214,False,1150
+lirr99,lirr27,lirr102,True,1575
+lirr99,lirr27,lirr125,True,650
+lirr99,lirr27,lirr102,False,1150
+lirr99,lirr27,lirr125,False,650
+lirr99,lirr225,lirr102,True,1225
+lirr99,lirr225,lirr125,True,450
+lirr99,lirr225,lirr102,False,900
+lirr99,lirr225,lirr125,False,450
+lirr99,lirr26,lirr102,True,1825
+lirr99,lirr26,lirr125,True,900
+lirr99,lirr26,lirr102,False,1325
+lirr99,lirr26,lirr125,False,900
+lirr99,lirr25,lirr214,True,1575
+lirr99,lirr25,lirr214,False,1150
+lirr99,lirr23,lirr102,True,1100
+lirr99,lirr23,lirr102,False,800
+lirr99,lirr16,lirr102,True,1225
+lirr99,lirr16,lirr125,True,450
+lirr99,lirr16,lirr102,False,900
+lirr99,lirr16,lirr125,False,450
+lirr99,lirr21,lirr102,True,2275
+lirr99,lirr21,lirr125,True,1225
+lirr99,lirr21,lirr102,False,1650
+lirr99,lirr21,lirr125,False,1225
+lirr99,lirr20,lirr102,True,1225
+lirr99,lirr20,lirr102,False,900
+lirr99,lirr29,lirr102,True,1825
+lirr99,lirr29,lirr102,False,1325
+lirr99,lirr13,lirr102,True,2975
+lirr99,lirr13,lirr125,True,1875
+lirr99,lirr13,lirr102,False,2175
+lirr99,lirr13,lirr125,False,1875
+lirr99,lirr11,lirr214,True,1575
+lirr99,lirr11,lirr214,False,1150
+lirr99,lirr39,lirr102,True,1225
+lirr99,lirr39,lirr102,False,900
+lirr99,lirr32,lirr211,True,425
+lirr99,lirr32,lirr211,False,425
+lirr99,lirr33,lirr102,True,1825
+lirr99,lirr33,lirr102,False,1325
+lirr99,lirr40,lirr102,True,1575
+lirr99,lirr40,lirr102,False,1150
+lirr99,lirr38,lirr102,True,1575
+lirr99,lirr38,lirr125,True,650
+lirr99,lirr38,lirr102,False,1150
+lirr99,lirr38,lirr125,False,650
+lirr99,lirr36,lirr102,True,1100
+lirr99,lirr36,lirr102,False,800
+lirr99,lirr44,lirr102,True,1575
+lirr99,lirr44,lirr102,False,1150
+lirr99,lirr42,lirr214,True,1575
+lirr99,lirr42,lirr214,False,1150
+lirr99,lirr48,lirr102,True,2975
+lirr99,lirr48,lirr125,True,1875
+lirr99,lirr48,lirr102,False,2175
+lirr99,lirr48,lirr125,False,1875
+lirr99,lirr52,lirr102,True,1100
+lirr99,lirr52,lirr102,False,800
+lirr99,lirr65,lirr211,True,425
+lirr99,lirr65,lirr211,False,425
+lirr99,lirr59,lirr102,True,1225
+lirr99,lirr59,lirr102,False,900
+lirr99,lirr63,lirr102,True,1100
+lirr99,lirr63,lirr102,False,800
+lirr99,lirr56,lirr214,True,1575
+lirr99,lirr56,lirr214,False,1150
+lirr99,lirr64,lirr102,True,1225
+lirr99,lirr64,lirr125,True,450
+lirr99,lirr64,lirr102,False,900
+lirr99,lirr64,lirr125,False,450
+lirr99,lirr68,lirr102,True,1100
+lirr99,lirr68,lirr102,False,800
+lirr99,lirr66,lirr211,True,425
+lirr99,lirr66,lirr211,False,425
+lirr99,lirr67,lirr102,True,1225
+lirr99,lirr67,lirr102,False,900
+lirr99,lirr71,lirr102,True,1225
+lirr99,lirr71,lirr102,False,900
+lirr99,lirr76,lirr102,True,1225
+lirr99,lirr76,lirr102,False,900
+lirr99,lirr72,lirr214,True,1725
+lirr99,lirr72,lirr214,False,1250
+lirr99,lirr74,lirr102,True,1825
+lirr99,lirr74,lirr125,True,900
+lirr99,lirr74,lirr102,False,1325
+lirr99,lirr74,lirr125,False,900
+lirr99,lirr78,lirr102,True,1575
+lirr99,lirr78,lirr102,False,1150
+lirr99,lirr73,lirr102,True,2975
+lirr99,lirr73,lirr102,False,2175
+lirr99,lirr77,lirr102,True,1225
+lirr99,lirr77,lirr102,False,900
+lirr99,lirr83,lirr102,True,2975
+lirr99,lirr83,lirr125,True,1875
+lirr99,lirr83,lirr102,False,2175
+lirr99,lirr83,lirr125,False,1875
+lirr99,lirr84,lirr102,True,1100
+lirr99,lirr84,lirr102,False,800
+lirr99,lirr85,lirr211,True,425
+lirr99,lirr85,lirr211,False,425
+lirr99,lirr94,lirr211,True,425
+lirr99,lirr94,lirr211,False,425
+lirr99,lirr92,lirr102,True,1225
+lirr99,lirr92,lirr102,False,900
+lirr99,lirr89,lirr102,True,1050
+lirr99,lirr89,lirr102,False,775
+lirr99,lirr91,lirr102,True,1575
+lirr99,lirr91,lirr102,False,1150
+lirr99,lirr101,lirr211,True,425
+lirr99,lirr101,lirr211,False,425
+lirr99,lirr100,lirr102,True,1825
+lirr99,lirr100,lirr125,True,900
+lirr99,lirr100,lirr102,False,1325
+lirr99,lirr100,lirr125,False,900
+lirr99,lirr111,lirr102,True,1825
+lirr99,lirr111,lirr102,False,1325
+lirr99,lirr124,lirr211,True,425
+lirr99,lirr124,lirr211,False,425
+lirr99,lirr122,lirr102,True,1050
+lirr99,lirr122,lirr102,False,775
+lirr99,lirr114,lirr211,True,425
+lirr99,lirr114,lirr211,False,425
+lirr99,lirr117,lirr102,True,1575
+lirr99,lirr117,lirr125,True,650
+lirr99,lirr117,lirr102,False,1150
+lirr99,lirr117,lirr125,False,650
+lirr99,lirr120,lirr214,True,1575
+lirr99,lirr120,lirr214,False,1150
+lirr99,lirr119,lirr102,True,1050
+lirr99,lirr119,lirr102,False,775
+lirr99,lirr123,lirr102,True,1225
+lirr99,lirr123,lirr102,False,900
+lirr99,lirr142,lirr211,True,425
+lirr99,lirr142,lirr211,False,425
+lirr99,lirr131,lirr214,True,1725
+lirr99,lirr131,lirr214,False,1250
+lirr99,lirr136,lirr102,True,1225
+lirr99,lirr136,lirr125,True,450
+lirr99,lirr136,lirr102,False,900
+lirr99,lirr136,lirr125,False,450
+lirr99,lirr135,lirr102,True,1225
+lirr99,lirr135,lirr125,True,450
+lirr99,lirr135,lirr102,False,900
+lirr99,lirr135,lirr125,False,450
+lirr99,lirr140,lirr102,True,2275
+lirr99,lirr140,lirr125,True,1225
+lirr99,lirr140,lirr102,False,1650
+lirr99,lirr140,lirr125,False,1225
+lirr99,lirr126,lirr102,True,2975
+lirr99,lirr126,lirr102,False,2175
+lirr99,lirr129,lirr102,True,1825
+lirr99,lirr129,lirr102,False,1325
+lirr99,lirr127,lirr102,True,1100
+lirr99,lirr127,lirr102,False,800
+lirr99,lirr226,lirr102,True,1225
+lirr99,lirr226,lirr125,True,450
+lirr99,lirr226,lirr102,False,900
+lirr99,lirr226,lirr125,False,450
+lirr99,lirr132,lirr102,True,1100
+lirr99,lirr132,lirr102,False,800
+lirr99,lirr141,lirr102,True,2975
+lirr99,lirr141,lirr125,True,1875
+lirr99,lirr141,lirr102,False,2175
+lirr99,lirr141,lirr125,False,1875
+lirr99,lirr130,lirr214,True,1575
+lirr99,lirr130,lirr214,False,1150
+lirr99,lirr149,lirr102,True,1100
+lirr99,lirr149,lirr102,False,800
+lirr99,lirr152,lirr102,True,1100
+lirr99,lirr152,lirr102,False,800
+lirr99,lirr153,lirr102,True,1575
+lirr99,lirr153,lirr102,False,1150
+lirr99,lirr157,lirr102,True,1825
+lirr99,lirr157,lirr125,True,900
+lirr99,lirr157,lirr102,False,1325
+lirr99,lirr157,lirr125,False,900
+lirr99,lirr154,lirr102,True,1225
+lirr99,lirr154,lirr102,False,900
+lirr99,lirr163,lirr102,True,1825
+lirr99,lirr163,lirr125,True,900
+lirr99,lirr163,lirr102,False,1325
+lirr99,lirr163,lirr125,False,900
+lirr99,lirr165,lirr102,True,1575
+lirr99,lirr165,lirr102,False,1150
+lirr99,lirr162,lirr214,True,1725
+lirr99,lirr162,lirr214,False,1250
+lirr99,lirr164,lirr102,True,1825
+lirr99,lirr164,lirr102,False,1325
+lirr99,lirr171,lirr214,True,1725
+lirr99,lirr171,lirr214,False,1250
+lirr99,lirr175,lirr102,True,1050
+lirr99,lirr175,lirr102,False,775
+lirr99,lirr176,lirr102,True,2975
+lirr99,lirr176,lirr102,False,2175
+lirr99,lirr183,lirr102,True,1225
+lirr99,lirr183,lirr125,True,450
+lirr99,lirr183,lirr102,False,900
+lirr99,lirr183,lirr125,False,450
+lirr99,lirr179,lirr102,True,1825
+lirr99,lirr179,lirr102,False,1325
+lirr99,lirr180,lirr102,True,1050
+lirr99,lirr180,lirr102,False,775
+lirr99,lirr182,lirr102,True,1225
+lirr99,lirr182,lirr102,False,900
+lirr99,lirr204,lirr102,True,1825
+lirr99,lirr204,lirr125,True,900
+lirr99,lirr204,lirr102,False,1325
+lirr99,lirr204,lirr125,False,900
+lirr99,lirr185,lirr102,True,1225
+lirr99,lirr185,lirr102,False,900
+lirr99,lirr187,lirr102,True,1225
+lirr99,lirr187,lirr125,True,450
+lirr99,lirr187,lirr102,False,900
+lirr99,lirr187,lirr125,False,450
+lirr99,lirr202,lirr102,True,1825
+lirr99,lirr202,lirr102,False,1325
+lirr99,lirr191,lirr102,True,2975
+lirr99,lirr191,lirr125,True,1875
+lirr99,lirr191,lirr102,False,2175
+lirr99,lirr191,lirr125,False,1875
+lirr99,lirr190,lirr102,True,2975
+lirr99,lirr190,lirr102,False,2175
+lirr99,lirr198,lirr102,True,2275
+lirr99,lirr198,lirr125,True,1225
+lirr99,lirr198,lirr102,False,1650
+lirr99,lirr198,lirr125,False,1225
+lirr99,lirr184,lirr102,True,1050
+lirr99,lirr184,lirr102,False,775
+lirr99,lirr193,lirr102,True,1825
+lirr99,lirr193,lirr102,False,1325
+lirr99,lirr195,lirr102,True,1100
+lirr99,lirr195,lirr102,False,800
+lirr99,lirr14,lirr102,True,1825
+lirr99,lirr14,lirr102,False,1325
+lirr99,lirr205,lirr102,True,1225
+lirr99,lirr205,lirr102,False,900
+lirr99,lirr215,lirr102,True,1225
+lirr99,lirr215,lirr125,True,450
+lirr99,lirr215,lirr102,False,900
+lirr99,lirr215,lirr125,False,450
+lirr99,lirr216,lirr211,True,425
+lirr99,lirr216,lirr211,False,425
+lirr99,lirr213,lirr102,True,1225
+lirr99,lirr213,lirr102,False,900
+lirr99,lirr233,lirr102,True,2975
+lirr99,lirr233,lirr125,True,1875
+lirr99,lirr233,lirr102,False,2175
+lirr99,lirr233,lirr125,False,1875
+lirr99,lirr219,lirr211,True,425
+lirr99,lirr219,lirr211,False,425
+lirr99,lirr217,lirr211,True,425
+lirr99,lirr217,lirr211,False,425
+lirr99,lirr220,lirr102,True,1575
+lirr99,lirr220,lirr102,False,1150
+lirr99,lirr223,lirr102,True,2275
+lirr99,lirr223,lirr102,False,1650
+lirr100,lirr1,lirr102,True,1825
+lirr100,lirr1,lirr132,True,900
+lirr100,lirr1,lirr102,False,1325
+lirr100,lirr1,lirr132,False,900
+lirr100,lirr2,lirr214,True,2050
+lirr100,lirr2,lirr214,False,1500
+lirr100,lirr25,lirr214,True,2050
+lirr100,lirr25,lirr214,False,1500
+lirr100,lirr23,lirr102,True,1650
+lirr100,lirr23,lirr102,False,1200
+lirr100,lirr20,lirr102,True,1825
+lirr100,lirr20,lirr92,True,600
+lirr100,lirr20,lirr102,False,1325
+lirr100,lirr20,lirr92,False,600
+lirr100,lirr29,lirr102,True,2275
+lirr100,lirr29,lirr92,True,1000
+lirr100,lirr29,lirr102,False,1650
+lirr100,lirr29,lirr92,False,1000
+lirr100,lirr11,lirr214,True,2050
+lirr100,lirr11,lirr214,False,1500
+lirr100,lirr39,lirr102,True,1825
+lirr100,lirr39,lirr102,False,1325
+lirr100,lirr32,lirr102,True,1650
+lirr100,lirr32,lirr102,False,1200
+lirr100,lirr33,lirr102,True,2275
+lirr100,lirr33,lirr92,True,1000
+lirr100,lirr33,lirr102,False,1650
+lirr100,lirr33,lirr92,False,1000
+lirr100,lirr31,lirr102,True,1825
+lirr100,lirr31,lirr125,True,900
+lirr100,lirr31,lirr102,False,1325
+lirr100,lirr31,lirr125,False,900
+lirr100,lirr40,lirr102,True,2125
+lirr100,lirr40,lirr92,True,650
+lirr100,lirr40,lirr102,False,1550
+lirr100,lirr40,lirr92,False,650
+lirr100,lirr36,lirr102,True,1650
+lirr100,lirr36,lirr63,True,825
+lirr100,lirr36,lirr102,False,1200
+lirr100,lirr36,lirr63,False,825
+lirr100,lirr44,lirr102,True,2125
+lirr100,lirr44,lirr92,True,650
+lirr100,lirr44,lirr102,False,1550
+lirr100,lirr44,lirr92,False,650
+lirr100,lirr42,lirr214,True,2050
+lirr100,lirr42,lirr214,False,1500
+lirr100,lirr51,lirr102,True,1825
+lirr100,lirr51,lirr125,True,900
+lirr100,lirr51,lirr102,False,1325
+lirr100,lirr51,lirr125,False,900
+lirr100,lirr52,lirr102,True,1650
+lirr100,lirr52,lirr132,True,825
+lirr100,lirr52,lirr102,False,1200
+lirr100,lirr52,lirr132,False,825
+lirr100,lirr65,lirr102,True,1650
+lirr100,lirr65,lirr102,False,1200
+lirr100,lirr59,lirr102,True,1825
+lirr100,lirr59,lirr92,True,600
+lirr100,lirr59,lirr102,False,1325
+lirr100,lirr59,lirr92,False,600
+lirr100,lirr63,lirr102,True,1650
+lirr100,lirr63,lirr102,False,1200
+lirr100,lirr56,lirr214,True,2050
+lirr100,lirr56,lirr214,False,1500
+lirr100,lirr68,lirr102,True,1650
+lirr100,lirr68,lirr63,True,825
+lirr100,lirr68,lirr102,False,1200
+lirr100,lirr68,lirr63,False,825
+lirr100,lirr66,lirr102,True,1650
+lirr100,lirr66,lirr102,False,1200
+lirr100,lirr67,lirr102,True,1825
+lirr100,lirr67,lirr132,True,900
+lirr100,lirr67,lirr102,False,1325
+lirr100,lirr67,lirr132,False,900
+lirr100,lirr71,lirr102,True,1825
+lirr100,lirr71,lirr132,True,900
+lirr100,lirr71,lirr102,False,1325
+lirr100,lirr71,lirr132,False,900
+lirr100,lirr76,lirr102,True,1825
+lirr100,lirr76,lirr132,True,900
+lirr100,lirr76,lirr102,False,1325
+lirr100,lirr76,lirr132,False,900
+lirr100,lirr72,lirr214,True,2225
+lirr100,lirr72,lirr214,False,1625
+lirr100,lirr78,lirr102,True,2125
+lirr100,lirr78,lirr92,True,650
+lirr100,lirr78,lirr102,False,1550
+lirr100,lirr78,lirr92,False,650
+lirr100,lirr73,lirr102,True,3475
+lirr100,lirr73,lirr92,True,2025
+lirr100,lirr73,lirr102,False,2525
+lirr100,lirr73,lirr92,False,2025
+lirr100,lirr77,lirr102,True,1825
+lirr100,lirr77,lirr132,True,900
+lirr100,lirr77,lirr102,False,1325
+lirr100,lirr77,lirr132,False,900
+lirr100,lirr84,lirr102,True,1650
+lirr100,lirr84,lirr63,True,825
+lirr100,lirr84,lirr102,False,1200
+lirr100,lirr84,lirr63,False,825
+lirr100,lirr85,lirr102,True,1650
+lirr100,lirr85,lirr102,False,1200
+lirr100,lirr94,lirr102,True,1650
+lirr100,lirr94,lirr102,False,1200
+lirr100,lirr92,lirr102,True,1825
+lirr100,lirr92,lirr102,False,1325
+lirr100,lirr89,lirr102,True,1575
+lirr100,lirr89,lirr102,False,1150
+lirr100,lirr91,lirr102,True,2125
+lirr100,lirr91,lirr92,True,650
+lirr100,lirr91,lirr102,False,1550
+lirr100,lirr91,lirr92,False,650
+lirr100,lirr101,lirr102,True,1650
+lirr100,lirr101,lirr102,False,1200
+lirr100,lirr99,lirr102,True,1825
+lirr100,lirr99,lirr125,True,900
+lirr100,lirr99,lirr102,False,1325
+lirr100,lirr99,lirr125,False,900
+lirr100,lirr111,lirr102,True,2275
+lirr100,lirr111,lirr92,True,1000
+lirr100,lirr111,lirr102,False,1650
+lirr100,lirr111,lirr92,False,1000
+lirr100,lirr124,lirr102,True,1650
+lirr100,lirr124,lirr102,False,1200
+lirr100,lirr122,lirr102,True,1575
+lirr100,lirr122,lirr102,False,1150
+lirr100,lirr114,lirr102,True,1650
+lirr100,lirr114,lirr102,False,1200
+lirr100,lirr120,lirr214,True,2050
+lirr100,lirr120,lirr214,False,1500
+lirr100,lirr119,lirr102,True,1575
+lirr100,lirr119,lirr102,False,1150
+lirr100,lirr123,lirr102,True,1825
+lirr100,lirr123,lirr132,True,900
+lirr100,lirr123,lirr102,False,1325
+lirr100,lirr123,lirr132,False,900
+lirr100,lirr113,lirr102,True,1825
+lirr100,lirr113,lirr125,True,900
+lirr100,lirr113,lirr102,False,1325
+lirr100,lirr113,lirr125,False,900
+lirr100,lirr125,lirr102,True,1650
+lirr100,lirr125,lirr102,False,1200
+lirr100,lirr142,lirr102,True,1650
+lirr100,lirr142,lirr102,False,1200
+lirr100,lirr131,lirr214,True,2225
+lirr100,lirr131,lirr214,False,1625
+lirr100,lirr126,lirr102,True,3475
+lirr100,lirr126,lirr92,True,2025
+lirr100,lirr126,lirr102,False,2525
+lirr100,lirr126,lirr92,False,2025
+lirr100,lirr129,lirr102,True,2275
+lirr100,lirr129,lirr92,True,1000
+lirr100,lirr129,lirr102,False,1650
+lirr100,lirr129,lirr92,False,1000
+lirr100,lirr127,lirr102,True,1650
+lirr100,lirr127,lirr102,False,1200
+lirr100,lirr132,lirr102,True,1650
+lirr100,lirr132,lirr102,False,1200
+lirr100,lirr130,lirr214,True,2050
+lirr100,lirr130,lirr214,False,1500
+lirr100,lirr149,lirr102,True,1650
+lirr100,lirr149,lirr63,True,825
+lirr100,lirr149,lirr102,False,1200
+lirr100,lirr149,lirr63,False,825
+lirr100,lirr152,lirr102,True,1650
+lirr100,lirr152,lirr102,False,1200
+lirr100,lirr153,lirr102,True,2125
+lirr100,lirr153,lirr92,True,650
+lirr100,lirr153,lirr102,False,1550
+lirr100,lirr153,lirr92,False,650
+lirr100,lirr155,lirr102,True,1825
+lirr100,lirr155,lirr125,True,900
+lirr100,lirr155,lirr102,False,1325
+lirr100,lirr155,lirr125,False,900
+lirr100,lirr154,lirr102,True,1825
+lirr100,lirr154,lirr132,True,900
+lirr100,lirr154,lirr102,False,1325
+lirr100,lirr154,lirr132,False,900
+lirr100,lirr165,lirr102,True,2125
+lirr100,lirr165,lirr92,True,650
+lirr100,lirr165,lirr102,False,1550
+lirr100,lirr165,lirr92,False,650
+lirr100,lirr162,lirr214,True,2225
+lirr100,lirr162,lirr214,False,1625
+lirr100,lirr164,lirr102,True,2275
+lirr100,lirr164,lirr92,True,1000
+lirr100,lirr164,lirr102,False,1650
+lirr100,lirr164,lirr92,False,1000
+lirr100,lirr171,lirr214,True,2225
+lirr100,lirr171,lirr214,False,1625
+lirr100,lirr175,lirr102,True,1575
+lirr100,lirr175,lirr102,False,1150
+lirr100,lirr176,lirr102,True,3475
+lirr100,lirr176,lirr92,True,2025
+lirr100,lirr176,lirr102,False,2525
+lirr100,lirr176,lirr92,False,2025
+lirr100,lirr179,lirr102,True,2275
+lirr100,lirr179,lirr92,True,1000
+lirr100,lirr179,lirr102,False,1650
+lirr100,lirr179,lirr92,False,1000
+lirr100,lirr180,lirr102,True,1575
+lirr100,lirr180,lirr102,False,1150
+lirr100,lirr182,lirr102,True,1825
+lirr100,lirr182,lirr132,True,900
+lirr100,lirr182,lirr102,False,1325
+lirr100,lirr182,lirr132,False,900
+lirr100,lirr185,lirr102,True,1825
+lirr100,lirr185,lirr132,True,900
+lirr100,lirr185,lirr102,False,1325
+lirr100,lirr185,lirr132,False,900
+lirr100,lirr202,lirr102,True,2275
+lirr100,lirr202,lirr92,True,1000
+lirr100,lirr202,lirr102,False,1650
+lirr100,lirr202,lirr92,False,1000
+lirr100,lirr190,lirr102,True,3475
+lirr100,lirr190,lirr92,True,2025
+lirr100,lirr190,lirr102,False,2525
+lirr100,lirr190,lirr92,False,2025
+lirr100,lirr184,lirr102,True,1575
+lirr100,lirr184,lirr102,False,1150
+lirr100,lirr193,lirr102,True,2275
+lirr100,lirr193,lirr92,True,1000
+lirr100,lirr193,lirr102,False,1650
+lirr100,lirr193,lirr92,False,1000
+lirr100,lirr195,lirr102,True,1650
+lirr100,lirr195,lirr63,True,825
+lirr100,lirr195,lirr102,False,1200
+lirr100,lirr195,lirr63,False,825
+lirr100,lirr14,lirr102,True,2275
+lirr100,lirr14,lirr92,True,1000
+lirr100,lirr14,lirr102,False,1650
+lirr100,lirr14,lirr92,False,1000
+lirr100,lirr205,lirr102,True,1825
+lirr100,lirr205,lirr92,True,600
+lirr100,lirr205,lirr102,False,1325
+lirr100,lirr205,lirr92,False,600
+lirr100,lirr211,lirr102,True,1650
+lirr100,lirr211,lirr102,False,1200
+lirr100,lirr216,lirr102,True,1650
+lirr100,lirr216,lirr102,False,1200
+lirr100,lirr213,lirr102,True,1825
+lirr100,lirr213,lirr102,False,1325
+lirr100,lirr219,lirr102,True,1650
+lirr100,lirr219,lirr102,False,1200
+lirr100,lirr217,lirr102,True,1650
+lirr100,lirr217,lirr102,False,1200
+lirr100,lirr220,lirr102,True,2125
+lirr100,lirr220,lirr92,True,650
+lirr100,lirr220,lirr102,False,1550
+lirr100,lirr220,lirr92,False,650
+lirr100,lirr223,lirr102,True,2800
+lirr100,lirr223,lirr92,True,1350
+lirr100,lirr223,lirr102,False,2025
+lirr100,lirr223,lirr92,False,1350
+lirr102,lirr2,lirr214,True,1200
+lirr102,lirr2,lirr214,False,875
+lirr102,lirr25,lirr214,True,1200
+lirr102,lirr25,lirr214,False,875
+lirr102,lirr11,lirr214,True,1200
+lirr102,lirr11,lirr214,False,875
+lirr102,lirr42,lirr214,True,1200
+lirr102,lirr42,lirr214,False,875
+lirr102,lirr56,lirr214,True,1200
+lirr102,lirr56,lirr214,False,875
+lirr102,lirr72,lirr214,True,1350
+lirr102,lirr72,lirr214,False,975
+lirr102,lirr120,lirr214,True,1200
+lirr102,lirr120,lirr214,False,875
+lirr102,lirr131,lirr214,True,1350
+lirr102,lirr131,lirr214,False,975
+lirr102,lirr130,lirr214,True,1200
+lirr102,lirr130,lirr214,False,875
+lirr102,lirr162,lirr214,True,1350
+lirr102,lirr162,lirr214,False,975
+lirr102,lirr171,lirr214,True,1350
+lirr102,lirr171,lirr214,False,975
+lirr107,lirr241,lirr102,True,1200
+lirr107,lirr241,lirr102,False,875
+lirr107,lirr2,lirr214,True,1150
+lirr107,lirr2,lirr214,False,825
+lirr107,lirr25,lirr214,True,1150
+lirr107,lirr25,lirr214,False,825
+lirr107,lirr11,lirr214,True,1150
+lirr107,lirr11,lirr214,False,825
+lirr107,lirr42,lirr214,True,1150
+lirr107,lirr42,lirr214,False,825
+lirr107,lirr50,lirr102,True,1200
+lirr107,lirr50,lirr102,False,875
+lirr107,lirr56,lirr214,True,1150
+lirr107,lirr56,lirr214,False,825
+lirr107,lirr72,lirr214,True,1300
+lirr107,lirr72,lirr214,False,950
+lirr107,lirr120,lirr214,True,1150
+lirr107,lirr120,lirr214,False,825
+lirr107,lirr131,lirr214,True,1300
+lirr107,lirr131,lirr214,False,950
+lirr107,lirr130,lirr214,True,1150
+lirr107,lirr130,lirr214,False,825
+lirr107,lirr148,lirr102,True,1200
+lirr107,lirr148,lirr102,False,875
+lirr107,lirr162,lirr214,True,1300
+lirr107,lirr162,lirr214,False,950
+lirr107,lirr171,lirr214,True,1300
+lirr107,lirr171,lirr214,False,950
+lirr111,lirr1,lirr132,True,900
+lirr111,lirr1,lirr132,False,900
+lirr111,lirr4,lirr102,True,3475
+lirr111,lirr4,lirr92,True,2025
+lirr111,lirr4,lirr102,False,2525
+lirr111,lirr4,lirr92,False,2025
+lirr111,lirr8,lirr102,True,2125
+lirr111,lirr8,lirr102,False,1550
+lirr111,lirr2,lirr214,True,2050
+lirr111,lirr2,lirr214,False,1500
+lirr111,lirr27,lirr102,True,2125
+lirr111,lirr27,lirr92,True,650
+lirr111,lirr27,lirr102,False,1550
+lirr111,lirr27,lirr92,False,650
+lirr111,lirr225,lirr102,True,1825
+lirr111,lirr225,lirr102,False,1325
+lirr111,lirr26,lirr102,True,2275
+lirr111,lirr26,lirr92,True,1000
+lirr111,lirr26,lirr102,False,1650
+lirr111,lirr26,lirr92,False,1000
+lirr111,lirr25,lirr214,True,2050
+lirr111,lirr25,lirr214,False,1500
+lirr111,lirr23,lirr102,True,1650
+lirr111,lirr23,lirr102,False,1200
+lirr111,lirr16,lirr102,True,1825
+lirr111,lirr16,lirr102,False,1325
+lirr111,lirr21,lirr102,True,2800
+lirr111,lirr21,lirr92,True,1350
+lirr111,lirr21,lirr102,False,2025
+lirr111,lirr21,lirr92,False,1350
+lirr111,lirr20,lirr92,True,600
+lirr111,lirr20,lirr92,False,600
+lirr111,lirr29,lirr92,True,1000
+lirr111,lirr29,lirr92,False,1000
+lirr111,lirr13,lirr102,True,3475
+lirr111,lirr13,lirr92,True,2025
+lirr111,lirr13,lirr102,False,2525
+lirr111,lirr13,lirr92,False,2025
+lirr111,lirr11,lirr214,True,2050
+lirr111,lirr11,lirr214,False,1500
+lirr111,lirr32,lirr102,True,1650
+lirr111,lirr32,lirr102,False,1200
+lirr111,lirr33,lirr92,True,1000
+lirr111,lirr33,lirr92,False,1000
+lirr111,lirr31,lirr102,True,1825
+lirr111,lirr31,lirr102,False,1325
+lirr111,lirr38,lirr102,True,2125
+lirr111,lirr38,lirr102,False,1550
+lirr111,lirr36,lirr102,True,1650
+lirr111,lirr36,lirr63,True,825
+lirr111,lirr36,lirr102,False,1200
+lirr111,lirr36,lirr63,False,825
+lirr111,lirr44,lirr92,True,650
+lirr111,lirr44,lirr92,False,650
+lirr111,lirr42,lirr214,True,2050
+lirr111,lirr42,lirr214,False,1500
+lirr111,lirr48,lirr102,True,3475
+lirr111,lirr48,lirr92,True,2025
+lirr111,lirr48,lirr102,False,2525
+lirr111,lirr48,lirr92,False,2025
+lirr111,lirr51,lirr102,True,1825
+lirr111,lirr51,lirr102,False,1325
+lirr111,lirr52,lirr132,True,825
+lirr111,lirr52,lirr132,False,825
+lirr111,lirr65,lirr102,True,1650
+lirr111,lirr65,lirr102,False,1200
+lirr111,lirr59,lirr92,True,600
+lirr111,lirr59,lirr92,False,600
+lirr111,lirr63,lirr102,True,1650
+lirr111,lirr63,lirr102,False,1200
+lirr111,lirr56,lirr214,True,2050
+lirr111,lirr56,lirr214,False,1500
+lirr111,lirr64,lirr102,True,1825
+lirr111,lirr64,lirr102,False,1325
+lirr111,lirr68,lirr102,True,1650
+lirr111,lirr68,lirr63,True,825
+lirr111,lirr68,lirr102,False,1200
+lirr111,lirr68,lirr63,False,825
+lirr111,lirr66,lirr102,True,1650
+lirr111,lirr66,lirr102,False,1200
+lirr111,lirr67,lirr132,True,900
+lirr111,lirr67,lirr132,False,900
+lirr111,lirr71,lirr132,True,900
+lirr111,lirr71,lirr132,False,900
+lirr111,lirr76,lirr132,True,900
+lirr111,lirr76,lirr132,False,900
+lirr111,lirr72,lirr214,True,2225
+lirr111,lirr72,lirr214,False,1625
+lirr111,lirr74,lirr102,True,2275
+lirr111,lirr74,lirr92,True,1000
+lirr111,lirr74,lirr102,False,1650
+lirr111,lirr74,lirr92,False,1000
+lirr111,lirr73,lirr92,True,2025
+lirr111,lirr73,lirr92,False,2025
+lirr111,lirr77,lirr132,True,900
+lirr111,lirr77,lirr132,False,900
+lirr111,lirr83,lirr102,True,3475
+lirr111,lirr83,lirr92,True,2025
+lirr111,lirr83,lirr102,False,2525
+lirr111,lirr83,lirr92,False,2025
+lirr111,lirr84,lirr102,True,1650
+lirr111,lirr84,lirr63,True,825
+lirr111,lirr84,lirr102,False,1200
+lirr111,lirr84,lirr63,False,825
+lirr111,lirr85,lirr102,True,1650
+lirr111,lirr85,lirr102,False,1200
+lirr111,lirr94,lirr102,True,1650
+lirr111,lirr94,lirr102,False,1200
+lirr111,lirr89,lirr102,True,1575
+lirr111,lirr89,lirr102,False,1150
+lirr111,lirr101,lirr102,True,1650
+lirr111,lirr101,lirr102,False,1200
+lirr111,lirr99,lirr102,True,1825
+lirr111,lirr99,lirr102,False,1325
+lirr111,lirr100,lirr102,True,2275
+lirr111,lirr100,lirr92,True,1000
+lirr111,lirr100,lirr102,False,1650
+lirr111,lirr100,lirr92,False,1000
+lirr111,lirr124,lirr102,True,1650
+lirr111,lirr124,lirr102,False,1200
+lirr111,lirr122,lirr102,True,1575
+lirr111,lirr122,lirr102,False,1150
+lirr111,lirr114,lirr102,True,1650
+lirr111,lirr114,lirr102,False,1200
+lirr111,lirr117,lirr102,True,2125
+lirr111,lirr117,lirr102,False,1550
+lirr111,lirr120,lirr214,True,2050
+lirr111,lirr120,lirr214,False,1500
+lirr111,lirr119,lirr102,True,1575
+lirr111,lirr119,lirr102,False,1150
+lirr111,lirr123,lirr132,True,900
+lirr111,lirr123,lirr132,False,900
+lirr111,lirr113,lirr102,True,1825
+lirr111,lirr113,lirr102,False,1325
+lirr111,lirr125,lirr102,True,1650
+lirr111,lirr125,lirr102,False,1200
+lirr111,lirr142,lirr102,True,1650
+lirr111,lirr142,lirr102,False,1200
+lirr111,lirr131,lirr214,True,2225
+lirr111,lirr131,lirr214,False,1625
+lirr111,lirr136,lirr102,True,1825
+lirr111,lirr136,lirr102,False,1325
+lirr111,lirr135,lirr102,True,1825
+lirr111,lirr135,lirr102,False,1325
+lirr111,lirr140,lirr102,True,2800
+lirr111,lirr140,lirr92,True,1350
+lirr111,lirr140,lirr102,False,2025
+lirr111,lirr140,lirr92,False,1350
+lirr111,lirr126,lirr92,True,2025
+lirr111,lirr126,lirr92,False,2025
+lirr111,lirr129,lirr92,True,1000
+lirr111,lirr129,lirr92,False,1000
+lirr111,lirr226,lirr102,True,1825
+lirr111,lirr226,lirr102,False,1325
+lirr111,lirr141,lirr102,True,3475
+lirr111,lirr141,lirr92,True,2025
+lirr111,lirr141,lirr102,False,2525
+lirr111,lirr141,lirr92,False,2025
+lirr111,lirr130,lirr214,True,2050
+lirr111,lirr130,lirr214,False,1500
+lirr111,lirr149,lirr102,True,1650
+lirr111,lirr149,lirr63,True,825
+lirr111,lirr149,lirr102,False,1200
+lirr111,lirr149,lirr63,False,825
+lirr111,lirr157,lirr102,True,2275
+lirr111,lirr157,lirr92,True,1000
+lirr111,lirr157,lirr102,False,1650
+lirr111,lirr157,lirr92,False,1000
+lirr111,lirr155,lirr102,True,1825
+lirr111,lirr155,lirr102,False,1325
+lirr111,lirr154,lirr132,True,900
+lirr111,lirr154,lirr132,False,900
+lirr111,lirr163,lirr102,True,2275
+lirr111,lirr163,lirr92,True,1000
+lirr111,lirr163,lirr102,False,1650
+lirr111,lirr163,lirr92,False,1000
+lirr111,lirr165,lirr92,True,650
+lirr111,lirr165,lirr92,False,650
+lirr111,lirr162,lirr214,True,2225
+lirr111,lirr162,lirr214,False,1625
+lirr111,lirr171,lirr214,True,2225
+lirr111,lirr171,lirr214,False,1625
+lirr111,lirr175,lirr102,True,1575
+lirr111,lirr175,lirr102,False,1150
+lirr111,lirr176,lirr92,True,2025
+lirr111,lirr176,lirr92,False,2025
+lirr111,lirr183,lirr102,True,1825
+lirr111,lirr183,lirr102,False,1325
+lirr111,lirr179,lirr92,True,1000
+lirr111,lirr179,lirr92,False,1000
+lirr111,lirr180,lirr102,True,1575
+lirr111,lirr180,lirr102,False,1150
+lirr111,lirr182,lirr132,True,900
+lirr111,lirr182,lirr132,False,900
+lirr111,lirr204,lirr102,True,2275
+lirr111,lirr204,lirr92,True,1000
+lirr111,lirr204,lirr102,False,1650
+lirr111,lirr204,lirr92,False,1000
+lirr111,lirr185,lirr132,True,900
+lirr111,lirr185,lirr132,False,900
+lirr111,lirr187,lirr102,True,1825
+lirr111,lirr187,lirr102,False,1325
+lirr111,lirr191,lirr102,True,3475
+lirr111,lirr191,lirr92,True,2025
+lirr111,lirr191,lirr102,False,2525
+lirr111,lirr191,lirr92,False,2025
+lirr111,lirr190,lirr92,True,2025
+lirr111,lirr190,lirr92,False,2025
+lirr111,lirr198,lirr102,True,2800
+lirr111,lirr198,lirr92,True,1350
+lirr111,lirr198,lirr102,False,2025
+lirr111,lirr198,lirr92,False,1350
+lirr111,lirr184,lirr102,True,1575
+lirr111,lirr184,lirr102,False,1150
+lirr111,lirr195,lirr102,True,1650
+lirr111,lirr195,lirr63,True,825
+lirr111,lirr195,lirr102,False,1200
+lirr111,lirr195,lirr63,False,825
+lirr111,lirr211,lirr102,True,1650
+lirr111,lirr211,lirr102,False,1200
+lirr111,lirr215,lirr102,True,1825
+lirr111,lirr215,lirr102,False,1325
+lirr111,lirr216,lirr102,True,1650
+lirr111,lirr216,lirr102,False,1200
+lirr111,lirr233,lirr102,True,3475
+lirr111,lirr233,lirr92,True,2025
+lirr111,lirr233,lirr102,False,2525
+lirr111,lirr233,lirr92,False,2025
+lirr111,lirr219,lirr102,True,1650
+lirr111,lirr219,lirr102,False,1200
+lirr111,lirr217,lirr102,True,1650
+lirr111,lirr217,lirr102,False,1200
+lirr111,lirr220,lirr92,True,650
+lirr111,lirr220,lirr92,False,650
+lirr111,lirr223,lirr92,True,1350
+lirr111,lirr223,lirr92,False,1350
+lirr124,lirr1,lirr102,True,1100
+lirr124,lirr1,lirr102,False,800
+lirr124,lirr4,lirr102,True,2775
+lirr124,lirr4,lirr102,False,2025
+lirr124,lirr8,lirr102,True,1350
+lirr124,lirr8,lirr102,False,975
+lirr124,lirr2,lirr214,True,1350
+lirr124,lirr2,lirr214,False,975
+lirr124,lirr27,lirr102,True,1350
+lirr124,lirr27,lirr102,False,975
+lirr124,lirr225,lirr102,True,1100
+lirr124,lirr225,lirr102,False,800
+lirr124,lirr26,lirr102,True,1650
+lirr124,lirr26,lirr102,False,1200
+lirr124,lirr25,lirr214,True,1350
+lirr124,lirr25,lirr214,False,975
+lirr124,lirr23,lirr102,True,1000
+lirr124,lirr23,lirr102,False,725
+lirr124,lirr16,lirr102,True,1100
+lirr124,lirr16,lirr102,False,800
+lirr124,lirr21,lirr102,True,2125
+lirr124,lirr21,lirr102,False,1550
+lirr124,lirr20,lirr102,True,1100
+lirr124,lirr20,lirr102,False,800
+lirr124,lirr29,lirr102,True,1650
+lirr124,lirr29,lirr102,False,1200
+lirr124,lirr13,lirr102,True,2775
+lirr124,lirr13,lirr102,False,2025
+lirr124,lirr11,lirr214,True,1350
+lirr124,lirr11,lirr214,False,975
+lirr124,lirr39,lirr102,True,1100
+lirr124,lirr39,lirr102,False,800
+lirr124,lirr32,lirr211,True,425
+lirr124,lirr32,lirr211,False,425
+lirr124,lirr33,lirr102,True,1650
+lirr124,lirr33,lirr102,False,1200
+lirr124,lirr31,lirr211,True,425
+lirr124,lirr31,lirr211,False,425
+lirr124,lirr40,lirr102,True,1350
+lirr124,lirr40,lirr102,False,975
+lirr124,lirr38,lirr102,True,1350
+lirr124,lirr38,lirr102,False,975
+lirr124,lirr36,lirr102,True,1000
+lirr124,lirr36,lirr102,False,725
+lirr124,lirr44,lirr102,True,1350
+lirr124,lirr44,lirr102,False,975
+lirr124,lirr42,lirr214,True,1350
+lirr124,lirr42,lirr214,False,975
+lirr124,lirr48,lirr102,True,2775
+lirr124,lirr48,lirr102,False,2025
+lirr124,lirr51,lirr211,True,425
+lirr124,lirr51,lirr211,False,425
+lirr124,lirr52,lirr102,True,1000
+lirr124,lirr52,lirr102,False,725
+lirr124,lirr65,lirr211,True,425
+lirr124,lirr65,lirr211,False,425
+lirr124,lirr59,lirr102,True,1100
+lirr124,lirr59,lirr102,False,800
+lirr124,lirr63,lirr102,True,1000
+lirr124,lirr63,lirr102,False,725
+lirr124,lirr56,lirr214,True,1350
+lirr124,lirr56,lirr214,False,975
+lirr124,lirr64,lirr102,True,1100
+lirr124,lirr64,lirr102,False,800
+lirr124,lirr68,lirr102,True,1000
+lirr124,lirr68,lirr102,False,725
+lirr124,lirr66,lirr211,True,425
+lirr124,lirr66,lirr211,False,425
+lirr124,lirr67,lirr102,True,1100
+lirr124,lirr67,lirr102,False,800
+lirr124,lirr71,lirr102,True,1100
+lirr124,lirr71,lirr102,False,800
+lirr124,lirr76,lirr102,True,1100
+lirr124,lirr76,lirr102,False,800
+lirr124,lirr72,lirr214,True,1475
+lirr124,lirr72,lirr214,False,1075
+lirr124,lirr74,lirr102,True,1650
+lirr124,lirr74,lirr102,False,1200
+lirr124,lirr78,lirr102,True,1350
+lirr124,lirr78,lirr102,False,975
+lirr124,lirr73,lirr102,True,2775
+lirr124,lirr73,lirr102,False,2025
+lirr124,lirr77,lirr102,True,1100
+lirr124,lirr77,lirr102,False,800
+lirr124,lirr83,lirr102,True,2775
+lirr124,lirr83,lirr102,False,2025
+lirr124,lirr84,lirr102,True,1000
+lirr124,lirr84,lirr102,False,725
+lirr124,lirr94,lirr211,True,425
+lirr124,lirr94,lirr211,False,425
+lirr124,lirr92,lirr102,True,1100
+lirr124,lirr92,lirr102,False,800
+lirr124,lirr89,lirr102,True,900
+lirr124,lirr89,lirr102,False,650
+lirr124,lirr91,lirr102,True,1350
+lirr124,lirr91,lirr102,False,975
+lirr124,lirr101,lirr211,True,425
+lirr124,lirr101,lirr211,False,425
+lirr124,lirr99,lirr211,True,425
+lirr124,lirr99,lirr211,False,425
+lirr124,lirr100,lirr102,True,1650
+lirr124,lirr100,lirr102,False,1200
+lirr124,lirr111,lirr102,True,1650
+lirr124,lirr111,lirr102,False,1200
+lirr124,lirr122,lirr102,True,900
+lirr124,lirr122,lirr102,False,650
+lirr124,lirr114,lirr211,True,425
+lirr124,lirr114,lirr211,False,425
+lirr124,lirr117,lirr102,True,1350
+lirr124,lirr117,lirr102,False,975
+lirr124,lirr120,lirr214,True,1350
+lirr124,lirr120,lirr214,False,975
+lirr124,lirr119,lirr102,True,900
+lirr124,lirr119,lirr102,False,650
+lirr124,lirr123,lirr102,True,1100
+lirr124,lirr123,lirr102,False,800
+lirr124,lirr113,lirr211,True,425
+lirr124,lirr113,lirr211,False,425
+lirr124,lirr125,lirr211,True,425
+lirr124,lirr125,lirr211,False,425
+lirr124,lirr131,lirr214,True,1475
+lirr124,lirr131,lirr214,False,1075
+lirr124,lirr136,lirr102,True,1100
+lirr124,lirr136,lirr102,False,800
+lirr124,lirr135,lirr102,True,1100
+lirr124,lirr135,lirr102,False,800
+lirr124,lirr140,lirr102,True,2125
+lirr124,lirr140,lirr102,False,1550
+lirr124,lirr126,lirr102,True,2775
+lirr124,lirr126,lirr102,False,2025
+lirr124,lirr129,lirr102,True,1650
+lirr124,lirr129,lirr102,False,1200
+lirr124,lirr127,lirr102,True,1000
+lirr124,lirr127,lirr102,False,725
+lirr124,lirr226,lirr102,True,1100
+lirr124,lirr226,lirr102,False,800
+lirr124,lirr132,lirr102,True,1000
+lirr124,lirr132,lirr102,False,725
+lirr124,lirr141,lirr102,True,2775
+lirr124,lirr141,lirr102,False,2025
+lirr124,lirr130,lirr214,True,1350
+lirr124,lirr130,lirr214,False,975
+lirr124,lirr149,lirr102,True,1000
+lirr124,lirr149,lirr102,False,725
+lirr124,lirr152,lirr102,True,1000
+lirr124,lirr152,lirr102,False,725
+lirr124,lirr153,lirr102,True,1350
+lirr124,lirr153,lirr102,False,975
+lirr124,lirr157,lirr102,True,1650
+lirr124,lirr157,lirr102,False,1200
+lirr124,lirr155,lirr211,True,425
+lirr124,lirr155,lirr211,False,425
+lirr124,lirr154,lirr102,True,1100
+lirr124,lirr154,lirr102,False,800
+lirr124,lirr163,lirr102,True,1650
+lirr124,lirr163,lirr102,False,1200
+lirr124,lirr165,lirr102,True,1350
+lirr124,lirr165,lirr102,False,975
+lirr124,lirr162,lirr214,True,1475
+lirr124,lirr162,lirr214,False,1075
+lirr124,lirr164,lirr102,True,1650
+lirr124,lirr164,lirr102,False,1200
+lirr124,lirr171,lirr214,True,1475
+lirr124,lirr171,lirr214,False,1075
+lirr124,lirr175,lirr102,True,900
+lirr124,lirr175,lirr102,False,650
+lirr124,lirr176,lirr102,True,2775
+lirr124,lirr176,lirr102,False,2025
+lirr124,lirr183,lirr102,True,1100
+lirr124,lirr183,lirr102,False,800
+lirr124,lirr179,lirr102,True,1650
+lirr124,lirr179,lirr102,False,1200
+lirr124,lirr180,lirr102,True,900
+lirr124,lirr180,lirr102,False,650
+lirr124,lirr182,lirr102,True,1100
+lirr124,lirr182,lirr102,False,800
+lirr124,lirr204,lirr102,True,1650
+lirr124,lirr204,lirr102,False,1200
+lirr124,lirr185,lirr102,True,1100
+lirr124,lirr185,lirr102,False,800
+lirr124,lirr187,lirr102,True,1100
+lirr124,lirr187,lirr102,False,800
+lirr124,lirr202,lirr102,True,1650
+lirr124,lirr202,lirr102,False,1200
+lirr124,lirr191,lirr102,True,2775
+lirr124,lirr191,lirr102,False,2025
+lirr124,lirr190,lirr102,True,2775
+lirr124,lirr190,lirr102,False,2025
+lirr124,lirr198,lirr102,True,2125
+lirr124,lirr198,lirr102,False,1550
+lirr124,lirr193,lirr102,True,1650
+lirr124,lirr193,lirr102,False,1200
+lirr124,lirr195,lirr102,True,1000
+lirr124,lirr195,lirr102,False,725
+lirr124,lirr14,lirr102,True,1650
+lirr124,lirr14,lirr102,False,1200
+lirr124,lirr205,lirr102,True,1100
+lirr124,lirr205,lirr102,False,800
+lirr124,lirr215,lirr102,True,1100
+lirr124,lirr215,lirr102,False,800
+lirr124,lirr213,lirr102,True,1100
+lirr124,lirr213,lirr102,False,800
+lirr124,lirr233,lirr102,True,2775
+lirr124,lirr233,lirr102,False,2025
+lirr124,lirr217,lirr211,True,425
+lirr124,lirr217,lirr211,False,425
+lirr124,lirr220,lirr102,True,1350
+lirr124,lirr220,lirr102,False,975
+lirr124,lirr223,lirr102,True,2125
+lirr124,lirr223,lirr102,False,1550
+lirr122,lirr1,lirr102,True,1050
+lirr122,lirr1,lirr102,False,775
+lirr122,lirr4,lirr102,True,2700
+lirr122,lirr4,lirr102,False,1975
+lirr122,lirr8,lirr102,True,1300
+lirr122,lirr8,lirr102,False,950
+lirr122,lirr2,lirr214,True,1200
+lirr122,lirr2,lirr214,False,875
+lirr122,lirr27,lirr102,True,1300
+lirr122,lirr27,lirr102,False,950
+lirr122,lirr225,lirr102,True,1050
+lirr122,lirr225,lirr102,False,775
+lirr122,lirr26,lirr102,True,1575
+lirr122,lirr26,lirr102,False,1150
+lirr122,lirr25,lirr214,True,1200
+lirr122,lirr25,lirr214,False,875
+lirr122,lirr23,lirr102,True,900
+lirr122,lirr23,lirr102,False,650
+lirr122,lirr16,lirr102,True,1050
+lirr122,lirr16,lirr102,False,775
+lirr122,lirr21,lirr102,True,2050
+lirr122,lirr21,lirr102,False,1500
+lirr122,lirr20,lirr102,True,1050
+lirr122,lirr20,lirr102,False,775
+lirr122,lirr29,lirr102,True,1575
+lirr122,lirr29,lirr102,False,1150
+lirr122,lirr13,lirr102,True,2700
+lirr122,lirr13,lirr102,False,1975
+lirr122,lirr11,lirr214,True,1200
+lirr122,lirr11,lirr214,False,875
+lirr122,lirr39,lirr102,True,1050
+lirr122,lirr39,lirr102,False,775
+lirr122,lirr33,lirr102,True,1575
+lirr122,lirr33,lirr102,False,1150
+lirr122,lirr31,lirr102,True,1050
+lirr122,lirr31,lirr102,False,775
+lirr122,lirr40,lirr102,True,1300
+lirr122,lirr40,lirr102,False,950
+lirr122,lirr38,lirr102,True,1300
+lirr122,lirr38,lirr102,False,950
+lirr122,lirr36,lirr102,True,900
+lirr122,lirr36,lirr102,False,650
+lirr122,lirr44,lirr102,True,1300
+lirr122,lirr44,lirr102,False,950
+lirr122,lirr42,lirr214,True,1200
+lirr122,lirr42,lirr214,False,875
+lirr122,lirr48,lirr102,True,2700
+lirr122,lirr48,lirr102,False,1975
+lirr122,lirr51,lirr102,True,1050
+lirr122,lirr51,lirr102,False,775
+lirr122,lirr52,lirr102,True,900
+lirr122,lirr52,lirr102,False,650
+lirr122,lirr59,lirr102,True,1050
+lirr122,lirr59,lirr102,False,775
+lirr122,lirr63,lirr102,True,900
+lirr122,lirr63,lirr102,False,650
+lirr122,lirr56,lirr214,True,1200
+lirr122,lirr56,lirr214,False,875
+lirr122,lirr64,lirr102,True,1050
+lirr122,lirr64,lirr102,False,775
+lirr122,lirr68,lirr102,True,900
+lirr122,lirr68,lirr102,False,650
+lirr122,lirr67,lirr102,True,1050
+lirr122,lirr67,lirr102,False,775
+lirr122,lirr71,lirr102,True,1050
+lirr122,lirr71,lirr102,False,775
+lirr122,lirr76,lirr102,True,1050
+lirr122,lirr76,lirr102,False,775
+lirr122,lirr72,lirr214,True,1350
+lirr122,lirr72,lirr214,False,975
+lirr122,lirr74,lirr102,True,1575
+lirr122,lirr74,lirr102,False,1150
+lirr122,lirr78,lirr102,True,1300
+lirr122,lirr78,lirr102,False,950
+lirr122,lirr73,lirr102,True,2700
+lirr122,lirr73,lirr102,False,1975
+lirr122,lirr77,lirr102,True,1050
+lirr122,lirr77,lirr102,False,775
+lirr122,lirr83,lirr102,True,2700
+lirr122,lirr83,lirr102,False,1975
+lirr122,lirr84,lirr102,True,900
+lirr122,lirr84,lirr102,False,650
+lirr122,lirr85,lirr102,True,900
+lirr122,lirr85,lirr102,False,650
+lirr122,lirr92,lirr102,True,1050
+lirr122,lirr92,lirr102,False,775
+lirr122,lirr89,lirr102,True,500
+lirr122,lirr89,lirr102,False,400
+lirr122,lirr91,lirr102,True,1300
+lirr122,lirr91,lirr102,False,950
+lirr122,lirr99,lirr102,True,1050
+lirr122,lirr99,lirr102,False,775
+lirr122,lirr100,lirr102,True,1575
+lirr122,lirr100,lirr102,False,1150
+lirr122,lirr111,lirr102,True,1575
+lirr122,lirr111,lirr102,False,1150
+lirr122,lirr124,lirr102,True,900
+lirr122,lirr124,lirr102,False,650
+lirr122,lirr117,lirr102,True,1300
+lirr122,lirr117,lirr102,False,950
+lirr122,lirr120,lirr214,True,1200
+lirr122,lirr120,lirr214,False,875
+lirr122,lirr123,lirr102,True,1050
+lirr122,lirr123,lirr102,False,775
+lirr122,lirr113,lirr102,True,1050
+lirr122,lirr113,lirr102,False,775
+lirr122,lirr125,lirr102,True,900
+lirr122,lirr125,lirr102,False,650
+lirr122,lirr142,lirr102,True,900
+lirr122,lirr142,lirr102,False,650
+lirr122,lirr131,lirr214,True,1350
+lirr122,lirr131,lirr214,False,975
+lirr122,lirr136,lirr102,True,1050
+lirr122,lirr136,lirr102,False,775
+lirr122,lirr135,lirr102,True,1050
+lirr122,lirr135,lirr102,False,775
+lirr122,lirr140,lirr102,True,2050
+lirr122,lirr140,lirr102,False,1500
+lirr122,lirr126,lirr102,True,2700
+lirr122,lirr126,lirr102,False,1975
+lirr122,lirr129,lirr102,True,1575
+lirr122,lirr129,lirr102,False,1150
+lirr122,lirr127,lirr102,True,900
+lirr122,lirr127,lirr102,False,650
+lirr122,lirr226,lirr102,True,1050
+lirr122,lirr226,lirr102,False,775
+lirr122,lirr132,lirr102,True,900
+lirr122,lirr132,lirr102,False,650
+lirr122,lirr141,lirr102,True,2700
+lirr122,lirr141,lirr102,False,1975
+lirr122,lirr130,lirr214,True,1200
+lirr122,lirr130,lirr214,False,875
+lirr122,lirr149,lirr102,True,900
+lirr122,lirr149,lirr102,False,650
+lirr122,lirr152,lirr102,True,900
+lirr122,lirr152,lirr102,False,650
+lirr122,lirr153,lirr102,True,1300
+lirr122,lirr153,lirr102,False,950
+lirr122,lirr157,lirr102,True,1575
+lirr122,lirr157,lirr102,False,1150
+lirr122,lirr155,lirr102,True,1050
+lirr122,lirr155,lirr102,False,775
+lirr122,lirr154,lirr102,True,1050
+lirr122,lirr154,lirr102,False,775
+lirr122,lirr163,lirr102,True,1575
+lirr122,lirr163,lirr102,False,1150
+lirr122,lirr165,lirr102,True,1300
+lirr122,lirr165,lirr102,False,950
+lirr122,lirr162,lirr214,True,1350
+lirr122,lirr162,lirr214,False,975
+lirr122,lirr164,lirr102,True,1575
+lirr122,lirr164,lirr102,False,1150
+lirr122,lirr171,lirr214,True,1350
+lirr122,lirr171,lirr214,False,975
+lirr122,lirr175,lirr102,True,500
+lirr122,lirr175,lirr102,False,400
+lirr122,lirr176,lirr102,True,2700
+lirr122,lirr176,lirr102,False,1975
+lirr122,lirr183,lirr102,True,1050
+lirr122,lirr183,lirr102,False,775
+lirr122,lirr179,lirr102,True,1575
+lirr122,lirr179,lirr102,False,1150
+lirr122,lirr182,lirr102,True,1050
+lirr122,lirr182,lirr102,False,775
+lirr122,lirr204,lirr102,True,1575
+lirr122,lirr204,lirr102,False,1150
+lirr122,lirr185,lirr102,True,1050
+lirr122,lirr185,lirr102,False,775
+lirr122,lirr187,lirr102,True,1050
+lirr122,lirr187,lirr102,False,775
+lirr122,lirr202,lirr102,True,1575
+lirr122,lirr202,lirr102,False,1150
+lirr122,lirr191,lirr102,True,2700
+lirr122,lirr191,lirr102,False,1975
+lirr122,lirr190,lirr102,True,2700
+lirr122,lirr190,lirr102,False,1975
+lirr122,lirr198,lirr102,True,2050
+lirr122,lirr198,lirr102,False,1500
+lirr122,lirr184,lirr102,True,500
+lirr122,lirr184,lirr102,False,400
+lirr122,lirr193,lirr102,True,1575
+lirr122,lirr193,lirr102,False,1150
+lirr122,lirr195,lirr102,True,900
+lirr122,lirr195,lirr102,False,650
+lirr122,lirr14,lirr102,True,1575
+lirr122,lirr14,lirr102,False,1150
+lirr122,lirr205,lirr102,True,1050
+lirr122,lirr205,lirr102,False,775
+lirr122,lirr215,lirr102,True,1050
+lirr122,lirr215,lirr102,False,775
+lirr122,lirr216,lirr102,True,900
+lirr122,lirr216,lirr102,False,650
+lirr122,lirr213,lirr102,True,1050
+lirr122,lirr213,lirr102,False,775
+lirr122,lirr233,lirr102,True,2700
+lirr122,lirr233,lirr102,False,1975
+lirr122,lirr219,lirr102,True,900
+lirr122,lirr219,lirr102,False,650
+lirr122,lirr220,lirr102,True,1300
+lirr122,lirr220,lirr102,False,950
+lirr122,lirr223,lirr102,True,2050
+lirr122,lirr223,lirr102,False,1500
+lirr114,lirr1,lirr102,True,1100
+lirr114,lirr1,lirr102,False,800
+lirr114,lirr4,lirr102,True,2775
+lirr114,lirr4,lirr102,False,2025
+lirr114,lirr8,lirr102,True,1350
+lirr114,lirr8,lirr211,True,600
+lirr114,lirr8,lirr102,False,975
+lirr114,lirr8,lirr211,False,600
+lirr114,lirr2,lirr214,True,1350
+lirr114,lirr2,lirr214,False,975
+lirr114,lirr27,lirr102,True,1350
+lirr114,lirr27,lirr211,True,600
+lirr114,lirr27,lirr102,False,975
+lirr114,lirr27,lirr211,False,600
+lirr114,lirr225,lirr102,True,1100
+lirr114,lirr225,lirr211,True,425
+lirr114,lirr225,lirr102,False,800
+lirr114,lirr225,lirr211,False,425
+lirr114,lirr26,lirr102,True,1650
+lirr114,lirr26,lirr102,False,1200
+lirr114,lirr25,lirr214,True,1350
+lirr114,lirr25,lirr214,False,975
+lirr114,lirr23,lirr102,True,1000
+lirr114,lirr23,lirr102,False,725
+lirr114,lirr16,lirr102,True,1100
+lirr114,lirr16,lirr211,True,425
+lirr114,lirr16,lirr102,False,800
+lirr114,lirr16,lirr211,False,425
+lirr114,lirr21,lirr102,True,2125
+lirr114,lirr21,lirr102,False,1550
+lirr114,lirr20,lirr102,True,1100
+lirr114,lirr20,lirr102,False,800
+lirr114,lirr29,lirr102,True,1650
+lirr114,lirr29,lirr102,False,1200
+lirr114,lirr13,lirr102,True,2775
+lirr114,lirr13,lirr102,False,2025
+lirr114,lirr11,lirr214,True,1350
+lirr114,lirr11,lirr214,False,975
+lirr114,lirr39,lirr102,True,1100
+lirr114,lirr39,lirr102,False,800
+lirr114,lirr33,lirr102,True,1650
+lirr114,lirr33,lirr102,False,1200
+lirr114,lirr31,lirr211,True,425
+lirr114,lirr31,lirr211,False,425
+lirr114,lirr40,lirr102,True,1350
+lirr114,lirr40,lirr102,False,975
+lirr114,lirr38,lirr102,True,1350
+lirr114,lirr38,lirr211,True,600
+lirr114,lirr38,lirr102,False,975
+lirr114,lirr38,lirr211,False,600
+lirr114,lirr36,lirr102,True,1000
+lirr114,lirr36,lirr102,False,725
+lirr114,lirr44,lirr102,True,1350
+lirr114,lirr44,lirr102,False,975
+lirr114,lirr42,lirr214,True,1350
+lirr114,lirr42,lirr214,False,975
+lirr114,lirr48,lirr102,True,2775
+lirr114,lirr48,lirr102,False,2025
+lirr114,lirr51,lirr211,True,425
+lirr114,lirr51,lirr211,False,425
+lirr114,lirr52,lirr102,True,1000
+lirr114,lirr52,lirr102,False,725
+lirr114,lirr59,lirr102,True,1100
+lirr114,lirr59,lirr102,False,800
+lirr114,lirr63,lirr102,True,1000
+lirr114,lirr63,lirr102,False,725
+lirr114,lirr56,lirr214,True,1350
+lirr114,lirr56,lirr214,False,975
+lirr114,lirr64,lirr102,True,1100
+lirr114,lirr64,lirr211,True,425
+lirr114,lirr64,lirr102,False,800
+lirr114,lirr64,lirr211,False,425
+lirr114,lirr68,lirr102,True,1000
+lirr114,lirr68,lirr102,False,725
+lirr114,lirr67,lirr102,True,1100
+lirr114,lirr67,lirr102,False,800
+lirr114,lirr71,lirr102,True,1100
+lirr114,lirr71,lirr102,False,800
+lirr114,lirr76,lirr102,True,1100
+lirr114,lirr76,lirr102,False,800
+lirr114,lirr72,lirr214,True,1475
+lirr114,lirr72,lirr214,False,1075
+lirr114,lirr74,lirr102,True,1650
+lirr114,lirr74,lirr102,False,1200
+lirr114,lirr78,lirr102,True,1350
+lirr114,lirr78,lirr102,False,975
+lirr114,lirr73,lirr102,True,2775
+lirr114,lirr73,lirr102,False,2025
+lirr114,lirr77,lirr102,True,1100
+lirr114,lirr77,lirr102,False,800
+lirr114,lirr83,lirr102,True,2775
+lirr114,lirr83,lirr102,False,2025
+lirr114,lirr84,lirr102,True,1000
+lirr114,lirr84,lirr102,False,725
+lirr114,lirr85,lirr211,True,425
+lirr114,lirr85,lirr211,False,425
+lirr114,lirr92,lirr102,True,1100
+lirr114,lirr92,lirr102,False,800
+lirr114,lirr89,lirr102,True,900
+lirr114,lirr89,lirr102,False,650
+lirr114,lirr91,lirr102,True,1350
+lirr114,lirr91,lirr102,False,975
+lirr114,lirr99,lirr211,True,425
+lirr114,lirr99,lirr211,False,425
+lirr114,lirr100,lirr102,True,1650
+lirr114,lirr100,lirr102,False,1200
+lirr114,lirr111,lirr102,True,1650
+lirr114,lirr111,lirr102,False,1200
+lirr114,lirr124,lirr211,True,425
+lirr114,lirr124,lirr211,False,425
+lirr114,lirr117,lirr102,True,1350
+lirr114,lirr117,lirr211,True,600
+lirr114,lirr117,lirr102,False,975
+lirr114,lirr117,lirr211,False,600
+lirr114,lirr120,lirr214,True,1350
+lirr114,lirr120,lirr214,False,975
+lirr114,lirr123,lirr102,True,1100
+lirr114,lirr123,lirr102,False,800
+lirr114,lirr113,lirr211,True,425
+lirr114,lirr113,lirr211,False,425
+lirr114,lirr125,lirr211,True,425
+lirr114,lirr125,lirr211,False,425
+lirr114,lirr142,lirr211,True,425
+lirr114,lirr142,lirr211,False,425
+lirr114,lirr131,lirr214,True,1475
+lirr114,lirr131,lirr214,False,1075
+lirr114,lirr136,lirr102,True,1100
+lirr114,lirr136,lirr211,True,425
+lirr114,lirr136,lirr102,False,800
+lirr114,lirr136,lirr211,False,425
+lirr114,lirr135,lirr102,True,1100
+lirr114,lirr135,lirr211,True,425
+lirr114,lirr135,lirr102,False,800
+lirr114,lirr135,lirr211,False,425
+lirr114,lirr140,lirr102,True,2125
+lirr114,lirr140,lirr102,False,1550
+lirr114,lirr126,lirr102,True,2775
+lirr114,lirr126,lirr102,False,2025
+lirr114,lirr129,lirr102,True,1650
+lirr114,lirr129,lirr102,False,1200
+lirr114,lirr127,lirr102,True,1000
+lirr114,lirr127,lirr102,False,725
+lirr114,lirr226,lirr102,True,1100
+lirr114,lirr226,lirr211,True,425
+lirr114,lirr226,lirr102,False,800
+lirr114,lirr226,lirr211,False,425
+lirr114,lirr132,lirr102,True,1000
+lirr114,lirr132,lirr102,False,725
+lirr114,lirr141,lirr102,True,2775
+lirr114,lirr141,lirr102,False,2025
+lirr114,lirr130,lirr214,True,1350
+lirr114,lirr130,lirr214,False,975
+lirr114,lirr149,lirr102,True,1000
+lirr114,lirr149,lirr102,False,725
+lirr114,lirr152,lirr102,True,1000
+lirr114,lirr152,lirr102,False,725
+lirr114,lirr153,lirr102,True,1350
+lirr114,lirr153,lirr102,False,975
+lirr114,lirr157,lirr102,True,1650
+lirr114,lirr157,lirr102,False,1200
+lirr114,lirr155,lirr211,True,425
+lirr114,lirr155,lirr211,False,425
+lirr114,lirr154,lirr102,True,1100
+lirr114,lirr154,lirr102,False,800
+lirr114,lirr163,lirr102,True,1650
+lirr114,lirr163,lirr102,False,1200
+lirr114,lirr165,lirr102,True,1350
+lirr114,lirr165,lirr102,False,975
+lirr114,lirr162,lirr214,True,1475
+lirr114,lirr162,lirr214,False,1075
+lirr114,lirr164,lirr102,True,1650
+lirr114,lirr164,lirr102,False,1200
+lirr114,lirr171,lirr214,True,1475
+lirr114,lirr171,lirr214,False,1075
+lirr114,lirr175,lirr102,True,900
+lirr114,lirr175,lirr102,False,650
+lirr114,lirr176,lirr102,True,2775
+lirr114,lirr176,lirr102,False,2025
+lirr114,lirr183,lirr102,True,1100
+lirr114,lirr183,lirr211,True,425
+lirr114,lirr183,lirr102,False,800
+lirr114,lirr183,lirr211,False,425
+lirr114,lirr179,lirr102,True,1650
+lirr114,lirr179,lirr102,False,1200
+lirr114,lirr182,lirr102,True,1100
+lirr114,lirr182,lirr102,False,800
+lirr114,lirr204,lirr102,True,1650
+lirr114,lirr204,lirr102,False,1200
+lirr114,lirr185,lirr102,True,1100
+lirr114,lirr185,lirr102,False,800
+lirr114,lirr187,lirr102,True,1100
+lirr114,lirr187,lirr211,True,425
+lirr114,lirr187,lirr102,False,800
+lirr114,lirr187,lirr211,False,425
+lirr114,lirr202,lirr102,True,1650
+lirr114,lirr202,lirr102,False,1200
+lirr114,lirr191,lirr102,True,2775
+lirr114,lirr191,lirr102,False,2025
+lirr114,lirr190,lirr102,True,2775
+lirr114,lirr190,lirr102,False,2025
+lirr114,lirr198,lirr102,True,2125
+lirr114,lirr198,lirr102,False,1550
+lirr114,lirr193,lirr102,True,1650
+lirr114,lirr193,lirr102,False,1200
+lirr114,lirr195,lirr102,True,1000
+lirr114,lirr195,lirr102,False,725
+lirr114,lirr14,lirr102,True,1650
+lirr114,lirr14,lirr102,False,1200
+lirr114,lirr205,lirr102,True,1100
+lirr114,lirr205,lirr102,False,800
+lirr114,lirr215,lirr102,True,1100
+lirr114,lirr215,lirr211,True,425
+lirr114,lirr215,lirr102,False,800
+lirr114,lirr215,lirr211,False,425
+lirr114,lirr216,lirr211,True,425
+lirr114,lirr216,lirr211,False,425
+lirr114,lirr213,lirr102,True,1100
+lirr114,lirr213,lirr102,False,800
+lirr114,lirr233,lirr102,True,2775
+lirr114,lirr233,lirr102,False,2025
+lirr114,lirr219,lirr211,True,425
+lirr114,lirr219,lirr211,False,425
+lirr114,lirr220,lirr102,True,1350
+lirr114,lirr220,lirr102,False,975
+lirr114,lirr223,lirr102,True,2125
+lirr114,lirr223,lirr102,False,1550
+lirr117,lirr1,lirr102,True,1575
+lirr117,lirr1,lirr102,False,1150
+lirr117,lirr2,lirr214,True,1825
+lirr117,lirr2,lirr214,False,1325
+lirr117,lirr25,lirr214,True,1825
+lirr117,lirr25,lirr214,False,1325
+lirr117,lirr23,lirr102,True,1350
+lirr117,lirr23,lirr102,False,975
+lirr117,lirr20,lirr102,True,1575
+lirr117,lirr20,lirr102,False,1150
+lirr117,lirr29,lirr102,True,2125
+lirr117,lirr29,lirr102,False,1550
+lirr117,lirr11,lirr214,True,1825
+lirr117,lirr11,lirr214,False,1325
+lirr117,lirr39,lirr102,True,1575
+lirr117,lirr39,lirr102,False,1150
+lirr117,lirr32,lirr102,True,1350
+lirr117,lirr32,lirr211,True,600
+lirr117,lirr32,lirr102,False,975
+lirr117,lirr32,lirr211,False,600
+lirr117,lirr33,lirr102,True,2125
+lirr117,lirr33,lirr102,False,1550
+lirr117,lirr31,lirr102,True,1575
+lirr117,lirr31,lirr125,True,650
+lirr117,lirr31,lirr102,False,1150
+lirr117,lirr31,lirr125,False,650
+lirr117,lirr40,lirr102,True,1850
+lirr117,lirr40,lirr102,False,1350
+lirr117,lirr36,lirr102,True,1350
+lirr117,lirr36,lirr102,False,975
+lirr117,lirr44,lirr102,True,1850
+lirr117,lirr44,lirr102,False,1350
+lirr117,lirr42,lirr214,True,1825
+lirr117,lirr42,lirr214,False,1325
+lirr117,lirr51,lirr102,True,1575
+lirr117,lirr51,lirr125,True,650
+lirr117,lirr51,lirr102,False,1150
+lirr117,lirr51,lirr125,False,650
+lirr117,lirr52,lirr102,True,1350
+lirr117,lirr52,lirr102,False,975
+lirr117,lirr65,lirr102,True,1350
+lirr117,lirr65,lirr211,True,600
+lirr117,lirr65,lirr102,False,975
+lirr117,lirr65,lirr211,False,600
+lirr117,lirr59,lirr102,True,1575
+lirr117,lirr59,lirr102,False,1150
+lirr117,lirr63,lirr102,True,1350
+lirr117,lirr63,lirr102,False,975
+lirr117,lirr56,lirr214,True,1825
+lirr117,lirr56,lirr214,False,1325
+lirr117,lirr68,lirr102,True,1350
+lirr117,lirr68,lirr102,False,975
+lirr117,lirr66,lirr102,True,1350
+lirr117,lirr66,lirr211,True,600
+lirr117,lirr66,lirr102,False,975
+lirr117,lirr66,lirr211,False,600
+lirr117,lirr67,lirr102,True,1575
+lirr117,lirr67,lirr102,False,1150
+lirr117,lirr71,lirr102,True,1575
+lirr117,lirr71,lirr102,False,1150
+lirr117,lirr76,lirr102,True,1575
+lirr117,lirr76,lirr102,False,1150
+lirr117,lirr72,lirr214,True,1975
+lirr117,lirr72,lirr214,False,1425
+lirr117,lirr78,lirr102,True,1850
+lirr117,lirr78,lirr102,False,1350
+lirr117,lirr73,lirr102,True,3275
+lirr117,lirr73,lirr102,False,2375
+lirr117,lirr77,lirr102,True,1575
+lirr117,lirr77,lirr102,False,1150
+lirr117,lirr84,lirr102,True,1350
+lirr117,lirr84,lirr102,False,975
+lirr117,lirr85,lirr102,True,1350
+lirr117,lirr85,lirr102,False,975
+lirr117,lirr94,lirr102,True,1350
+lirr117,lirr94,lirr211,True,600
+lirr117,lirr94,lirr102,False,975
+lirr117,lirr94,lirr211,False,600
+lirr117,lirr92,lirr102,True,1575
+lirr117,lirr92,lirr102,False,1150
+lirr117,lirr89,lirr102,True,1300
+lirr117,lirr89,lirr102,False,950
+lirr117,lirr91,lirr102,True,1850
+lirr117,lirr91,lirr102,False,1350
+lirr117,lirr101,lirr102,True,1350
+lirr117,lirr101,lirr211,True,600
+lirr117,lirr101,lirr102,False,975
+lirr117,lirr101,lirr211,False,600
+lirr117,lirr99,lirr102,True,1575
+lirr117,lirr99,lirr125,True,650
+lirr117,lirr99,lirr102,False,1150
+lirr117,lirr99,lirr125,False,650
+lirr117,lirr111,lirr102,True,2125
+lirr117,lirr111,lirr102,False,1550
+lirr117,lirr124,lirr102,True,1350
+lirr117,lirr124,lirr102,False,975
+lirr117,lirr122,lirr102,True,1300
+lirr117,lirr122,lirr102,False,950
+lirr117,lirr114,lirr102,True,1350
+lirr117,lirr114,lirr211,True,600
+lirr117,lirr114,lirr102,False,975
+lirr117,lirr114,lirr211,False,600
+lirr117,lirr120,lirr214,True,1825
+lirr117,lirr120,lirr214,False,1325
+lirr117,lirr119,lirr102,True,1300
+lirr117,lirr119,lirr102,False,950
+lirr117,lirr123,lirr102,True,1575
+lirr117,lirr123,lirr102,False,1150
+lirr117,lirr113,lirr102,True,1575
+lirr117,lirr113,lirr125,True,650
+lirr117,lirr113,lirr102,False,1150
+lirr117,lirr113,lirr125,False,650
+lirr117,lirr125,lirr102,True,1350
+lirr117,lirr125,lirr102,False,975
+lirr117,lirr142,lirr102,True,1350
+lirr117,lirr142,lirr102,False,975
+lirr117,lirr131,lirr214,True,1975
+lirr117,lirr131,lirr214,False,1425
+lirr117,lirr126,lirr102,True,3275
+lirr117,lirr126,lirr102,False,2375
+lirr117,lirr129,lirr102,True,2125
+lirr117,lirr129,lirr102,False,1550
+lirr117,lirr127,lirr102,True,1350
+lirr117,lirr127,lirr102,False,975
+lirr117,lirr132,lirr102,True,1350
+lirr117,lirr132,lirr102,False,975
+lirr117,lirr130,lirr214,True,1825
+lirr117,lirr130,lirr214,False,1325
+lirr117,lirr149,lirr102,True,1350
+lirr117,lirr149,lirr102,False,975
+lirr117,lirr152,lirr102,True,1350
+lirr117,lirr152,lirr102,False,975
+lirr117,lirr153,lirr102,True,1850
+lirr117,lirr153,lirr102,False,1350
+lirr117,lirr155,lirr102,True,1575
+lirr117,lirr155,lirr125,True,650
+lirr117,lirr155,lirr102,False,1150
+lirr117,lirr155,lirr125,False,650
+lirr117,lirr154,lirr102,True,1575
+lirr117,lirr154,lirr102,False,1150
+lirr117,lirr165,lirr102,True,1850
+lirr117,lirr165,lirr102,False,1350
+lirr117,lirr162,lirr214,True,1975
+lirr117,lirr162,lirr214,False,1425
+lirr117,lirr164,lirr102,True,2125
+lirr117,lirr164,lirr102,False,1550
+lirr117,lirr171,lirr214,True,1975
+lirr117,lirr171,lirr214,False,1425
+lirr117,lirr175,lirr102,True,1300
+lirr117,lirr175,lirr102,False,950
+lirr117,lirr176,lirr102,True,3275
+lirr117,lirr176,lirr102,False,2375
+lirr117,lirr179,lirr102,True,2125
+lirr117,lirr179,lirr102,False,1550
+lirr117,lirr180,lirr102,True,1300
+lirr117,lirr180,lirr102,False,950
+lirr117,lirr182,lirr102,True,1575
+lirr117,lirr182,lirr102,False,1150
+lirr117,lirr185,lirr102,True,1575
+lirr117,lirr185,lirr102,False,1150
+lirr117,lirr202,lirr102,True,2125
+lirr117,lirr202,lirr102,False,1550
+lirr117,lirr190,lirr102,True,3275
+lirr117,lirr190,lirr102,False,2375
+lirr117,lirr184,lirr102,True,1300
+lirr117,lirr184,lirr102,False,950
+lirr117,lirr193,lirr102,True,2125
+lirr117,lirr193,lirr102,False,1550
+lirr117,lirr195,lirr102,True,1350
+lirr117,lirr195,lirr102,False,975
+lirr117,lirr14,lirr102,True,2125
+lirr117,lirr14,lirr102,False,1550
+lirr117,lirr205,lirr102,True,1575
+lirr117,lirr205,lirr102,False,1150
+lirr117,lirr211,lirr102,True,1350
+lirr117,lirr211,lirr102,False,975
+lirr117,lirr216,lirr102,True,1350
+lirr117,lirr216,lirr102,False,975
+lirr117,lirr213,lirr102,True,1575
+lirr117,lirr213,lirr102,False,1150
+lirr117,lirr219,lirr102,True,1350
+lirr117,lirr219,lirr102,False,975
+lirr117,lirr217,lirr102,True,1350
+lirr117,lirr217,lirr211,True,600
+lirr117,lirr217,lirr102,False,975
+lirr117,lirr217,lirr211,False,600
+lirr117,lirr220,lirr102,True,1850
+lirr117,lirr220,lirr102,False,1350
+lirr117,lirr223,lirr102,True,2600
+lirr117,lirr223,lirr102,False,1900
+lirr120,lirr1,lirr214,True,1575
+lirr120,lirr1,lirr214,False,1150
+lirr120,lirr4,lirr214,True,3200
+lirr120,lirr4,lirr214,False,2325
+lirr120,lirr8,lirr214,True,1825
+lirr120,lirr8,lirr214,False,1325
+lirr120,lirr27,lirr214,True,1825
+lirr120,lirr27,lirr214,False,1325
+lirr120,lirr225,lirr214,True,1575
+lirr120,lirr225,lirr214,False,1150
+lirr120,lirr26,lirr214,True,2050
+lirr120,lirr26,lirr214,False,1500
+lirr120,lirr23,lirr214,True,1350
+lirr120,lirr23,lirr214,False,975
+lirr120,lirr16,lirr214,True,1575
+lirr120,lirr16,lirr214,False,1150
+lirr120,lirr21,lirr214,True,2500
+lirr120,lirr21,lirr214,False,1825
+lirr120,lirr20,lirr214,True,1575
+lirr120,lirr20,lirr214,False,1150
+lirr120,lirr29,lirr214,True,2050
+lirr120,lirr29,lirr214,False,1500
+lirr120,lirr13,lirr214,True,3200
+lirr120,lirr13,lirr214,False,2325
+lirr120,lirr39,lirr214,True,1575
+lirr120,lirr39,lirr214,False,1150
+lirr120,lirr32,lirr214,True,1350
+lirr120,lirr32,lirr214,False,975
+lirr120,lirr33,lirr214,True,2050
+lirr120,lirr33,lirr214,False,1500
+lirr120,lirr31,lirr214,True,1575
+lirr120,lirr31,lirr214,False,1150
+lirr120,lirr40,lirr214,True,1825
+lirr120,lirr40,lirr214,False,1325
+lirr120,lirr38,lirr214,True,1825
+lirr120,lirr38,lirr214,False,1325
+lirr120,lirr36,lirr214,True,1350
+lirr120,lirr36,lirr214,False,975
+lirr120,lirr44,lirr214,True,1825
+lirr120,lirr44,lirr214,False,1325
+lirr120,lirr48,lirr214,True,3200
+lirr120,lirr48,lirr214,False,2325
+lirr120,lirr51,lirr214,True,1575
+lirr120,lirr51,lirr214,False,1150
+lirr120,lirr52,lirr214,True,1350
+lirr120,lirr52,lirr214,False,975
+lirr120,lirr65,lirr214,True,1350
+lirr120,lirr65,lirr214,False,975
+lirr120,lirr59,lirr214,True,1575
+lirr120,lirr59,lirr214,False,1150
+lirr120,lirr63,lirr214,True,1350
+lirr120,lirr63,lirr214,False,975
+lirr120,lirr55,lirr214,True,1150
+lirr120,lirr55,lirr214,False,825
+lirr120,lirr64,lirr214,True,1575
+lirr120,lirr64,lirr214,False,1150
+lirr120,lirr68,lirr214,True,1350
+lirr120,lirr68,lirr214,False,975
+lirr120,lirr66,lirr214,True,1350
+lirr120,lirr66,lirr214,False,975
+lirr120,lirr67,lirr214,True,1575
+lirr120,lirr67,lirr214,False,1150
+lirr120,lirr71,lirr214,True,1575
+lirr120,lirr71,lirr214,False,1150
+lirr120,lirr76,lirr214,True,1575
+lirr120,lirr76,lirr214,False,1150
+lirr120,lirr74,lirr214,True,2050
+lirr120,lirr74,lirr214,False,1500
+lirr120,lirr78,lirr214,True,1825
+lirr120,lirr78,lirr214,False,1325
+lirr120,lirr73,lirr214,True,3200
+lirr120,lirr73,lirr214,False,2325
+lirr120,lirr77,lirr214,True,1575
+lirr120,lirr77,lirr214,False,1150
+lirr120,lirr83,lirr214,True,3200
+lirr120,lirr83,lirr214,False,2325
+lirr120,lirr84,lirr214,True,1350
+lirr120,lirr84,lirr214,False,975
+lirr120,lirr85,lirr214,True,1350
+lirr120,lirr85,lirr214,False,975
+lirr120,lirr94,lirr214,True,1350
+lirr120,lirr94,lirr214,False,975
+lirr120,lirr92,lirr214,True,1575
+lirr120,lirr92,lirr214,False,1150
+lirr120,lirr89,lirr214,True,1200
+lirr120,lirr89,lirr214,False,875
+lirr120,lirr91,lirr214,True,1825
+lirr120,lirr91,lirr214,False,1325
+lirr120,lirr101,lirr214,True,1350
+lirr120,lirr101,lirr214,False,975
+lirr120,lirr99,lirr214,True,1575
+lirr120,lirr99,lirr214,False,1150
+lirr120,lirr100,lirr214,True,2050
+lirr120,lirr100,lirr214,False,1500
+lirr120,lirr102,lirr214,True,1200
+lirr120,lirr102,lirr214,False,875
+lirr120,lirr107,lirr214,True,1150
+lirr120,lirr107,lirr214,False,825
+lirr120,lirr111,lirr214,True,2050
+lirr120,lirr111,lirr214,False,1500
+lirr120,lirr124,lirr214,True,1350
+lirr120,lirr124,lirr214,False,975
+lirr120,lirr122,lirr214,True,1200
+lirr120,lirr122,lirr214,False,875
+lirr120,lirr114,lirr214,True,1350
+lirr120,lirr114,lirr214,False,975
+lirr120,lirr117,lirr214,True,1825
+lirr120,lirr117,lirr214,False,1325
+lirr120,lirr119,lirr214,True,1200
+lirr120,lirr119,lirr214,False,875
+lirr120,lirr123,lirr214,True,1575
+lirr120,lirr123,lirr214,False,1150
+lirr120,lirr113,lirr214,True,1575
+lirr120,lirr113,lirr214,False,1150
+lirr120,lirr125,lirr214,True,1350
+lirr120,lirr125,lirr214,False,975
+lirr120,lirr142,lirr214,True,1350
+lirr120,lirr142,lirr214,False,975
+lirr120,lirr136,lirr214,True,1575
+lirr120,lirr136,lirr214,False,1150
+lirr120,lirr135,lirr214,True,1575
+lirr120,lirr135,lirr214,False,1150
+lirr120,lirr140,lirr214,True,2500
+lirr120,lirr140,lirr214,False,1825
+lirr120,lirr126,lirr214,True,3200
+lirr120,lirr126,lirr214,False,2325
+lirr120,lirr129,lirr214,True,2050
+lirr120,lirr129,lirr214,False,1500
+lirr120,lirr127,lirr214,True,1350
+lirr120,lirr127,lirr214,False,975
+lirr120,lirr226,lirr214,True,1575
+lirr120,lirr226,lirr214,False,1150
+lirr120,lirr132,lirr214,True,1350
+lirr120,lirr132,lirr214,False,975
+lirr120,lirr141,lirr214,True,3200
+lirr120,lirr141,lirr214,False,2325
+lirr120,lirr149,lirr214,True,1350
+lirr120,lirr149,lirr214,False,975
+lirr120,lirr152,lirr214,True,1350
+lirr120,lirr152,lirr214,False,975
+lirr120,lirr153,lirr214,True,1825
+lirr120,lirr153,lirr214,False,1325
+lirr120,lirr157,lirr214,True,2050
+lirr120,lirr157,lirr214,False,1500
+lirr120,lirr155,lirr214,True,1575
+lirr120,lirr155,lirr214,False,1150
+lirr120,lirr154,lirr214,True,1575
+lirr120,lirr154,lirr214,False,1150
+lirr120,lirr163,lirr214,True,2050
+lirr120,lirr163,lirr214,False,1500
+lirr120,lirr165,lirr214,True,1825
+lirr120,lirr165,lirr214,False,1325
+lirr120,lirr164,lirr214,True,2050
+lirr120,lirr164,lirr214,False,1500
+lirr120,lirr175,lirr214,True,1200
+lirr120,lirr175,lirr214,False,875
+lirr120,lirr176,lirr214,True,3200
+lirr120,lirr176,lirr214,False,2325
+lirr120,lirr183,lirr214,True,1575
+lirr120,lirr183,lirr214,False,1150
+lirr120,lirr179,lirr214,True,2050
+lirr120,lirr179,lirr214,False,1500
+lirr120,lirr180,lirr214,True,1200
+lirr120,lirr180,lirr214,False,875
+lirr120,lirr182,lirr214,True,1575
+lirr120,lirr182,lirr214,False,1150
+lirr120,lirr204,lirr214,True,2050
+lirr120,lirr204,lirr214,False,1500
+lirr120,lirr185,lirr214,True,1575
+lirr120,lirr185,lirr214,False,1150
+lirr120,lirr187,lirr214,True,1575
+lirr120,lirr187,lirr214,False,1150
+lirr120,lirr202,lirr214,True,2050
+lirr120,lirr202,lirr214,False,1500
+lirr120,lirr191,lirr214,True,3200
+lirr120,lirr191,lirr214,False,2325
+lirr120,lirr190,lirr214,True,3200
+lirr120,lirr190,lirr214,False,2325
+lirr120,lirr198,lirr214,True,2500
+lirr120,lirr198,lirr214,False,1825
+lirr120,lirr184,lirr214,True,1200
+lirr120,lirr184,lirr214,False,875
+lirr120,lirr193,lirr214,True,2050
+lirr120,lirr193,lirr214,False,1500
+lirr120,lirr195,lirr214,True,1350
+lirr120,lirr195,lirr214,False,975
+lirr120,lirr14,lirr214,True,2050
+lirr120,lirr14,lirr214,False,1500
+lirr120,lirr205,lirr214,True,1575
+lirr120,lirr205,lirr214,False,1150
+lirr120,lirr211,lirr214,True,1350
+lirr120,lirr211,lirr214,False,975
+lirr120,lirr215,lirr214,True,1575
+lirr120,lirr215,lirr214,False,1150
+lirr120,lirr216,lirr214,True,1350
+lirr120,lirr216,lirr214,False,975
+lirr120,lirr213,lirr214,True,1575
+lirr120,lirr213,lirr214,False,1150
+lirr120,lirr233,lirr214,True,3200
+lirr120,lirr233,lirr214,False,2325
+lirr120,lirr219,lirr214,True,1350
+lirr120,lirr219,lirr214,False,975
+lirr120,lirr217,lirr214,True,1350
+lirr120,lirr217,lirr214,False,975
+lirr120,lirr220,lirr214,True,1825
+lirr120,lirr220,lirr214,False,1325
+lirr120,lirr223,lirr214,True,2500
+lirr120,lirr223,lirr214,False,1825
+lirr119,lirr1,lirr102,True,1050
+lirr119,lirr1,lirr102,False,775
+lirr119,lirr4,lirr102,True,2700
+lirr119,lirr4,lirr102,False,1975
+lirr119,lirr8,lirr102,True,1300
+lirr119,lirr8,lirr102,False,950
+lirr119,lirr2,lirr214,True,1200
+lirr119,lirr2,lirr214,False,875
+lirr119,lirr27,lirr102,True,1300
+lirr119,lirr27,lirr102,False,950
+lirr119,lirr225,lirr102,True,1050
+lirr119,lirr225,lirr102,False,775
+lirr119,lirr26,lirr102,True,1575
+lirr119,lirr26,lirr102,False,1150
+lirr119,lirr25,lirr214,True,1200
+lirr119,lirr25,lirr214,False,875
+lirr119,lirr23,lirr102,True,900
+lirr119,lirr23,lirr102,False,650
+lirr119,lirr16,lirr102,True,1050
+lirr119,lirr16,lirr102,False,775
+lirr119,lirr21,lirr102,True,2050
+lirr119,lirr21,lirr102,False,1500
+lirr119,lirr20,lirr102,True,1050
+lirr119,lirr20,lirr102,False,775
+lirr119,lirr29,lirr102,True,1575
+lirr119,lirr29,lirr102,False,1150
+lirr119,lirr13,lirr102,True,2700
+lirr119,lirr13,lirr102,False,1975
+lirr119,lirr11,lirr214,True,1200
+lirr119,lirr11,lirr214,False,875
+lirr119,lirr39,lirr102,True,1050
+lirr119,lirr39,lirr102,False,775
+lirr119,lirr33,lirr102,True,1575
+lirr119,lirr33,lirr102,False,1150
+lirr119,lirr31,lirr102,True,1050
+lirr119,lirr31,lirr102,False,775
+lirr119,lirr40,lirr102,True,1300
+lirr119,lirr40,lirr102,False,950
+lirr119,lirr38,lirr102,True,1300
+lirr119,lirr38,lirr102,False,950
+lirr119,lirr36,lirr102,True,900
+lirr119,lirr36,lirr102,False,650
+lirr119,lirr44,lirr102,True,1300
+lirr119,lirr44,lirr102,False,950
+lirr119,lirr42,lirr214,True,1200
+lirr119,lirr42,lirr214,False,875
+lirr119,lirr48,lirr102,True,2700
+lirr119,lirr48,lirr102,False,1975
+lirr119,lirr51,lirr102,True,1050
+lirr119,lirr51,lirr102,False,775
+lirr119,lirr52,lirr102,True,900
+lirr119,lirr52,lirr102,False,650
+lirr119,lirr59,lirr102,True,1050
+lirr119,lirr59,lirr102,False,775
+lirr119,lirr63,lirr102,True,900
+lirr119,lirr63,lirr102,False,650
+lirr119,lirr56,lirr214,True,1200
+lirr119,lirr56,lirr214,False,875
+lirr119,lirr64,lirr102,True,1050
+lirr119,lirr64,lirr102,False,775
+lirr119,lirr68,lirr102,True,900
+lirr119,lirr68,lirr102,False,650
+lirr119,lirr67,lirr102,True,1050
+lirr119,lirr67,lirr102,False,775
+lirr119,lirr71,lirr102,True,1050
+lirr119,lirr71,lirr102,False,775
+lirr119,lirr76,lirr102,True,1050
+lirr119,lirr76,lirr102,False,775
+lirr119,lirr72,lirr214,True,1350
+lirr119,lirr72,lirr214,False,975
+lirr119,lirr74,lirr102,True,1575
+lirr119,lirr74,lirr102,False,1150
+lirr119,lirr78,lirr102,True,1300
+lirr119,lirr78,lirr102,False,950
+lirr119,lirr73,lirr102,True,2700
+lirr119,lirr73,lirr102,False,1975
+lirr119,lirr77,lirr102,True,1050
+lirr119,lirr77,lirr102,False,775
+lirr119,lirr83,lirr102,True,2700
+lirr119,lirr83,lirr102,False,1975
+lirr119,lirr84,lirr102,True,900
+lirr119,lirr84,lirr102,False,650
+lirr119,lirr85,lirr102,True,900
+lirr119,lirr85,lirr102,False,650
+lirr119,lirr92,lirr102,True,1050
+lirr119,lirr92,lirr102,False,775
+lirr119,lirr89,lirr102,True,500
+lirr119,lirr89,lirr102,False,400
+lirr119,lirr91,lirr102,True,1300
+lirr119,lirr91,lirr102,False,950
+lirr119,lirr99,lirr102,True,1050
+lirr119,lirr99,lirr102,False,775
+lirr119,lirr100,lirr102,True,1575
+lirr119,lirr100,lirr102,False,1150
+lirr119,lirr111,lirr102,True,1575
+lirr119,lirr111,lirr102,False,1150
+lirr119,lirr124,lirr102,True,900
+lirr119,lirr124,lirr102,False,650
+lirr119,lirr117,lirr102,True,1300
+lirr119,lirr117,lirr102,False,950
+lirr119,lirr120,lirr214,True,1200
+lirr119,lirr120,lirr214,False,875
+lirr119,lirr123,lirr102,True,1050
+lirr119,lirr123,lirr102,False,775
+lirr119,lirr113,lirr102,True,1050
+lirr119,lirr113,lirr102,False,775
+lirr119,lirr125,lirr102,True,900
+lirr119,lirr125,lirr102,False,650
+lirr119,lirr142,lirr102,True,900
+lirr119,lirr142,lirr102,False,650
+lirr119,lirr131,lirr214,True,1350
+lirr119,lirr131,lirr214,False,975
+lirr119,lirr136,lirr102,True,1050
+lirr119,lirr136,lirr102,False,775
+lirr119,lirr135,lirr102,True,1050
+lirr119,lirr135,lirr102,False,775
+lirr119,lirr140,lirr102,True,2050
+lirr119,lirr140,lirr102,False,1500
+lirr119,lirr126,lirr102,True,2700
+lirr119,lirr126,lirr102,False,1975
+lirr119,lirr129,lirr102,True,1575
+lirr119,lirr129,lirr102,False,1150
+lirr119,lirr127,lirr102,True,900
+lirr119,lirr127,lirr102,False,650
+lirr119,lirr226,lirr102,True,1050
+lirr119,lirr226,lirr102,False,775
+lirr119,lirr132,lirr102,True,900
+lirr119,lirr132,lirr102,False,650
+lirr119,lirr141,lirr102,True,2700
+lirr119,lirr141,lirr102,False,1975
+lirr119,lirr130,lirr214,True,1200
+lirr119,lirr130,lirr214,False,875
+lirr119,lirr149,lirr102,True,900
+lirr119,lirr149,lirr102,False,650
+lirr119,lirr152,lirr102,True,900
+lirr119,lirr152,lirr102,False,650
+lirr119,lirr153,lirr102,True,1300
+lirr119,lirr153,lirr102,False,950
+lirr119,lirr157,lirr102,True,1575
+lirr119,lirr157,lirr102,False,1150
+lirr119,lirr155,lirr102,True,1050
+lirr119,lirr155,lirr102,False,775
+lirr119,lirr154,lirr102,True,1050
+lirr119,lirr154,lirr102,False,775
+lirr119,lirr163,lirr102,True,1575
+lirr119,lirr163,lirr102,False,1150
+lirr119,lirr165,lirr102,True,1300
+lirr119,lirr165,lirr102,False,950
+lirr119,lirr162,lirr214,True,1350
+lirr119,lirr162,lirr214,False,975
+lirr119,lirr164,lirr102,True,1575
+lirr119,lirr164,lirr102,False,1150
+lirr119,lirr171,lirr214,True,1350
+lirr119,lirr171,lirr214,False,975
+lirr119,lirr175,lirr102,True,500
+lirr119,lirr175,lirr102,False,400
+lirr119,lirr176,lirr102,True,2700
+lirr119,lirr176,lirr102,False,1975
+lirr119,lirr183,lirr102,True,1050
+lirr119,lirr183,lirr102,False,775
+lirr119,lirr179,lirr102,True,1575
+lirr119,lirr179,lirr102,False,1150
+lirr119,lirr182,lirr102,True,1050
+lirr119,lirr182,lirr102,False,775
+lirr119,lirr204,lirr102,True,1575
+lirr119,lirr204,lirr102,False,1150
+lirr119,lirr185,lirr102,True,1050
+lirr119,lirr185,lirr102,False,775
+lirr119,lirr187,lirr102,True,1050
+lirr119,lirr187,lirr102,False,775
+lirr119,lirr202,lirr102,True,1575
+lirr119,lirr202,lirr102,False,1150
+lirr119,lirr191,lirr102,True,2700
+lirr119,lirr191,lirr102,False,1975
+lirr119,lirr190,lirr102,True,2700
+lirr119,lirr190,lirr102,False,1975
+lirr119,lirr198,lirr102,True,2050
+lirr119,lirr198,lirr102,False,1500
+lirr119,lirr184,lirr102,True,500
+lirr119,lirr184,lirr102,False,400
+lirr119,lirr193,lirr102,True,1575
+lirr119,lirr193,lirr102,False,1150
+lirr119,lirr195,lirr102,True,900
+lirr119,lirr195,lirr102,False,650
+lirr119,lirr14,lirr102,True,1575
+lirr119,lirr14,lirr102,False,1150
+lirr119,lirr205,lirr102,True,1050
+lirr119,lirr205,lirr102,False,775
+lirr119,lirr215,lirr102,True,1050
+lirr119,lirr215,lirr102,False,775
+lirr119,lirr216,lirr102,True,900
+lirr119,lirr216,lirr102,False,650
+lirr119,lirr213,lirr102,True,1050
+lirr119,lirr213,lirr102,False,775
+lirr119,lirr233,lirr102,True,2700
+lirr119,lirr233,lirr102,False,1975
+lirr119,lirr219,lirr102,True,900
+lirr119,lirr219,lirr102,False,650
+lirr119,lirr220,lirr102,True,1300
+lirr119,lirr220,lirr102,False,950
+lirr119,lirr223,lirr102,True,2050
+lirr119,lirr223,lirr102,False,1500
+lirr123,lirr4,lirr102,True,2975
+lirr123,lirr4,lirr132,True,1875
+lirr123,lirr4,lirr102,False,2175
+lirr123,lirr4,lirr132,False,1875
+lirr123,lirr8,lirr102,True,1575
+lirr123,lirr8,lirr102,False,1150
+lirr123,lirr2,lirr214,True,1575
+lirr123,lirr2,lirr214,False,1150
+lirr123,lirr27,lirr102,True,1575
+lirr123,lirr27,lirr132,True,650
+lirr123,lirr27,lirr102,False,1150
+lirr123,lirr27,lirr132,False,650
+lirr123,lirr225,lirr102,True,1225
+lirr123,lirr225,lirr102,False,900
+lirr123,lirr26,lirr102,True,1825
+lirr123,lirr26,lirr132,True,900
+lirr123,lirr26,lirr102,False,1325
+lirr123,lirr26,lirr132,False,900
+lirr123,lirr25,lirr214,True,1575
+lirr123,lirr25,lirr214,False,1150
+lirr123,lirr23,lirr102,True,1100
+lirr123,lirr23,lirr102,False,800
+lirr123,lirr16,lirr102,True,1225
+lirr123,lirr16,lirr102,False,900
+lirr123,lirr21,lirr102,True,2275
+lirr123,lirr21,lirr132,True,1225
+lirr123,lirr21,lirr102,False,1650
+lirr123,lirr21,lirr132,False,1225
+lirr123,lirr20,lirr132,True,450
+lirr123,lirr20,lirr132,False,450
+lirr123,lirr29,lirr132,True,900
+lirr123,lirr29,lirr132,False,900
+lirr123,lirr13,lirr102,True,2975
+lirr123,lirr13,lirr132,True,1875
+lirr123,lirr13,lirr102,False,2175
+lirr123,lirr13,lirr132,False,1875
+lirr123,lirr11,lirr214,True,1575
+lirr123,lirr11,lirr214,False,1150
+lirr123,lirr39,lirr132,True,450
+lirr123,lirr39,lirr132,False,450
+lirr123,lirr32,lirr102,True,1100
+lirr123,lirr32,lirr102,False,800
+lirr123,lirr33,lirr132,True,900
+lirr123,lirr33,lirr132,False,900
+lirr123,lirr31,lirr102,True,1225
+lirr123,lirr31,lirr102,False,900
+lirr123,lirr40,lirr132,True,650
+lirr123,lirr40,lirr132,False,650
+lirr123,lirr38,lirr102,True,1575
+lirr123,lirr38,lirr102,False,1150
+lirr123,lirr36,lirr102,True,1100
+lirr123,lirr36,lirr63,True,425
+lirr123,lirr36,lirr102,False,800
+lirr123,lirr36,lirr63,False,425
+lirr123,lirr44,lirr132,True,650
+lirr123,lirr44,lirr132,False,650
+lirr123,lirr42,lirr214,True,1575
+lirr123,lirr42,lirr214,False,1150
+lirr123,lirr48,lirr102,True,2975
+lirr123,lirr48,lirr132,True,1875
+lirr123,lirr48,lirr102,False,2175
+lirr123,lirr48,lirr132,False,1875
+lirr123,lirr51,lirr102,True,1225
+lirr123,lirr51,lirr102,False,900
+lirr123,lirr65,lirr102,True,1100
+lirr123,lirr65,lirr102,False,800
+lirr123,lirr59,lirr132,True,450
+lirr123,lirr59,lirr132,False,450
+lirr123,lirr63,lirr102,True,1100
+lirr123,lirr63,lirr102,False,800
+lirr123,lirr56,lirr214,True,1575
+lirr123,lirr56,lirr214,False,1150
+lirr123,lirr64,lirr102,True,1225
+lirr123,lirr64,lirr102,False,900
+lirr123,lirr68,lirr102,True,1100
+lirr123,lirr68,lirr63,True,425
+lirr123,lirr68,lirr102,False,800
+lirr123,lirr68,lirr63,False,425
+lirr123,lirr66,lirr102,True,1100
+lirr123,lirr66,lirr102,False,800
+lirr123,lirr72,lirr214,True,1725
+lirr123,lirr72,lirr214,False,1250
+lirr123,lirr74,lirr102,True,1825
+lirr123,lirr74,lirr132,True,900
+lirr123,lirr74,lirr102,False,1325
+lirr123,lirr74,lirr132,False,900
+lirr123,lirr78,lirr132,True,650
+lirr123,lirr78,lirr132,False,650
+lirr123,lirr73,lirr132,True,1875
+lirr123,lirr73,lirr132,False,1875
+lirr123,lirr83,lirr102,True,2975
+lirr123,lirr83,lirr132,True,1875
+lirr123,lirr83,lirr102,False,2175
+lirr123,lirr83,lirr132,False,1875
+lirr123,lirr84,lirr102,True,1100
+lirr123,lirr84,lirr63,True,425
+lirr123,lirr84,lirr102,False,800
+lirr123,lirr84,lirr63,False,425
+lirr123,lirr85,lirr102,True,1100
+lirr123,lirr85,lirr102,False,800
+lirr123,lirr94,lirr102,True,1100
+lirr123,lirr94,lirr102,False,800
+lirr123,lirr92,lirr132,True,450
+lirr123,lirr92,lirr132,False,450
+lirr123,lirr89,lirr102,True,1050
+lirr123,lirr89,lirr102,False,775
+lirr123,lirr91,lirr132,True,650
+lirr123,lirr91,lirr132,False,650
+lirr123,lirr101,lirr102,True,1100
+lirr123,lirr101,lirr102,False,800
+lirr123,lirr99,lirr102,True,1225
+lirr123,lirr99,lirr102,False,900
+lirr123,lirr100,lirr102,True,1825
+lirr123,lirr100,lirr132,True,900
+lirr123,lirr100,lirr102,False,1325
+lirr123,lirr100,lirr132,False,900
+lirr123,lirr111,lirr132,True,900
+lirr123,lirr111,lirr132,False,900
+lirr123,lirr124,lirr102,True,1100
+lirr123,lirr124,lirr102,False,800
+lirr123,lirr122,lirr102,True,1050
+lirr123,lirr122,lirr102,False,775
+lirr123,lirr114,lirr102,True,1100
+lirr123,lirr114,lirr102,False,800
+lirr123,lirr117,lirr102,True,1575
+lirr123,lirr117,lirr102,False,1150
+lirr123,lirr120,lirr214,True,1575
+lirr123,lirr120,lirr214,False,1150
+lirr123,lirr119,lirr102,True,1050
+lirr123,lirr119,lirr102,False,775
+lirr123,lirr113,lirr102,True,1225
+lirr123,lirr113,lirr102,False,900
+lirr123,lirr125,lirr102,True,1100
+lirr123,lirr125,lirr102,False,800
+lirr123,lirr142,lirr102,True,1100
+lirr123,lirr142,lirr102,False,800
+lirr123,lirr131,lirr214,True,1725
+lirr123,lirr131,lirr214,False,1250
+lirr123,lirr136,lirr102,True,1225
+lirr123,lirr136,lirr102,False,900
+lirr123,lirr135,lirr102,True,1225
+lirr123,lirr135,lirr102,False,900
+lirr123,lirr140,lirr102,True,2275
+lirr123,lirr140,lirr132,True,1225
+lirr123,lirr140,lirr102,False,1650
+lirr123,lirr140,lirr132,False,1225
+lirr123,lirr126,lirr132,True,1875
+lirr123,lirr126,lirr132,False,1875
+lirr123,lirr129,lirr132,True,900
+lirr123,lirr129,lirr132,False,900
+lirr123,lirr226,lirr102,True,1225
+lirr123,lirr226,lirr102,False,900
+lirr123,lirr141,lirr102,True,2975
+lirr123,lirr141,lirr132,True,1875
+lirr123,lirr141,lirr102,False,2175
+lirr123,lirr141,lirr132,False,1875
+lirr123,lirr130,lirr214,True,1575
+lirr123,lirr130,lirr214,False,1150
+lirr123,lirr149,lirr102,True,1100
+lirr123,lirr149,lirr63,True,425
+lirr123,lirr149,lirr102,False,800
+lirr123,lirr149,lirr63,False,425
+lirr123,lirr153,lirr132,True,650
+lirr123,lirr153,lirr132,False,650
+lirr123,lirr157,lirr102,True,1825
+lirr123,lirr157,lirr132,True,900
+lirr123,lirr157,lirr102,False,1325
+lirr123,lirr157,lirr132,False,900
+lirr123,lirr155,lirr102,True,1225
+lirr123,lirr155,lirr102,False,900
+lirr123,lirr163,lirr102,True,1825
+lirr123,lirr163,lirr132,True,900
+lirr123,lirr163,lirr102,False,1325
+lirr123,lirr163,lirr132,False,900
+lirr123,lirr165,lirr132,True,650
+lirr123,lirr165,lirr132,False,650
+lirr123,lirr162,lirr214,True,1725
+lirr123,lirr162,lirr214,False,1250
+lirr123,lirr164,lirr132,True,900
+lirr123,lirr164,lirr132,False,900
+lirr123,lirr171,lirr214,True,1725
+lirr123,lirr171,lirr214,False,1250
+lirr123,lirr175,lirr102,True,1050
+lirr123,lirr175,lirr102,False,775
+lirr123,lirr176,lirr132,True,1875
+lirr123,lirr176,lirr132,False,1875
+lirr123,lirr183,lirr102,True,1225
+lirr123,lirr183,lirr102,False,900
+lirr123,lirr179,lirr132,True,900
+lirr123,lirr179,lirr132,False,900
+lirr123,lirr180,lirr102,True,1050
+lirr123,lirr180,lirr102,False,775
+lirr123,lirr204,lirr102,True,1825
+lirr123,lirr204,lirr132,True,900
+lirr123,lirr204,lirr102,False,1325
+lirr123,lirr204,lirr132,False,900
+lirr123,lirr187,lirr102,True,1225
+lirr123,lirr187,lirr102,False,900
+lirr123,lirr202,lirr132,True,900
+lirr123,lirr202,lirr132,False,900
+lirr123,lirr191,lirr102,True,2975
+lirr123,lirr191,lirr132,True,1875
+lirr123,lirr191,lirr102,False,2175
+lirr123,lirr191,lirr132,False,1875
+lirr123,lirr190,lirr132,True,1875
+lirr123,lirr190,lirr132,False,1875
+lirr123,lirr198,lirr102,True,2275
+lirr123,lirr198,lirr132,True,1225
+lirr123,lirr198,lirr102,False,1650
+lirr123,lirr198,lirr132,False,1225
+lirr123,lirr184,lirr102,True,1050
+lirr123,lirr184,lirr102,False,775
+lirr123,lirr193,lirr132,True,900
+lirr123,lirr193,lirr132,False,900
+lirr123,lirr195,lirr102,True,1100
+lirr123,lirr195,lirr63,True,425
+lirr123,lirr195,lirr102,False,800
+lirr123,lirr195,lirr63,False,425
+lirr123,lirr14,lirr132,True,900
+lirr123,lirr14,lirr132,False,900
+lirr123,lirr205,lirr132,True,450
+lirr123,lirr205,lirr132,False,450
+lirr123,lirr211,lirr102,True,1100
+lirr123,lirr211,lirr102,False,800
+lirr123,lirr215,lirr102,True,1225
+lirr123,lirr215,lirr102,False,900
+lirr123,lirr216,lirr102,True,1100
+lirr123,lirr216,lirr102,False,800
+lirr123,lirr213,lirr132,True,450
+lirr123,lirr213,lirr132,False,450
+lirr123,lirr233,lirr102,True,2975
+lirr123,lirr233,lirr132,True,1875
+lirr123,lirr233,lirr102,False,2175
+lirr123,lirr233,lirr132,False,1875
+lirr123,lirr219,lirr102,True,1100
+lirr123,lirr219,lirr102,False,800
+lirr123,lirr217,lirr102,True,1100
+lirr123,lirr217,lirr102,False,800
+lirr123,lirr220,lirr132,True,650
+lirr123,lirr220,lirr132,False,650
+lirr123,lirr223,lirr132,True,1225
+lirr123,lirr223,lirr132,False,1225
+lirr113,lirr1,lirr102,True,1225
+lirr113,lirr1,lirr102,False,900
+lirr113,lirr4,lirr102,True,2975
+lirr113,lirr4,lirr125,True,1875
+lirr113,lirr4,lirr102,False,2175
+lirr113,lirr4,lirr125,False,1875
+lirr113,lirr8,lirr102,True,1575
+lirr113,lirr8,lirr125,True,650
+lirr113,lirr8,lirr102,False,1150
+lirr113,lirr8,lirr125,False,650
+lirr113,lirr2,lirr214,True,1575
+lirr113,lirr2,lirr214,False,1150
+lirr113,lirr27,lirr102,True,1575
+lirr113,lirr27,lirr125,True,650
+lirr113,lirr27,lirr102,False,1150
+lirr113,lirr27,lirr125,False,650
+lirr113,lirr225,lirr102,True,1225
+lirr113,lirr225,lirr125,True,450
+lirr113,lirr225,lirr102,False,900
+lirr113,lirr225,lirr125,False,450
+lirr113,lirr26,lirr102,True,1825
+lirr113,lirr26,lirr125,True,900
+lirr113,lirr26,lirr102,False,1325
+lirr113,lirr26,lirr125,False,900
+lirr113,lirr25,lirr214,True,1575
+lirr113,lirr25,lirr214,False,1150
+lirr113,lirr23,lirr102,True,1100
+lirr113,lirr23,lirr102,False,800
+lirr113,lirr16,lirr102,True,1225
+lirr113,lirr16,lirr125,True,450
+lirr113,lirr16,lirr102,False,900
+lirr113,lirr16,lirr125,False,450
+lirr113,lirr21,lirr102,True,2275
+lirr113,lirr21,lirr125,True,1225
+lirr113,lirr21,lirr102,False,1650
+lirr113,lirr21,lirr125,False,1225
+lirr113,lirr20,lirr102,True,1225
+lirr113,lirr20,lirr102,False,900
+lirr113,lirr29,lirr102,True,1825
+lirr113,lirr29,lirr102,False,1325
+lirr113,lirr13,lirr102,True,2975
+lirr113,lirr13,lirr125,True,1875
+lirr113,lirr13,lirr102,False,2175
+lirr113,lirr13,lirr125,False,1875
+lirr113,lirr11,lirr214,True,1575
+lirr113,lirr11,lirr214,False,1150
+lirr113,lirr39,lirr102,True,1225
+lirr113,lirr39,lirr102,False,900
+lirr113,lirr32,lirr211,True,425
+lirr113,lirr32,lirr211,False,425
+lirr113,lirr33,lirr102,True,1825
+lirr113,lirr33,lirr102,False,1325
+lirr113,lirr40,lirr102,True,1575
+lirr113,lirr40,lirr102,False,1150
+lirr113,lirr38,lirr102,True,1575
+lirr113,lirr38,lirr125,True,650
+lirr113,lirr38,lirr102,False,1150
+lirr113,lirr38,lirr125,False,650
+lirr113,lirr36,lirr102,True,1100
+lirr113,lirr36,lirr102,False,800
+lirr113,lirr44,lirr102,True,1575
+lirr113,lirr44,lirr102,False,1150
+lirr113,lirr42,lirr214,True,1575
+lirr113,lirr42,lirr214,False,1150
+lirr113,lirr48,lirr102,True,2975
+lirr113,lirr48,lirr125,True,1875
+lirr113,lirr48,lirr102,False,2175
+lirr113,lirr48,lirr125,False,1875
+lirr113,lirr52,lirr102,True,1100
+lirr113,lirr52,lirr102,False,800
+lirr113,lirr65,lirr211,True,425
+lirr113,lirr65,lirr211,False,425
+lirr113,lirr59,lirr102,True,1225
+lirr113,lirr59,lirr102,False,900
+lirr113,lirr63,lirr102,True,1100
+lirr113,lirr63,lirr102,False,800
+lirr113,lirr56,lirr214,True,1575
+lirr113,lirr56,lirr214,False,1150
+lirr113,lirr64,lirr102,True,1225
+lirr113,lirr64,lirr125,True,450
+lirr113,lirr64,lirr102,False,900
+lirr113,lirr64,lirr125,False,450
+lirr113,lirr68,lirr102,True,1100
+lirr113,lirr68,lirr102,False,800
+lirr113,lirr66,lirr211,True,425
+lirr113,lirr66,lirr211,False,425
+lirr113,lirr67,lirr102,True,1225
+lirr113,lirr67,lirr102,False,900
+lirr113,lirr71,lirr102,True,1225
+lirr113,lirr71,lirr102,False,900
+lirr113,lirr76,lirr102,True,1225
+lirr113,lirr76,lirr102,False,900
+lirr113,lirr72,lirr214,True,1725
+lirr113,lirr72,lirr214,False,1250
+lirr113,lirr74,lirr102,True,1825
+lirr113,lirr74,lirr125,True,900
+lirr113,lirr74,lirr102,False,1325
+lirr113,lirr74,lirr125,False,900
+lirr113,lirr78,lirr102,True,1575
+lirr113,lirr78,lirr102,False,1150
+lirr113,lirr73,lirr102,True,2975
+lirr113,lirr73,lirr102,False,2175
+lirr113,lirr77,lirr102,True,1225
+lirr113,lirr77,lirr102,False,900
+lirr113,lirr83,lirr102,True,2975
+lirr113,lirr83,lirr125,True,1875
+lirr113,lirr83,lirr102,False,2175
+lirr113,lirr83,lirr125,False,1875
+lirr113,lirr84,lirr102,True,1100
+lirr113,lirr84,lirr102,False,800
+lirr113,lirr85,lirr211,True,425
+lirr113,lirr85,lirr211,False,425
+lirr113,lirr94,lirr211,True,425
+lirr113,lirr94,lirr211,False,425
+lirr113,lirr92,lirr102,True,1225
+lirr113,lirr92,lirr102,False,900
+lirr113,lirr89,lirr102,True,1050
+lirr113,lirr89,lirr102,False,775
+lirr113,lirr91,lirr102,True,1575
+lirr113,lirr91,lirr102,False,1150
+lirr113,lirr101,lirr211,True,425
+lirr113,lirr101,lirr211,False,425
+lirr113,lirr100,lirr102,True,1825
+lirr113,lirr100,lirr125,True,900
+lirr113,lirr100,lirr102,False,1325
+lirr113,lirr100,lirr125,False,900
+lirr113,lirr111,lirr102,True,1825
+lirr113,lirr111,lirr102,False,1325
+lirr113,lirr124,lirr211,True,425
+lirr113,lirr124,lirr211,False,425
+lirr113,lirr122,lirr102,True,1050
+lirr113,lirr122,lirr102,False,775
+lirr113,lirr114,lirr211,True,425
+lirr113,lirr114,lirr211,False,425
+lirr113,lirr117,lirr102,True,1575
+lirr113,lirr117,lirr125,True,650
+lirr113,lirr117,lirr102,False,1150
+lirr113,lirr117,lirr125,False,650
+lirr113,lirr120,lirr214,True,1575
+lirr113,lirr120,lirr214,False,1150
+lirr113,lirr119,lirr102,True,1050
+lirr113,lirr119,lirr102,False,775
+lirr113,lirr123,lirr102,True,1225
+lirr113,lirr123,lirr102,False,900
+lirr113,lirr142,lirr211,True,425
+lirr113,lirr142,lirr211,False,425
+lirr113,lirr131,lirr214,True,1725
+lirr113,lirr131,lirr214,False,1250
+lirr113,lirr136,lirr102,True,1225
+lirr113,lirr136,lirr125,True,450
+lirr113,lirr136,lirr102,False,900
+lirr113,lirr136,lirr125,False,450
+lirr113,lirr135,lirr102,True,1225
+lirr113,lirr135,lirr125,True,450
+lirr113,lirr135,lirr102,False,900
+lirr113,lirr135,lirr125,False,450
+lirr113,lirr140,lirr102,True,2275
+lirr113,lirr140,lirr125,True,1225
+lirr113,lirr140,lirr102,False,1650
+lirr113,lirr140,lirr125,False,1225
+lirr113,lirr126,lirr102,True,2975
+lirr113,lirr126,lirr102,False,2175
+lirr113,lirr129,lirr102,True,1825
+lirr113,lirr129,lirr102,False,1325
+lirr113,lirr127,lirr102,True,1100
+lirr113,lirr127,lirr102,False,800
+lirr113,lirr226,lirr102,True,1225
+lirr113,lirr226,lirr125,True,450
+lirr113,lirr226,lirr102,False,900
+lirr113,lirr226,lirr125,False,450
+lirr113,lirr132,lirr102,True,1100
+lirr113,lirr132,lirr102,False,800
+lirr113,lirr141,lirr102,True,2975
+lirr113,lirr141,lirr125,True,1875
+lirr113,lirr141,lirr102,False,2175
+lirr113,lirr141,lirr125,False,1875
+lirr113,lirr130,lirr214,True,1575
+lirr113,lirr130,lirr214,False,1150
+lirr113,lirr149,lirr102,True,1100
+lirr113,lirr149,lirr102,False,800
+lirr113,lirr152,lirr102,True,1100
+lirr113,lirr152,lirr102,False,800
+lirr113,lirr153,lirr102,True,1575
+lirr113,lirr153,lirr102,False,1150
+lirr113,lirr157,lirr102,True,1825
+lirr113,lirr157,lirr125,True,900
+lirr113,lirr157,lirr102,False,1325
+lirr113,lirr157,lirr125,False,900
+lirr113,lirr154,lirr102,True,1225
+lirr113,lirr154,lirr102,False,900
+lirr113,lirr163,lirr102,True,1825
+lirr113,lirr163,lirr125,True,900
+lirr113,lirr163,lirr102,False,1325
+lirr113,lirr163,lirr125,False,900
+lirr113,lirr165,lirr102,True,1575
+lirr113,lirr165,lirr102,False,1150
+lirr113,lirr162,lirr214,True,1725
+lirr113,lirr162,lirr214,False,1250
+lirr113,lirr164,lirr102,True,1825
+lirr113,lirr164,lirr102,False,1325
+lirr113,lirr171,lirr214,True,1725
+lirr113,lirr171,lirr214,False,1250
+lirr113,lirr175,lirr102,True,1050
+lirr113,lirr175,lirr102,False,775
+lirr113,lirr176,lirr102,True,2975
+lirr113,lirr176,lirr102,False,2175
+lirr113,lirr183,lirr102,True,1225
+lirr113,lirr183,lirr125,True,450
+lirr113,lirr183,lirr102,False,900
+lirr113,lirr183,lirr125,False,450
+lirr113,lirr179,lirr102,True,1825
+lirr113,lirr179,lirr102,False,1325
+lirr113,lirr180,lirr102,True,1050
+lirr113,lirr180,lirr102,False,775
+lirr113,lirr182,lirr102,True,1225
+lirr113,lirr182,lirr102,False,900
+lirr113,lirr204,lirr102,True,1825
+lirr113,lirr204,lirr125,True,900
+lirr113,lirr204,lirr102,False,1325
+lirr113,lirr204,lirr125,False,900
+lirr113,lirr185,lirr102,True,1225
+lirr113,lirr185,lirr102,False,900
+lirr113,lirr187,lirr102,True,1225
+lirr113,lirr187,lirr125,True,450
+lirr113,lirr187,lirr102,False,900
+lirr113,lirr187,lirr125,False,450
+lirr113,lirr202,lirr102,True,1825
+lirr113,lirr202,lirr102,False,1325
+lirr113,lirr191,lirr102,True,2975
+lirr113,lirr191,lirr125,True,1875
+lirr113,lirr191,lirr102,False,2175
+lirr113,lirr191,lirr125,False,1875
+lirr113,lirr190,lirr102,True,2975
+lirr113,lirr190,lirr102,False,2175
+lirr113,lirr198,lirr102,True,2275
+lirr113,lirr198,lirr125,True,1225
+lirr113,lirr198,lirr102,False,1650
+lirr113,lirr198,lirr125,False,1225
+lirr113,lirr184,lirr102,True,1050
+lirr113,lirr184,lirr102,False,775
+lirr113,lirr193,lirr102,True,1825
+lirr113,lirr193,lirr102,False,1325
+lirr113,lirr195,lirr102,True,1100
+lirr113,lirr195,lirr102,False,800
+lirr113,lirr14,lirr102,True,1825
+lirr113,lirr14,lirr102,False,1325
+lirr113,lirr205,lirr102,True,1225
+lirr113,lirr205,lirr102,False,900
+lirr113,lirr215,lirr102,True,1225
+lirr113,lirr215,lirr125,True,450
+lirr113,lirr215,lirr102,False,900
+lirr113,lirr215,lirr125,False,450
+lirr113,lirr216,lirr211,True,425
+lirr113,lirr216,lirr211,False,425
+lirr113,lirr213,lirr102,True,1225
+lirr113,lirr213,lirr102,False,900
+lirr113,lirr233,lirr102,True,2975
+lirr113,lirr233,lirr125,True,1875
+lirr113,lirr233,lirr102,False,2175
+lirr113,lirr233,lirr125,False,1875
+lirr113,lirr219,lirr211,True,425
+lirr113,lirr219,lirr211,False,425
+lirr113,lirr217,lirr211,True,425
+lirr113,lirr217,lirr211,False,425
+lirr113,lirr220,lirr102,True,1575
+lirr113,lirr220,lirr102,False,1150
+lirr113,lirr223,lirr102,True,2275
+lirr113,lirr223,lirr102,False,1650
+lirr125,lirr1,lirr102,True,1100
+lirr125,lirr1,lirr102,False,800
+lirr125,lirr4,lirr102,True,2775
+lirr125,lirr4,lirr102,False,2025
+lirr125,lirr8,lirr102,True,1350
+lirr125,lirr8,lirr102,False,975
+lirr125,lirr2,lirr214,True,1350
+lirr125,lirr2,lirr214,False,975
+lirr125,lirr27,lirr102,True,1350
+lirr125,lirr27,lirr102,False,975
+lirr125,lirr225,lirr102,True,1100
+lirr125,lirr225,lirr102,False,800
+lirr125,lirr26,lirr102,True,1650
+lirr125,lirr26,lirr102,False,1200
+lirr125,lirr25,lirr214,True,1350
+lirr125,lirr25,lirr214,False,975
+lirr125,lirr23,lirr102,True,1000
+lirr125,lirr23,lirr102,False,725
+lirr125,lirr16,lirr102,True,1100
+lirr125,lirr16,lirr102,False,800
+lirr125,lirr21,lirr102,True,2125
+lirr125,lirr21,lirr102,False,1550
+lirr125,lirr20,lirr102,True,1100
+lirr125,lirr20,lirr102,False,800
+lirr125,lirr29,lirr102,True,1650
+lirr125,lirr29,lirr102,False,1200
+lirr125,lirr13,lirr102,True,2775
+lirr125,lirr13,lirr102,False,2025
+lirr125,lirr11,lirr214,True,1350
+lirr125,lirr11,lirr214,False,975
+lirr125,lirr39,lirr102,True,1100
+lirr125,lirr39,lirr102,False,800
+lirr125,lirr32,lirr211,True,425
+lirr125,lirr32,lirr211,False,425
+lirr125,lirr33,lirr102,True,1650
+lirr125,lirr33,lirr102,False,1200
+lirr125,lirr40,lirr102,True,1350
+lirr125,lirr40,lirr102,False,975
+lirr125,lirr38,lirr102,True,1350
+lirr125,lirr38,lirr102,False,975
+lirr125,lirr36,lirr102,True,1000
+lirr125,lirr36,lirr102,False,725
+lirr125,lirr44,lirr102,True,1350
+lirr125,lirr44,lirr102,False,975
+lirr125,lirr42,lirr214,True,1350
+lirr125,lirr42,lirr214,False,975
+lirr125,lirr48,lirr102,True,2775
+lirr125,lirr48,lirr102,False,2025
+lirr125,lirr52,lirr102,True,1000
+lirr125,lirr52,lirr102,False,725
+lirr125,lirr65,lirr211,True,425
+lirr125,lirr65,lirr211,False,425
+lirr125,lirr59,lirr102,True,1100
+lirr125,lirr59,lirr102,False,800
+lirr125,lirr63,lirr102,True,1000
+lirr125,lirr63,lirr102,False,725
+lirr125,lirr56,lirr214,True,1350
+lirr125,lirr56,lirr214,False,975
+lirr125,lirr64,lirr102,True,1100
+lirr125,lirr64,lirr102,False,800
+lirr125,lirr68,lirr102,True,1000
+lirr125,lirr68,lirr102,False,725
+lirr125,lirr66,lirr211,True,425
+lirr125,lirr66,lirr211,False,425
+lirr125,lirr67,lirr102,True,1100
+lirr125,lirr67,lirr102,False,800
+lirr125,lirr71,lirr102,True,1100
+lirr125,lirr71,lirr102,False,800
+lirr125,lirr76,lirr102,True,1100
+lirr125,lirr76,lirr102,False,800
+lirr125,lirr72,lirr214,True,1475
+lirr125,lirr72,lirr214,False,1075
+lirr125,lirr74,lirr102,True,1650
+lirr125,lirr74,lirr102,False,1200
+lirr125,lirr78,lirr102,True,1350
+lirr125,lirr78,lirr102,False,975
+lirr125,lirr73,lirr102,True,2775
+lirr125,lirr73,lirr102,False,2025
+lirr125,lirr77,lirr102,True,1100
+lirr125,lirr77,lirr102,False,800
+lirr125,lirr83,lirr102,True,2775
+lirr125,lirr83,lirr102,False,2025
+lirr125,lirr84,lirr102,True,1000
+lirr125,lirr84,lirr102,False,725
+lirr125,lirr85,lirr211,True,425
+lirr125,lirr85,lirr211,False,425
+lirr125,lirr94,lirr211,True,425
+lirr125,lirr94,lirr211,False,425
+lirr125,lirr92,lirr102,True,1100
+lirr125,lirr92,lirr102,False,800
+lirr125,lirr89,lirr102,True,900
+lirr125,lirr89,lirr102,False,650
+lirr125,lirr91,lirr102,True,1350
+lirr125,lirr91,lirr102,False,975
+lirr125,lirr101,lirr211,True,425
+lirr125,lirr101,lirr211,False,425
+lirr125,lirr100,lirr102,True,1650
+lirr125,lirr100,lirr102,False,1200
+lirr125,lirr111,lirr102,True,1650
+lirr125,lirr111,lirr102,False,1200
+lirr125,lirr124,lirr211,True,425
+lirr125,lirr124,lirr211,False,425
+lirr125,lirr122,lirr102,True,900
+lirr125,lirr122,lirr102,False,650
+lirr125,lirr114,lirr211,True,425
+lirr125,lirr114,lirr211,False,425
+lirr125,lirr117,lirr102,True,1350
+lirr125,lirr117,lirr102,False,975
+lirr125,lirr120,lirr214,True,1350
+lirr125,lirr120,lirr214,False,975
+lirr125,lirr119,lirr102,True,900
+lirr125,lirr119,lirr102,False,650
+lirr125,lirr123,lirr102,True,1100
+lirr125,lirr123,lirr102,False,800
+lirr125,lirr142,lirr211,True,425
+lirr125,lirr142,lirr211,False,425
+lirr125,lirr131,lirr214,True,1475
+lirr125,lirr131,lirr214,False,1075
+lirr125,lirr136,lirr102,True,1100
+lirr125,lirr136,lirr102,False,800
+lirr125,lirr135,lirr102,True,1100
+lirr125,lirr135,lirr102,False,800
+lirr125,lirr140,lirr102,True,2125
+lirr125,lirr140,lirr102,False,1550
+lirr125,lirr126,lirr102,True,2775
+lirr125,lirr126,lirr102,False,2025
+lirr125,lirr129,lirr102,True,1650
+lirr125,lirr129,lirr102,False,1200
+lirr125,lirr127,lirr102,True,1000
+lirr125,lirr127,lirr102,False,725
+lirr125,lirr226,lirr102,True,1100
+lirr125,lirr226,lirr102,False,800
+lirr125,lirr132,lirr102,True,1000
+lirr125,lirr132,lirr102,False,725
+lirr125,lirr141,lirr102,True,2775
+lirr125,lirr141,lirr102,False,2025
+lirr125,lirr130,lirr214,True,1350
+lirr125,lirr130,lirr214,False,975
+lirr125,lirr149,lirr102,True,1000
+lirr125,lirr149,lirr102,False,725
+lirr125,lirr152,lirr102,True,1000
+lirr125,lirr152,lirr102,False,725
+lirr125,lirr153,lirr102,True,1350
+lirr125,lirr153,lirr102,False,975
+lirr125,lirr157,lirr102,True,1650
+lirr125,lirr157,lirr102,False,1200
+lirr125,lirr154,lirr102,True,1100
+lirr125,lirr154,lirr102,False,800
+lirr125,lirr163,lirr102,True,1650
+lirr125,lirr163,lirr102,False,1200
+lirr125,lirr165,lirr102,True,1350
+lirr125,lirr165,lirr102,False,975
+lirr125,lirr162,lirr214,True,1475
+lirr125,lirr162,lirr214,False,1075
+lirr125,lirr164,lirr102,True,1650
+lirr125,lirr164,lirr102,False,1200
+lirr125,lirr171,lirr214,True,1475
+lirr125,lirr171,lirr214,False,1075
+lirr125,lirr175,lirr102,True,900
+lirr125,lirr175,lirr102,False,650
+lirr125,lirr176,lirr102,True,2775
+lirr125,lirr176,lirr102,False,2025
+lirr125,lirr183,lirr102,True,1100
+lirr125,lirr183,lirr102,False,800
+lirr125,lirr179,lirr102,True,1650
+lirr125,lirr179,lirr102,False,1200
+lirr125,lirr180,lirr102,True,900
+lirr125,lirr180,lirr102,False,650
+lirr125,lirr182,lirr102,True,1100
+lirr125,lirr182,lirr102,False,800
+lirr125,lirr204,lirr102,True,1650
+lirr125,lirr204,lirr102,False,1200
+lirr125,lirr185,lirr102,True,1100
+lirr125,lirr185,lirr102,False,800
+lirr125,lirr187,lirr102,True,1100
+lirr125,lirr187,lirr102,False,800
+lirr125,lirr202,lirr102,True,1650
+lirr125,lirr202,lirr102,False,1200
+lirr125,lirr191,lirr102,True,2775
+lirr125,lirr191,lirr102,False,2025
+lirr125,lirr190,lirr102,True,2775
+lirr125,lirr190,lirr102,False,2025
+lirr125,lirr198,lirr102,True,2125
+lirr125,lirr198,lirr102,False,1550
+lirr125,lirr184,lirr102,True,900
+lirr125,lirr184,lirr102,False,650
+lirr125,lirr193,lirr102,True,1650
+lirr125,lirr193,lirr102,False,1200
+lirr125,lirr195,lirr102,True,1000
+lirr125,lirr195,lirr102,False,725
+lirr125,lirr14,lirr102,True,1650
+lirr125,lirr14,lirr102,False,1200
+lirr125,lirr205,lirr102,True,1100
+lirr125,lirr205,lirr102,False,800
+lirr125,lirr215,lirr102,True,1100
+lirr125,lirr215,lirr102,False,800
+lirr125,lirr216,lirr211,True,425
+lirr125,lirr216,lirr211,False,425
+lirr125,lirr213,lirr102,True,1100
+lirr125,lirr213,lirr102,False,800
+lirr125,lirr233,lirr102,True,2775
+lirr125,lirr233,lirr102,False,2025
+lirr125,lirr219,lirr211,True,425
+lirr125,lirr219,lirr211,False,425
+lirr125,lirr217,lirr211,True,425
+lirr125,lirr217,lirr211,False,425
+lirr125,lirr220,lirr102,True,1350
+lirr125,lirr220,lirr102,False,975
+lirr125,lirr223,lirr102,True,2125
+lirr125,lirr223,lirr102,False,1550
+lirr142,lirr1,lirr102,True,1100
+lirr142,lirr1,lirr102,False,800
+lirr142,lirr4,lirr102,True,2775
+lirr142,lirr4,lirr102,False,2025
+lirr142,lirr8,lirr102,True,1350
+lirr142,lirr8,lirr102,False,975
+lirr142,lirr2,lirr214,True,1350
+lirr142,lirr2,lirr214,False,975
+lirr142,lirr27,lirr102,True,1350
+lirr142,lirr27,lirr102,False,975
+lirr142,lirr225,lirr102,True,1100
+lirr142,lirr225,lirr102,False,800
+lirr142,lirr26,lirr102,True,1650
+lirr142,lirr26,lirr102,False,1200
+lirr142,lirr25,lirr214,True,1350
+lirr142,lirr25,lirr214,False,975
+lirr142,lirr23,lirr102,True,1000
+lirr142,lirr23,lirr102,False,725
+lirr142,lirr16,lirr102,True,1100
+lirr142,lirr16,lirr102,False,800
+lirr142,lirr21,lirr102,True,2125
+lirr142,lirr21,lirr102,False,1550
+lirr142,lirr20,lirr102,True,1100
+lirr142,lirr20,lirr102,False,800
+lirr142,lirr29,lirr102,True,1650
+lirr142,lirr29,lirr102,False,1200
+lirr142,lirr13,lirr102,True,2775
+lirr142,lirr13,lirr102,False,2025
+lirr142,lirr11,lirr214,True,1350
+lirr142,lirr11,lirr214,False,975
+lirr142,lirr39,lirr102,True,1100
+lirr142,lirr39,lirr102,False,800
+lirr142,lirr32,lirr211,True,425
+lirr142,lirr32,lirr211,False,425
+lirr142,lirr33,lirr102,True,1650
+lirr142,lirr33,lirr102,False,1200
+lirr142,lirr31,lirr211,True,425
+lirr142,lirr31,lirr211,False,425
+lirr142,lirr40,lirr102,True,1350
+lirr142,lirr40,lirr102,False,975
+lirr142,lirr38,lirr102,True,1350
+lirr142,lirr38,lirr102,False,975
+lirr142,lirr36,lirr102,True,1000
+lirr142,lirr36,lirr102,False,725
+lirr142,lirr44,lirr102,True,1350
+lirr142,lirr44,lirr102,False,975
+lirr142,lirr42,lirr214,True,1350
+lirr142,lirr42,lirr214,False,975
+lirr142,lirr48,lirr102,True,2775
+lirr142,lirr48,lirr102,False,2025
+lirr142,lirr51,lirr211,True,425
+lirr142,lirr51,lirr211,False,425
+lirr142,lirr52,lirr102,True,1000
+lirr142,lirr52,lirr102,False,725
+lirr142,lirr65,lirr211,True,425
+lirr142,lirr65,lirr211,False,425
+lirr142,lirr59,lirr102,True,1100
+lirr142,lirr59,lirr102,False,800
+lirr142,lirr63,lirr102,True,1000
+lirr142,lirr63,lirr102,False,725
+lirr142,lirr56,lirr214,True,1350
+lirr142,lirr56,lirr214,False,975
+lirr142,lirr64,lirr102,True,1100
+lirr142,lirr64,lirr102,False,800
+lirr142,lirr68,lirr102,True,1000
+lirr142,lirr68,lirr102,False,725
+lirr142,lirr66,lirr211,True,425
+lirr142,lirr66,lirr211,False,425
+lirr142,lirr67,lirr102,True,1100
+lirr142,lirr67,lirr102,False,800
+lirr142,lirr71,lirr102,True,1100
+lirr142,lirr71,lirr102,False,800
+lirr142,lirr76,lirr102,True,1100
+lirr142,lirr76,lirr102,False,800
+lirr142,lirr72,lirr214,True,1475
+lirr142,lirr72,lirr214,False,1075
+lirr142,lirr74,lirr102,True,1650
+lirr142,lirr74,lirr102,False,1200
+lirr142,lirr78,lirr102,True,1350
+lirr142,lirr78,lirr102,False,975
+lirr142,lirr73,lirr102,True,2775
+lirr142,lirr73,lirr102,False,2025
+lirr142,lirr77,lirr102,True,1100
+lirr142,lirr77,lirr102,False,800
+lirr142,lirr83,lirr102,True,2775
+lirr142,lirr83,lirr102,False,2025
+lirr142,lirr84,lirr102,True,1000
+lirr142,lirr84,lirr102,False,725
+lirr142,lirr94,lirr211,True,425
+lirr142,lirr94,lirr211,False,425
+lirr142,lirr92,lirr102,True,1100
+lirr142,lirr92,lirr102,False,800
+lirr142,lirr89,lirr102,True,900
+lirr142,lirr89,lirr102,False,650
+lirr142,lirr91,lirr102,True,1350
+lirr142,lirr91,lirr102,False,975
+lirr142,lirr101,lirr211,True,425
+lirr142,lirr101,lirr211,False,425
+lirr142,lirr99,lirr211,True,425
+lirr142,lirr99,lirr211,False,425
+lirr142,lirr100,lirr102,True,1650
+lirr142,lirr100,lirr102,False,1200
+lirr142,lirr111,lirr102,True,1650
+lirr142,lirr111,lirr102,False,1200
+lirr142,lirr122,lirr102,True,900
+lirr142,lirr122,lirr102,False,650
+lirr142,lirr114,lirr211,True,425
+lirr142,lirr114,lirr211,False,425
+lirr142,lirr117,lirr102,True,1350
+lirr142,lirr117,lirr102,False,975
+lirr142,lirr120,lirr214,True,1350
+lirr142,lirr120,lirr214,False,975
+lirr142,lirr119,lirr102,True,900
+lirr142,lirr119,lirr102,False,650
+lirr142,lirr123,lirr102,True,1100
+lirr142,lirr123,lirr102,False,800
+lirr142,lirr113,lirr211,True,425
+lirr142,lirr113,lirr211,False,425
+lirr142,lirr125,lirr211,True,425
+lirr142,lirr125,lirr211,False,425
+lirr142,lirr131,lirr214,True,1475
+lirr142,lirr131,lirr214,False,1075
+lirr142,lirr136,lirr102,True,1100
+lirr142,lirr136,lirr102,False,800
+lirr142,lirr135,lirr102,True,1100
+lirr142,lirr135,lirr102,False,800
+lirr142,lirr140,lirr102,True,2125
+lirr142,lirr140,lirr102,False,1550
+lirr142,lirr126,lirr102,True,2775
+lirr142,lirr126,lirr102,False,2025
+lirr142,lirr129,lirr102,True,1650
+lirr142,lirr129,lirr102,False,1200
+lirr142,lirr127,lirr102,True,1000
+lirr142,lirr127,lirr102,False,725
+lirr142,lirr226,lirr102,True,1100
+lirr142,lirr226,lirr102,False,800
+lirr142,lirr132,lirr102,True,1000
+lirr142,lirr132,lirr102,False,725
+lirr142,lirr141,lirr102,True,2775
+lirr142,lirr141,lirr102,False,2025
+lirr142,lirr130,lirr214,True,1350
+lirr142,lirr130,lirr214,False,975
+lirr142,lirr149,lirr102,True,1000
+lirr142,lirr149,lirr102,False,725
+lirr142,lirr152,lirr102,True,1000
+lirr142,lirr152,lirr102,False,725
+lirr142,lirr153,lirr102,True,1350
+lirr142,lirr153,lirr102,False,975
+lirr142,lirr157,lirr102,True,1650
+lirr142,lirr157,lirr102,False,1200
+lirr142,lirr155,lirr211,True,425
+lirr142,lirr155,lirr211,False,425
+lirr142,lirr154,lirr102,True,1100
+lirr142,lirr154,lirr102,False,800
+lirr142,lirr163,lirr102,True,1650
+lirr142,lirr163,lirr102,False,1200
+lirr142,lirr165,lirr102,True,1350
+lirr142,lirr165,lirr102,False,975
+lirr142,lirr162,lirr214,True,1475
+lirr142,lirr162,lirr214,False,1075
+lirr142,lirr164,lirr102,True,1650
+lirr142,lirr164,lirr102,False,1200
+lirr142,lirr171,lirr214,True,1475
+lirr142,lirr171,lirr214,False,1075
+lirr142,lirr175,lirr102,True,900
+lirr142,lirr175,lirr102,False,650
+lirr142,lirr176,lirr102,True,2775
+lirr142,lirr176,lirr102,False,2025
+lirr142,lirr183,lirr102,True,1100
+lirr142,lirr183,lirr102,False,800
+lirr142,lirr179,lirr102,True,1650
+lirr142,lirr179,lirr102,False,1200
+lirr142,lirr180,lirr102,True,900
+lirr142,lirr180,lirr102,False,650
+lirr142,lirr182,lirr102,True,1100
+lirr142,lirr182,lirr102,False,800
+lirr142,lirr204,lirr102,True,1650
+lirr142,lirr204,lirr102,False,1200
+lirr142,lirr185,lirr102,True,1100
+lirr142,lirr185,lirr102,False,800
+lirr142,lirr187,lirr102,True,1100
+lirr142,lirr187,lirr102,False,800
+lirr142,lirr202,lirr102,True,1650
+lirr142,lirr202,lirr102,False,1200
+lirr142,lirr191,lirr102,True,2775
+lirr142,lirr191,lirr102,False,2025
+lirr142,lirr190,lirr102,True,2775
+lirr142,lirr190,lirr102,False,2025
+lirr142,lirr198,lirr102,True,2125
+lirr142,lirr198,lirr102,False,1550
+lirr142,lirr193,lirr102,True,1650
+lirr142,lirr193,lirr102,False,1200
+lirr142,lirr195,lirr102,True,1000
+lirr142,lirr195,lirr102,False,725
+lirr142,lirr14,lirr102,True,1650
+lirr142,lirr14,lirr102,False,1200
+lirr142,lirr205,lirr102,True,1100
+lirr142,lirr205,lirr102,False,800
+lirr142,lirr215,lirr102,True,1100
+lirr142,lirr215,lirr102,False,800
+lirr142,lirr213,lirr102,True,1100
+lirr142,lirr213,lirr102,False,800
+lirr142,lirr233,lirr102,True,2775
+lirr142,lirr233,lirr102,False,2025
+lirr142,lirr217,lirr211,True,425
+lirr142,lirr217,lirr211,False,425
+lirr142,lirr220,lirr102,True,1350
+lirr142,lirr220,lirr102,False,975
+lirr142,lirr223,lirr102,True,2125
+lirr142,lirr223,lirr102,False,1550
+lirr131,lirr1,lirr214,True,1725
+lirr131,lirr1,lirr214,False,1250
+lirr131,lirr4,lirr214,True,3375
+lirr131,lirr4,lirr214,False,2450
+lirr131,lirr8,lirr214,True,1975
+lirr131,lirr8,lirr214,False,1425
+lirr131,lirr27,lirr214,True,1975
+lirr131,lirr27,lirr214,False,1425
+lirr131,lirr225,lirr214,True,1725
+lirr131,lirr225,lirr214,False,1250
+lirr131,lirr26,lirr214,True,2225
+lirr131,lirr26,lirr214,False,1625
+lirr131,lirr23,lirr214,True,1475
+lirr131,lirr23,lirr214,False,1075
+lirr131,lirr16,lirr214,True,1725
+lirr131,lirr16,lirr214,False,1250
+lirr131,lirr21,lirr214,True,2700
+lirr131,lirr21,lirr214,False,1975
+lirr131,lirr20,lirr214,True,1725
+lirr131,lirr20,lirr214,False,1250
+lirr131,lirr29,lirr214,True,2225
+lirr131,lirr29,lirr214,False,1625
+lirr131,lirr13,lirr214,True,3375
+lirr131,lirr13,lirr214,False,2450
+lirr131,lirr39,lirr214,True,1725
+lirr131,lirr39,lirr214,False,1250
+lirr131,lirr32,lirr214,True,1475
+lirr131,lirr32,lirr214,False,1075
+lirr131,lirr33,lirr214,True,2225
+lirr131,lirr33,lirr214,False,1625
+lirr131,lirr31,lirr214,True,1725
+lirr131,lirr31,lirr214,False,1250
+lirr131,lirr40,lirr214,True,1975
+lirr131,lirr40,lirr214,False,1425
+lirr131,lirr38,lirr214,True,1975
+lirr131,lirr38,lirr214,False,1425
+lirr131,lirr36,lirr214,True,1475
+lirr131,lirr36,lirr214,False,1075
+lirr131,lirr44,lirr214,True,1975
+lirr131,lirr44,lirr214,False,1425
+lirr131,lirr48,lirr214,True,3375
+lirr131,lirr48,lirr214,False,2450
+lirr131,lirr51,lirr214,True,1725
+lirr131,lirr51,lirr214,False,1250
+lirr131,lirr52,lirr214,True,1475
+lirr131,lirr52,lirr214,False,1075
+lirr131,lirr65,lirr214,True,1475
+lirr131,lirr65,lirr214,False,1075
+lirr131,lirr59,lirr214,True,1725
+lirr131,lirr59,lirr214,False,1250
+lirr131,lirr63,lirr214,True,1475
+lirr131,lirr63,lirr214,False,1075
+lirr131,lirr55,lirr214,True,1300
+lirr131,lirr55,lirr214,False,950
+lirr131,lirr64,lirr214,True,1725
+lirr131,lirr64,lirr214,False,1250
+lirr131,lirr68,lirr214,True,1475
+lirr131,lirr68,lirr214,False,1075
+lirr131,lirr66,lirr214,True,1475
+lirr131,lirr66,lirr214,False,1075
+lirr131,lirr67,lirr214,True,1725
+lirr131,lirr67,lirr214,False,1250
+lirr131,lirr71,lirr214,True,1725
+lirr131,lirr71,lirr214,False,1250
+lirr131,lirr76,lirr214,True,1725
+lirr131,lirr76,lirr214,False,1250
+lirr131,lirr74,lirr214,True,2225
+lirr131,lirr74,lirr214,False,1625
+lirr131,lirr78,lirr214,True,1975
+lirr131,lirr78,lirr214,False,1425
+lirr131,lirr73,lirr214,True,3375
+lirr131,lirr73,lirr214,False,2450
+lirr131,lirr77,lirr214,True,1725
+lirr131,lirr77,lirr214,False,1250
+lirr131,lirr83,lirr214,True,3375
+lirr131,lirr83,lirr214,False,2450
+lirr131,lirr84,lirr214,True,1475
+lirr131,lirr84,lirr214,False,1075
+lirr131,lirr85,lirr214,True,1475
+lirr131,lirr85,lirr214,False,1075
+lirr131,lirr94,lirr214,True,1475
+lirr131,lirr94,lirr214,False,1075
+lirr131,lirr92,lirr214,True,1725
+lirr131,lirr92,lirr214,False,1250
+lirr131,lirr89,lirr214,True,1350
+lirr131,lirr89,lirr214,False,975
+lirr131,lirr91,lirr214,True,1975
+lirr131,lirr91,lirr214,False,1425
+lirr131,lirr101,lirr214,True,1475
+lirr131,lirr101,lirr214,False,1075
+lirr131,lirr99,lirr214,True,1725
+lirr131,lirr99,lirr214,False,1250
+lirr131,lirr100,lirr214,True,2225
+lirr131,lirr100,lirr214,False,1625
+lirr131,lirr102,lirr214,True,1350
+lirr131,lirr102,lirr214,False,975
+lirr131,lirr107,lirr214,True,1300
+lirr131,lirr107,lirr214,False,950
+lirr131,lirr111,lirr214,True,2225
+lirr131,lirr111,lirr214,False,1625
+lirr131,lirr124,lirr214,True,1475
+lirr131,lirr124,lirr214,False,1075
+lirr131,lirr122,lirr214,True,1350
+lirr131,lirr122,lirr214,False,975
+lirr131,lirr114,lirr214,True,1475
+lirr131,lirr114,lirr214,False,1075
+lirr131,lirr117,lirr214,True,1975
+lirr131,lirr117,lirr214,False,1425
+lirr131,lirr119,lirr214,True,1350
+lirr131,lirr119,lirr214,False,975
+lirr131,lirr123,lirr214,True,1725
+lirr131,lirr123,lirr214,False,1250
+lirr131,lirr113,lirr214,True,1725
+lirr131,lirr113,lirr214,False,1250
+lirr131,lirr125,lirr214,True,1475
+lirr131,lirr125,lirr214,False,1075
+lirr131,lirr142,lirr214,True,1475
+lirr131,lirr142,lirr214,False,1075
+lirr131,lirr136,lirr214,True,1725
+lirr131,lirr136,lirr214,False,1250
+lirr131,lirr135,lirr214,True,1725
+lirr131,lirr135,lirr214,False,1250
+lirr131,lirr140,lirr214,True,2700
+lirr131,lirr140,lirr214,False,1975
+lirr131,lirr126,lirr214,True,3375
+lirr131,lirr126,lirr214,False,2450
+lirr131,lirr129,lirr214,True,2225
+lirr131,lirr129,lirr214,False,1625
+lirr131,lirr127,lirr214,True,1475
+lirr131,lirr127,lirr214,False,1075
+lirr131,lirr226,lirr214,True,1725
+lirr131,lirr226,lirr214,False,1250
+lirr131,lirr132,lirr214,True,1475
+lirr131,lirr132,lirr214,False,1075
+lirr131,lirr141,lirr214,True,3375
+lirr131,lirr141,lirr214,False,2450
+lirr131,lirr149,lirr214,True,1475
+lirr131,lirr149,lirr214,False,1075
+lirr131,lirr152,lirr214,True,1475
+lirr131,lirr152,lirr214,False,1075
+lirr131,lirr153,lirr214,True,1975
+lirr131,lirr153,lirr214,False,1425
+lirr131,lirr157,lirr214,True,2225
+lirr131,lirr157,lirr214,False,1625
+lirr131,lirr155,lirr214,True,1725
+lirr131,lirr155,lirr214,False,1250
+lirr131,lirr154,lirr214,True,1725
+lirr131,lirr154,lirr214,False,1250
+lirr131,lirr163,lirr214,True,2225
+lirr131,lirr163,lirr214,False,1625
+lirr131,lirr165,lirr214,True,1975
+lirr131,lirr165,lirr214,False,1425
+lirr131,lirr164,lirr214,True,2225
+lirr131,lirr164,lirr214,False,1625
+lirr131,lirr175,lirr214,True,1350
+lirr131,lirr175,lirr214,False,975
+lirr131,lirr176,lirr214,True,3375
+lirr131,lirr176,lirr214,False,2450
+lirr131,lirr183,lirr214,True,1725
+lirr131,lirr183,lirr214,False,1250
+lirr131,lirr179,lirr214,True,2225
+lirr131,lirr179,lirr214,False,1625
+lirr131,lirr180,lirr214,True,1350
+lirr131,lirr180,lirr214,False,975
+lirr131,lirr182,lirr214,True,1725
+lirr131,lirr182,lirr214,False,1250
+lirr131,lirr204,lirr214,True,2225
+lirr131,lirr204,lirr214,False,1625
+lirr131,lirr185,lirr214,True,1725
+lirr131,lirr185,lirr214,False,1250
+lirr131,lirr187,lirr214,True,1725
+lirr131,lirr187,lirr214,False,1250
+lirr131,lirr202,lirr214,True,2225
+lirr131,lirr202,lirr214,False,1625
+lirr131,lirr191,lirr214,True,3375
+lirr131,lirr191,lirr214,False,2450
+lirr131,lirr190,lirr214,True,3375
+lirr131,lirr190,lirr214,False,2450
+lirr131,lirr198,lirr214,True,2700
+lirr131,lirr198,lirr214,False,1975
+lirr131,lirr184,lirr214,True,1350
+lirr131,lirr184,lirr214,False,975
+lirr131,lirr193,lirr214,True,2225
+lirr131,lirr193,lirr214,False,1625
+lirr131,lirr195,lirr214,True,1475
+lirr131,lirr195,lirr214,False,1075
+lirr131,lirr14,lirr214,True,2225
+lirr131,lirr14,lirr214,False,1625
+lirr131,lirr205,lirr214,True,1725
+lirr131,lirr205,lirr214,False,1250
+lirr131,lirr211,lirr214,True,1475
+lirr131,lirr211,lirr214,False,1075
+lirr131,lirr215,lirr214,True,1725
+lirr131,lirr215,lirr214,False,1250
+lirr131,lirr216,lirr214,True,1475
+lirr131,lirr216,lirr214,False,1075
+lirr131,lirr213,lirr214,True,1725
+lirr131,lirr213,lirr214,False,1250
+lirr131,lirr233,lirr214,True,3375
+lirr131,lirr233,lirr214,False,2450
+lirr131,lirr219,lirr214,True,1475
+lirr131,lirr219,lirr214,False,1075
+lirr131,lirr217,lirr214,True,1475
+lirr131,lirr217,lirr214,False,1075
+lirr131,lirr220,lirr214,True,1975
+lirr131,lirr220,lirr214,False,1425
+lirr131,lirr223,lirr214,True,2700
+lirr131,lirr223,lirr214,False,1975
+lirr136,lirr1,lirr102,True,1225
+lirr136,lirr1,lirr102,False,900
+lirr136,lirr2,lirr214,True,1575
+lirr136,lirr2,lirr214,False,1150
+lirr136,lirr25,lirr214,True,1575
+lirr136,lirr25,lirr214,False,1150
+lirr136,lirr23,lirr102,True,1100
+lirr136,lirr23,lirr102,False,800
+lirr136,lirr20,lirr102,True,1225
+lirr136,lirr20,lirr102,False,900
+lirr136,lirr29,lirr102,True,1825
+lirr136,lirr29,lirr102,False,1325
+lirr136,lirr11,lirr214,True,1575
+lirr136,lirr11,lirr214,False,1150
+lirr136,lirr39,lirr102,True,1225
+lirr136,lirr39,lirr102,False,900
+lirr136,lirr32,lirr102,True,1100
+lirr136,lirr32,lirr211,True,425
+lirr136,lirr32,lirr102,False,800
+lirr136,lirr32,lirr211,False,425
+lirr136,lirr33,lirr102,True,1825
+lirr136,lirr33,lirr102,False,1325
+lirr136,lirr31,lirr102,True,1225
+lirr136,lirr31,lirr125,True,450
+lirr136,lirr31,lirr102,False,900
+lirr136,lirr31,lirr125,False,450
+lirr136,lirr40,lirr102,True,1575
+lirr136,lirr40,lirr102,False,1150
+lirr136,lirr36,lirr102,True,1100
+lirr136,lirr36,lirr102,False,800
+lirr136,lirr44,lirr102,True,1575
+lirr136,lirr44,lirr102,False,1150
+lirr136,lirr42,lirr214,True,1575
+lirr136,lirr42,lirr214,False,1150
+lirr136,lirr51,lirr102,True,1225
+lirr136,lirr51,lirr125,True,450
+lirr136,lirr51,lirr102,False,900
+lirr136,lirr51,lirr125,False,450
+lirr136,lirr52,lirr102,True,1100
+lirr136,lirr52,lirr102,False,800
+lirr136,lirr65,lirr102,True,1100
+lirr136,lirr65,lirr211,True,425
+lirr136,lirr65,lirr102,False,800
+lirr136,lirr65,lirr211,False,425
+lirr136,lirr59,lirr102,True,1225
+lirr136,lirr59,lirr102,False,900
+lirr136,lirr63,lirr102,True,1100
+lirr136,lirr63,lirr102,False,800
+lirr136,lirr56,lirr214,True,1575
+lirr136,lirr56,lirr214,False,1150
+lirr136,lirr68,lirr102,True,1100
+lirr136,lirr68,lirr102,False,800
+lirr136,lirr66,lirr102,True,1100
+lirr136,lirr66,lirr211,True,425
+lirr136,lirr66,lirr102,False,800
+lirr136,lirr66,lirr211,False,425
+lirr136,lirr67,lirr102,True,1225
+lirr136,lirr67,lirr102,False,900
+lirr136,lirr71,lirr102,True,1225
+lirr136,lirr71,lirr102,False,900
+lirr136,lirr76,lirr102,True,1225
+lirr136,lirr76,lirr102,False,900
+lirr136,lirr72,lirr214,True,1725
+lirr136,lirr72,lirr214,False,1250
+lirr136,lirr78,lirr102,True,1575
+lirr136,lirr78,lirr102,False,1150
+lirr136,lirr73,lirr102,True,2975
+lirr136,lirr73,lirr102,False,2175
+lirr136,lirr77,lirr102,True,1225
+lirr136,lirr77,lirr102,False,900
+lirr136,lirr84,lirr102,True,1100
+lirr136,lirr84,lirr102,False,800
+lirr136,lirr85,lirr102,True,1100
+lirr136,lirr85,lirr102,False,800
+lirr136,lirr94,lirr102,True,1100
+lirr136,lirr94,lirr211,True,425
+lirr136,lirr94,lirr102,False,800
+lirr136,lirr94,lirr211,False,425
+lirr136,lirr92,lirr102,True,1225
+lirr136,lirr92,lirr102,False,900
+lirr136,lirr89,lirr102,True,1050
+lirr136,lirr89,lirr102,False,775
+lirr136,lirr91,lirr102,True,1575
+lirr136,lirr91,lirr102,False,1150
+lirr136,lirr101,lirr102,True,1100
+lirr136,lirr101,lirr211,True,425
+lirr136,lirr101,lirr102,False,800
+lirr136,lirr101,lirr211,False,425
+lirr136,lirr99,lirr102,True,1225
+lirr136,lirr99,lirr125,True,450
+lirr136,lirr99,lirr102,False,900
+lirr136,lirr99,lirr125,False,450
+lirr136,lirr111,lirr102,True,1825
+lirr136,lirr111,lirr102,False,1325
+lirr136,lirr124,lirr102,True,1100
+lirr136,lirr124,lirr102,False,800
+lirr136,lirr122,lirr102,True,1050
+lirr136,lirr122,lirr102,False,775
+lirr136,lirr114,lirr102,True,1100
+lirr136,lirr114,lirr211,True,425
+lirr136,lirr114,lirr102,False,800
+lirr136,lirr114,lirr211,False,425
+lirr136,lirr120,lirr214,True,1575
+lirr136,lirr120,lirr214,False,1150
+lirr136,lirr119,lirr102,True,1050
+lirr136,lirr119,lirr102,False,775
+lirr136,lirr123,lirr102,True,1225
+lirr136,lirr123,lirr102,False,900
+lirr136,lirr113,lirr102,True,1225
+lirr136,lirr113,lirr125,True,450
+lirr136,lirr113,lirr102,False,900
+lirr136,lirr113,lirr125,False,450
+lirr136,lirr125,lirr102,True,1100
+lirr136,lirr125,lirr102,False,800
+lirr136,lirr142,lirr102,True,1100
+lirr136,lirr142,lirr102,False,800
+lirr136,lirr131,lirr214,True,1725
+lirr136,lirr131,lirr214,False,1250
+lirr136,lirr126,lirr102,True,2975
+lirr136,lirr126,lirr102,False,2175
+lirr136,lirr129,lirr102,True,1825
+lirr136,lirr129,lirr102,False,1325
+lirr136,lirr127,lirr102,True,1100
+lirr136,lirr127,lirr102,False,800
+lirr136,lirr132,lirr102,True,1100
+lirr136,lirr132,lirr102,False,800
+lirr136,lirr130,lirr214,True,1575
+lirr136,lirr130,lirr214,False,1150
+lirr136,lirr149,lirr102,True,1100
+lirr136,lirr149,lirr102,False,800
+lirr136,lirr152,lirr102,True,1100
+lirr136,lirr152,lirr102,False,800
+lirr136,lirr153,lirr102,True,1575
+lirr136,lirr153,lirr102,False,1150
+lirr136,lirr155,lirr102,True,1225
+lirr136,lirr155,lirr125,True,450
+lirr136,lirr155,lirr102,False,900
+lirr136,lirr155,lirr125,False,450
+lirr136,lirr154,lirr102,True,1225
+lirr136,lirr154,lirr102,False,900
+lirr136,lirr165,lirr102,True,1575
+lirr136,lirr165,lirr102,False,1150
+lirr136,lirr162,lirr214,True,1725
+lirr136,lirr162,lirr214,False,1250
+lirr136,lirr164,lirr102,True,1825
+lirr136,lirr164,lirr102,False,1325
+lirr136,lirr171,lirr214,True,1725
+lirr136,lirr171,lirr214,False,1250
+lirr136,lirr175,lirr102,True,1050
+lirr136,lirr175,lirr102,False,775
+lirr136,lirr176,lirr102,True,2975
+lirr136,lirr176,lirr102,False,2175
+lirr136,lirr179,lirr102,True,1825
+lirr136,lirr179,lirr102,False,1325
+lirr136,lirr180,lirr102,True,1050
+lirr136,lirr180,lirr102,False,775
+lirr136,lirr182,lirr102,True,1225
+lirr136,lirr182,lirr102,False,900
+lirr136,lirr185,lirr102,True,1225
+lirr136,lirr185,lirr102,False,900
+lirr136,lirr202,lirr102,True,1825
+lirr136,lirr202,lirr102,False,1325
+lirr136,lirr190,lirr102,True,2975
+lirr136,lirr190,lirr102,False,2175
+lirr136,lirr184,lirr102,True,1050
+lirr136,lirr184,lirr102,False,775
+lirr136,lirr193,lirr102,True,1825
+lirr136,lirr193,lirr102,False,1325
+lirr136,lirr195,lirr102,True,1100
+lirr136,lirr195,lirr102,False,800
+lirr136,lirr14,lirr102,True,1825
+lirr136,lirr14,lirr102,False,1325
+lirr136,lirr205,lirr102,True,1225
+lirr136,lirr205,lirr102,False,900
+lirr136,lirr211,lirr102,True,1100
+lirr136,lirr211,lirr102,False,800
+lirr136,lirr216,lirr102,True,1100
+lirr136,lirr216,lirr102,False,800
+lirr136,lirr213,lirr102,True,1225
+lirr136,lirr213,lirr102,False,900
+lirr136,lirr219,lirr102,True,1100
+lirr136,lirr219,lirr102,False,800
+lirr136,lirr217,lirr102,True,1100
+lirr136,lirr217,lirr211,True,425
+lirr136,lirr217,lirr102,False,800
+lirr136,lirr217,lirr211,False,425
+lirr136,lirr220,lirr102,True,1575
+lirr136,lirr220,lirr102,False,1150
+lirr136,lirr223,lirr102,True,2275
+lirr136,lirr223,lirr102,False,1650
+lirr135,lirr1,lirr102,True,1225
+lirr135,lirr1,lirr102,False,900
+lirr135,lirr2,lirr214,True,1575
+lirr135,lirr2,lirr214,False,1150
+lirr135,lirr25,lirr214,True,1575
+lirr135,lirr25,lirr214,False,1150
+lirr135,lirr23,lirr102,True,1100
+lirr135,lirr23,lirr102,False,800
+lirr135,lirr20,lirr102,True,1225
+lirr135,lirr20,lirr102,False,900
+lirr135,lirr29,lirr102,True,1825
+lirr135,lirr29,lirr102,False,1325
+lirr135,lirr11,lirr214,True,1575
+lirr135,lirr11,lirr214,False,1150
+lirr135,lirr39,lirr102,True,1225
+lirr135,lirr39,lirr102,False,900
+lirr135,lirr32,lirr102,True,1100
+lirr135,lirr32,lirr211,True,425
+lirr135,lirr32,lirr102,False,800
+lirr135,lirr32,lirr211,False,425
+lirr135,lirr33,lirr102,True,1825
+lirr135,lirr33,lirr102,False,1325
+lirr135,lirr31,lirr102,True,1225
+lirr135,lirr31,lirr125,True,450
+lirr135,lirr31,lirr102,False,900
+lirr135,lirr31,lirr125,False,450
+lirr135,lirr40,lirr102,True,1575
+lirr135,lirr40,lirr102,False,1150
+lirr135,lirr36,lirr102,True,1100
+lirr135,lirr36,lirr102,False,800
+lirr135,lirr44,lirr102,True,1575
+lirr135,lirr44,lirr102,False,1150
+lirr135,lirr42,lirr214,True,1575
+lirr135,lirr42,lirr214,False,1150
+lirr135,lirr51,lirr102,True,1225
+lirr135,lirr51,lirr125,True,450
+lirr135,lirr51,lirr102,False,900
+lirr135,lirr51,lirr125,False,450
+lirr135,lirr52,lirr102,True,1100
+lirr135,lirr52,lirr102,False,800
+lirr135,lirr65,lirr102,True,1100
+lirr135,lirr65,lirr211,True,425
+lirr135,lirr65,lirr102,False,800
+lirr135,lirr65,lirr211,False,425
+lirr135,lirr59,lirr102,True,1225
+lirr135,lirr59,lirr102,False,900
+lirr135,lirr63,lirr102,True,1100
+lirr135,lirr63,lirr102,False,800
+lirr135,lirr56,lirr214,True,1575
+lirr135,lirr56,lirr214,False,1150
+lirr135,lirr68,lirr102,True,1100
+lirr135,lirr68,lirr102,False,800
+lirr135,lirr66,lirr102,True,1100
+lirr135,lirr66,lirr211,True,425
+lirr135,lirr66,lirr102,False,800
+lirr135,lirr66,lirr211,False,425
+lirr135,lirr67,lirr102,True,1225
+lirr135,lirr67,lirr102,False,900
+lirr135,lirr71,lirr102,True,1225
+lirr135,lirr71,lirr102,False,900
+lirr135,lirr76,lirr102,True,1225
+lirr135,lirr76,lirr102,False,900
+lirr135,lirr72,lirr214,True,1725
+lirr135,lirr72,lirr214,False,1250
+lirr135,lirr78,lirr102,True,1575
+lirr135,lirr78,lirr102,False,1150
+lirr135,lirr73,lirr102,True,2975
+lirr135,lirr73,lirr102,False,2175
+lirr135,lirr77,lirr102,True,1225
+lirr135,lirr77,lirr102,False,900
+lirr135,lirr84,lirr102,True,1100
+lirr135,lirr84,lirr102,False,800
+lirr135,lirr85,lirr102,True,1100
+lirr135,lirr85,lirr102,False,800
+lirr135,lirr94,lirr102,True,1100
+lirr135,lirr94,lirr211,True,425
+lirr135,lirr94,lirr102,False,800
+lirr135,lirr94,lirr211,False,425
+lirr135,lirr92,lirr102,True,1225
+lirr135,lirr92,lirr102,False,900
+lirr135,lirr89,lirr102,True,1050
+lirr135,lirr89,lirr102,False,775
+lirr135,lirr91,lirr102,True,1575
+lirr135,lirr91,lirr102,False,1150
+lirr135,lirr101,lirr102,True,1100
+lirr135,lirr101,lirr211,True,425
+lirr135,lirr101,lirr102,False,800
+lirr135,lirr101,lirr211,False,425
+lirr135,lirr99,lirr102,True,1225
+lirr135,lirr99,lirr125,True,450
+lirr135,lirr99,lirr102,False,900
+lirr135,lirr99,lirr125,False,450
+lirr135,lirr111,lirr102,True,1825
+lirr135,lirr111,lirr102,False,1325
+lirr135,lirr124,lirr102,True,1100
+lirr135,lirr124,lirr102,False,800
+lirr135,lirr122,lirr102,True,1050
+lirr135,lirr122,lirr102,False,775
+lirr135,lirr114,lirr102,True,1100
+lirr135,lirr114,lirr211,True,425
+lirr135,lirr114,lirr102,False,800
+lirr135,lirr114,lirr211,False,425
+lirr135,lirr120,lirr214,True,1575
+lirr135,lirr120,lirr214,False,1150
+lirr135,lirr119,lirr102,True,1050
+lirr135,lirr119,lirr102,False,775
+lirr135,lirr123,lirr102,True,1225
+lirr135,lirr123,lirr102,False,900
+lirr135,lirr113,lirr102,True,1225
+lirr135,lirr113,lirr125,True,450
+lirr135,lirr113,lirr102,False,900
+lirr135,lirr113,lirr125,False,450
+lirr135,lirr125,lirr102,True,1100
+lirr135,lirr125,lirr102,False,800
+lirr135,lirr142,lirr102,True,1100
+lirr135,lirr142,lirr102,False,800
+lirr135,lirr131,lirr214,True,1725
+lirr135,lirr131,lirr214,False,1250
+lirr135,lirr126,lirr102,True,2975
+lirr135,lirr126,lirr102,False,2175
+lirr135,lirr129,lirr102,True,1825
+lirr135,lirr129,lirr102,False,1325
+lirr135,lirr127,lirr102,True,1100
+lirr135,lirr127,lirr102,False,800
+lirr135,lirr132,lirr102,True,1100
+lirr135,lirr132,lirr102,False,800
+lirr135,lirr130,lirr214,True,1575
+lirr135,lirr130,lirr214,False,1150
+lirr135,lirr149,lirr102,True,1100
+lirr135,lirr149,lirr102,False,800
+lirr135,lirr152,lirr102,True,1100
+lirr135,lirr152,lirr102,False,800
+lirr135,lirr153,lirr102,True,1575
+lirr135,lirr153,lirr102,False,1150
+lirr135,lirr155,lirr102,True,1225
+lirr135,lirr155,lirr125,True,450
+lirr135,lirr155,lirr102,False,900
+lirr135,lirr155,lirr125,False,450
+lirr135,lirr154,lirr102,True,1225
+lirr135,lirr154,lirr102,False,900
+lirr135,lirr165,lirr102,True,1575
+lirr135,lirr165,lirr102,False,1150
+lirr135,lirr162,lirr214,True,1725
+lirr135,lirr162,lirr214,False,1250
+lirr135,lirr164,lirr102,True,1825
+lirr135,lirr164,lirr102,False,1325
+lirr135,lirr171,lirr214,True,1725
+lirr135,lirr171,lirr214,False,1250
+lirr135,lirr175,lirr102,True,1050
+lirr135,lirr175,lirr102,False,775
+lirr135,lirr176,lirr102,True,2975
+lirr135,lirr176,lirr102,False,2175
+lirr135,lirr179,lirr102,True,1825
+lirr135,lirr179,lirr102,False,1325
+lirr135,lirr180,lirr102,True,1050
+lirr135,lirr180,lirr102,False,775
+lirr135,lirr182,lirr102,True,1225
+lirr135,lirr182,lirr102,False,900
+lirr135,lirr185,lirr102,True,1225
+lirr135,lirr185,lirr102,False,900
+lirr135,lirr202,lirr102,True,1825
+lirr135,lirr202,lirr102,False,1325
+lirr135,lirr190,lirr102,True,2975
+lirr135,lirr190,lirr102,False,2175
+lirr135,lirr184,lirr102,True,1050
+lirr135,lirr184,lirr102,False,775
+lirr135,lirr193,lirr102,True,1825
+lirr135,lirr193,lirr102,False,1325
+lirr135,lirr195,lirr102,True,1100
+lirr135,lirr195,lirr102,False,800
+lirr135,lirr14,lirr102,True,1825
+lirr135,lirr14,lirr102,False,1325
+lirr135,lirr205,lirr102,True,1225
+lirr135,lirr205,lirr102,False,900
+lirr135,lirr211,lirr102,True,1100
+lirr135,lirr211,lirr102,False,800
+lirr135,lirr216,lirr102,True,1100
+lirr135,lirr216,lirr102,False,800
+lirr135,lirr213,lirr102,True,1225
+lirr135,lirr213,lirr102,False,900
+lirr135,lirr219,lirr102,True,1100
+lirr135,lirr219,lirr102,False,800
+lirr135,lirr217,lirr102,True,1100
+lirr135,lirr217,lirr211,True,425
+lirr135,lirr217,lirr102,False,800
+lirr135,lirr217,lirr211,False,425
+lirr135,lirr220,lirr102,True,1575
+lirr135,lirr220,lirr102,False,1150
+lirr135,lirr223,lirr102,True,2275
+lirr135,lirr223,lirr102,False,1650
+lirr140,lirr1,lirr102,True,2275
+lirr140,lirr1,lirr132,True,1225
+lirr140,lirr1,lirr102,False,1650
+lirr140,lirr1,lirr132,False,1225
+lirr140,lirr2,lirr214,True,2500
+lirr140,lirr2,lirr214,False,1825
+lirr140,lirr25,lirr214,True,2500
+lirr140,lirr25,lirr214,False,1825
+lirr140,lirr23,lirr102,True,2125
+lirr140,lirr23,lirr102,False,1550
+lirr140,lirr20,lirr102,True,2275
+lirr140,lirr20,lirr92,True,1050
+lirr140,lirr20,lirr102,False,1650
+lirr140,lirr20,lirr92,False,1050
+lirr140,lirr29,lirr102,True,2800
+lirr140,lirr29,lirr92,True,1350
+lirr140,lirr29,lirr102,False,2025
+lirr140,lirr29,lirr92,False,1350
+lirr140,lirr11,lirr214,True,2500
+lirr140,lirr11,lirr214,False,1825
+lirr140,lirr39,lirr102,True,2275
+lirr140,lirr39,lirr102,False,1650
+lirr140,lirr32,lirr102,True,2125
+lirr140,lirr32,lirr102,False,1550
+lirr140,lirr33,lirr102,True,2800
+lirr140,lirr33,lirr92,True,1350
+lirr140,lirr33,lirr102,False,2025
+lirr140,lirr33,lirr92,False,1350
+lirr140,lirr31,lirr102,True,2275
+lirr140,lirr31,lirr125,True,1225
+lirr140,lirr31,lirr102,False,1650
+lirr140,lirr31,lirr125,False,1225
+lirr140,lirr40,lirr102,True,2600
+lirr140,lirr40,lirr92,True,1100
+lirr140,lirr40,lirr102,False,1900
+lirr140,lirr40,lirr92,False,1100
+lirr140,lirr36,lirr102,True,2125
+lirr140,lirr36,lirr63,True,1200
+lirr140,lirr36,lirr102,False,1550
+lirr140,lirr36,lirr63,False,1200
+lirr140,lirr44,lirr102,True,2600
+lirr140,lirr44,lirr92,True,1100
+lirr140,lirr44,lirr102,False,1900
+lirr140,lirr44,lirr92,False,1100
+lirr140,lirr42,lirr214,True,2500
+lirr140,lirr42,lirr214,False,1825
+lirr140,lirr51,lirr102,True,2275
+lirr140,lirr51,lirr125,True,1225
+lirr140,lirr51,lirr102,False,1650
+lirr140,lirr51,lirr125,False,1225
+lirr140,lirr52,lirr102,True,2125
+lirr140,lirr52,lirr132,True,1200
+lirr140,lirr52,lirr102,False,1550
+lirr140,lirr52,lirr132,False,1200
+lirr140,lirr65,lirr102,True,2125
+lirr140,lirr65,lirr102,False,1550
+lirr140,lirr59,lirr102,True,2275
+lirr140,lirr59,lirr92,True,1050
+lirr140,lirr59,lirr102,False,1650
+lirr140,lirr59,lirr92,False,1050
+lirr140,lirr63,lirr102,True,2125
+lirr140,lirr63,lirr102,False,1550
+lirr140,lirr56,lirr214,True,2500
+lirr140,lirr56,lirr214,False,1825
+lirr140,lirr68,lirr102,True,2125
+lirr140,lirr68,lirr63,True,1200
+lirr140,lirr68,lirr102,False,1550
+lirr140,lirr68,lirr63,False,1200
+lirr140,lirr66,lirr102,True,2125
+lirr140,lirr66,lirr102,False,1550
+lirr140,lirr67,lirr102,True,2275
+lirr140,lirr67,lirr132,True,1225
+lirr140,lirr67,lirr102,False,1650
+lirr140,lirr67,lirr132,False,1225
+lirr140,lirr71,lirr102,True,2275
+lirr140,lirr71,lirr132,True,1225
+lirr140,lirr71,lirr102,False,1650
+lirr140,lirr71,lirr132,False,1225
+lirr140,lirr76,lirr102,True,2275
+lirr140,lirr76,lirr132,True,1225
+lirr140,lirr76,lirr102,False,1650
+lirr140,lirr76,lirr132,False,1225
+lirr140,lirr72,lirr214,True,2700
+lirr140,lirr72,lirr214,False,1975
+lirr140,lirr78,lirr102,True,2600
+lirr140,lirr78,lirr92,True,1100
+lirr140,lirr78,lirr102,False,1900
+lirr140,lirr78,lirr92,False,1100
+lirr140,lirr73,lirr102,True,4000
+lirr140,lirr73,lirr92,True,2450
+lirr140,lirr73,lirr102,False,2900
+lirr140,lirr73,lirr92,False,2450
+lirr140,lirr77,lirr102,True,2275
+lirr140,lirr77,lirr132,True,1225
+lirr140,lirr77,lirr102,False,1650
+lirr140,lirr77,lirr132,False,1225
+lirr140,lirr84,lirr102,True,2125
+lirr140,lirr84,lirr63,True,1200
+lirr140,lirr84,lirr102,False,1550
+lirr140,lirr84,lirr63,False,1200
+lirr140,lirr85,lirr102,True,2125
+lirr140,lirr85,lirr102,False,1550
+lirr140,lirr94,lirr102,True,2125
+lirr140,lirr94,lirr102,False,1550
+lirr140,lirr92,lirr102,True,2275
+lirr140,lirr92,lirr102,False,1650
+lirr140,lirr89,lirr102,True,2050
+lirr140,lirr89,lirr102,False,1500
+lirr140,lirr91,lirr102,True,2600
+lirr140,lirr91,lirr92,True,1100
+lirr140,lirr91,lirr102,False,1900
+lirr140,lirr91,lirr92,False,1100
+lirr140,lirr101,lirr102,True,2125
+lirr140,lirr101,lirr102,False,1550
+lirr140,lirr99,lirr102,True,2275
+lirr140,lirr99,lirr125,True,1225
+lirr140,lirr99,lirr102,False,1650
+lirr140,lirr99,lirr125,False,1225
+lirr140,lirr111,lirr102,True,2800
+lirr140,lirr111,lirr92,True,1350
+lirr140,lirr111,lirr102,False,2025
+lirr140,lirr111,lirr92,False,1350
+lirr140,lirr124,lirr102,True,2125
+lirr140,lirr124,lirr102,False,1550
+lirr140,lirr122,lirr102,True,2050
+lirr140,lirr122,lirr102,False,1500
+lirr140,lirr114,lirr102,True,2125
+lirr140,lirr114,lirr102,False,1550
+lirr140,lirr120,lirr214,True,2500
+lirr140,lirr120,lirr214,False,1825
+lirr140,lirr119,lirr102,True,2050
+lirr140,lirr119,lirr102,False,1500
+lirr140,lirr123,lirr102,True,2275
+lirr140,lirr123,lirr132,True,1225
+lirr140,lirr123,lirr102,False,1650
+lirr140,lirr123,lirr132,False,1225
+lirr140,lirr113,lirr102,True,2275
+lirr140,lirr113,lirr125,True,1225
+lirr140,lirr113,lirr102,False,1650
+lirr140,lirr113,lirr125,False,1225
+lirr140,lirr125,lirr102,True,2125
+lirr140,lirr125,lirr102,False,1550
+lirr140,lirr142,lirr102,True,2125
+lirr140,lirr142,lirr102,False,1550
+lirr140,lirr131,lirr214,True,2700
+lirr140,lirr131,lirr214,False,1975
+lirr140,lirr126,lirr102,True,4000
+lirr140,lirr126,lirr92,True,2450
+lirr140,lirr126,lirr102,False,2900
+lirr140,lirr126,lirr92,False,2450
+lirr140,lirr129,lirr102,True,2800
+lirr140,lirr129,lirr92,True,1350
+lirr140,lirr129,lirr102,False,2025
+lirr140,lirr129,lirr92,False,1350
+lirr140,lirr127,lirr102,True,2125
+lirr140,lirr127,lirr102,False,1550
+lirr140,lirr132,lirr102,True,2125
+lirr140,lirr132,lirr102,False,1550
+lirr140,lirr130,lirr214,True,2500
+lirr140,lirr130,lirr214,False,1825
+lirr140,lirr149,lirr102,True,2125
+lirr140,lirr149,lirr63,True,1200
+lirr140,lirr149,lirr102,False,1550
+lirr140,lirr149,lirr63,False,1200
+lirr140,lirr152,lirr102,True,2125
+lirr140,lirr152,lirr102,False,1550
+lirr140,lirr153,lirr102,True,2600
+lirr140,lirr153,lirr92,True,1100
+lirr140,lirr153,lirr102,False,1900
+lirr140,lirr153,lirr92,False,1100
+lirr140,lirr155,lirr102,True,2275
+lirr140,lirr155,lirr125,True,1225
+lirr140,lirr155,lirr102,False,1650
+lirr140,lirr155,lirr125,False,1225
+lirr140,lirr154,lirr102,True,2275
+lirr140,lirr154,lirr132,True,1225
+lirr140,lirr154,lirr102,False,1650
+lirr140,lirr154,lirr132,False,1225
+lirr140,lirr165,lirr102,True,2600
+lirr140,lirr165,lirr92,True,1100
+lirr140,lirr165,lirr102,False,1900
+lirr140,lirr165,lirr92,False,1100
+lirr140,lirr162,lirr214,True,2700
+lirr140,lirr162,lirr214,False,1975
+lirr140,lirr164,lirr102,True,2800
+lirr140,lirr164,lirr92,True,1350
+lirr140,lirr164,lirr102,False,2025
+lirr140,lirr164,lirr92,False,1350
+lirr140,lirr171,lirr214,True,2700
+lirr140,lirr171,lirr214,False,1975
+lirr140,lirr175,lirr102,True,2050
+lirr140,lirr175,lirr102,False,1500
+lirr140,lirr176,lirr102,True,4000
+lirr140,lirr176,lirr92,True,2450
+lirr140,lirr176,lirr102,False,2900
+lirr140,lirr176,lirr92,False,2450
+lirr140,lirr179,lirr102,True,2800
+lirr140,lirr179,lirr92,True,1350
+lirr140,lirr179,lirr102,False,2025
+lirr140,lirr179,lirr92,False,1350
+lirr140,lirr180,lirr102,True,2050
+lirr140,lirr180,lirr102,False,1500
+lirr140,lirr182,lirr102,True,2275
+lirr140,lirr182,lirr132,True,1225
+lirr140,lirr182,lirr102,False,1650
+lirr140,lirr182,lirr132,False,1225
+lirr140,lirr185,lirr102,True,2275
+lirr140,lirr185,lirr132,True,1225
+lirr140,lirr185,lirr102,False,1650
+lirr140,lirr185,lirr132,False,1225
+lirr140,lirr202,lirr102,True,2800
+lirr140,lirr202,lirr92,True,1350
+lirr140,lirr202,lirr102,False,2025
+lirr140,lirr202,lirr92,False,1350
+lirr140,lirr190,lirr102,True,4000
+lirr140,lirr190,lirr92,True,2450
+lirr140,lirr190,lirr102,False,2900
+lirr140,lirr190,lirr92,False,2450
+lirr140,lirr184,lirr102,True,2050
+lirr140,lirr184,lirr102,False,1500
+lirr140,lirr193,lirr102,True,2800
+lirr140,lirr193,lirr92,True,1350
+lirr140,lirr193,lirr102,False,2025
+lirr140,lirr193,lirr92,False,1350
+lirr140,lirr195,lirr102,True,2125
+lirr140,lirr195,lirr63,True,1200
+lirr140,lirr195,lirr102,False,1550
+lirr140,lirr195,lirr63,False,1200
+lirr140,lirr14,lirr102,True,2800
+lirr140,lirr14,lirr92,True,1350
+lirr140,lirr14,lirr102,False,2025
+lirr140,lirr14,lirr92,False,1350
+lirr140,lirr205,lirr102,True,2275
+lirr140,lirr205,lirr92,True,1050
+lirr140,lirr205,lirr102,False,1650
+lirr140,lirr205,lirr92,False,1050
+lirr140,lirr211,lirr102,True,2125
+lirr140,lirr211,lirr102,False,1550
+lirr140,lirr216,lirr102,True,2125
+lirr140,lirr216,lirr102,False,1550
+lirr140,lirr213,lirr102,True,2275
+lirr140,lirr213,lirr102,False,1650
+lirr140,lirr219,lirr102,True,2125
+lirr140,lirr219,lirr102,False,1550
+lirr140,lirr217,lirr102,True,2125
+lirr140,lirr217,lirr102,False,1550
+lirr140,lirr220,lirr102,True,2600
+lirr140,lirr220,lirr92,True,1100
+lirr140,lirr220,lirr102,False,1900
+lirr140,lirr220,lirr92,False,1100
+lirr140,lirr223,lirr102,True,3300
+lirr140,lirr223,lirr92,True,1775
+lirr140,lirr223,lirr102,False,2400
+lirr140,lirr223,lirr92,False,1775
+lirr126,lirr1,lirr132,True,1875
+lirr126,lirr1,lirr132,False,1875
+lirr126,lirr4,lirr102,True,4350
+lirr126,lirr4,lirr92,True,2800
+lirr126,lirr4,lirr102,False,3175
+lirr126,lirr4,lirr92,False,2800
+lirr126,lirr8,lirr102,True,3275
+lirr126,lirr8,lirr102,False,2375
+lirr126,lirr2,lirr214,True,3200
+lirr126,lirr2,lirr214,False,2325
+lirr126,lirr27,lirr102,True,3275
+lirr126,lirr27,lirr92,True,1775
+lirr126,lirr27,lirr102,False,2375
+lirr126,lirr27,lirr92,False,1775
+lirr126,lirr225,lirr102,True,2975
+lirr126,lirr225,lirr102,False,2175
+lirr126,lirr26,lirr102,True,3475
+lirr126,lirr26,lirr92,True,2025
+lirr126,lirr26,lirr102,False,2525
+lirr126,lirr26,lirr92,False,2025
+lirr126,lirr25,lirr214,True,3200
+lirr126,lirr25,lirr214,False,2325
+lirr126,lirr23,lirr102,True,2775
+lirr126,lirr23,lirr102,False,2025
+lirr126,lirr16,lirr102,True,2975
+lirr126,lirr16,lirr102,False,2175
+lirr126,lirr21,lirr102,True,4000
+lirr126,lirr21,lirr92,True,2450
+lirr126,lirr21,lirr102,False,2900
+lirr126,lirr21,lirr92,False,2450
+lirr126,lirr13,lirr102,True,4350
+lirr126,lirr13,lirr92,True,2800
+lirr126,lirr13,lirr102,False,3175
+lirr126,lirr13,lirr92,False,2800
+lirr126,lirr11,lirr214,True,3200
+lirr126,lirr11,lirr214,False,2325
+lirr126,lirr32,lirr102,True,2775
+lirr126,lirr32,lirr102,False,2025
+lirr126,lirr31,lirr102,True,2975
+lirr126,lirr31,lirr102,False,2175
+lirr126,lirr40,lirr92,True,1775
+lirr126,lirr40,lirr92,False,1775
+lirr126,lirr38,lirr102,True,3275
+lirr126,lirr38,lirr102,False,2375
+lirr126,lirr36,lirr102,True,2775
+lirr126,lirr36,lirr63,True,1850
+lirr126,lirr36,lirr102,False,2025
+lirr126,lirr36,lirr63,False,1850
+lirr126,lirr42,lirr214,True,3200
+lirr126,lirr42,lirr214,False,2325
+lirr126,lirr48,lirr102,True,4350
+lirr126,lirr48,lirr92,True,2800
+lirr126,lirr48,lirr102,False,3175
+lirr126,lirr48,lirr92,False,2800
+lirr126,lirr51,lirr102,True,2975
+lirr126,lirr51,lirr102,False,2175
+lirr126,lirr52,lirr132,True,1850
+lirr126,lirr52,lirr132,False,1850
+lirr126,lirr65,lirr102,True,2775
+lirr126,lirr65,lirr102,False,2025
+lirr126,lirr63,lirr102,True,2775
+lirr126,lirr63,lirr102,False,2025
+lirr126,lirr56,lirr214,True,3200
+lirr126,lirr56,lirr214,False,2325
+lirr126,lirr64,lirr102,True,2975
+lirr126,lirr64,lirr102,False,2175
+lirr126,lirr68,lirr102,True,2775
+lirr126,lirr68,lirr63,True,1850
+lirr126,lirr68,lirr102,False,2025
+lirr126,lirr68,lirr63,False,1850
+lirr126,lirr66,lirr102,True,2775
+lirr126,lirr66,lirr102,False,2025
+lirr126,lirr67,lirr132,True,1875
+lirr126,lirr67,lirr132,False,1875
+lirr126,lirr71,lirr132,True,1875
+lirr126,lirr71,lirr132,False,1875
+lirr126,lirr76,lirr132,True,1875
+lirr126,lirr76,lirr132,False,1875
+lirr126,lirr72,lirr214,True,3375
+lirr126,lirr72,lirr214,False,2450
+lirr126,lirr74,lirr102,True,3475
+lirr126,lirr74,lirr92,True,2025
+lirr126,lirr74,lirr102,False,2525
+lirr126,lirr74,lirr92,False,2025
+lirr126,lirr78,lirr92,True,1775
+lirr126,lirr78,lirr92,False,1775
+lirr126,lirr77,lirr132,True,1875
+lirr126,lirr77,lirr132,False,1875
+lirr126,lirr83,lirr102,True,4350
+lirr126,lirr83,lirr92,True,2800
+lirr126,lirr83,lirr102,False,3175
+lirr126,lirr83,lirr92,False,2800
+lirr126,lirr84,lirr102,True,2775
+lirr126,lirr84,lirr63,True,1850
+lirr126,lirr84,lirr102,False,2025
+lirr126,lirr84,lirr63,False,1850
+lirr126,lirr85,lirr102,True,2775
+lirr126,lirr85,lirr102,False,2025
+lirr126,lirr94,lirr102,True,2775
+lirr126,lirr94,lirr102,False,2025
+lirr126,lirr89,lirr102,True,2700
+lirr126,lirr89,lirr102,False,1975
+lirr126,lirr91,lirr92,True,1775
+lirr126,lirr91,lirr92,False,1775
+lirr126,lirr101,lirr102,True,2775
+lirr126,lirr101,lirr102,False,2025
+lirr126,lirr99,lirr102,True,2975
+lirr126,lirr99,lirr102,False,2175
+lirr126,lirr100,lirr102,True,3475
+lirr126,lirr100,lirr92,True,2025
+lirr126,lirr100,lirr102,False,2525
+lirr126,lirr100,lirr92,False,2025
+lirr126,lirr111,lirr92,True,2025
+lirr126,lirr111,lirr92,False,2025
+lirr126,lirr124,lirr102,True,2775
+lirr126,lirr124,lirr102,False,2025
+lirr126,lirr122,lirr102,True,2700
+lirr126,lirr122,lirr102,False,1975
+lirr126,lirr114,lirr102,True,2775
+lirr126,lirr114,lirr102,False,2025
+lirr126,lirr117,lirr102,True,3275
+lirr126,lirr117,lirr102,False,2375
+lirr126,lirr120,lirr214,True,3200
+lirr126,lirr120,lirr214,False,2325
+lirr126,lirr119,lirr102,True,2700
+lirr126,lirr119,lirr102,False,1975
+lirr126,lirr123,lirr132,True,1875
+lirr126,lirr123,lirr132,False,1875
+lirr126,lirr113,lirr102,True,2975
+lirr126,lirr113,lirr102,False,2175
+lirr126,lirr125,lirr102,True,2775
+lirr126,lirr125,lirr102,False,2025
+lirr126,lirr142,lirr102,True,2775
+lirr126,lirr142,lirr102,False,2025
+lirr126,lirr131,lirr214,True,3375
+lirr126,lirr131,lirr214,False,2450
+lirr126,lirr136,lirr102,True,2975
+lirr126,lirr136,lirr102,False,2175
+lirr126,lirr135,lirr102,True,2975
+lirr126,lirr135,lirr102,False,2175
+lirr126,lirr140,lirr102,True,4000
+lirr126,lirr140,lirr92,True,2450
+lirr126,lirr140,lirr102,False,2900
+lirr126,lirr140,lirr92,False,2450
+lirr126,lirr226,lirr102,True,2975
+lirr126,lirr226,lirr102,False,2175
+lirr126,lirr141,lirr102,True,4350
+lirr126,lirr141,lirr92,True,2800
+lirr126,lirr141,lirr102,False,3175
+lirr126,lirr141,lirr92,False,2800
+lirr126,lirr130,lirr214,True,3200
+lirr126,lirr130,lirr214,False,2325
+lirr126,lirr149,lirr102,True,2775
+lirr126,lirr149,lirr63,True,1850
+lirr126,lirr149,lirr102,False,2025
+lirr126,lirr149,lirr63,False,1850
+lirr126,lirr153,lirr92,True,1775
+lirr126,lirr153,lirr92,False,1775
+lirr126,lirr157,lirr102,True,3475
+lirr126,lirr157,lirr92,True,2025
+lirr126,lirr157,lirr102,False,2525
+lirr126,lirr157,lirr92,False,2025
+lirr126,lirr155,lirr102,True,2975
+lirr126,lirr155,lirr102,False,2175
+lirr126,lirr154,lirr132,True,1875
+lirr126,lirr154,lirr132,False,1875
+lirr126,lirr163,lirr102,True,3475
+lirr126,lirr163,lirr92,True,2025
+lirr126,lirr163,lirr102,False,2525
+lirr126,lirr163,lirr92,False,2025
+lirr126,lirr162,lirr214,True,3375
+lirr126,lirr162,lirr214,False,2450
+lirr126,lirr164,lirr92,True,2025
+lirr126,lirr164,lirr92,False,2025
+lirr126,lirr171,lirr214,True,3375
+lirr126,lirr171,lirr214,False,2450
+lirr126,lirr175,lirr102,True,2700
+lirr126,lirr175,lirr102,False,1975
+lirr126,lirr183,lirr102,True,2975
+lirr126,lirr183,lirr102,False,2175
+lirr126,lirr180,lirr102,True,2700
+lirr126,lirr180,lirr102,False,1975
+lirr126,lirr182,lirr132,True,1875
+lirr126,lirr182,lirr132,False,1875
+lirr126,lirr204,lirr102,True,3475
+lirr126,lirr204,lirr92,True,2025
+lirr126,lirr204,lirr102,False,2525
+lirr126,lirr204,lirr92,False,2025
+lirr126,lirr185,lirr132,True,1875
+lirr126,lirr185,lirr132,False,1875
+lirr126,lirr187,lirr102,True,2975
+lirr126,lirr187,lirr102,False,2175
+lirr126,lirr202,lirr92,True,2025
+lirr126,lirr202,lirr92,False,2025
+lirr126,lirr191,lirr102,True,4350
+lirr126,lirr191,lirr92,True,2800
+lirr126,lirr191,lirr102,False,3175
+lirr126,lirr191,lirr92,False,2800
+lirr126,lirr198,lirr102,True,4000
+lirr126,lirr198,lirr92,True,2450
+lirr126,lirr198,lirr102,False,2900
+lirr126,lirr198,lirr92,False,2450
+lirr126,lirr184,lirr102,True,2700
+lirr126,lirr184,lirr102,False,1975
+lirr126,lirr193,lirr92,True,2025
+lirr126,lirr193,lirr92,False,2025
+lirr126,lirr195,lirr102,True,2775
+lirr126,lirr195,lirr63,True,1850
+lirr126,lirr195,lirr102,False,2025
+lirr126,lirr195,lirr63,False,1850
+lirr126,lirr14,lirr92,True,2025
+lirr126,lirr14,lirr92,False,2025
+lirr126,lirr205,lirr92,True,1725
+lirr126,lirr205,lirr92,False,1725
+lirr126,lirr211,lirr102,True,2775
+lirr126,lirr211,lirr102,False,2025
+lirr126,lirr215,lirr102,True,2975
+lirr126,lirr215,lirr102,False,2175
+lirr126,lirr216,lirr102,True,2775
+lirr126,lirr216,lirr102,False,2025
+lirr126,lirr233,lirr102,True,4350
+lirr126,lirr233,lirr92,True,2800
+lirr126,lirr233,lirr102,False,3175
+lirr126,lirr233,lirr92,False,2800
+lirr126,lirr219,lirr102,True,2775
+lirr126,lirr219,lirr102,False,2025
+lirr126,lirr217,lirr102,True,2775
+lirr126,lirr217,lirr102,False,2025
+lirr129,lirr1,lirr132,True,900
+lirr129,lirr1,lirr132,False,900
+lirr129,lirr4,lirr102,True,3475
+lirr129,lirr4,lirr92,True,2025
+lirr129,lirr4,lirr102,False,2525
+lirr129,lirr4,lirr92,False,2025
+lirr129,lirr8,lirr102,True,2125
+lirr129,lirr8,lirr102,False,1550
+lirr129,lirr2,lirr214,True,2050
+lirr129,lirr2,lirr214,False,1500
+lirr129,lirr27,lirr102,True,2125
+lirr129,lirr27,lirr92,True,650
+lirr129,lirr27,lirr102,False,1550
+lirr129,lirr27,lirr92,False,650
+lirr129,lirr225,lirr102,True,1825
+lirr129,lirr225,lirr102,False,1325
+lirr129,lirr26,lirr102,True,2275
+lirr129,lirr26,lirr92,True,1000
+lirr129,lirr26,lirr102,False,1650
+lirr129,lirr26,lirr92,False,1000
+lirr129,lirr25,lirr214,True,2050
+lirr129,lirr25,lirr214,False,1500
+lirr129,lirr23,lirr102,True,1650
+lirr129,lirr23,lirr102,False,1200
+lirr129,lirr16,lirr102,True,1825
+lirr129,lirr16,lirr102,False,1325
+lirr129,lirr21,lirr102,True,2800
+lirr129,lirr21,lirr92,True,1350
+lirr129,lirr21,lirr102,False,2025
+lirr129,lirr21,lirr92,False,1350
+lirr129,lirr13,lirr102,True,3475
+lirr129,lirr13,lirr92,True,2025
+lirr129,lirr13,lirr102,False,2525
+lirr129,lirr13,lirr92,False,2025
+lirr129,lirr11,lirr214,True,2050
+lirr129,lirr11,lirr214,False,1500
+lirr129,lirr32,lirr102,True,1650
+lirr129,lirr32,lirr102,False,1200
+lirr129,lirr31,lirr102,True,1825
+lirr129,lirr31,lirr102,False,1325
+lirr129,lirr40,lirr92,True,650
+lirr129,lirr40,lirr92,False,650
+lirr129,lirr38,lirr102,True,2125
+lirr129,lirr38,lirr102,False,1550
+lirr129,lirr36,lirr102,True,1650
+lirr129,lirr36,lirr63,True,825
+lirr129,lirr36,lirr102,False,1200
+lirr129,lirr36,lirr63,False,825
+lirr129,lirr42,lirr214,True,2050
+lirr129,lirr42,lirr214,False,1500
+lirr129,lirr48,lirr102,True,3475
+lirr129,lirr48,lirr92,True,2025
+lirr129,lirr48,lirr102,False,2525
+lirr129,lirr48,lirr92,False,2025
+lirr129,lirr51,lirr102,True,1825
+lirr129,lirr51,lirr102,False,1325
+lirr129,lirr52,lirr132,True,825
+lirr129,lirr52,lirr132,False,825
+lirr129,lirr65,lirr102,True,1650
+lirr129,lirr65,lirr102,False,1200
+lirr129,lirr63,lirr102,True,1650
+lirr129,lirr63,lirr102,False,1200
+lirr129,lirr56,lirr214,True,2050
+lirr129,lirr56,lirr214,False,1500
+lirr129,lirr64,lirr102,True,1825
+lirr129,lirr64,lirr102,False,1325
+lirr129,lirr68,lirr102,True,1650
+lirr129,lirr68,lirr63,True,825
+lirr129,lirr68,lirr102,False,1200
+lirr129,lirr68,lirr63,False,825
+lirr129,lirr66,lirr102,True,1650
+lirr129,lirr66,lirr102,False,1200
+lirr129,lirr67,lirr132,True,900
+lirr129,lirr67,lirr132,False,900
+lirr129,lirr71,lirr132,True,900
+lirr129,lirr71,lirr132,False,900
+lirr129,lirr76,lirr132,True,900
+lirr129,lirr76,lirr132,False,900
+lirr129,lirr72,lirr214,True,2225
+lirr129,lirr72,lirr214,False,1625
+lirr129,lirr74,lirr102,True,2275
+lirr129,lirr74,lirr92,True,1000
+lirr129,lirr74,lirr102,False,1650
+lirr129,lirr74,lirr92,False,1000
+lirr129,lirr78,lirr92,True,650
+lirr129,lirr78,lirr92,False,650
+lirr129,lirr77,lirr132,True,900
+lirr129,lirr77,lirr132,False,900
+lirr129,lirr83,lirr102,True,3475
+lirr129,lirr83,lirr92,True,2025
+lirr129,lirr83,lirr102,False,2525
+lirr129,lirr83,lirr92,False,2025
+lirr129,lirr84,lirr102,True,1650
+lirr129,lirr84,lirr63,True,825
+lirr129,lirr84,lirr102,False,1200
+lirr129,lirr84,lirr63,False,825
+lirr129,lirr85,lirr102,True,1650
+lirr129,lirr85,lirr102,False,1200
+lirr129,lirr94,lirr102,True,1650
+lirr129,lirr94,lirr102,False,1200
+lirr129,lirr89,lirr102,True,1575
+lirr129,lirr89,lirr102,False,1150
+lirr129,lirr91,lirr92,True,650
+lirr129,lirr91,lirr92,False,650
+lirr129,lirr101,lirr102,True,1650
+lirr129,lirr101,lirr102,False,1200
+lirr129,lirr99,lirr102,True,1825
+lirr129,lirr99,lirr102,False,1325
+lirr129,lirr100,lirr102,True,2275
+lirr129,lirr100,lirr92,True,1000
+lirr129,lirr100,lirr102,False,1650
+lirr129,lirr100,lirr92,False,1000
+lirr129,lirr111,lirr92,True,1000
+lirr129,lirr111,lirr92,False,1000
+lirr129,lirr124,lirr102,True,1650
+lirr129,lirr124,lirr102,False,1200
+lirr129,lirr122,lirr102,True,1575
+lirr129,lirr122,lirr102,False,1150
+lirr129,lirr114,lirr102,True,1650
+lirr129,lirr114,lirr102,False,1200
+lirr129,lirr117,lirr102,True,2125
+lirr129,lirr117,lirr102,False,1550
+lirr129,lirr120,lirr214,True,2050
+lirr129,lirr120,lirr214,False,1500
+lirr129,lirr119,lirr102,True,1575
+lirr129,lirr119,lirr102,False,1150
+lirr129,lirr123,lirr132,True,900
+lirr129,lirr123,lirr132,False,900
+lirr129,lirr113,lirr102,True,1825
+lirr129,lirr113,lirr102,False,1325
+lirr129,lirr125,lirr102,True,1650
+lirr129,lirr125,lirr102,False,1200
+lirr129,lirr142,lirr102,True,1650
+lirr129,lirr142,lirr102,False,1200
+lirr129,lirr131,lirr214,True,2225
+lirr129,lirr131,lirr214,False,1625
+lirr129,lirr136,lirr102,True,1825
+lirr129,lirr136,lirr102,False,1325
+lirr129,lirr135,lirr102,True,1825
+lirr129,lirr135,lirr102,False,1325
+lirr129,lirr140,lirr102,True,2800
+lirr129,lirr140,lirr92,True,1350
+lirr129,lirr140,lirr102,False,2025
+lirr129,lirr140,lirr92,False,1350
+lirr129,lirr226,lirr102,True,1825
+lirr129,lirr226,lirr102,False,1325
+lirr129,lirr141,lirr102,True,3475
+lirr129,lirr141,lirr92,True,2025
+lirr129,lirr141,lirr102,False,2525
+lirr129,lirr141,lirr92,False,2025
+lirr129,lirr130,lirr214,True,2050
+lirr129,lirr130,lirr214,False,1500
+lirr129,lirr149,lirr102,True,1650
+lirr129,lirr149,lirr63,True,825
+lirr129,lirr149,lirr102,False,1200
+lirr129,lirr149,lirr63,False,825
+lirr129,lirr153,lirr92,True,650
+lirr129,lirr153,lirr92,False,650
+lirr129,lirr157,lirr102,True,2275
+lirr129,lirr157,lirr92,True,1000
+lirr129,lirr157,lirr102,False,1650
+lirr129,lirr157,lirr92,False,1000
+lirr129,lirr155,lirr102,True,1825
+lirr129,lirr155,lirr102,False,1325
+lirr129,lirr154,lirr132,True,900
+lirr129,lirr154,lirr132,False,900
+lirr129,lirr163,lirr102,True,2275
+lirr129,lirr163,lirr92,True,1000
+lirr129,lirr163,lirr102,False,1650
+lirr129,lirr163,lirr92,False,1000
+lirr129,lirr162,lirr214,True,2225
+lirr129,lirr162,lirr214,False,1625
+lirr129,lirr164,lirr92,True,1000
+lirr129,lirr164,lirr92,False,1000
+lirr129,lirr171,lirr214,True,2225
+lirr129,lirr171,lirr214,False,1625
+lirr129,lirr175,lirr102,True,1575
+lirr129,lirr175,lirr102,False,1150
+lirr129,lirr183,lirr102,True,1825
+lirr129,lirr183,lirr102,False,1325
+lirr129,lirr180,lirr102,True,1575
+lirr129,lirr180,lirr102,False,1150
+lirr129,lirr182,lirr132,True,900
+lirr129,lirr182,lirr132,False,900
+lirr129,lirr204,lirr102,True,2275
+lirr129,lirr204,lirr92,True,1000
+lirr129,lirr204,lirr102,False,1650
+lirr129,lirr204,lirr92,False,1000
+lirr129,lirr185,lirr132,True,900
+lirr129,lirr185,lirr132,False,900
+lirr129,lirr187,lirr102,True,1825
+lirr129,lirr187,lirr102,False,1325
+lirr129,lirr202,lirr92,True,1000
+lirr129,lirr202,lirr92,False,1000
+lirr129,lirr191,lirr102,True,3475
+lirr129,lirr191,lirr92,True,2025
+lirr129,lirr191,lirr102,False,2525
+lirr129,lirr191,lirr92,False,2025
+lirr129,lirr198,lirr102,True,2800
+lirr129,lirr198,lirr92,True,1350
+lirr129,lirr198,lirr102,False,2025
+lirr129,lirr198,lirr92,False,1350
+lirr129,lirr184,lirr102,True,1575
+lirr129,lirr184,lirr102,False,1150
+lirr129,lirr193,lirr92,True,1000
+lirr129,lirr193,lirr92,False,1000
+lirr129,lirr195,lirr102,True,1650
+lirr129,lirr195,lirr63,True,825
+lirr129,lirr195,lirr102,False,1200
+lirr129,lirr195,lirr63,False,825
+lirr129,lirr14,lirr92,True,1000
+lirr129,lirr14,lirr92,False,1000
+lirr129,lirr205,lirr92,True,600
+lirr129,lirr205,lirr92,False,600
+lirr129,lirr211,lirr102,True,1650
+lirr129,lirr211,lirr102,False,1200
+lirr129,lirr215,lirr102,True,1825
+lirr129,lirr215,lirr102,False,1325
+lirr129,lirr216,lirr102,True,1650
+lirr129,lirr216,lirr102,False,1200
+lirr129,lirr233,lirr102,True,3475
+lirr129,lirr233,lirr92,True,2025
+lirr129,lirr233,lirr102,False,2525
+lirr129,lirr233,lirr92,False,2025
+lirr129,lirr219,lirr102,True,1650
+lirr129,lirr219,lirr102,False,1200
+lirr129,lirr217,lirr102,True,1650
+lirr129,lirr217,lirr102,False,1200
+lirr127,lirr4,lirr102,True,2775
+lirr127,lirr4,lirr102,False,2025
+lirr127,lirr8,lirr102,True,1350
+lirr127,lirr8,lirr102,False,975
+lirr127,lirr2,lirr214,True,1350
+lirr127,lirr2,lirr214,False,975
+lirr127,lirr27,lirr102,True,1350
+lirr127,lirr27,lirr102,False,975
+lirr127,lirr225,lirr102,True,1100
+lirr127,lirr225,lirr102,False,800
+lirr127,lirr26,lirr102,True,1650
+lirr127,lirr26,lirr102,False,1200
+lirr127,lirr25,lirr214,True,1350
+lirr127,lirr25,lirr214,False,975
+lirr127,lirr23,lirr102,True,1000
+lirr127,lirr23,lirr102,False,725
+lirr127,lirr16,lirr102,True,1100
+lirr127,lirr16,lirr102,False,800
+lirr127,lirr21,lirr102,True,2125
+lirr127,lirr21,lirr102,False,1550
+lirr127,lirr13,lirr102,True,2775
+lirr127,lirr13,lirr102,False,2025
+lirr127,lirr11,lirr214,True,1350
+lirr127,lirr11,lirr214,False,975
+lirr127,lirr32,lirr102,True,1000
+lirr127,lirr32,lirr102,False,725
+lirr127,lirr31,lirr102,True,1100
+lirr127,lirr31,lirr102,False,800
+lirr127,lirr38,lirr102,True,1350
+lirr127,lirr38,lirr102,False,975
+lirr127,lirr36,lirr102,True,1000
+lirr127,lirr36,lirr102,False,725
+lirr127,lirr42,lirr214,True,1350
+lirr127,lirr42,lirr214,False,975
+lirr127,lirr48,lirr102,True,2775
+lirr127,lirr48,lirr102,False,2025
+lirr127,lirr51,lirr102,True,1100
+lirr127,lirr51,lirr102,False,800
+lirr127,lirr65,lirr102,True,1000
+lirr127,lirr65,lirr102,False,725
+lirr127,lirr63,lirr102,True,1000
+lirr127,lirr63,lirr102,False,725
+lirr127,lirr56,lirr214,True,1350
+lirr127,lirr56,lirr214,False,975
+lirr127,lirr64,lirr102,True,1100
+lirr127,lirr64,lirr102,False,800
+lirr127,lirr68,lirr102,True,1000
+lirr127,lirr68,lirr102,False,725
+lirr127,lirr66,lirr102,True,1000
+lirr127,lirr66,lirr102,False,725
+lirr127,lirr72,lirr214,True,1475
+lirr127,lirr72,lirr214,False,1075
+lirr127,lirr74,lirr102,True,1650
+lirr127,lirr74,lirr102,False,1200
+lirr127,lirr83,lirr102,True,2775
+lirr127,lirr83,lirr102,False,2025
+lirr127,lirr84,lirr102,True,1000
+lirr127,lirr84,lirr102,False,725
+lirr127,lirr85,lirr102,True,1000
+lirr127,lirr85,lirr102,False,725
+lirr127,lirr94,lirr102,True,1000
+lirr127,lirr94,lirr102,False,725
+lirr127,lirr89,lirr102,True,900
+lirr127,lirr89,lirr102,False,650
+lirr127,lirr101,lirr102,True,1000
+lirr127,lirr101,lirr102,False,725
+lirr127,lirr99,lirr102,True,1100
+lirr127,lirr99,lirr102,False,800
+lirr127,lirr100,lirr102,True,1650
+lirr127,lirr100,lirr102,False,1200
+lirr127,lirr124,lirr102,True,1000
+lirr127,lirr124,lirr102,False,725
+lirr127,lirr122,lirr102,True,900
+lirr127,lirr122,lirr102,False,650
+lirr127,lirr114,lirr102,True,1000
+lirr127,lirr114,lirr102,False,725
+lirr127,lirr117,lirr102,True,1350
+lirr127,lirr117,lirr102,False,975
+lirr127,lirr120,lirr214,True,1350
+lirr127,lirr120,lirr214,False,975
+lirr127,lirr119,lirr102,True,900
+lirr127,lirr119,lirr102,False,650
+lirr127,lirr113,lirr102,True,1100
+lirr127,lirr113,lirr102,False,800
+lirr127,lirr125,lirr102,True,1000
+lirr127,lirr125,lirr102,False,725
+lirr127,lirr142,lirr102,True,1000
+lirr127,lirr142,lirr102,False,725
+lirr127,lirr131,lirr214,True,1475
+lirr127,lirr131,lirr214,False,1075
+lirr127,lirr136,lirr102,True,1100
+lirr127,lirr136,lirr102,False,800
+lirr127,lirr135,lirr102,True,1100
+lirr127,lirr135,lirr102,False,800
+lirr127,lirr140,lirr102,True,2125
+lirr127,lirr140,lirr102,False,1550
+lirr127,lirr226,lirr102,True,1100
+lirr127,lirr226,lirr102,False,800
+lirr127,lirr141,lirr102,True,2775
+lirr127,lirr141,lirr102,False,2025
+lirr127,lirr130,lirr214,True,1350
+lirr127,lirr130,lirr214,False,975
+lirr127,lirr149,lirr102,True,1000
+lirr127,lirr149,lirr102,False,725
+lirr127,lirr157,lirr102,True,1650
+lirr127,lirr157,lirr102,False,1200
+lirr127,lirr155,lirr102,True,1100
+lirr127,lirr155,lirr102,False,800
+lirr127,lirr163,lirr102,True,1650
+lirr127,lirr163,lirr102,False,1200
+lirr127,lirr162,lirr214,True,1475
+lirr127,lirr162,lirr214,False,1075
+lirr127,lirr171,lirr214,True,1475
+lirr127,lirr171,lirr214,False,1075
+lirr127,lirr175,lirr102,True,900
+lirr127,lirr175,lirr102,False,650
+lirr127,lirr183,lirr102,True,1100
+lirr127,lirr183,lirr102,False,800
+lirr127,lirr180,lirr102,True,900
+lirr127,lirr180,lirr102,False,650
+lirr127,lirr204,lirr102,True,1650
+lirr127,lirr204,lirr102,False,1200
+lirr127,lirr187,lirr102,True,1100
+lirr127,lirr187,lirr102,False,800
+lirr127,lirr191,lirr102,True,2775
+lirr127,lirr191,lirr102,False,2025
+lirr127,lirr198,lirr102,True,2125
+lirr127,lirr198,lirr102,False,1550
+lirr127,lirr184,lirr102,True,900
+lirr127,lirr184,lirr102,False,650
+lirr127,lirr195,lirr102,True,1000
+lirr127,lirr195,lirr102,False,725
+lirr127,lirr211,lirr102,True,1000
+lirr127,lirr211,lirr102,False,725
+lirr127,lirr215,lirr102,True,1100
+lirr127,lirr215,lirr102,False,800
+lirr127,lirr216,lirr102,True,1000
+lirr127,lirr216,lirr102,False,725
+lirr127,lirr233,lirr102,True,2775
+lirr127,lirr233,lirr102,False,2025
+lirr127,lirr219,lirr102,True,1000
+lirr127,lirr219,lirr102,False,725
+lirr127,lirr217,lirr102,True,1000
+lirr127,lirr217,lirr102,False,725
+lirr226,lirr1,lirr102,True,1225
+lirr226,lirr1,lirr102,False,900
+lirr226,lirr2,lirr214,True,1575
+lirr226,lirr2,lirr214,False,1150
+lirr226,lirr25,lirr214,True,1575
+lirr226,lirr25,lirr214,False,1150
+lirr226,lirr23,lirr102,True,1100
+lirr226,lirr23,lirr102,False,800
+lirr226,lirr20,lirr102,True,1225
+lirr226,lirr20,lirr102,False,900
+lirr226,lirr29,lirr102,True,1825
+lirr226,lirr29,lirr102,False,1325
+lirr226,lirr11,lirr214,True,1575
+lirr226,lirr11,lirr214,False,1150
+lirr226,lirr39,lirr102,True,1225
+lirr226,lirr39,lirr102,False,900
+lirr226,lirr32,lirr102,True,1100
+lirr226,lirr32,lirr211,True,425
+lirr226,lirr32,lirr102,False,800
+lirr226,lirr32,lirr211,False,425
+lirr226,lirr33,lirr102,True,1825
+lirr226,lirr33,lirr102,False,1325
+lirr226,lirr31,lirr102,True,1225
+lirr226,lirr31,lirr125,True,450
+lirr226,lirr31,lirr102,False,900
+lirr226,lirr31,lirr125,False,450
+lirr226,lirr40,lirr102,True,1575
+lirr226,lirr40,lirr102,False,1150
+lirr226,lirr36,lirr102,True,1100
+lirr226,lirr36,lirr102,False,800
+lirr226,lirr44,lirr102,True,1575
+lirr226,lirr44,lirr102,False,1150
+lirr226,lirr42,lirr214,True,1575
+lirr226,lirr42,lirr214,False,1150
+lirr226,lirr51,lirr102,True,1225
+lirr226,lirr51,lirr125,True,450
+lirr226,lirr51,lirr102,False,900
+lirr226,lirr51,lirr125,False,450
+lirr226,lirr52,lirr102,True,1100
+lirr226,lirr52,lirr102,False,800
+lirr226,lirr65,lirr102,True,1100
+lirr226,lirr65,lirr211,True,425
+lirr226,lirr65,lirr102,False,800
+lirr226,lirr65,lirr211,False,425
+lirr226,lirr59,lirr102,True,1225
+lirr226,lirr59,lirr102,False,900
+lirr226,lirr63,lirr102,True,1100
+lirr226,lirr63,lirr102,False,800
+lirr226,lirr56,lirr214,True,1575
+lirr226,lirr56,lirr214,False,1150
+lirr226,lirr68,lirr102,True,1100
+lirr226,lirr68,lirr102,False,800
+lirr226,lirr66,lirr102,True,1100
+lirr226,lirr66,lirr211,True,425
+lirr226,lirr66,lirr102,False,800
+lirr226,lirr66,lirr211,False,425
+lirr226,lirr67,lirr102,True,1225
+lirr226,lirr67,lirr102,False,900
+lirr226,lirr71,lirr102,True,1225
+lirr226,lirr71,lirr102,False,900
+lirr226,lirr76,lirr102,True,1225
+lirr226,lirr76,lirr102,False,900
+lirr226,lirr72,lirr214,True,1725
+lirr226,lirr72,lirr214,False,1250
+lirr226,lirr78,lirr102,True,1575
+lirr226,lirr78,lirr102,False,1150
+lirr226,lirr73,lirr102,True,2975
+lirr226,lirr73,lirr102,False,2175
+lirr226,lirr77,lirr102,True,1225
+lirr226,lirr77,lirr102,False,900
+lirr226,lirr84,lirr102,True,1100
+lirr226,lirr84,lirr102,False,800
+lirr226,lirr85,lirr102,True,1100
+lirr226,lirr85,lirr102,False,800
+lirr226,lirr94,lirr102,True,1100
+lirr226,lirr94,lirr211,True,425
+lirr226,lirr94,lirr102,False,800
+lirr226,lirr94,lirr211,False,425
+lirr226,lirr92,lirr102,True,1225
+lirr226,lirr92,lirr102,False,900
+lirr226,lirr89,lirr102,True,1050
+lirr226,lirr89,lirr102,False,775
+lirr226,lirr91,lirr102,True,1575
+lirr226,lirr91,lirr102,False,1150
+lirr226,lirr101,lirr102,True,1100
+lirr226,lirr101,lirr211,True,425
+lirr226,lirr101,lirr102,False,800
+lirr226,lirr101,lirr211,False,425
+lirr226,lirr99,lirr102,True,1225
+lirr226,lirr99,lirr125,True,450
+lirr226,lirr99,lirr102,False,900
+lirr226,lirr99,lirr125,False,450
+lirr226,lirr111,lirr102,True,1825
+lirr226,lirr111,lirr102,False,1325
+lirr226,lirr124,lirr102,True,1100
+lirr226,lirr124,lirr102,False,800
+lirr226,lirr122,lirr102,True,1050
+lirr226,lirr122,lirr102,False,775
+lirr226,lirr114,lirr102,True,1100
+lirr226,lirr114,lirr211,True,425
+lirr226,lirr114,lirr102,False,800
+lirr226,lirr114,lirr211,False,425
+lirr226,lirr120,lirr214,True,1575
+lirr226,lirr120,lirr214,False,1150
+lirr226,lirr119,lirr102,True,1050
+lirr226,lirr119,lirr102,False,775
+lirr226,lirr123,lirr102,True,1225
+lirr226,lirr123,lirr102,False,900
+lirr226,lirr113,lirr102,True,1225
+lirr226,lirr113,lirr125,True,450
+lirr226,lirr113,lirr102,False,900
+lirr226,lirr113,lirr125,False,450
+lirr226,lirr125,lirr102,True,1100
+lirr226,lirr125,lirr102,False,800
+lirr226,lirr142,lirr102,True,1100
+lirr226,lirr142,lirr102,False,800
+lirr226,lirr131,lirr214,True,1725
+lirr226,lirr131,lirr214,False,1250
+lirr226,lirr126,lirr102,True,2975
+lirr226,lirr126,lirr102,False,2175
+lirr226,lirr129,lirr102,True,1825
+lirr226,lirr129,lirr102,False,1325
+lirr226,lirr127,lirr102,True,1100
+lirr226,lirr127,lirr102,False,800
+lirr226,lirr132,lirr102,True,1100
+lirr226,lirr132,lirr102,False,800
+lirr226,lirr130,lirr214,True,1575
+lirr226,lirr130,lirr214,False,1150
+lirr226,lirr149,lirr102,True,1100
+lirr226,lirr149,lirr102,False,800
+lirr226,lirr152,lirr102,True,1100
+lirr226,lirr152,lirr102,False,800
+lirr226,lirr153,lirr102,True,1575
+lirr226,lirr153,lirr102,False,1150
+lirr226,lirr155,lirr102,True,1225
+lirr226,lirr155,lirr125,True,450
+lirr226,lirr155,lirr102,False,900
+lirr226,lirr155,lirr125,False,450
+lirr226,lirr154,lirr102,True,1225
+lirr226,lirr154,lirr102,False,900
+lirr226,lirr165,lirr102,True,1575
+lirr226,lirr165,lirr102,False,1150
+lirr226,lirr162,lirr214,True,1725
+lirr226,lirr162,lirr214,False,1250
+lirr226,lirr164,lirr102,True,1825
+lirr226,lirr164,lirr102,False,1325
+lirr226,lirr171,lirr214,True,1725
+lirr226,lirr171,lirr214,False,1250
+lirr226,lirr175,lirr102,True,1050
+lirr226,lirr175,lirr102,False,775
+lirr226,lirr176,lirr102,True,2975
+lirr226,lirr176,lirr102,False,2175
+lirr226,lirr179,lirr102,True,1825
+lirr226,lirr179,lirr102,False,1325
+lirr226,lirr180,lirr102,True,1050
+lirr226,lirr180,lirr102,False,775
+lirr226,lirr182,lirr102,True,1225
+lirr226,lirr182,lirr102,False,900
+lirr226,lirr185,lirr102,True,1225
+lirr226,lirr185,lirr102,False,900
+lirr226,lirr202,lirr102,True,1825
+lirr226,lirr202,lirr102,False,1325
+lirr226,lirr190,lirr102,True,2975
+lirr226,lirr190,lirr102,False,2175
+lirr226,lirr184,lirr102,True,1050
+lirr226,lirr184,lirr102,False,775
+lirr226,lirr193,lirr102,True,1825
+lirr226,lirr193,lirr102,False,1325
+lirr226,lirr195,lirr102,True,1100
+lirr226,lirr195,lirr102,False,800
+lirr226,lirr14,lirr102,True,1825
+lirr226,lirr14,lirr102,False,1325
+lirr226,lirr205,lirr102,True,1225
+lirr226,lirr205,lirr102,False,900
+lirr226,lirr211,lirr102,True,1100
+lirr226,lirr211,lirr102,False,800
+lirr226,lirr216,lirr102,True,1100
+lirr226,lirr216,lirr102,False,800
+lirr226,lirr213,lirr102,True,1225
+lirr226,lirr213,lirr102,False,900
+lirr226,lirr219,lirr102,True,1100
+lirr226,lirr219,lirr102,False,800
+lirr226,lirr217,lirr102,True,1100
+lirr226,lirr217,lirr211,True,425
+lirr226,lirr217,lirr102,False,800
+lirr226,lirr217,lirr211,False,425
+lirr226,lirr220,lirr102,True,1575
+lirr226,lirr220,lirr102,False,1150
+lirr226,lirr223,lirr102,True,2275
+lirr226,lirr223,lirr102,False,1650
+lirr132,lirr4,lirr102,True,2775
+lirr132,lirr4,lirr102,False,2025
+lirr132,lirr8,lirr102,True,1350
+lirr132,lirr8,lirr102,False,975
+lirr132,lirr2,lirr214,True,1350
+lirr132,lirr2,lirr214,False,975
+lirr132,lirr27,lirr102,True,1350
+lirr132,lirr27,lirr102,False,975
+lirr132,lirr225,lirr102,True,1100
+lirr132,lirr225,lirr102,False,800
+lirr132,lirr26,lirr102,True,1650
+lirr132,lirr26,lirr102,False,1200
+lirr132,lirr25,lirr214,True,1350
+lirr132,lirr25,lirr214,False,975
+lirr132,lirr23,lirr102,True,1000
+lirr132,lirr23,lirr102,False,725
+lirr132,lirr16,lirr102,True,1100
+lirr132,lirr16,lirr102,False,800
+lirr132,lirr21,lirr102,True,2125
+lirr132,lirr21,lirr102,False,1550
+lirr132,lirr13,lirr102,True,2775
+lirr132,lirr13,lirr102,False,2025
+lirr132,lirr11,lirr214,True,1350
+lirr132,lirr11,lirr214,False,975
+lirr132,lirr32,lirr102,True,1000
+lirr132,lirr32,lirr102,False,725
+lirr132,lirr31,lirr102,True,1100
+lirr132,lirr31,lirr102,False,800
+lirr132,lirr38,lirr102,True,1350
+lirr132,lirr38,lirr102,False,975
+lirr132,lirr36,lirr102,True,1000
+lirr132,lirr36,lirr102,False,725
+lirr132,lirr42,lirr214,True,1350
+lirr132,lirr42,lirr214,False,975
+lirr132,lirr48,lirr102,True,2775
+lirr132,lirr48,lirr102,False,2025
+lirr132,lirr51,lirr102,True,1100
+lirr132,lirr51,lirr102,False,800
+lirr132,lirr65,lirr102,True,1000
+lirr132,lirr65,lirr102,False,725
+lirr132,lirr63,lirr102,True,1000
+lirr132,lirr63,lirr102,False,725
+lirr132,lirr56,lirr214,True,1350
+lirr132,lirr56,lirr214,False,975
+lirr132,lirr64,lirr102,True,1100
+lirr132,lirr64,lirr102,False,800
+lirr132,lirr68,lirr102,True,1000
+lirr132,lirr68,lirr102,False,725
+lirr132,lirr66,lirr102,True,1000
+lirr132,lirr66,lirr102,False,725
+lirr132,lirr72,lirr214,True,1475
+lirr132,lirr72,lirr214,False,1075
+lirr132,lirr74,lirr102,True,1650
+lirr132,lirr74,lirr102,False,1200
+lirr132,lirr83,lirr102,True,2775
+lirr132,lirr83,lirr102,False,2025
+lirr132,lirr84,lirr102,True,1000
+lirr132,lirr84,lirr102,False,725
+lirr132,lirr85,lirr102,True,1000
+lirr132,lirr85,lirr102,False,725
+lirr132,lirr94,lirr102,True,1000
+lirr132,lirr94,lirr102,False,725
+lirr132,lirr89,lirr102,True,900
+lirr132,lirr89,lirr102,False,650
+lirr132,lirr101,lirr102,True,1000
+lirr132,lirr101,lirr102,False,725
+lirr132,lirr99,lirr102,True,1100
+lirr132,lirr99,lirr102,False,800
+lirr132,lirr100,lirr102,True,1650
+lirr132,lirr100,lirr102,False,1200
+lirr132,lirr124,lirr102,True,1000
+lirr132,lirr124,lirr102,False,725
+lirr132,lirr122,lirr102,True,900
+lirr132,lirr122,lirr102,False,650
+lirr132,lirr114,lirr102,True,1000
+lirr132,lirr114,lirr102,False,725
+lirr132,lirr117,lirr102,True,1350
+lirr132,lirr117,lirr102,False,975
+lirr132,lirr120,lirr214,True,1350
+lirr132,lirr120,lirr214,False,975
+lirr132,lirr119,lirr102,True,900
+lirr132,lirr119,lirr102,False,650
+lirr132,lirr113,lirr102,True,1100
+lirr132,lirr113,lirr102,False,800
+lirr132,lirr125,lirr102,True,1000
+lirr132,lirr125,lirr102,False,725
+lirr132,lirr142,lirr102,True,1000
+lirr132,lirr142,lirr102,False,725
+lirr132,lirr131,lirr214,True,1475
+lirr132,lirr131,lirr214,False,1075
+lirr132,lirr136,lirr102,True,1100
+lirr132,lirr136,lirr102,False,800
+lirr132,lirr135,lirr102,True,1100
+lirr132,lirr135,lirr102,False,800
+lirr132,lirr140,lirr102,True,2125
+lirr132,lirr140,lirr102,False,1550
+lirr132,lirr226,lirr102,True,1100
+lirr132,lirr226,lirr102,False,800
+lirr132,lirr141,lirr102,True,2775
+lirr132,lirr141,lirr102,False,2025
+lirr132,lirr130,lirr214,True,1350
+lirr132,lirr130,lirr214,False,975
+lirr132,lirr149,lirr102,True,1000
+lirr132,lirr149,lirr102,False,725
+lirr132,lirr157,lirr102,True,1650
+lirr132,lirr157,lirr102,False,1200
+lirr132,lirr155,lirr102,True,1100
+lirr132,lirr155,lirr102,False,800
+lirr132,lirr163,lirr102,True,1650
+lirr132,lirr163,lirr102,False,1200
+lirr132,lirr162,lirr214,True,1475
+lirr132,lirr162,lirr214,False,1075
+lirr132,lirr171,lirr214,True,1475
+lirr132,lirr171,lirr214,False,1075
+lirr132,lirr175,lirr102,True,900
+lirr132,lirr175,lirr102,False,650
+lirr132,lirr183,lirr102,True,1100
+lirr132,lirr183,lirr102,False,800
+lirr132,lirr180,lirr102,True,900
+lirr132,lirr180,lirr102,False,650
+lirr132,lirr204,lirr102,True,1650
+lirr132,lirr204,lirr102,False,1200
+lirr132,lirr187,lirr102,True,1100
+lirr132,lirr187,lirr102,False,800
+lirr132,lirr191,lirr102,True,2775
+lirr132,lirr191,lirr102,False,2025
+lirr132,lirr198,lirr102,True,2125
+lirr132,lirr198,lirr102,False,1550
+lirr132,lirr184,lirr102,True,900
+lirr132,lirr184,lirr102,False,650
+lirr132,lirr195,lirr102,True,1000
+lirr132,lirr195,lirr102,False,725
+lirr132,lirr211,lirr102,True,1000
+lirr132,lirr211,lirr102,False,725
+lirr132,lirr215,lirr102,True,1100
+lirr132,lirr215,lirr102,False,800
+lirr132,lirr216,lirr102,True,1000
+lirr132,lirr216,lirr102,False,725
+lirr132,lirr233,lirr102,True,2775
+lirr132,lirr233,lirr102,False,2025
+lirr132,lirr219,lirr102,True,1000
+lirr132,lirr219,lirr102,False,725
+lirr132,lirr217,lirr102,True,1000
+lirr132,lirr217,lirr102,False,725
+lirr141,lirr1,lirr102,True,2975
+lirr141,lirr1,lirr132,True,1875
+lirr141,lirr1,lirr102,False,2175
+lirr141,lirr1,lirr132,False,1875
+lirr141,lirr2,lirr214,True,3200
+lirr141,lirr2,lirr214,False,2325
+lirr141,lirr25,lirr214,True,3200
+lirr141,lirr25,lirr214,False,2325
+lirr141,lirr23,lirr102,True,2775
+lirr141,lirr23,lirr102,False,2025
+lirr141,lirr20,lirr102,True,2975
+lirr141,lirr20,lirr92,True,1725
+lirr141,lirr20,lirr102,False,2175
+lirr141,lirr20,lirr92,False,1725
+lirr141,lirr29,lirr102,True,3475
+lirr141,lirr29,lirr92,True,2025
+lirr141,lirr29,lirr102,False,2525
+lirr141,lirr29,lirr92,False,2025
+lirr141,lirr11,lirr214,True,3200
+lirr141,lirr11,lirr214,False,2325
+lirr141,lirr39,lirr102,True,2975
+lirr141,lirr39,lirr102,False,2175
+lirr141,lirr32,lirr102,True,2775
+lirr141,lirr32,lirr102,False,2025
+lirr141,lirr33,lirr102,True,3475
+lirr141,lirr33,lirr92,True,2025
+lirr141,lirr33,lirr102,False,2525
+lirr141,lirr33,lirr92,False,2025
+lirr141,lirr31,lirr102,True,2975
+lirr141,lirr31,lirr125,True,1875
+lirr141,lirr31,lirr102,False,2175
+lirr141,lirr31,lirr125,False,1875
+lirr141,lirr40,lirr102,True,3275
+lirr141,lirr40,lirr92,True,1775
+lirr141,lirr40,lirr102,False,2375
+lirr141,lirr40,lirr92,False,1775
+lirr141,lirr36,lirr102,True,2775
+lirr141,lirr36,lirr63,True,1850
+lirr141,lirr36,lirr102,False,2025
+lirr141,lirr36,lirr63,False,1850
+lirr141,lirr44,lirr102,True,3275
+lirr141,lirr44,lirr92,True,1775
+lirr141,lirr44,lirr102,False,2375
+lirr141,lirr44,lirr92,False,1775
+lirr141,lirr42,lirr214,True,3200
+lirr141,lirr42,lirr214,False,2325
+lirr141,lirr51,lirr102,True,2975
+lirr141,lirr51,lirr125,True,1875
+lirr141,lirr51,lirr102,False,2175
+lirr141,lirr51,lirr125,False,1875
+lirr141,lirr52,lirr102,True,2775
+lirr141,lirr52,lirr132,True,1850
+lirr141,lirr52,lirr102,False,2025
+lirr141,lirr52,lirr132,False,1850
+lirr141,lirr65,lirr102,True,2775
+lirr141,lirr65,lirr102,False,2025
+lirr141,lirr59,lirr102,True,2975
+lirr141,lirr59,lirr92,True,1725
+lirr141,lirr59,lirr102,False,2175
+lirr141,lirr59,lirr92,False,1725
+lirr141,lirr63,lirr102,True,2775
+lirr141,lirr63,lirr102,False,2025
+lirr141,lirr56,lirr214,True,3200
+lirr141,lirr56,lirr214,False,2325
+lirr141,lirr68,lirr102,True,2775
+lirr141,lirr68,lirr63,True,1850
+lirr141,lirr68,lirr102,False,2025
+lirr141,lirr68,lirr63,False,1850
+lirr141,lirr66,lirr102,True,2775
+lirr141,lirr66,lirr102,False,2025
+lirr141,lirr67,lirr102,True,2975
+lirr141,lirr67,lirr132,True,1875
+lirr141,lirr67,lirr102,False,2175
+lirr141,lirr67,lirr132,False,1875
+lirr141,lirr71,lirr102,True,2975
+lirr141,lirr71,lirr132,True,1875
+lirr141,lirr71,lirr102,False,2175
+lirr141,lirr71,lirr132,False,1875
+lirr141,lirr76,lirr102,True,2975
+lirr141,lirr76,lirr132,True,1875
+lirr141,lirr76,lirr102,False,2175
+lirr141,lirr76,lirr132,False,1875
+lirr141,lirr72,lirr214,True,3375
+lirr141,lirr72,lirr214,False,2450
+lirr141,lirr78,lirr102,True,3275
+lirr141,lirr78,lirr92,True,1775
+lirr141,lirr78,lirr102,False,2375
+lirr141,lirr78,lirr92,False,1775
+lirr141,lirr73,lirr102,True,4350
+lirr141,lirr73,lirr92,True,2800
+lirr141,lirr73,lirr102,False,3175
+lirr141,lirr73,lirr92,False,2800
+lirr141,lirr77,lirr102,True,2975
+lirr141,lirr77,lirr132,True,1875
+lirr141,lirr77,lirr102,False,2175
+lirr141,lirr77,lirr132,False,1875
+lirr141,lirr84,lirr102,True,2775
+lirr141,lirr84,lirr63,True,1850
+lirr141,lirr84,lirr102,False,2025
+lirr141,lirr84,lirr63,False,1850
+lirr141,lirr85,lirr102,True,2775
+lirr141,lirr85,lirr102,False,2025
+lirr141,lirr94,lirr102,True,2775
+lirr141,lirr94,lirr102,False,2025
+lirr141,lirr92,lirr102,True,2975
+lirr141,lirr92,lirr102,False,2175
+lirr141,lirr89,lirr102,True,2700
+lirr141,lirr89,lirr102,False,1975
+lirr141,lirr91,lirr102,True,3275
+lirr141,lirr91,lirr92,True,1775
+lirr141,lirr91,lirr102,False,2375
+lirr141,lirr91,lirr92,False,1775
+lirr141,lirr101,lirr102,True,2775
+lirr141,lirr101,lirr102,False,2025
+lirr141,lirr99,lirr102,True,2975
+lirr141,lirr99,lirr125,True,1875
+lirr141,lirr99,lirr102,False,2175
+lirr141,lirr99,lirr125,False,1875
+lirr141,lirr111,lirr102,True,3475
+lirr141,lirr111,lirr92,True,2025
+lirr141,lirr111,lirr102,False,2525
+lirr141,lirr111,lirr92,False,2025
+lirr141,lirr124,lirr102,True,2775
+lirr141,lirr124,lirr102,False,2025
+lirr141,lirr122,lirr102,True,2700
+lirr141,lirr122,lirr102,False,1975
+lirr141,lirr114,lirr102,True,2775
+lirr141,lirr114,lirr102,False,2025
+lirr141,lirr120,lirr214,True,3200
+lirr141,lirr120,lirr214,False,2325
+lirr141,lirr119,lirr102,True,2700
+lirr141,lirr119,lirr102,False,1975
+lirr141,lirr123,lirr102,True,2975
+lirr141,lirr123,lirr132,True,1875
+lirr141,lirr123,lirr102,False,2175
+lirr141,lirr123,lirr132,False,1875
+lirr141,lirr113,lirr102,True,2975
+lirr141,lirr113,lirr125,True,1875
+lirr141,lirr113,lirr102,False,2175
+lirr141,lirr113,lirr125,False,1875
+lirr141,lirr125,lirr102,True,2775
+lirr141,lirr125,lirr102,False,2025
+lirr141,lirr142,lirr102,True,2775
+lirr141,lirr142,lirr102,False,2025
+lirr141,lirr131,lirr214,True,3375
+lirr141,lirr131,lirr214,False,2450
+lirr141,lirr126,lirr102,True,4350
+lirr141,lirr126,lirr92,True,2800
+lirr141,lirr126,lirr102,False,3175
+lirr141,lirr126,lirr92,False,2800
+lirr141,lirr129,lirr102,True,3475
+lirr141,lirr129,lirr92,True,2025
+lirr141,lirr129,lirr102,False,2525
+lirr141,lirr129,lirr92,False,2025
+lirr141,lirr127,lirr102,True,2775
+lirr141,lirr127,lirr102,False,2025
+lirr141,lirr132,lirr102,True,2775
+lirr141,lirr132,lirr102,False,2025
+lirr141,lirr130,lirr214,True,3200
+lirr141,lirr130,lirr214,False,2325
+lirr141,lirr149,lirr102,True,2775
+lirr141,lirr149,lirr63,True,1850
+lirr141,lirr149,lirr102,False,2025
+lirr141,lirr149,lirr63,False,1850
+lirr141,lirr152,lirr102,True,2775
+lirr141,lirr152,lirr102,False,2025
+lirr141,lirr153,lirr102,True,3275
+lirr141,lirr153,lirr92,True,1775
+lirr141,lirr153,lirr102,False,2375
+lirr141,lirr153,lirr92,False,1775
+lirr141,lirr155,lirr102,True,2975
+lirr141,lirr155,lirr125,True,1875
+lirr141,lirr155,lirr102,False,2175
+lirr141,lirr155,lirr125,False,1875
+lirr141,lirr154,lirr102,True,2975
+lirr141,lirr154,lirr132,True,1875
+lirr141,lirr154,lirr102,False,2175
+lirr141,lirr154,lirr132,False,1875
+lirr141,lirr165,lirr102,True,3275
+lirr141,lirr165,lirr92,True,1775
+lirr141,lirr165,lirr102,False,2375
+lirr141,lirr165,lirr92,False,1775
+lirr141,lirr162,lirr214,True,3375
+lirr141,lirr162,lirr214,False,2450
+lirr141,lirr164,lirr102,True,3475
+lirr141,lirr164,lirr92,True,2025
+lirr141,lirr164,lirr102,False,2525
+lirr141,lirr164,lirr92,False,2025
+lirr141,lirr171,lirr214,True,3375
+lirr141,lirr171,lirr214,False,2450
+lirr141,lirr175,lirr102,True,2700
+lirr141,lirr175,lirr102,False,1975
+lirr141,lirr176,lirr102,True,4350
+lirr141,lirr176,lirr92,True,2800
+lirr141,lirr176,lirr102,False,3175
+lirr141,lirr176,lirr92,False,2800
+lirr141,lirr179,lirr102,True,3475
+lirr141,lirr179,lirr92,True,2025
+lirr141,lirr179,lirr102,False,2525
+lirr141,lirr179,lirr92,False,2025
+lirr141,lirr180,lirr102,True,2700
+lirr141,lirr180,lirr102,False,1975
+lirr141,lirr182,lirr102,True,2975
+lirr141,lirr182,lirr132,True,1875
+lirr141,lirr182,lirr102,False,2175
+lirr141,lirr182,lirr132,False,1875
+lirr141,lirr185,lirr102,True,2975
+lirr141,lirr185,lirr132,True,1875
+lirr141,lirr185,lirr102,False,2175
+lirr141,lirr185,lirr132,False,1875
+lirr141,lirr202,lirr102,True,3475
+lirr141,lirr202,lirr92,True,2025
+lirr141,lirr202,lirr102,False,2525
+lirr141,lirr202,lirr92,False,2025
+lirr141,lirr190,lirr102,True,4350
+lirr141,lirr190,lirr92,True,2800
+lirr141,lirr190,lirr102,False,3175
+lirr141,lirr190,lirr92,False,2800
+lirr141,lirr184,lirr102,True,2700
+lirr141,lirr184,lirr102,False,1975
+lirr141,lirr193,lirr102,True,3475
+lirr141,lirr193,lirr92,True,2025
+lirr141,lirr193,lirr102,False,2525
+lirr141,lirr193,lirr92,False,2025
+lirr141,lirr195,lirr102,True,2775
+lirr141,lirr195,lirr63,True,1850
+lirr141,lirr195,lirr102,False,2025
+lirr141,lirr195,lirr63,False,1850
+lirr141,lirr14,lirr102,True,3475
+lirr141,lirr14,lirr92,True,2025
+lirr141,lirr14,lirr102,False,2525
+lirr141,lirr14,lirr92,False,2025
+lirr141,lirr205,lirr102,True,2975
+lirr141,lirr205,lirr92,True,1725
+lirr141,lirr205,lirr102,False,2175
+lirr141,lirr205,lirr92,False,1725
+lirr141,lirr211,lirr102,True,2775
+lirr141,lirr211,lirr102,False,2025
+lirr141,lirr216,lirr102,True,2775
+lirr141,lirr216,lirr102,False,2025
+lirr141,lirr213,lirr102,True,2975
+lirr141,lirr213,lirr102,False,2175
+lirr141,lirr219,lirr102,True,2775
+lirr141,lirr219,lirr102,False,2025
+lirr141,lirr217,lirr102,True,2775
+lirr141,lirr217,lirr102,False,2025
+lirr141,lirr220,lirr102,True,3275
+lirr141,lirr220,lirr92,True,1775
+lirr141,lirr220,lirr102,False,2375
+lirr141,lirr220,lirr92,False,1775
+lirr141,lirr223,lirr102,True,4000
+lirr141,lirr223,lirr92,True,2450
+lirr141,lirr223,lirr102,False,2900
+lirr141,lirr223,lirr92,False,2450
+lirr130,lirr1,lirr214,True,1575
+lirr130,lirr1,lirr214,False,1150
+lirr130,lirr4,lirr214,True,3200
+lirr130,lirr4,lirr214,False,2325
+lirr130,lirr8,lirr214,True,1825
+lirr130,lirr8,lirr214,False,1325
+lirr130,lirr27,lirr214,True,1825
+lirr130,lirr27,lirr214,False,1325
+lirr130,lirr225,lirr214,True,1575
+lirr130,lirr225,lirr214,False,1150
+lirr130,lirr26,lirr214,True,2050
+lirr130,lirr26,lirr214,False,1500
+lirr130,lirr23,lirr214,True,1350
+lirr130,lirr23,lirr214,False,975
+lirr130,lirr16,lirr214,True,1575
+lirr130,lirr16,lirr214,False,1150
+lirr130,lirr21,lirr214,True,2500
+lirr130,lirr21,lirr214,False,1825
+lirr130,lirr20,lirr214,True,1575
+lirr130,lirr20,lirr214,False,1150
+lirr130,lirr29,lirr214,True,2050
+lirr130,lirr29,lirr214,False,1500
+lirr130,lirr13,lirr214,True,3200
+lirr130,lirr13,lirr214,False,2325
+lirr130,lirr39,lirr214,True,1575
+lirr130,lirr39,lirr214,False,1150
+lirr130,lirr32,lirr214,True,1350
+lirr130,lirr32,lirr214,False,975
+lirr130,lirr33,lirr214,True,2050
+lirr130,lirr33,lirr214,False,1500
+lirr130,lirr31,lirr214,True,1575
+lirr130,lirr31,lirr214,False,1150
+lirr130,lirr40,lirr214,True,1825
+lirr130,lirr40,lirr214,False,1325
+lirr130,lirr38,lirr214,True,1825
+lirr130,lirr38,lirr214,False,1325
+lirr130,lirr36,lirr214,True,1350
+lirr130,lirr36,lirr214,False,975
+lirr130,lirr44,lirr214,True,1825
+lirr130,lirr44,lirr214,False,1325
+lirr130,lirr48,lirr214,True,3200
+lirr130,lirr48,lirr214,False,2325
+lirr130,lirr51,lirr214,True,1575
+lirr130,lirr51,lirr214,False,1150
+lirr130,lirr52,lirr214,True,1350
+lirr130,lirr52,lirr214,False,975
+lirr130,lirr65,lirr214,True,1350
+lirr130,lirr65,lirr214,False,975
+lirr130,lirr59,lirr214,True,1575
+lirr130,lirr59,lirr214,False,1150
+lirr130,lirr63,lirr214,True,1350
+lirr130,lirr63,lirr214,False,975
+lirr130,lirr55,lirr214,True,1150
+lirr130,lirr55,lirr214,False,825
+lirr130,lirr64,lirr214,True,1575
+lirr130,lirr64,lirr214,False,1150
+lirr130,lirr68,lirr214,True,1350
+lirr130,lirr68,lirr214,False,975
+lirr130,lirr66,lirr214,True,1350
+lirr130,lirr66,lirr214,False,975
+lirr130,lirr67,lirr214,True,1575
+lirr130,lirr67,lirr214,False,1150
+lirr130,lirr71,lirr214,True,1575
+lirr130,lirr71,lirr214,False,1150
+lirr130,lirr76,lirr214,True,1575
+lirr130,lirr76,lirr214,False,1150
+lirr130,lirr74,lirr214,True,2050
+lirr130,lirr74,lirr214,False,1500
+lirr130,lirr78,lirr214,True,1825
+lirr130,lirr78,lirr214,False,1325
+lirr130,lirr73,lirr214,True,3200
+lirr130,lirr73,lirr214,False,2325
+lirr130,lirr77,lirr214,True,1575
+lirr130,lirr77,lirr214,False,1150
+lirr130,lirr83,lirr214,True,3200
+lirr130,lirr83,lirr214,False,2325
+lirr130,lirr84,lirr214,True,1350
+lirr130,lirr84,lirr214,False,975
+lirr130,lirr85,lirr214,True,1350
+lirr130,lirr85,lirr214,False,975
+lirr130,lirr94,lirr214,True,1350
+lirr130,lirr94,lirr214,False,975
+lirr130,lirr92,lirr214,True,1575
+lirr130,lirr92,lirr214,False,1150
+lirr130,lirr89,lirr214,True,1200
+lirr130,lirr89,lirr214,False,875
+lirr130,lirr91,lirr214,True,1825
+lirr130,lirr91,lirr214,False,1325
+lirr130,lirr101,lirr214,True,1350
+lirr130,lirr101,lirr214,False,975
+lirr130,lirr99,lirr214,True,1575
+lirr130,lirr99,lirr214,False,1150
+lirr130,lirr100,lirr214,True,2050
+lirr130,lirr100,lirr214,False,1500
+lirr130,lirr102,lirr214,True,1200
+lirr130,lirr102,lirr214,False,875
+lirr130,lirr107,lirr214,True,1150
+lirr130,lirr107,lirr214,False,825
+lirr130,lirr111,lirr214,True,2050
+lirr130,lirr111,lirr214,False,1500
+lirr130,lirr124,lirr214,True,1350
+lirr130,lirr124,lirr214,False,975
+lirr130,lirr122,lirr214,True,1200
+lirr130,lirr122,lirr214,False,875
+lirr130,lirr114,lirr214,True,1350
+lirr130,lirr114,lirr214,False,975
+lirr130,lirr117,lirr214,True,1825
+lirr130,lirr117,lirr214,False,1325
+lirr130,lirr119,lirr214,True,1200
+lirr130,lirr119,lirr214,False,875
+lirr130,lirr123,lirr214,True,1575
+lirr130,lirr123,lirr214,False,1150
+lirr130,lirr113,lirr214,True,1575
+lirr130,lirr113,lirr214,False,1150
+lirr130,lirr125,lirr214,True,1350
+lirr130,lirr125,lirr214,False,975
+lirr130,lirr142,lirr214,True,1350
+lirr130,lirr142,lirr214,False,975
+lirr130,lirr136,lirr214,True,1575
+lirr130,lirr136,lirr214,False,1150
+lirr130,lirr135,lirr214,True,1575
+lirr130,lirr135,lirr214,False,1150
+lirr130,lirr140,lirr214,True,2500
+lirr130,lirr140,lirr214,False,1825
+lirr130,lirr126,lirr214,True,3200
+lirr130,lirr126,lirr214,False,2325
+lirr130,lirr129,lirr214,True,2050
+lirr130,lirr129,lirr214,False,1500
+lirr130,lirr127,lirr214,True,1350
+lirr130,lirr127,lirr214,False,975
+lirr130,lirr226,lirr214,True,1575
+lirr130,lirr226,lirr214,False,1150
+lirr130,lirr132,lirr214,True,1350
+lirr130,lirr132,lirr214,False,975
+lirr130,lirr141,lirr214,True,3200
+lirr130,lirr141,lirr214,False,2325
+lirr130,lirr149,lirr214,True,1350
+lirr130,lirr149,lirr214,False,975
+lirr130,lirr152,lirr214,True,1350
+lirr130,lirr152,lirr214,False,975
+lirr130,lirr153,lirr214,True,1825
+lirr130,lirr153,lirr214,False,1325
+lirr130,lirr157,lirr214,True,2050
+lirr130,lirr157,lirr214,False,1500
+lirr130,lirr155,lirr214,True,1575
+lirr130,lirr155,lirr214,False,1150
+lirr130,lirr154,lirr214,True,1575
+lirr130,lirr154,lirr214,False,1150
+lirr130,lirr163,lirr214,True,2050
+lirr130,lirr163,lirr214,False,1500
+lirr130,lirr165,lirr214,True,1825
+lirr130,lirr165,lirr214,False,1325
+lirr130,lirr164,lirr214,True,2050
+lirr130,lirr164,lirr214,False,1500
+lirr130,lirr175,lirr214,True,1200
+lirr130,lirr175,lirr214,False,875
+lirr130,lirr176,lirr214,True,3200
+lirr130,lirr176,lirr214,False,2325
+lirr130,lirr183,lirr214,True,1575
+lirr130,lirr183,lirr214,False,1150
+lirr130,lirr179,lirr214,True,2050
+lirr130,lirr179,lirr214,False,1500
+lirr130,lirr180,lirr214,True,1200
+lirr130,lirr180,lirr214,False,875
+lirr130,lirr182,lirr214,True,1575
+lirr130,lirr182,lirr214,False,1150
+lirr130,lirr204,lirr214,True,2050
+lirr130,lirr204,lirr214,False,1500
+lirr130,lirr185,lirr214,True,1575
+lirr130,lirr185,lirr214,False,1150
+lirr130,lirr187,lirr214,True,1575
+lirr130,lirr187,lirr214,False,1150
+lirr130,lirr202,lirr214,True,2050
+lirr130,lirr202,lirr214,False,1500
+lirr130,lirr191,lirr214,True,3200
+lirr130,lirr191,lirr214,False,2325
+lirr130,lirr190,lirr214,True,3200
+lirr130,lirr190,lirr214,False,2325
+lirr130,lirr198,lirr214,True,2500
+lirr130,lirr198,lirr214,False,1825
+lirr130,lirr184,lirr214,True,1200
+lirr130,lirr184,lirr214,False,875
+lirr130,lirr193,lirr214,True,2050
+lirr130,lirr193,lirr214,False,1500
+lirr130,lirr195,lirr214,True,1350
+lirr130,lirr195,lirr214,False,975
+lirr130,lirr14,lirr214,True,2050
+lirr130,lirr14,lirr214,False,1500
+lirr130,lirr205,lirr214,True,1575
+lirr130,lirr205,lirr214,False,1150
+lirr130,lirr211,lirr214,True,1350
+lirr130,lirr211,lirr214,False,975
+lirr130,lirr215,lirr214,True,1575
+lirr130,lirr215,lirr214,False,1150
+lirr130,lirr216,lirr214,True,1350
+lirr130,lirr216,lirr214,False,975
+lirr130,lirr213,lirr214,True,1575
+lirr130,lirr213,lirr214,False,1150
+lirr130,lirr233,lirr214,True,3200
+lirr130,lirr233,lirr214,False,2325
+lirr130,lirr219,lirr214,True,1350
+lirr130,lirr219,lirr214,False,975
+lirr130,lirr217,lirr214,True,1350
+lirr130,lirr217,lirr214,False,975
+lirr130,lirr220,lirr214,True,1825
+lirr130,lirr220,lirr214,False,1325
+lirr130,lirr223,lirr214,True,2500
+lirr130,lirr223,lirr214,False,1825
+lirr149,lirr1,lirr102,True,1100
+lirr149,lirr1,lirr63,True,425
+lirr149,lirr1,lirr102,False,800
+lirr149,lirr1,lirr63,False,425
+lirr149,lirr4,lirr102,True,2775
+lirr149,lirr4,lirr63,True,1850
+lirr149,lirr4,lirr102,False,2025
+lirr149,lirr4,lirr63,False,1850
+lirr149,lirr8,lirr102,True,1350
+lirr149,lirr8,lirr102,False,975
+lirr149,lirr2,lirr214,True,1350
+lirr149,lirr2,lirr214,False,975
+lirr149,lirr27,lirr102,True,1350
+lirr149,lirr27,lirr63,True,600
+lirr149,lirr27,lirr102,False,975
+lirr149,lirr27,lirr63,False,600
+lirr149,lirr225,lirr102,True,1100
+lirr149,lirr225,lirr102,False,800
+lirr149,lirr26,lirr102,True,1650
+lirr149,lirr26,lirr63,True,825
+lirr149,lirr26,lirr102,False,1200
+lirr149,lirr26,lirr63,False,825
+lirr149,lirr25,lirr214,True,1350
+lirr149,lirr25,lirr214,False,975
+lirr149,lirr16,lirr102,True,1100
+lirr149,lirr16,lirr102,False,800
+lirr149,lirr21,lirr102,True,2125
+lirr149,lirr21,lirr63,True,1200
+lirr149,lirr21,lirr102,False,1550
+lirr149,lirr21,lirr63,False,1200
+lirr149,lirr20,lirr102,True,1100
+lirr149,lirr20,lirr63,True,425
+lirr149,lirr20,lirr102,False,800
+lirr149,lirr20,lirr63,False,425
+lirr149,lirr29,lirr102,True,1650
+lirr149,lirr29,lirr63,True,825
+lirr149,lirr29,lirr102,False,1200
+lirr149,lirr29,lirr63,False,825
+lirr149,lirr13,lirr102,True,2775
+lirr149,lirr13,lirr63,True,1850
+lirr149,lirr13,lirr102,False,2025
+lirr149,lirr13,lirr63,False,1850
+lirr149,lirr11,lirr214,True,1350
+lirr149,lirr11,lirr214,False,975
+lirr149,lirr39,lirr102,True,1100
+lirr149,lirr39,lirr102,False,800
+lirr149,lirr32,lirr102,True,1000
+lirr149,lirr32,lirr102,False,725
+lirr149,lirr33,lirr102,True,1650
+lirr149,lirr33,lirr63,True,825
+lirr149,lirr33,lirr102,False,1200
+lirr149,lirr33,lirr63,False,825
+lirr149,lirr31,lirr102,True,1100
+lirr149,lirr31,lirr102,False,800
+lirr149,lirr40,lirr102,True,1350
+lirr149,lirr40,lirr63,True,600
+lirr149,lirr40,lirr102,False,975
+lirr149,lirr40,lirr63,False,600
+lirr149,lirr38,lirr102,True,1350
+lirr149,lirr38,lirr102,False,975
+lirr149,lirr44,lirr102,True,1350
+lirr149,lirr44,lirr63,True,600
+lirr149,lirr44,lirr102,False,975
+lirr149,lirr44,lirr63,False,600
+lirr149,lirr42,lirr214,True,1350
+lirr149,lirr42,lirr214,False,975
+lirr149,lirr48,lirr102,True,2775
+lirr149,lirr48,lirr63,True,1850
+lirr149,lirr48,lirr102,False,2025
+lirr149,lirr48,lirr63,False,1850
+lirr149,lirr51,lirr102,True,1100
+lirr149,lirr51,lirr102,False,800
+lirr149,lirr52,lirr102,True,1000
+lirr149,lirr52,lirr63,True,425
+lirr149,lirr52,lirr102,False,725
+lirr149,lirr52,lirr63,False,425
+lirr149,lirr65,lirr102,True,1000
+lirr149,lirr65,lirr102,False,725
+lirr149,lirr59,lirr102,True,1100
+lirr149,lirr59,lirr63,True,425
+lirr149,lirr59,lirr102,False,800
+lirr149,lirr59,lirr63,False,425
+lirr149,lirr56,lirr214,True,1350
+lirr149,lirr56,lirr214,False,975
+lirr149,lirr64,lirr102,True,1100
+lirr149,lirr64,lirr102,False,800
+lirr149,lirr66,lirr102,True,1000
+lirr149,lirr66,lirr102,False,725
+lirr149,lirr67,lirr102,True,1100
+lirr149,lirr67,lirr63,True,425
+lirr149,lirr67,lirr102,False,800
+lirr149,lirr67,lirr63,False,425
+lirr149,lirr71,lirr102,True,1100
+lirr149,lirr71,lirr63,True,425
+lirr149,lirr71,lirr102,False,800
+lirr149,lirr71,lirr63,False,425
+lirr149,lirr76,lirr102,True,1100
+lirr149,lirr76,lirr63,True,425
+lirr149,lirr76,lirr102,False,800
+lirr149,lirr76,lirr63,False,425
+lirr149,lirr72,lirr214,True,1475
+lirr149,lirr72,lirr214,False,1075
+lirr149,lirr74,lirr102,True,1650
+lirr149,lirr74,lirr63,True,825
+lirr149,lirr74,lirr102,False,1200
+lirr149,lirr74,lirr63,False,825
+lirr149,lirr78,lirr102,True,1350
+lirr149,lirr78,lirr63,True,600
+lirr149,lirr78,lirr102,False,975
+lirr149,lirr78,lirr63,False,600
+lirr149,lirr73,lirr102,True,2775
+lirr149,lirr73,lirr63,True,1850
+lirr149,lirr73,lirr102,False,2025
+lirr149,lirr73,lirr63,False,1850
+lirr149,lirr77,lirr102,True,1100
+lirr149,lirr77,lirr63,True,425
+lirr149,lirr77,lirr102,False,800
+lirr149,lirr77,lirr63,False,425
+lirr149,lirr83,lirr102,True,2775
+lirr149,lirr83,lirr63,True,1850
+lirr149,lirr83,lirr102,False,2025
+lirr149,lirr83,lirr63,False,1850
+lirr149,lirr85,lirr102,True,1000
+lirr149,lirr85,lirr102,False,725
+lirr149,lirr94,lirr102,True,1000
+lirr149,lirr94,lirr102,False,725
+lirr149,lirr92,lirr102,True,1100
+lirr149,lirr92,lirr102,False,800
+lirr149,lirr91,lirr102,True,1350
+lirr149,lirr91,lirr63,True,600
+lirr149,lirr91,lirr102,False,975
+lirr149,lirr91,lirr63,False,600
+lirr149,lirr101,lirr102,True,1000
+lirr149,lirr101,lirr102,False,725
+lirr149,lirr99,lirr102,True,1100
+lirr149,lirr99,lirr102,False,800
+lirr149,lirr100,lirr102,True,1650
+lirr149,lirr100,lirr63,True,825
+lirr149,lirr100,lirr102,False,1200
+lirr149,lirr100,lirr63,False,825
+lirr149,lirr111,lirr102,True,1650
+lirr149,lirr111,lirr63,True,825
+lirr149,lirr111,lirr102,False,1200
+lirr149,lirr111,lirr63,False,825
+lirr149,lirr124,lirr102,True,1000
+lirr149,lirr124,lirr102,False,725
+lirr149,lirr122,lirr102,True,900
+lirr149,lirr122,lirr102,False,650
+lirr149,lirr114,lirr102,True,1000
+lirr149,lirr114,lirr102,False,725
+lirr149,lirr117,lirr102,True,1350
+lirr149,lirr117,lirr102,False,975
+lirr149,lirr120,lirr214,True,1350
+lirr149,lirr120,lirr214,False,975
+lirr149,lirr119,lirr102,True,900
+lirr149,lirr119,lirr102,False,650
+lirr149,lirr123,lirr102,True,1100
+lirr149,lirr123,lirr63,True,425
+lirr149,lirr123,lirr102,False,800
+lirr149,lirr123,lirr63,False,425
+lirr149,lirr113,lirr102,True,1100
+lirr149,lirr113,lirr102,False,800
+lirr149,lirr125,lirr102,True,1000
+lirr149,lirr125,lirr102,False,725
+lirr149,lirr142,lirr102,True,1000
+lirr149,lirr142,lirr102,False,725
+lirr149,lirr131,lirr214,True,1475
+lirr149,lirr131,lirr214,False,1075
+lirr149,lirr136,lirr102,True,1100
+lirr149,lirr136,lirr102,False,800
+lirr149,lirr135,lirr102,True,1100
+lirr149,lirr135,lirr102,False,800
+lirr149,lirr140,lirr102,True,2125
+lirr149,lirr140,lirr63,True,1200
+lirr149,lirr140,lirr102,False,1550
+lirr149,lirr140,lirr63,False,1200
+lirr149,lirr126,lirr102,True,2775
+lirr149,lirr126,lirr63,True,1850
+lirr149,lirr126,lirr102,False,2025
+lirr149,lirr126,lirr63,False,1850
+lirr149,lirr129,lirr102,True,1650
+lirr149,lirr129,lirr63,True,825
+lirr149,lirr129,lirr102,False,1200
+lirr149,lirr129,lirr63,False,825
+lirr149,lirr127,lirr102,True,1000
+lirr149,lirr127,lirr102,False,725
+lirr149,lirr226,lirr102,True,1100
+lirr149,lirr226,lirr102,False,800
+lirr149,lirr132,lirr102,True,1000
+lirr149,lirr132,lirr102,False,725
+lirr149,lirr141,lirr102,True,2775
+lirr149,lirr141,lirr63,True,1850
+lirr149,lirr141,lirr102,False,2025
+lirr149,lirr141,lirr63,False,1850
+lirr149,lirr130,lirr214,True,1350
+lirr149,lirr130,lirr214,False,975
+lirr149,lirr152,lirr102,True,1000
+lirr149,lirr152,lirr102,False,725
+lirr149,lirr153,lirr102,True,1350
+lirr149,lirr153,lirr63,True,600
+lirr149,lirr153,lirr102,False,975
+lirr149,lirr153,lirr63,False,600
+lirr149,lirr157,lirr102,True,1650
+lirr149,lirr157,lirr63,True,825
+lirr149,lirr157,lirr102,False,1200
+lirr149,lirr157,lirr63,False,825
+lirr149,lirr155,lirr102,True,1100
+lirr149,lirr155,lirr102,False,800
+lirr149,lirr154,lirr102,True,1100
+lirr149,lirr154,lirr63,True,425
+lirr149,lirr154,lirr102,False,800
+lirr149,lirr154,lirr63,False,425
+lirr149,lirr163,lirr102,True,1650
+lirr149,lirr163,lirr63,True,825
+lirr149,lirr163,lirr102,False,1200
+lirr149,lirr163,lirr63,False,825
+lirr149,lirr165,lirr102,True,1350
+lirr149,lirr165,lirr63,True,600
+lirr149,lirr165,lirr102,False,975
+lirr149,lirr165,lirr63,False,600
+lirr149,lirr162,lirr214,True,1475
+lirr149,lirr162,lirr214,False,1075
+lirr149,lirr164,lirr102,True,1650
+lirr149,lirr164,lirr63,True,825
+lirr149,lirr164,lirr102,False,1200
+lirr149,lirr164,lirr63,False,825
+lirr149,lirr171,lirr214,True,1475
+lirr149,lirr171,lirr214,False,1075
+lirr149,lirr176,lirr102,True,2775
+lirr149,lirr176,lirr63,True,1850
+lirr149,lirr176,lirr102,False,2025
+lirr149,lirr176,lirr63,False,1850
+lirr149,lirr183,lirr102,True,1100
+lirr149,lirr183,lirr102,False,800
+lirr149,lirr179,lirr102,True,1650
+lirr149,lirr179,lirr63,True,825
+lirr149,lirr179,lirr102,False,1200
+lirr149,lirr179,lirr63,False,825
+lirr149,lirr180,lirr102,True,900
+lirr149,lirr180,lirr102,False,650
+lirr149,lirr182,lirr102,True,1100
+lirr149,lirr182,lirr63,True,425
+lirr149,lirr182,lirr102,False,800
+lirr149,lirr182,lirr63,False,425
+lirr149,lirr204,lirr102,True,1650
+lirr149,lirr204,lirr63,True,825
+lirr149,lirr204,lirr102,False,1200
+lirr149,lirr204,lirr63,False,825
+lirr149,lirr185,lirr102,True,1100
+lirr149,lirr185,lirr63,True,425
+lirr149,lirr185,lirr102,False,800
+lirr149,lirr185,lirr63,False,425
+lirr149,lirr187,lirr102,True,1100
+lirr149,lirr187,lirr102,False,800
+lirr149,lirr202,lirr102,True,1650
+lirr149,lirr202,lirr63,True,825
+lirr149,lirr202,lirr102,False,1200
+lirr149,lirr202,lirr63,False,825
+lirr149,lirr191,lirr102,True,2775
+lirr149,lirr191,lirr63,True,1850
+lirr149,lirr191,lirr102,False,2025
+lirr149,lirr191,lirr63,False,1850
+lirr149,lirr190,lirr102,True,2775
+lirr149,lirr190,lirr63,True,1850
+lirr149,lirr190,lirr102,False,2025
+lirr149,lirr190,lirr63,False,1850
+lirr149,lirr198,lirr102,True,2125
+lirr149,lirr198,lirr63,True,1200
+lirr149,lirr198,lirr102,False,1550
+lirr149,lirr198,lirr63,False,1200
+lirr149,lirr184,lirr102,True,900
+lirr149,lirr184,lirr102,False,650
+lirr149,lirr193,lirr102,True,1650
+lirr149,lirr193,lirr63,True,825
+lirr149,lirr193,lirr102,False,1200
+lirr149,lirr193,lirr63,False,825
+lirr149,lirr14,lirr102,True,1650
+lirr149,lirr14,lirr63,True,825
+lirr149,lirr14,lirr102,False,1200
+lirr149,lirr14,lirr63,False,825
+lirr149,lirr205,lirr102,True,1100
+lirr149,lirr205,lirr63,True,425
+lirr149,lirr205,lirr102,False,800
+lirr149,lirr205,lirr63,False,425
+lirr149,lirr211,lirr102,True,1000
+lirr149,lirr211,lirr102,False,725
+lirr149,lirr215,lirr102,True,1100
+lirr149,lirr215,lirr102,False,800
+lirr149,lirr216,lirr102,True,1000
+lirr149,lirr216,lirr102,False,725
+lirr149,lirr213,lirr102,True,1100
+lirr149,lirr213,lirr102,False,800
+lirr149,lirr233,lirr102,True,2775
+lirr149,lirr233,lirr63,True,1850
+lirr149,lirr233,lirr102,False,2025
+lirr149,lirr233,lirr63,False,1850
+lirr149,lirr219,lirr102,True,1000
+lirr149,lirr219,lirr102,False,725
+lirr149,lirr217,lirr102,True,1000
+lirr149,lirr217,lirr102,False,725
+lirr149,lirr220,lirr102,True,1350
+lirr149,lirr220,lirr63,True,600
+lirr149,lirr220,lirr102,False,975
+lirr149,lirr220,lirr63,False,600
+lirr149,lirr223,lirr102,True,2125
+lirr149,lirr223,lirr63,True,1200
+lirr149,lirr223,lirr102,False,1550
+lirr149,lirr223,lirr63,False,1200
+lirr152,lirr4,lirr102,True,2775
+lirr152,lirr4,lirr102,False,2025
+lirr152,lirr8,lirr102,True,1350
+lirr152,lirr8,lirr102,False,975
+lirr152,lirr2,lirr214,True,1350
+lirr152,lirr2,lirr214,False,975
+lirr152,lirr27,lirr102,True,1350
+lirr152,lirr27,lirr102,False,975
+lirr152,lirr225,lirr102,True,1100
+lirr152,lirr225,lirr102,False,800
+lirr152,lirr26,lirr102,True,1650
+lirr152,lirr26,lirr102,False,1200
+lirr152,lirr25,lirr214,True,1350
+lirr152,lirr25,lirr214,False,975
+lirr152,lirr23,lirr102,True,1000
+lirr152,lirr23,lirr102,False,725
+lirr152,lirr16,lirr102,True,1100
+lirr152,lirr16,lirr102,False,800
+lirr152,lirr21,lirr102,True,2125
+lirr152,lirr21,lirr102,False,1550
+lirr152,lirr13,lirr102,True,2775
+lirr152,lirr13,lirr102,False,2025
+lirr152,lirr11,lirr214,True,1350
+lirr152,lirr11,lirr214,False,975
+lirr152,lirr32,lirr102,True,1000
+lirr152,lirr32,lirr102,False,725
+lirr152,lirr31,lirr102,True,1100
+lirr152,lirr31,lirr102,False,800
+lirr152,lirr38,lirr102,True,1350
+lirr152,lirr38,lirr102,False,975
+lirr152,lirr36,lirr102,True,1000
+lirr152,lirr36,lirr102,False,725
+lirr152,lirr42,lirr214,True,1350
+lirr152,lirr42,lirr214,False,975
+lirr152,lirr48,lirr102,True,2775
+lirr152,lirr48,lirr102,False,2025
+lirr152,lirr51,lirr102,True,1100
+lirr152,lirr51,lirr102,False,800
+lirr152,lirr65,lirr102,True,1000
+lirr152,lirr65,lirr102,False,725
+lirr152,lirr63,lirr102,True,1000
+lirr152,lirr63,lirr102,False,725
+lirr152,lirr56,lirr214,True,1350
+lirr152,lirr56,lirr214,False,975
+lirr152,lirr64,lirr102,True,1100
+lirr152,lirr64,lirr102,False,800
+lirr152,lirr68,lirr102,True,1000
+lirr152,lirr68,lirr102,False,725
+lirr152,lirr66,lirr102,True,1000
+lirr152,lirr66,lirr102,False,725
+lirr152,lirr72,lirr214,True,1475
+lirr152,lirr72,lirr214,False,1075
+lirr152,lirr74,lirr102,True,1650
+lirr152,lirr74,lirr102,False,1200
+lirr152,lirr83,lirr102,True,2775
+lirr152,lirr83,lirr102,False,2025
+lirr152,lirr84,lirr102,True,1000
+lirr152,lirr84,lirr102,False,725
+lirr152,lirr85,lirr102,True,1000
+lirr152,lirr85,lirr102,False,725
+lirr152,lirr94,lirr102,True,1000
+lirr152,lirr94,lirr102,False,725
+lirr152,lirr89,lirr102,True,900
+lirr152,lirr89,lirr102,False,650
+lirr152,lirr101,lirr102,True,1000
+lirr152,lirr101,lirr102,False,725
+lirr152,lirr99,lirr102,True,1100
+lirr152,lirr99,lirr102,False,800
+lirr152,lirr100,lirr102,True,1650
+lirr152,lirr100,lirr102,False,1200
+lirr152,lirr124,lirr102,True,1000
+lirr152,lirr124,lirr102,False,725
+lirr152,lirr122,lirr102,True,900
+lirr152,lirr122,lirr102,False,650
+lirr152,lirr114,lirr102,True,1000
+lirr152,lirr114,lirr102,False,725
+lirr152,lirr117,lirr102,True,1350
+lirr152,lirr117,lirr102,False,975
+lirr152,lirr120,lirr214,True,1350
+lirr152,lirr120,lirr214,False,975
+lirr152,lirr119,lirr102,True,900
+lirr152,lirr119,lirr102,False,650
+lirr152,lirr113,lirr102,True,1100
+lirr152,lirr113,lirr102,False,800
+lirr152,lirr125,lirr102,True,1000
+lirr152,lirr125,lirr102,False,725
+lirr152,lirr142,lirr102,True,1000
+lirr152,lirr142,lirr102,False,725
+lirr152,lirr131,lirr214,True,1475
+lirr152,lirr131,lirr214,False,1075
+lirr152,lirr136,lirr102,True,1100
+lirr152,lirr136,lirr102,False,800
+lirr152,lirr135,lirr102,True,1100
+lirr152,lirr135,lirr102,False,800
+lirr152,lirr140,lirr102,True,2125
+lirr152,lirr140,lirr102,False,1550
+lirr152,lirr226,lirr102,True,1100
+lirr152,lirr226,lirr102,False,800
+lirr152,lirr141,lirr102,True,2775
+lirr152,lirr141,lirr102,False,2025
+lirr152,lirr130,lirr214,True,1350
+lirr152,lirr130,lirr214,False,975
+lirr152,lirr149,lirr102,True,1000
+lirr152,lirr149,lirr102,False,725
+lirr152,lirr157,lirr102,True,1650
+lirr152,lirr157,lirr102,False,1200
+lirr152,lirr155,lirr102,True,1100
+lirr152,lirr155,lirr102,False,800
+lirr152,lirr163,lirr102,True,1650
+lirr152,lirr163,lirr102,False,1200
+lirr152,lirr162,lirr214,True,1475
+lirr152,lirr162,lirr214,False,1075
+lirr152,lirr171,lirr214,True,1475
+lirr152,lirr171,lirr214,False,1075
+lirr152,lirr175,lirr102,True,900
+lirr152,lirr175,lirr102,False,650
+lirr152,lirr183,lirr102,True,1100
+lirr152,lirr183,lirr102,False,800
+lirr152,lirr180,lirr102,True,900
+lirr152,lirr180,lirr102,False,650
+lirr152,lirr204,lirr102,True,1650
+lirr152,lirr204,lirr102,False,1200
+lirr152,lirr187,lirr102,True,1100
+lirr152,lirr187,lirr102,False,800
+lirr152,lirr191,lirr102,True,2775
+lirr152,lirr191,lirr102,False,2025
+lirr152,lirr198,lirr102,True,2125
+lirr152,lirr198,lirr102,False,1550
+lirr152,lirr184,lirr102,True,900
+lirr152,lirr184,lirr102,False,650
+lirr152,lirr195,lirr102,True,1000
+lirr152,lirr195,lirr102,False,725
+lirr152,lirr211,lirr102,True,1000
+lirr152,lirr211,lirr102,False,725
+lirr152,lirr215,lirr102,True,1100
+lirr152,lirr215,lirr102,False,800
+lirr152,lirr216,lirr102,True,1000
+lirr152,lirr216,lirr102,False,725
+lirr152,lirr233,lirr102,True,2775
+lirr152,lirr233,lirr102,False,2025
+lirr152,lirr219,lirr102,True,1000
+lirr152,lirr219,lirr102,False,725
+lirr152,lirr217,lirr102,True,1000
+lirr152,lirr217,lirr102,False,725
+lirr153,lirr1,lirr132,True,650
+lirr153,lirr1,lirr132,False,650
+lirr153,lirr4,lirr102,True,3275
+lirr153,lirr4,lirr92,True,1775
+lirr153,lirr4,lirr102,False,2375
+lirr153,lirr4,lirr92,False,1775
+lirr153,lirr8,lirr102,True,1850
+lirr153,lirr8,lirr102,False,1350
+lirr153,lirr2,lirr214,True,1825
+lirr153,lirr2,lirr214,False,1325
+lirr153,lirr27,lirr102,True,1850
+lirr153,lirr27,lirr92,True,450
+lirr153,lirr27,lirr102,False,1350
+lirr153,lirr27,lirr92,False,450
+lirr153,lirr225,lirr102,True,1575
+lirr153,lirr225,lirr102,False,1150
+lirr153,lirr26,lirr102,True,2125
+lirr153,lirr26,lirr92,True,650
+lirr153,lirr26,lirr102,False,1550
+lirr153,lirr26,lirr92,False,650
+lirr153,lirr25,lirr214,True,1825
+lirr153,lirr25,lirr214,False,1325
+lirr153,lirr23,lirr102,True,1350
+lirr153,lirr23,lirr102,False,975
+lirr153,lirr16,lirr102,True,1575
+lirr153,lirr16,lirr102,False,1150
+lirr153,lirr21,lirr102,True,2600
+lirr153,lirr21,lirr92,True,1100
+lirr153,lirr21,lirr102,False,1900
+lirr153,lirr21,lirr92,False,1100
+lirr153,lirr20,lirr92,True,425
+lirr153,lirr20,lirr92,False,425
+lirr153,lirr29,lirr92,True,650
+lirr153,lirr29,lirr92,False,650
+lirr153,lirr13,lirr102,True,3275
+lirr153,lirr13,lirr92,True,1775
+lirr153,lirr13,lirr102,False,2375
+lirr153,lirr13,lirr92,False,1775
+lirr153,lirr11,lirr214,True,1825
+lirr153,lirr11,lirr214,False,1325
+lirr153,lirr32,lirr102,True,1350
+lirr153,lirr32,lirr102,False,975
+lirr153,lirr33,lirr92,True,650
+lirr153,lirr33,lirr92,False,650
+lirr153,lirr31,lirr102,True,1575
+lirr153,lirr31,lirr102,False,1150
+lirr153,lirr38,lirr102,True,1850
+lirr153,lirr38,lirr102,False,1350
+lirr153,lirr36,lirr102,True,1350
+lirr153,lirr36,lirr63,True,600
+lirr153,lirr36,lirr102,False,975
+lirr153,lirr36,lirr63,False,600
+lirr153,lirr44,lirr92,True,450
+lirr153,lirr44,lirr92,False,450
+lirr153,lirr42,lirr214,True,1825
+lirr153,lirr42,lirr214,False,1325
+lirr153,lirr48,lirr102,True,3275
+lirr153,lirr48,lirr92,True,1775
+lirr153,lirr48,lirr102,False,2375
+lirr153,lirr48,lirr92,False,1775
+lirr153,lirr51,lirr102,True,1575
+lirr153,lirr51,lirr102,False,1150
+lirr153,lirr52,lirr132,True,600
+lirr153,lirr52,lirr132,False,600
+lirr153,lirr65,lirr102,True,1350
+lirr153,lirr65,lirr102,False,975
+lirr153,lirr59,lirr92,True,425
+lirr153,lirr59,lirr92,False,425
+lirr153,lirr63,lirr102,True,1350
+lirr153,lirr63,lirr102,False,975
+lirr153,lirr56,lirr214,True,1825
+lirr153,lirr56,lirr214,False,1325
+lirr153,lirr64,lirr102,True,1575
+lirr153,lirr64,lirr102,False,1150
+lirr153,lirr68,lirr102,True,1350
+lirr153,lirr68,lirr63,True,600
+lirr153,lirr68,lirr102,False,975
+lirr153,lirr68,lirr63,False,600
+lirr153,lirr66,lirr102,True,1350
+lirr153,lirr66,lirr102,False,975
+lirr153,lirr67,lirr132,True,650
+lirr153,lirr67,lirr132,False,650
+lirr153,lirr71,lirr132,True,650
+lirr153,lirr71,lirr132,False,650
+lirr153,lirr76,lirr132,True,650
+lirr153,lirr76,lirr132,False,650
+lirr153,lirr72,lirr214,True,1975
+lirr153,lirr72,lirr214,False,1425
+lirr153,lirr74,lirr102,True,2125
+lirr153,lirr74,lirr92,True,650
+lirr153,lirr74,lirr102,False,1550
+lirr153,lirr74,lirr92,False,650
+lirr153,lirr73,lirr92,True,1775
+lirr153,lirr73,lirr92,False,1775
+lirr153,lirr77,lirr132,True,650
+lirr153,lirr77,lirr132,False,650
+lirr153,lirr83,lirr102,True,3275
+lirr153,lirr83,lirr92,True,1775
+lirr153,lirr83,lirr102,False,2375
+lirr153,lirr83,lirr92,False,1775
+lirr153,lirr84,lirr102,True,1350
+lirr153,lirr84,lirr63,True,600
+lirr153,lirr84,lirr102,False,975
+lirr153,lirr84,lirr63,False,600
+lirr153,lirr85,lirr102,True,1350
+lirr153,lirr85,lirr102,False,975
+lirr153,lirr94,lirr102,True,1350
+lirr153,lirr94,lirr102,False,975
+lirr153,lirr89,lirr102,True,1300
+lirr153,lirr89,lirr102,False,950
+lirr153,lirr101,lirr102,True,1350
+lirr153,lirr101,lirr102,False,975
+lirr153,lirr99,lirr102,True,1575
+lirr153,lirr99,lirr102,False,1150
+lirr153,lirr100,lirr102,True,2125
+lirr153,lirr100,lirr92,True,650
+lirr153,lirr100,lirr102,False,1550
+lirr153,lirr100,lirr92,False,650
+lirr153,lirr124,lirr102,True,1350
+lirr153,lirr124,lirr102,False,975
+lirr153,lirr122,lirr102,True,1300
+lirr153,lirr122,lirr102,False,950
+lirr153,lirr114,lirr102,True,1350
+lirr153,lirr114,lirr102,False,975
+lirr153,lirr117,lirr102,True,1850
+lirr153,lirr117,lirr102,False,1350
+lirr153,lirr120,lirr214,True,1825
+lirr153,lirr120,lirr214,False,1325
+lirr153,lirr119,lirr102,True,1300
+lirr153,lirr119,lirr102,False,950
+lirr153,lirr123,lirr132,True,650
+lirr153,lirr123,lirr132,False,650
+lirr153,lirr113,lirr102,True,1575
+lirr153,lirr113,lirr102,False,1150
+lirr153,lirr125,lirr102,True,1350
+lirr153,lirr125,lirr102,False,975
+lirr153,lirr142,lirr102,True,1350
+lirr153,lirr142,lirr102,False,975
+lirr153,lirr131,lirr214,True,1975
+lirr153,lirr131,lirr214,False,1425
+lirr153,lirr136,lirr102,True,1575
+lirr153,lirr136,lirr102,False,1150
+lirr153,lirr135,lirr102,True,1575
+lirr153,lirr135,lirr102,False,1150
+lirr153,lirr140,lirr102,True,2600
+lirr153,lirr140,lirr92,True,1100
+lirr153,lirr140,lirr102,False,1900
+lirr153,lirr140,lirr92,False,1100
+lirr153,lirr126,lirr92,True,1775
+lirr153,lirr126,lirr92,False,1775
+lirr153,lirr129,lirr92,True,650
+lirr153,lirr129,lirr92,False,650
+lirr153,lirr226,lirr102,True,1575
+lirr153,lirr226,lirr102,False,1150
+lirr153,lirr141,lirr102,True,3275
+lirr153,lirr141,lirr92,True,1775
+lirr153,lirr141,lirr102,False,2375
+lirr153,lirr141,lirr92,False,1775
+lirr153,lirr130,lirr214,True,1825
+lirr153,lirr130,lirr214,False,1325
+lirr153,lirr149,lirr102,True,1350
+lirr153,lirr149,lirr63,True,600
+lirr153,lirr149,lirr102,False,975
+lirr153,lirr149,lirr63,False,600
+lirr153,lirr157,lirr102,True,2125
+lirr153,lirr157,lirr92,True,650
+lirr153,lirr157,lirr102,False,1550
+lirr153,lirr157,lirr92,False,650
+lirr153,lirr155,lirr102,True,1575
+lirr153,lirr155,lirr102,False,1150
+lirr153,lirr154,lirr132,True,650
+lirr153,lirr154,lirr132,False,650
+lirr153,lirr163,lirr102,True,2125
+lirr153,lirr163,lirr92,True,650
+lirr153,lirr163,lirr102,False,1550
+lirr153,lirr163,lirr92,False,650
+lirr153,lirr165,lirr92,True,450
+lirr153,lirr165,lirr92,False,450
+lirr153,lirr162,lirr214,True,1975
+lirr153,lirr162,lirr214,False,1425
+lirr153,lirr171,lirr214,True,1975
+lirr153,lirr171,lirr214,False,1425
+lirr153,lirr175,lirr102,True,1300
+lirr153,lirr175,lirr102,False,950
+lirr153,lirr176,lirr92,True,1775
+lirr153,lirr176,lirr92,False,1775
+lirr153,lirr183,lirr102,True,1575
+lirr153,lirr183,lirr102,False,1150
+lirr153,lirr179,lirr92,True,650
+lirr153,lirr179,lirr92,False,650
+lirr153,lirr180,lirr102,True,1300
+lirr153,lirr180,lirr102,False,950
+lirr153,lirr182,lirr132,True,650
+lirr153,lirr182,lirr132,False,650
+lirr153,lirr204,lirr102,True,2125
+lirr153,lirr204,lirr92,True,650
+lirr153,lirr204,lirr102,False,1550
+lirr153,lirr204,lirr92,False,650
+lirr153,lirr185,lirr132,True,650
+lirr153,lirr185,lirr132,False,650
+lirr153,lirr187,lirr102,True,1575
+lirr153,lirr187,lirr102,False,1150
+lirr153,lirr191,lirr102,True,3275
+lirr153,lirr191,lirr92,True,1775
+lirr153,lirr191,lirr102,False,2375
+lirr153,lirr191,lirr92,False,1775
+lirr153,lirr190,lirr92,True,1775
+lirr153,lirr190,lirr92,False,1775
+lirr153,lirr198,lirr102,True,2600
+lirr153,lirr198,lirr92,True,1100
+lirr153,lirr198,lirr102,False,1900
+lirr153,lirr198,lirr92,False,1100
+lirr153,lirr184,lirr102,True,1300
+lirr153,lirr184,lirr102,False,950
+lirr153,lirr195,lirr102,True,1350
+lirr153,lirr195,lirr63,True,600
+lirr153,lirr195,lirr102,False,975
+lirr153,lirr195,lirr63,False,600
+lirr153,lirr211,lirr102,True,1350
+lirr153,lirr211,lirr102,False,975
+lirr153,lirr215,lirr102,True,1575
+lirr153,lirr215,lirr102,False,1150
+lirr153,lirr216,lirr102,True,1350
+lirr153,lirr216,lirr102,False,975
+lirr153,lirr233,lirr102,True,3275
+lirr153,lirr233,lirr92,True,1775
+lirr153,lirr233,lirr102,False,2375
+lirr153,lirr233,lirr92,False,1775
+lirr153,lirr219,lirr102,True,1350
+lirr153,lirr219,lirr102,False,975
+lirr153,lirr217,lirr102,True,1350
+lirr153,lirr217,lirr102,False,975
+lirr153,lirr220,lirr92,True,450
+lirr153,lirr220,lirr92,False,450
+lirr153,lirr223,lirr92,True,1100
+lirr153,lirr223,lirr92,False,1100
+lirr148,lirr55,lirr102,True,1200
+lirr148,lirr55,lirr102,False,875
+lirr148,lirr107,lirr102,True,1200
+lirr148,lirr107,lirr102,False,875
+lirr148,lirr237,lirr102,True,1200
+lirr148,lirr237,lirr102,False,875
+lirr148,lirr214,lirr102,True,1200
+lirr148,lirr214,lirr102,False,875
+lirr157,lirr1,lirr102,True,1825
+lirr157,lirr1,lirr132,True,900
+lirr157,lirr1,lirr102,False,1325
+lirr157,lirr1,lirr132,False,900
+lirr157,lirr2,lirr214,True,2050
+lirr157,lirr2,lirr214,False,1500
+lirr157,lirr25,lirr214,True,2050
+lirr157,lirr25,lirr214,False,1500
+lirr157,lirr23,lirr102,True,1650
+lirr157,lirr23,lirr102,False,1200
+lirr157,lirr20,lirr102,True,1825
+lirr157,lirr20,lirr92,True,600
+lirr157,lirr20,lirr102,False,1325
+lirr157,lirr20,lirr92,False,600
+lirr157,lirr29,lirr102,True,2275
+lirr157,lirr29,lirr92,True,1000
+lirr157,lirr29,lirr102,False,1650
+lirr157,lirr29,lirr92,False,1000
+lirr157,lirr11,lirr214,True,2050
+lirr157,lirr11,lirr214,False,1500
+lirr157,lirr39,lirr102,True,1825
+lirr157,lirr39,lirr102,False,1325
+lirr157,lirr32,lirr102,True,1650
+lirr157,lirr32,lirr102,False,1200
+lirr157,lirr33,lirr102,True,2275
+lirr157,lirr33,lirr92,True,1000
+lirr157,lirr33,lirr102,False,1650
+lirr157,lirr33,lirr92,False,1000
+lirr157,lirr31,lirr102,True,1825
+lirr157,lirr31,lirr125,True,900
+lirr157,lirr31,lirr102,False,1325
+lirr157,lirr31,lirr125,False,900
+lirr157,lirr40,lirr102,True,2125
+lirr157,lirr40,lirr92,True,650
+lirr157,lirr40,lirr102,False,1550
+lirr157,lirr40,lirr92,False,650
+lirr157,lirr36,lirr102,True,1650
+lirr157,lirr36,lirr63,True,825
+lirr157,lirr36,lirr102,False,1200
+lirr157,lirr36,lirr63,False,825
+lirr157,lirr44,lirr102,True,2125
+lirr157,lirr44,lirr92,True,650
+lirr157,lirr44,lirr102,False,1550
+lirr157,lirr44,lirr92,False,650
+lirr157,lirr42,lirr214,True,2050
+lirr157,lirr42,lirr214,False,1500
+lirr157,lirr51,lirr102,True,1825
+lirr157,lirr51,lirr125,True,900
+lirr157,lirr51,lirr102,False,1325
+lirr157,lirr51,lirr125,False,900
+lirr157,lirr52,lirr102,True,1650
+lirr157,lirr52,lirr132,True,825
+lirr157,lirr52,lirr102,False,1200
+lirr157,lirr52,lirr132,False,825
+lirr157,lirr65,lirr102,True,1650
+lirr157,lirr65,lirr102,False,1200
+lirr157,lirr59,lirr102,True,1825
+lirr157,lirr59,lirr92,True,600
+lirr157,lirr59,lirr102,False,1325
+lirr157,lirr59,lirr92,False,600
+lirr157,lirr63,lirr102,True,1650
+lirr157,lirr63,lirr102,False,1200
+lirr157,lirr56,lirr214,True,2050
+lirr157,lirr56,lirr214,False,1500
+lirr157,lirr68,lirr102,True,1650
+lirr157,lirr68,lirr63,True,825
+lirr157,lirr68,lirr102,False,1200
+lirr157,lirr68,lirr63,False,825
+lirr157,lirr66,lirr102,True,1650
+lirr157,lirr66,lirr102,False,1200
+lirr157,lirr67,lirr102,True,1825
+lirr157,lirr67,lirr132,True,900
+lirr157,lirr67,lirr102,False,1325
+lirr157,lirr67,lirr132,False,900
+lirr157,lirr71,lirr102,True,1825
+lirr157,lirr71,lirr132,True,900
+lirr157,lirr71,lirr102,False,1325
+lirr157,lirr71,lirr132,False,900
+lirr157,lirr76,lirr102,True,1825
+lirr157,lirr76,lirr132,True,900
+lirr157,lirr76,lirr102,False,1325
+lirr157,lirr76,lirr132,False,900
+lirr157,lirr72,lirr214,True,2225
+lirr157,lirr72,lirr214,False,1625
+lirr157,lirr78,lirr102,True,2125
+lirr157,lirr78,lirr92,True,650
+lirr157,lirr78,lirr102,False,1550
+lirr157,lirr78,lirr92,False,650
+lirr157,lirr73,lirr102,True,3475
+lirr157,lirr73,lirr92,True,2025
+lirr157,lirr73,lirr102,False,2525
+lirr157,lirr73,lirr92,False,2025
+lirr157,lirr77,lirr102,True,1825
+lirr157,lirr77,lirr132,True,900
+lirr157,lirr77,lirr102,False,1325
+lirr157,lirr77,lirr132,False,900
+lirr157,lirr84,lirr102,True,1650
+lirr157,lirr84,lirr63,True,825
+lirr157,lirr84,lirr102,False,1200
+lirr157,lirr84,lirr63,False,825
+lirr157,lirr85,lirr102,True,1650
+lirr157,lirr85,lirr102,False,1200
+lirr157,lirr94,lirr102,True,1650
+lirr157,lirr94,lirr102,False,1200
+lirr157,lirr92,lirr102,True,1825
+lirr157,lirr92,lirr102,False,1325
+lirr157,lirr89,lirr102,True,1575
+lirr157,lirr89,lirr102,False,1150
+lirr157,lirr91,lirr102,True,2125
+lirr157,lirr91,lirr92,True,650
+lirr157,lirr91,lirr102,False,1550
+lirr157,lirr91,lirr92,False,650
+lirr157,lirr101,lirr102,True,1650
+lirr157,lirr101,lirr102,False,1200
+lirr157,lirr99,lirr102,True,1825
+lirr157,lirr99,lirr125,True,900
+lirr157,lirr99,lirr102,False,1325
+lirr157,lirr99,lirr125,False,900
+lirr157,lirr111,lirr102,True,2275
+lirr157,lirr111,lirr92,True,1000
+lirr157,lirr111,lirr102,False,1650
+lirr157,lirr111,lirr92,False,1000
+lirr157,lirr124,lirr102,True,1650
+lirr157,lirr124,lirr102,False,1200
+lirr157,lirr122,lirr102,True,1575
+lirr157,lirr122,lirr102,False,1150
+lirr157,lirr114,lirr102,True,1650
+lirr157,lirr114,lirr102,False,1200
+lirr157,lirr120,lirr214,True,2050
+lirr157,lirr120,lirr214,False,1500
+lirr157,lirr119,lirr102,True,1575
+lirr157,lirr119,lirr102,False,1150
+lirr157,lirr123,lirr102,True,1825
+lirr157,lirr123,lirr132,True,900
+lirr157,lirr123,lirr102,False,1325
+lirr157,lirr123,lirr132,False,900
+lirr157,lirr113,lirr102,True,1825
+lirr157,lirr113,lirr125,True,900
+lirr157,lirr113,lirr102,False,1325
+lirr157,lirr113,lirr125,False,900
+lirr157,lirr125,lirr102,True,1650
+lirr157,lirr125,lirr102,False,1200
+lirr157,lirr142,lirr102,True,1650
+lirr157,lirr142,lirr102,False,1200
+lirr157,lirr131,lirr214,True,2225
+lirr157,lirr131,lirr214,False,1625
+lirr157,lirr126,lirr102,True,3475
+lirr157,lirr126,lirr92,True,2025
+lirr157,lirr126,lirr102,False,2525
+lirr157,lirr126,lirr92,False,2025
+lirr157,lirr129,lirr102,True,2275
+lirr157,lirr129,lirr92,True,1000
+lirr157,lirr129,lirr102,False,1650
+lirr157,lirr129,lirr92,False,1000
+lirr157,lirr127,lirr102,True,1650
+lirr157,lirr127,lirr102,False,1200
+lirr157,lirr132,lirr102,True,1650
+lirr157,lirr132,lirr102,False,1200
+lirr157,lirr130,lirr214,True,2050
+lirr157,lirr130,lirr214,False,1500
+lirr157,lirr149,lirr102,True,1650
+lirr157,lirr149,lirr63,True,825
+lirr157,lirr149,lirr102,False,1200
+lirr157,lirr149,lirr63,False,825
+lirr157,lirr152,lirr102,True,1650
+lirr157,lirr152,lirr102,False,1200
+lirr157,lirr153,lirr102,True,2125
+lirr157,lirr153,lirr92,True,650
+lirr157,lirr153,lirr102,False,1550
+lirr157,lirr153,lirr92,False,650
+lirr157,lirr155,lirr102,True,1825
+lirr157,lirr155,lirr125,True,900
+lirr157,lirr155,lirr102,False,1325
+lirr157,lirr155,lirr125,False,900
+lirr157,lirr154,lirr102,True,1825
+lirr157,lirr154,lirr132,True,900
+lirr157,lirr154,lirr102,False,1325
+lirr157,lirr154,lirr132,False,900
+lirr157,lirr165,lirr102,True,2125
+lirr157,lirr165,lirr92,True,650
+lirr157,lirr165,lirr102,False,1550
+lirr157,lirr165,lirr92,False,650
+lirr157,lirr162,lirr214,True,2225
+lirr157,lirr162,lirr214,False,1625
+lirr157,lirr164,lirr102,True,2275
+lirr157,lirr164,lirr92,True,1000
+lirr157,lirr164,lirr102,False,1650
+lirr157,lirr164,lirr92,False,1000
+lirr157,lirr171,lirr214,True,2225
+lirr157,lirr171,lirr214,False,1625
+lirr157,lirr175,lirr102,True,1575
+lirr157,lirr175,lirr102,False,1150
+lirr157,lirr176,lirr102,True,3475
+lirr157,lirr176,lirr92,True,2025
+lirr157,lirr176,lirr102,False,2525
+lirr157,lirr176,lirr92,False,2025
+lirr157,lirr179,lirr102,True,2275
+lirr157,lirr179,lirr92,True,1000
+lirr157,lirr179,lirr102,False,1650
+lirr157,lirr179,lirr92,False,1000
+lirr157,lirr180,lirr102,True,1575
+lirr157,lirr180,lirr102,False,1150
+lirr157,lirr182,lirr102,True,1825
+lirr157,lirr182,lirr132,True,900
+lirr157,lirr182,lirr102,False,1325
+lirr157,lirr182,lirr132,False,900
+lirr157,lirr185,lirr102,True,1825
+lirr157,lirr185,lirr132,True,900
+lirr157,lirr185,lirr102,False,1325
+lirr157,lirr185,lirr132,False,900
+lirr157,lirr202,lirr102,True,2275
+lirr157,lirr202,lirr92,True,1000
+lirr157,lirr202,lirr102,False,1650
+lirr157,lirr202,lirr92,False,1000
+lirr157,lirr190,lirr102,True,3475
+lirr157,lirr190,lirr92,True,2025
+lirr157,lirr190,lirr102,False,2525
+lirr157,lirr190,lirr92,False,2025
+lirr157,lirr184,lirr102,True,1575
+lirr157,lirr184,lirr102,False,1150
+lirr157,lirr193,lirr102,True,2275
+lirr157,lirr193,lirr92,True,1000
+lirr157,lirr193,lirr102,False,1650
+lirr157,lirr193,lirr92,False,1000
+lirr157,lirr195,lirr102,True,1650
+lirr157,lirr195,lirr63,True,825
+lirr157,lirr195,lirr102,False,1200
+lirr157,lirr195,lirr63,False,825
+lirr157,lirr14,lirr102,True,2275
+lirr157,lirr14,lirr92,True,1000
+lirr157,lirr14,lirr102,False,1650
+lirr157,lirr14,lirr92,False,1000
+lirr157,lirr205,lirr102,True,1825
+lirr157,lirr205,lirr92,True,600
+lirr157,lirr205,lirr102,False,1325
+lirr157,lirr205,lirr92,False,600
+lirr157,lirr211,lirr102,True,1650
+lirr157,lirr211,lirr102,False,1200
+lirr157,lirr216,lirr102,True,1650
+lirr157,lirr216,lirr102,False,1200
+lirr157,lirr213,lirr102,True,1825
+lirr157,lirr213,lirr102,False,1325
+lirr157,lirr219,lirr102,True,1650
+lirr157,lirr219,lirr102,False,1200
+lirr157,lirr217,lirr102,True,1650
+lirr157,lirr217,lirr102,False,1200
+lirr157,lirr220,lirr102,True,2125
+lirr157,lirr220,lirr92,True,650
+lirr157,lirr220,lirr102,False,1550
+lirr157,lirr220,lirr92,False,650
+lirr157,lirr223,lirr102,True,2800
+lirr157,lirr223,lirr92,True,1350
+lirr157,lirr223,lirr102,False,2025
+lirr157,lirr223,lirr92,False,1350
+lirr155,lirr1,lirr102,True,1225
+lirr155,lirr1,lirr102,False,900
+lirr155,lirr4,lirr102,True,2975
+lirr155,lirr4,lirr125,True,1875
+lirr155,lirr4,lirr102,False,2175
+lirr155,lirr4,lirr125,False,1875
+lirr155,lirr8,lirr102,True,1575
+lirr155,lirr8,lirr125,True,650
+lirr155,lirr8,lirr102,False,1150
+lirr155,lirr8,lirr125,False,650
+lirr155,lirr2,lirr214,True,1575
+lirr155,lirr2,lirr214,False,1150
+lirr155,lirr27,lirr102,True,1575
+lirr155,lirr27,lirr125,True,650
+lirr155,lirr27,lirr102,False,1150
+lirr155,lirr27,lirr125,False,650
+lirr155,lirr225,lirr102,True,1225
+lirr155,lirr225,lirr125,True,450
+lirr155,lirr225,lirr102,False,900
+lirr155,lirr225,lirr125,False,450
+lirr155,lirr26,lirr102,True,1825
+lirr155,lirr26,lirr125,True,900
+lirr155,lirr26,lirr102,False,1325
+lirr155,lirr26,lirr125,False,900
+lirr155,lirr25,lirr214,True,1575
+lirr155,lirr25,lirr214,False,1150
+lirr155,lirr23,lirr102,True,1100
+lirr155,lirr23,lirr102,False,800
+lirr155,lirr16,lirr102,True,1225
+lirr155,lirr16,lirr125,True,450
+lirr155,lirr16,lirr102,False,900
+lirr155,lirr16,lirr125,False,450
+lirr155,lirr21,lirr102,True,2275
+lirr155,lirr21,lirr125,True,1225
+lirr155,lirr21,lirr102,False,1650
+lirr155,lirr21,lirr125,False,1225
+lirr155,lirr20,lirr102,True,1225
+lirr155,lirr20,lirr102,False,900
+lirr155,lirr29,lirr102,True,1825
+lirr155,lirr29,lirr102,False,1325
+lirr155,lirr13,lirr102,True,2975
+lirr155,lirr13,lirr125,True,1875
+lirr155,lirr13,lirr102,False,2175
+lirr155,lirr13,lirr125,False,1875
+lirr155,lirr11,lirr214,True,1575
+lirr155,lirr11,lirr214,False,1150
+lirr155,lirr39,lirr102,True,1225
+lirr155,lirr39,lirr102,False,900
+lirr155,lirr32,lirr211,True,425
+lirr155,lirr32,lirr211,False,425
+lirr155,lirr33,lirr102,True,1825
+lirr155,lirr33,lirr102,False,1325
+lirr155,lirr40,lirr102,True,1575
+lirr155,lirr40,lirr102,False,1150
+lirr155,lirr38,lirr102,True,1575
+lirr155,lirr38,lirr125,True,650
+lirr155,lirr38,lirr102,False,1150
+lirr155,lirr38,lirr125,False,650
+lirr155,lirr36,lirr102,True,1100
+lirr155,lirr36,lirr102,False,800
+lirr155,lirr44,lirr102,True,1575
+lirr155,lirr44,lirr102,False,1150
+lirr155,lirr42,lirr214,True,1575
+lirr155,lirr42,lirr214,False,1150
+lirr155,lirr48,lirr102,True,2975
+lirr155,lirr48,lirr125,True,1875
+lirr155,lirr48,lirr102,False,2175
+lirr155,lirr48,lirr125,False,1875
+lirr155,lirr52,lirr102,True,1100
+lirr155,lirr52,lirr102,False,800
+lirr155,lirr65,lirr211,True,425
+lirr155,lirr65,lirr211,False,425
+lirr155,lirr59,lirr102,True,1225
+lirr155,lirr59,lirr102,False,900
+lirr155,lirr63,lirr102,True,1100
+lirr155,lirr63,lirr102,False,800
+lirr155,lirr56,lirr214,True,1575
+lirr155,lirr56,lirr214,False,1150
+lirr155,lirr64,lirr102,True,1225
+lirr155,lirr64,lirr125,True,450
+lirr155,lirr64,lirr102,False,900
+lirr155,lirr64,lirr125,False,450
+lirr155,lirr68,lirr102,True,1100
+lirr155,lirr68,lirr102,False,800
+lirr155,lirr66,lirr211,True,425
+lirr155,lirr66,lirr211,False,425
+lirr155,lirr67,lirr102,True,1225
+lirr155,lirr67,lirr102,False,900
+lirr155,lirr71,lirr102,True,1225
+lirr155,lirr71,lirr102,False,900
+lirr155,lirr76,lirr102,True,1225
+lirr155,lirr76,lirr102,False,900
+lirr155,lirr72,lirr214,True,1725
+lirr155,lirr72,lirr214,False,1250
+lirr155,lirr74,lirr102,True,1825
+lirr155,lirr74,lirr125,True,900
+lirr155,lirr74,lirr102,False,1325
+lirr155,lirr74,lirr125,False,900
+lirr155,lirr78,lirr102,True,1575
+lirr155,lirr78,lirr102,False,1150
+lirr155,lirr73,lirr102,True,2975
+lirr155,lirr73,lirr102,False,2175
+lirr155,lirr77,lirr102,True,1225
+lirr155,lirr77,lirr102,False,900
+lirr155,lirr83,lirr102,True,2975
+lirr155,lirr83,lirr125,True,1875
+lirr155,lirr83,lirr102,False,2175
+lirr155,lirr83,lirr125,False,1875
+lirr155,lirr84,lirr102,True,1100
+lirr155,lirr84,lirr102,False,800
+lirr155,lirr85,lirr211,True,425
+lirr155,lirr85,lirr211,False,425
+lirr155,lirr94,lirr211,True,425
+lirr155,lirr94,lirr211,False,425
+lirr155,lirr92,lirr102,True,1225
+lirr155,lirr92,lirr102,False,900
+lirr155,lirr89,lirr102,True,1050
+lirr155,lirr89,lirr102,False,775
+lirr155,lirr91,lirr102,True,1575
+lirr155,lirr91,lirr102,False,1150
+lirr155,lirr101,lirr211,True,425
+lirr155,lirr101,lirr211,False,425
+lirr155,lirr100,lirr102,True,1825
+lirr155,lirr100,lirr125,True,900
+lirr155,lirr100,lirr102,False,1325
+lirr155,lirr100,lirr125,False,900
+lirr155,lirr111,lirr102,True,1825
+lirr155,lirr111,lirr102,False,1325
+lirr155,lirr124,lirr211,True,425
+lirr155,lirr124,lirr211,False,425
+lirr155,lirr122,lirr102,True,1050
+lirr155,lirr122,lirr102,False,775
+lirr155,lirr114,lirr211,True,425
+lirr155,lirr114,lirr211,False,425
+lirr155,lirr117,lirr102,True,1575
+lirr155,lirr117,lirr125,True,650
+lirr155,lirr117,lirr102,False,1150
+lirr155,lirr117,lirr125,False,650
+lirr155,lirr120,lirr214,True,1575
+lirr155,lirr120,lirr214,False,1150
+lirr155,lirr119,lirr102,True,1050
+lirr155,lirr119,lirr102,False,775
+lirr155,lirr123,lirr102,True,1225
+lirr155,lirr123,lirr102,False,900
+lirr155,lirr142,lirr211,True,425
+lirr155,lirr142,lirr211,False,425
+lirr155,lirr131,lirr214,True,1725
+lirr155,lirr131,lirr214,False,1250
+lirr155,lirr136,lirr102,True,1225
+lirr155,lirr136,lirr125,True,450
+lirr155,lirr136,lirr102,False,900
+lirr155,lirr136,lirr125,False,450
+lirr155,lirr135,lirr102,True,1225
+lirr155,lirr135,lirr125,True,450
+lirr155,lirr135,lirr102,False,900
+lirr155,lirr135,lirr125,False,450
+lirr155,lirr140,lirr102,True,2275
+lirr155,lirr140,lirr125,True,1225
+lirr155,lirr140,lirr102,False,1650
+lirr155,lirr140,lirr125,False,1225
+lirr155,lirr126,lirr102,True,2975
+lirr155,lirr126,lirr102,False,2175
+lirr155,lirr129,lirr102,True,1825
+lirr155,lirr129,lirr102,False,1325
+lirr155,lirr127,lirr102,True,1100
+lirr155,lirr127,lirr102,False,800
+lirr155,lirr226,lirr102,True,1225
+lirr155,lirr226,lirr125,True,450
+lirr155,lirr226,lirr102,False,900
+lirr155,lirr226,lirr125,False,450
+lirr155,lirr132,lirr102,True,1100
+lirr155,lirr132,lirr102,False,800
+lirr155,lirr141,lirr102,True,2975
+lirr155,lirr141,lirr125,True,1875
+lirr155,lirr141,lirr102,False,2175
+lirr155,lirr141,lirr125,False,1875
+lirr155,lirr130,lirr214,True,1575
+lirr155,lirr130,lirr214,False,1150
+lirr155,lirr149,lirr102,True,1100
+lirr155,lirr149,lirr102,False,800
+lirr155,lirr152,lirr102,True,1100
+lirr155,lirr152,lirr102,False,800
+lirr155,lirr153,lirr102,True,1575
+lirr155,lirr153,lirr102,False,1150
+lirr155,lirr157,lirr102,True,1825
+lirr155,lirr157,lirr125,True,900
+lirr155,lirr157,lirr102,False,1325
+lirr155,lirr157,lirr125,False,900
+lirr155,lirr154,lirr102,True,1225
+lirr155,lirr154,lirr102,False,900
+lirr155,lirr163,lirr102,True,1825
+lirr155,lirr163,lirr125,True,900
+lirr155,lirr163,lirr102,False,1325
+lirr155,lirr163,lirr125,False,900
+lirr155,lirr165,lirr102,True,1575
+lirr155,lirr165,lirr102,False,1150
+lirr155,lirr162,lirr214,True,1725
+lirr155,lirr162,lirr214,False,1250
+lirr155,lirr164,lirr102,True,1825
+lirr155,lirr164,lirr102,False,1325
+lirr155,lirr171,lirr214,True,1725
+lirr155,lirr171,lirr214,False,1250
+lirr155,lirr175,lirr102,True,1050
+lirr155,lirr175,lirr102,False,775
+lirr155,lirr176,lirr102,True,2975
+lirr155,lirr176,lirr102,False,2175
+lirr155,lirr183,lirr102,True,1225
+lirr155,lirr183,lirr125,True,450
+lirr155,lirr183,lirr102,False,900
+lirr155,lirr183,lirr125,False,450
+lirr155,lirr179,lirr102,True,1825
+lirr155,lirr179,lirr102,False,1325
+lirr155,lirr180,lirr102,True,1050
+lirr155,lirr180,lirr102,False,775
+lirr155,lirr182,lirr102,True,1225
+lirr155,lirr182,lirr102,False,900
+lirr155,lirr204,lirr102,True,1825
+lirr155,lirr204,lirr125,True,900
+lirr155,lirr204,lirr102,False,1325
+lirr155,lirr204,lirr125,False,900
+lirr155,lirr185,lirr102,True,1225
+lirr155,lirr185,lirr102,False,900
+lirr155,lirr187,lirr102,True,1225
+lirr155,lirr187,lirr125,True,450
+lirr155,lirr187,lirr102,False,900
+lirr155,lirr187,lirr125,False,450
+lirr155,lirr202,lirr102,True,1825
+lirr155,lirr202,lirr102,False,1325
+lirr155,lirr191,lirr102,True,2975
+lirr155,lirr191,lirr125,True,1875
+lirr155,lirr191,lirr102,False,2175
+lirr155,lirr191,lirr125,False,1875
+lirr155,lirr190,lirr102,True,2975
+lirr155,lirr190,lirr102,False,2175
+lirr155,lirr198,lirr102,True,2275
+lirr155,lirr198,lirr125,True,1225
+lirr155,lirr198,lirr102,False,1650
+lirr155,lirr198,lirr125,False,1225
+lirr155,lirr184,lirr102,True,1050
+lirr155,lirr184,lirr102,False,775
+lirr155,lirr193,lirr102,True,1825
+lirr155,lirr193,lirr102,False,1325
+lirr155,lirr195,lirr102,True,1100
+lirr155,lirr195,lirr102,False,800
+lirr155,lirr14,lirr102,True,1825
+lirr155,lirr14,lirr102,False,1325
+lirr155,lirr205,lirr102,True,1225
+lirr155,lirr205,lirr102,False,900
+lirr155,lirr215,lirr102,True,1225
+lirr155,lirr215,lirr125,True,450
+lirr155,lirr215,lirr102,False,900
+lirr155,lirr215,lirr125,False,450
+lirr155,lirr216,lirr211,True,425
+lirr155,lirr216,lirr211,False,425
+lirr155,lirr213,lirr102,True,1225
+lirr155,lirr213,lirr102,False,900
+lirr155,lirr233,lirr102,True,2975
+lirr155,lirr233,lirr125,True,1875
+lirr155,lirr233,lirr102,False,2175
+lirr155,lirr233,lirr125,False,1875
+lirr155,lirr219,lirr211,True,425
+lirr155,lirr219,lirr211,False,425
+lirr155,lirr217,lirr211,True,425
+lirr155,lirr217,lirr211,False,425
+lirr155,lirr220,lirr102,True,1575
+lirr155,lirr220,lirr102,False,1150
+lirr155,lirr223,lirr102,True,2275
+lirr155,lirr223,lirr102,False,1650
+lirr154,lirr4,lirr102,True,2975
+lirr154,lirr4,lirr132,True,1875
+lirr154,lirr4,lirr102,False,2175
+lirr154,lirr4,lirr132,False,1875
+lirr154,lirr8,lirr102,True,1575
+lirr154,lirr8,lirr102,False,1150
+lirr154,lirr2,lirr214,True,1575
+lirr154,lirr2,lirr214,False,1150
+lirr154,lirr27,lirr102,True,1575
+lirr154,lirr27,lirr132,True,650
+lirr154,lirr27,lirr102,False,1150
+lirr154,lirr27,lirr132,False,650
+lirr154,lirr225,lirr102,True,1225
+lirr154,lirr225,lirr102,False,900
+lirr154,lirr26,lirr102,True,1825
+lirr154,lirr26,lirr132,True,900
+lirr154,lirr26,lirr102,False,1325
+lirr154,lirr26,lirr132,False,900
+lirr154,lirr25,lirr214,True,1575
+lirr154,lirr25,lirr214,False,1150
+lirr154,lirr23,lirr102,True,1100
+lirr154,lirr23,lirr102,False,800
+lirr154,lirr16,lirr102,True,1225
+lirr154,lirr16,lirr102,False,900
+lirr154,lirr21,lirr102,True,2275
+lirr154,lirr21,lirr132,True,1225
+lirr154,lirr21,lirr102,False,1650
+lirr154,lirr21,lirr132,False,1225
+lirr154,lirr20,lirr132,True,450
+lirr154,lirr20,lirr132,False,450
+lirr154,lirr29,lirr132,True,900
+lirr154,lirr29,lirr132,False,900
+lirr154,lirr13,lirr102,True,2975
+lirr154,lirr13,lirr132,True,1875
+lirr154,lirr13,lirr102,False,2175
+lirr154,lirr13,lirr132,False,1875
+lirr154,lirr11,lirr214,True,1575
+lirr154,lirr11,lirr214,False,1150
+lirr154,lirr39,lirr132,True,450
+lirr154,lirr39,lirr132,False,450
+lirr154,lirr32,lirr102,True,1100
+lirr154,lirr32,lirr102,False,800
+lirr154,lirr33,lirr132,True,900
+lirr154,lirr33,lirr132,False,900
+lirr154,lirr31,lirr102,True,1225
+lirr154,lirr31,lirr102,False,900
+lirr154,lirr40,lirr132,True,650
+lirr154,lirr40,lirr132,False,650
+lirr154,lirr38,lirr102,True,1575
+lirr154,lirr38,lirr102,False,1150
+lirr154,lirr36,lirr102,True,1100
+lirr154,lirr36,lirr63,True,425
+lirr154,lirr36,lirr102,False,800
+lirr154,lirr36,lirr63,False,425
+lirr154,lirr44,lirr132,True,650
+lirr154,lirr44,lirr132,False,650
+lirr154,lirr42,lirr214,True,1575
+lirr154,lirr42,lirr214,False,1150
+lirr154,lirr48,lirr102,True,2975
+lirr154,lirr48,lirr132,True,1875
+lirr154,lirr48,lirr102,False,2175
+lirr154,lirr48,lirr132,False,1875
+lirr154,lirr51,lirr102,True,1225
+lirr154,lirr51,lirr102,False,900
+lirr154,lirr65,lirr102,True,1100
+lirr154,lirr65,lirr102,False,800
+lirr154,lirr59,lirr132,True,450
+lirr154,lirr59,lirr132,False,450
+lirr154,lirr63,lirr102,True,1100
+lirr154,lirr63,lirr102,False,800
+lirr154,lirr56,lirr214,True,1575
+lirr154,lirr56,lirr214,False,1150
+lirr154,lirr64,lirr102,True,1225
+lirr154,lirr64,lirr102,False,900
+lirr154,lirr68,lirr102,True,1100
+lirr154,lirr68,lirr63,True,425
+lirr154,lirr68,lirr102,False,800
+lirr154,lirr68,lirr63,False,425
+lirr154,lirr66,lirr102,True,1100
+lirr154,lirr66,lirr102,False,800
+lirr154,lirr72,lirr214,True,1725
+lirr154,lirr72,lirr214,False,1250
+lirr154,lirr74,lirr102,True,1825
+lirr154,lirr74,lirr132,True,900
+lirr154,lirr74,lirr102,False,1325
+lirr154,lirr74,lirr132,False,900
+lirr154,lirr78,lirr132,True,650
+lirr154,lirr78,lirr132,False,650
+lirr154,lirr73,lirr132,True,1875
+lirr154,lirr73,lirr132,False,1875
+lirr154,lirr83,lirr102,True,2975
+lirr154,lirr83,lirr132,True,1875
+lirr154,lirr83,lirr102,False,2175
+lirr154,lirr83,lirr132,False,1875
+lirr154,lirr84,lirr102,True,1100
+lirr154,lirr84,lirr63,True,425
+lirr154,lirr84,lirr102,False,800
+lirr154,lirr84,lirr63,False,425
+lirr154,lirr85,lirr102,True,1100
+lirr154,lirr85,lirr102,False,800
+lirr154,lirr94,lirr102,True,1100
+lirr154,lirr94,lirr102,False,800
+lirr154,lirr92,lirr132,True,450
+lirr154,lirr92,lirr132,False,450
+lirr154,lirr89,lirr102,True,1050
+lirr154,lirr89,lirr102,False,775
+lirr154,lirr91,lirr132,True,650
+lirr154,lirr91,lirr132,False,650
+lirr154,lirr101,lirr102,True,1100
+lirr154,lirr101,lirr102,False,800
+lirr154,lirr99,lirr102,True,1225
+lirr154,lirr99,lirr102,False,900
+lirr154,lirr100,lirr102,True,1825
+lirr154,lirr100,lirr132,True,900
+lirr154,lirr100,lirr102,False,1325
+lirr154,lirr100,lirr132,False,900
+lirr154,lirr111,lirr132,True,900
+lirr154,lirr111,lirr132,False,900
+lirr154,lirr124,lirr102,True,1100
+lirr154,lirr124,lirr102,False,800
+lirr154,lirr122,lirr102,True,1050
+lirr154,lirr122,lirr102,False,775
+lirr154,lirr114,lirr102,True,1100
+lirr154,lirr114,lirr102,False,800
+lirr154,lirr117,lirr102,True,1575
+lirr154,lirr117,lirr102,False,1150
+lirr154,lirr120,lirr214,True,1575
+lirr154,lirr120,lirr214,False,1150
+lirr154,lirr119,lirr102,True,1050
+lirr154,lirr119,lirr102,False,775
+lirr154,lirr113,lirr102,True,1225
+lirr154,lirr113,lirr102,False,900
+lirr154,lirr125,lirr102,True,1100
+lirr154,lirr125,lirr102,False,800
+lirr154,lirr142,lirr102,True,1100
+lirr154,lirr142,lirr102,False,800
+lirr154,lirr131,lirr214,True,1725
+lirr154,lirr131,lirr214,False,1250
+lirr154,lirr136,lirr102,True,1225
+lirr154,lirr136,lirr102,False,900
+lirr154,lirr135,lirr102,True,1225
+lirr154,lirr135,lirr102,False,900
+lirr154,lirr140,lirr102,True,2275
+lirr154,lirr140,lirr132,True,1225
+lirr154,lirr140,lirr102,False,1650
+lirr154,lirr140,lirr132,False,1225
+lirr154,lirr126,lirr132,True,1875
+lirr154,lirr126,lirr132,False,1875
+lirr154,lirr129,lirr132,True,900
+lirr154,lirr129,lirr132,False,900
+lirr154,lirr226,lirr102,True,1225
+lirr154,lirr226,lirr102,False,900
+lirr154,lirr141,lirr102,True,2975
+lirr154,lirr141,lirr132,True,1875
+lirr154,lirr141,lirr102,False,2175
+lirr154,lirr141,lirr132,False,1875
+lirr154,lirr130,lirr214,True,1575
+lirr154,lirr130,lirr214,False,1150
+lirr154,lirr149,lirr102,True,1100
+lirr154,lirr149,lirr63,True,425
+lirr154,lirr149,lirr102,False,800
+lirr154,lirr149,lirr63,False,425
+lirr154,lirr153,lirr132,True,650
+lirr154,lirr153,lirr132,False,650
+lirr154,lirr157,lirr102,True,1825
+lirr154,lirr157,lirr132,True,900
+lirr154,lirr157,lirr102,False,1325
+lirr154,lirr157,lirr132,False,900
+lirr154,lirr155,lirr102,True,1225
+lirr154,lirr155,lirr102,False,900
+lirr154,lirr163,lirr102,True,1825
+lirr154,lirr163,lirr132,True,900
+lirr154,lirr163,lirr102,False,1325
+lirr154,lirr163,lirr132,False,900
+lirr154,lirr165,lirr132,True,650
+lirr154,lirr165,lirr132,False,650
+lirr154,lirr162,lirr214,True,1725
+lirr154,lirr162,lirr214,False,1250
+lirr154,lirr164,lirr132,True,900
+lirr154,lirr164,lirr132,False,900
+lirr154,lirr171,lirr214,True,1725
+lirr154,lirr171,lirr214,False,1250
+lirr154,lirr175,lirr102,True,1050
+lirr154,lirr175,lirr102,False,775
+lirr154,lirr176,lirr132,True,1875
+lirr154,lirr176,lirr132,False,1875
+lirr154,lirr183,lirr102,True,1225
+lirr154,lirr183,lirr102,False,900
+lirr154,lirr179,lirr132,True,900
+lirr154,lirr179,lirr132,False,900
+lirr154,lirr180,lirr102,True,1050
+lirr154,lirr180,lirr102,False,775
+lirr154,lirr204,lirr102,True,1825
+lirr154,lirr204,lirr132,True,900
+lirr154,lirr204,lirr102,False,1325
+lirr154,lirr204,lirr132,False,900
+lirr154,lirr187,lirr102,True,1225
+lirr154,lirr187,lirr102,False,900
+lirr154,lirr202,lirr132,True,900
+lirr154,lirr202,lirr132,False,900
+lirr154,lirr191,lirr102,True,2975
+lirr154,lirr191,lirr132,True,1875
+lirr154,lirr191,lirr102,False,2175
+lirr154,lirr191,lirr132,False,1875
+lirr154,lirr190,lirr132,True,1875
+lirr154,lirr190,lirr132,False,1875
+lirr154,lirr198,lirr102,True,2275
+lirr154,lirr198,lirr132,True,1225
+lirr154,lirr198,lirr102,False,1650
+lirr154,lirr198,lirr132,False,1225
+lirr154,lirr184,lirr102,True,1050
+lirr154,lirr184,lirr102,False,775
+lirr154,lirr193,lirr132,True,900
+lirr154,lirr193,lirr132,False,900
+lirr154,lirr195,lirr102,True,1100
+lirr154,lirr195,lirr63,True,425
+lirr154,lirr195,lirr102,False,800
+lirr154,lirr195,lirr63,False,425
+lirr154,lirr14,lirr132,True,900
+lirr154,lirr14,lirr132,False,900
+lirr154,lirr205,lirr132,True,450
+lirr154,lirr205,lirr132,False,450
+lirr154,lirr211,lirr102,True,1100
+lirr154,lirr211,lirr102,False,800
+lirr154,lirr215,lirr102,True,1225
+lirr154,lirr215,lirr102,False,900
+lirr154,lirr216,lirr102,True,1100
+lirr154,lirr216,lirr102,False,800
+lirr154,lirr213,lirr132,True,450
+lirr154,lirr213,lirr132,False,450
+lirr154,lirr233,lirr102,True,2975
+lirr154,lirr233,lirr132,True,1875
+lirr154,lirr233,lirr102,False,2175
+lirr154,lirr233,lirr132,False,1875
+lirr154,lirr219,lirr102,True,1100
+lirr154,lirr219,lirr102,False,800
+lirr154,lirr217,lirr102,True,1100
+lirr154,lirr217,lirr102,False,800
+lirr154,lirr220,lirr132,True,650
+lirr154,lirr220,lirr132,False,650
+lirr154,lirr223,lirr132,True,1225
+lirr154,lirr223,lirr132,False,1225
+lirr163,lirr1,lirr102,True,1825
+lirr163,lirr1,lirr132,True,900
+lirr163,lirr1,lirr102,False,1325
+lirr163,lirr1,lirr132,False,900
+lirr163,lirr2,lirr214,True,2050
+lirr163,lirr2,lirr214,False,1500
+lirr163,lirr25,lirr214,True,2050
+lirr163,lirr25,lirr214,False,1500
+lirr163,lirr23,lirr102,True,1650
+lirr163,lirr23,lirr102,False,1200
+lirr163,lirr20,lirr102,True,1825
+lirr163,lirr20,lirr92,True,600
+lirr163,lirr20,lirr102,False,1325
+lirr163,lirr20,lirr92,False,600
+lirr163,lirr29,lirr102,True,2275
+lirr163,lirr29,lirr92,True,1000
+lirr163,lirr29,lirr102,False,1650
+lirr163,lirr29,lirr92,False,1000
+lirr163,lirr11,lirr214,True,2050
+lirr163,lirr11,lirr214,False,1500
+lirr163,lirr39,lirr102,True,1825
+lirr163,lirr39,lirr102,False,1325
+lirr163,lirr32,lirr102,True,1650
+lirr163,lirr32,lirr102,False,1200
+lirr163,lirr33,lirr102,True,2275
+lirr163,lirr33,lirr92,True,1000
+lirr163,lirr33,lirr102,False,1650
+lirr163,lirr33,lirr92,False,1000
+lirr163,lirr31,lirr102,True,1825
+lirr163,lirr31,lirr125,True,900
+lirr163,lirr31,lirr102,False,1325
+lirr163,lirr31,lirr125,False,900
+lirr163,lirr40,lirr102,True,2125
+lirr163,lirr40,lirr92,True,650
+lirr163,lirr40,lirr102,False,1550
+lirr163,lirr40,lirr92,False,650
+lirr163,lirr36,lirr102,True,1650
+lirr163,lirr36,lirr63,True,825
+lirr163,lirr36,lirr102,False,1200
+lirr163,lirr36,lirr63,False,825
+lirr163,lirr44,lirr102,True,2125
+lirr163,lirr44,lirr92,True,650
+lirr163,lirr44,lirr102,False,1550
+lirr163,lirr44,lirr92,False,650
+lirr163,lirr42,lirr214,True,2050
+lirr163,lirr42,lirr214,False,1500
+lirr163,lirr51,lirr102,True,1825
+lirr163,lirr51,lirr125,True,900
+lirr163,lirr51,lirr102,False,1325
+lirr163,lirr51,lirr125,False,900
+lirr163,lirr52,lirr102,True,1650
+lirr163,lirr52,lirr132,True,825
+lirr163,lirr52,lirr102,False,1200
+lirr163,lirr52,lirr132,False,825
+lirr163,lirr65,lirr102,True,1650
+lirr163,lirr65,lirr102,False,1200
+lirr163,lirr59,lirr102,True,1825
+lirr163,lirr59,lirr92,True,600
+lirr163,lirr59,lirr102,False,1325
+lirr163,lirr59,lirr92,False,600
+lirr163,lirr63,lirr102,True,1650
+lirr163,lirr63,lirr102,False,1200
+lirr163,lirr56,lirr214,True,2050
+lirr163,lirr56,lirr214,False,1500
+lirr163,lirr68,lirr102,True,1650
+lirr163,lirr68,lirr63,True,825
+lirr163,lirr68,lirr102,False,1200
+lirr163,lirr68,lirr63,False,825
+lirr163,lirr66,lirr102,True,1650
+lirr163,lirr66,lirr102,False,1200
+lirr163,lirr67,lirr102,True,1825
+lirr163,lirr67,lirr132,True,900
+lirr163,lirr67,lirr102,False,1325
+lirr163,lirr67,lirr132,False,900
+lirr163,lirr71,lirr102,True,1825
+lirr163,lirr71,lirr132,True,900
+lirr163,lirr71,lirr102,False,1325
+lirr163,lirr71,lirr132,False,900
+lirr163,lirr76,lirr102,True,1825
+lirr163,lirr76,lirr132,True,900
+lirr163,lirr76,lirr102,False,1325
+lirr163,lirr76,lirr132,False,900
+lirr163,lirr72,lirr214,True,2225
+lirr163,lirr72,lirr214,False,1625
+lirr163,lirr78,lirr102,True,2125
+lirr163,lirr78,lirr92,True,650
+lirr163,lirr78,lirr102,False,1550
+lirr163,lirr78,lirr92,False,650
+lirr163,lirr73,lirr102,True,3475
+lirr163,lirr73,lirr92,True,2025
+lirr163,lirr73,lirr102,False,2525
+lirr163,lirr73,lirr92,False,2025
+lirr163,lirr77,lirr102,True,1825
+lirr163,lirr77,lirr132,True,900
+lirr163,lirr77,lirr102,False,1325
+lirr163,lirr77,lirr132,False,900
+lirr163,lirr84,lirr102,True,1650
+lirr163,lirr84,lirr63,True,825
+lirr163,lirr84,lirr102,False,1200
+lirr163,lirr84,lirr63,False,825
+lirr163,lirr85,lirr102,True,1650
+lirr163,lirr85,lirr102,False,1200
+lirr163,lirr94,lirr102,True,1650
+lirr163,lirr94,lirr102,False,1200
+lirr163,lirr92,lirr102,True,1825
+lirr163,lirr92,lirr102,False,1325
+lirr163,lirr89,lirr102,True,1575
+lirr163,lirr89,lirr102,False,1150
+lirr163,lirr91,lirr102,True,2125
+lirr163,lirr91,lirr92,True,650
+lirr163,lirr91,lirr102,False,1550
+lirr163,lirr91,lirr92,False,650
+lirr163,lirr101,lirr102,True,1650
+lirr163,lirr101,lirr102,False,1200
+lirr163,lirr99,lirr102,True,1825
+lirr163,lirr99,lirr125,True,900
+lirr163,lirr99,lirr102,False,1325
+lirr163,lirr99,lirr125,False,900
+lirr163,lirr111,lirr102,True,2275
+lirr163,lirr111,lirr92,True,1000
+lirr163,lirr111,lirr102,False,1650
+lirr163,lirr111,lirr92,False,1000
+lirr163,lirr124,lirr102,True,1650
+lirr163,lirr124,lirr102,False,1200
+lirr163,lirr122,lirr102,True,1575
+lirr163,lirr122,lirr102,False,1150
+lirr163,lirr114,lirr102,True,1650
+lirr163,lirr114,lirr102,False,1200
+lirr163,lirr120,lirr214,True,2050
+lirr163,lirr120,lirr214,False,1500
+lirr163,lirr119,lirr102,True,1575
+lirr163,lirr119,lirr102,False,1150
+lirr163,lirr123,lirr102,True,1825
+lirr163,lirr123,lirr132,True,900
+lirr163,lirr123,lirr102,False,1325
+lirr163,lirr123,lirr132,False,900
+lirr163,lirr113,lirr102,True,1825
+lirr163,lirr113,lirr125,True,900
+lirr163,lirr113,lirr102,False,1325
+lirr163,lirr113,lirr125,False,900
+lirr163,lirr125,lirr102,True,1650
+lirr163,lirr125,lirr102,False,1200
+lirr163,lirr142,lirr102,True,1650
+lirr163,lirr142,lirr102,False,1200
+lirr163,lirr131,lirr214,True,2225
+lirr163,lirr131,lirr214,False,1625
+lirr163,lirr126,lirr102,True,3475
+lirr163,lirr126,lirr92,True,2025
+lirr163,lirr126,lirr102,False,2525
+lirr163,lirr126,lirr92,False,2025
+lirr163,lirr129,lirr102,True,2275
+lirr163,lirr129,lirr92,True,1000
+lirr163,lirr129,lirr102,False,1650
+lirr163,lirr129,lirr92,False,1000
+lirr163,lirr127,lirr102,True,1650
+lirr163,lirr127,lirr102,False,1200
+lirr163,lirr132,lirr102,True,1650
+lirr163,lirr132,lirr102,False,1200
+lirr163,lirr130,lirr214,True,2050
+lirr163,lirr130,lirr214,False,1500
+lirr163,lirr149,lirr102,True,1650
+lirr163,lirr149,lirr63,True,825
+lirr163,lirr149,lirr102,False,1200
+lirr163,lirr149,lirr63,False,825
+lirr163,lirr152,lirr102,True,1650
+lirr163,lirr152,lirr102,False,1200
+lirr163,lirr153,lirr102,True,2125
+lirr163,lirr153,lirr92,True,650
+lirr163,lirr153,lirr102,False,1550
+lirr163,lirr153,lirr92,False,650
+lirr163,lirr155,lirr102,True,1825
+lirr163,lirr155,lirr125,True,900
+lirr163,lirr155,lirr102,False,1325
+lirr163,lirr155,lirr125,False,900
+lirr163,lirr154,lirr102,True,1825
+lirr163,lirr154,lirr132,True,900
+lirr163,lirr154,lirr102,False,1325
+lirr163,lirr154,lirr132,False,900
+lirr163,lirr165,lirr102,True,2125
+lirr163,lirr165,lirr92,True,650
+lirr163,lirr165,lirr102,False,1550
+lirr163,lirr165,lirr92,False,650
+lirr163,lirr162,lirr214,True,2225
+lirr163,lirr162,lirr214,False,1625
+lirr163,lirr164,lirr102,True,2275
+lirr163,lirr164,lirr92,True,1000
+lirr163,lirr164,lirr102,False,1650
+lirr163,lirr164,lirr92,False,1000
+lirr163,lirr171,lirr214,True,2225
+lirr163,lirr171,lirr214,False,1625
+lirr163,lirr175,lirr102,True,1575
+lirr163,lirr175,lirr102,False,1150
+lirr163,lirr176,lirr102,True,3475
+lirr163,lirr176,lirr92,True,2025
+lirr163,lirr176,lirr102,False,2525
+lirr163,lirr176,lirr92,False,2025
+lirr163,lirr179,lirr102,True,2275
+lirr163,lirr179,lirr92,True,1000
+lirr163,lirr179,lirr102,False,1650
+lirr163,lirr179,lirr92,False,1000
+lirr163,lirr180,lirr102,True,1575
+lirr163,lirr180,lirr102,False,1150
+lirr163,lirr182,lirr102,True,1825
+lirr163,lirr182,lirr132,True,900
+lirr163,lirr182,lirr102,False,1325
+lirr163,lirr182,lirr132,False,900
+lirr163,lirr185,lirr102,True,1825
+lirr163,lirr185,lirr132,True,900
+lirr163,lirr185,lirr102,False,1325
+lirr163,lirr185,lirr132,False,900
+lirr163,lirr202,lirr102,True,2275
+lirr163,lirr202,lirr92,True,1000
+lirr163,lirr202,lirr102,False,1650
+lirr163,lirr202,lirr92,False,1000
+lirr163,lirr190,lirr102,True,3475
+lirr163,lirr190,lirr92,True,2025
+lirr163,lirr190,lirr102,False,2525
+lirr163,lirr190,lirr92,False,2025
+lirr163,lirr184,lirr102,True,1575
+lirr163,lirr184,lirr102,False,1150
+lirr163,lirr193,lirr102,True,2275
+lirr163,lirr193,lirr92,True,1000
+lirr163,lirr193,lirr102,False,1650
+lirr163,lirr193,lirr92,False,1000
+lirr163,lirr195,lirr102,True,1650
+lirr163,lirr195,lirr63,True,825
+lirr163,lirr195,lirr102,False,1200
+lirr163,lirr195,lirr63,False,825
+lirr163,lirr14,lirr102,True,2275
+lirr163,lirr14,lirr92,True,1000
+lirr163,lirr14,lirr102,False,1650
+lirr163,lirr14,lirr92,False,1000
+lirr163,lirr205,lirr102,True,1825
+lirr163,lirr205,lirr92,True,600
+lirr163,lirr205,lirr102,False,1325
+lirr163,lirr205,lirr92,False,600
+lirr163,lirr211,lirr102,True,1650
+lirr163,lirr211,lirr102,False,1200
+lirr163,lirr216,lirr102,True,1650
+lirr163,lirr216,lirr102,False,1200
+lirr163,lirr213,lirr102,True,1825
+lirr163,lirr213,lirr102,False,1325
+lirr163,lirr219,lirr102,True,1650
+lirr163,lirr219,lirr102,False,1200
+lirr163,lirr217,lirr102,True,1650
+lirr163,lirr217,lirr102,False,1200
+lirr163,lirr220,lirr102,True,2125
+lirr163,lirr220,lirr92,True,650
+lirr163,lirr220,lirr102,False,1550
+lirr163,lirr220,lirr92,False,650
+lirr163,lirr223,lirr102,True,2800
+lirr163,lirr223,lirr92,True,1350
+lirr163,lirr223,lirr102,False,2025
+lirr163,lirr223,lirr92,False,1350
+lirr237,lirr241,lirr102,True,1200
+lirr237,lirr241,lirr102,False,875
+lirr237,lirr50,lirr102,True,1200
+lirr237,lirr50,lirr102,False,875
+lirr237,lirr148,lirr102,True,1200
+lirr237,lirr148,lirr102,False,875
+lirr165,lirr1,lirr132,True,650
+lirr165,lirr1,lirr132,False,650
+lirr165,lirr4,lirr102,True,3275
+lirr165,lirr4,lirr92,True,1775
+lirr165,lirr4,lirr102,False,2375
+lirr165,lirr4,lirr92,False,1775
+lirr165,lirr8,lirr102,True,1850
+lirr165,lirr8,lirr102,False,1350
+lirr165,lirr2,lirr214,True,1825
+lirr165,lirr2,lirr214,False,1325
+lirr165,lirr27,lirr102,True,1850
+lirr165,lirr27,lirr92,True,450
+lirr165,lirr27,lirr102,False,1350
+lirr165,lirr27,lirr92,False,450
+lirr165,lirr225,lirr102,True,1575
+lirr165,lirr225,lirr102,False,1150
+lirr165,lirr26,lirr102,True,2125
+lirr165,lirr26,lirr92,True,650
+lirr165,lirr26,lirr102,False,1550
+lirr165,lirr26,lirr92,False,650
+lirr165,lirr25,lirr214,True,1825
+lirr165,lirr25,lirr214,False,1325
+lirr165,lirr23,lirr102,True,1350
+lirr165,lirr23,lirr102,False,975
+lirr165,lirr16,lirr102,True,1575
+lirr165,lirr16,lirr102,False,1150
+lirr165,lirr21,lirr102,True,2600
+lirr165,lirr21,lirr92,True,1100
+lirr165,lirr21,lirr102,False,1900
+lirr165,lirr21,lirr92,False,1100
+lirr165,lirr13,lirr102,True,3275
+lirr165,lirr13,lirr92,True,1775
+lirr165,lirr13,lirr102,False,2375
+lirr165,lirr13,lirr92,False,1775
+lirr165,lirr11,lirr214,True,1825
+lirr165,lirr11,lirr214,False,1325
+lirr165,lirr32,lirr102,True,1350
+lirr165,lirr32,lirr102,False,975
+lirr165,lirr31,lirr102,True,1575
+lirr165,lirr31,lirr102,False,1150
+lirr165,lirr40,lirr92,True,450
+lirr165,lirr40,lirr92,False,450
+lirr165,lirr38,lirr102,True,1850
+lirr165,lirr38,lirr102,False,1350
+lirr165,lirr36,lirr102,True,1350
+lirr165,lirr36,lirr63,True,600
+lirr165,lirr36,lirr102,False,975
+lirr165,lirr36,lirr63,False,600
+lirr165,lirr42,lirr214,True,1825
+lirr165,lirr42,lirr214,False,1325
+lirr165,lirr48,lirr102,True,3275
+lirr165,lirr48,lirr92,True,1775
+lirr165,lirr48,lirr102,False,2375
+lirr165,lirr48,lirr92,False,1775
+lirr165,lirr51,lirr102,True,1575
+lirr165,lirr51,lirr102,False,1150
+lirr165,lirr52,lirr132,True,600
+lirr165,lirr52,lirr132,False,600
+lirr165,lirr65,lirr102,True,1350
+lirr165,lirr65,lirr102,False,975
+lirr165,lirr63,lirr102,True,1350
+lirr165,lirr63,lirr102,False,975
+lirr165,lirr56,lirr214,True,1825
+lirr165,lirr56,lirr214,False,1325
+lirr165,lirr64,lirr102,True,1575
+lirr165,lirr64,lirr102,False,1150
+lirr165,lirr68,lirr102,True,1350
+lirr165,lirr68,lirr63,True,600
+lirr165,lirr68,lirr102,False,975
+lirr165,lirr68,lirr63,False,600
+lirr165,lirr66,lirr102,True,1350
+lirr165,lirr66,lirr102,False,975
+lirr165,lirr67,lirr132,True,650
+lirr165,lirr67,lirr132,False,650
+lirr165,lirr71,lirr132,True,650
+lirr165,lirr71,lirr132,False,650
+lirr165,lirr76,lirr132,True,650
+lirr165,lirr76,lirr132,False,650
+lirr165,lirr72,lirr214,True,1975
+lirr165,lirr72,lirr214,False,1425
+lirr165,lirr74,lirr102,True,2125
+lirr165,lirr74,lirr92,True,650
+lirr165,lirr74,lirr102,False,1550
+lirr165,lirr74,lirr92,False,650
+lirr165,lirr78,lirr92,True,450
+lirr165,lirr78,lirr92,False,450
+lirr165,lirr77,lirr132,True,650
+lirr165,lirr77,lirr132,False,650
+lirr165,lirr83,lirr102,True,3275
+lirr165,lirr83,lirr92,True,1775
+lirr165,lirr83,lirr102,False,2375
+lirr165,lirr83,lirr92,False,1775
+lirr165,lirr84,lirr102,True,1350
+lirr165,lirr84,lirr63,True,600
+lirr165,lirr84,lirr102,False,975
+lirr165,lirr84,lirr63,False,600
+lirr165,lirr85,lirr102,True,1350
+lirr165,lirr85,lirr102,False,975
+lirr165,lirr94,lirr102,True,1350
+lirr165,lirr94,lirr102,False,975
+lirr165,lirr89,lirr102,True,1300
+lirr165,lirr89,lirr102,False,950
+lirr165,lirr91,lirr92,True,450
+lirr165,lirr91,lirr92,False,450
+lirr165,lirr101,lirr102,True,1350
+lirr165,lirr101,lirr102,False,975
+lirr165,lirr99,lirr102,True,1575
+lirr165,lirr99,lirr102,False,1150
+lirr165,lirr100,lirr102,True,2125
+lirr165,lirr100,lirr92,True,650
+lirr165,lirr100,lirr102,False,1550
+lirr165,lirr100,lirr92,False,650
+lirr165,lirr111,lirr92,True,650
+lirr165,lirr111,lirr92,False,650
+lirr165,lirr124,lirr102,True,1350
+lirr165,lirr124,lirr102,False,975
+lirr165,lirr122,lirr102,True,1300
+lirr165,lirr122,lirr102,False,950
+lirr165,lirr114,lirr102,True,1350
+lirr165,lirr114,lirr102,False,975
+lirr165,lirr117,lirr102,True,1850
+lirr165,lirr117,lirr102,False,1350
+lirr165,lirr120,lirr214,True,1825
+lirr165,lirr120,lirr214,False,1325
+lirr165,lirr119,lirr102,True,1300
+lirr165,lirr119,lirr102,False,950
+lirr165,lirr123,lirr132,True,650
+lirr165,lirr123,lirr132,False,650
+lirr165,lirr113,lirr102,True,1575
+lirr165,lirr113,lirr102,False,1150
+lirr165,lirr125,lirr102,True,1350
+lirr165,lirr125,lirr102,False,975
+lirr165,lirr142,lirr102,True,1350
+lirr165,lirr142,lirr102,False,975
+lirr165,lirr131,lirr214,True,1975
+lirr165,lirr131,lirr214,False,1425
+lirr165,lirr136,lirr102,True,1575
+lirr165,lirr136,lirr102,False,1150
+lirr165,lirr135,lirr102,True,1575
+lirr165,lirr135,lirr102,False,1150
+lirr165,lirr140,lirr102,True,2600
+lirr165,lirr140,lirr92,True,1100
+lirr165,lirr140,lirr102,False,1900
+lirr165,lirr140,lirr92,False,1100
+lirr165,lirr226,lirr102,True,1575
+lirr165,lirr226,lirr102,False,1150
+lirr165,lirr141,lirr102,True,3275
+lirr165,lirr141,lirr92,True,1775
+lirr165,lirr141,lirr102,False,2375
+lirr165,lirr141,lirr92,False,1775
+lirr165,lirr130,lirr214,True,1825
+lirr165,lirr130,lirr214,False,1325
+lirr165,lirr149,lirr102,True,1350
+lirr165,lirr149,lirr63,True,600
+lirr165,lirr149,lirr102,False,975
+lirr165,lirr149,lirr63,False,600
+lirr165,lirr153,lirr92,True,450
+lirr165,lirr153,lirr92,False,450
+lirr165,lirr157,lirr102,True,2125
+lirr165,lirr157,lirr92,True,650
+lirr165,lirr157,lirr102,False,1550
+lirr165,lirr157,lirr92,False,650
+lirr165,lirr155,lirr102,True,1575
+lirr165,lirr155,lirr102,False,1150
+lirr165,lirr154,lirr132,True,650
+lirr165,lirr154,lirr132,False,650
+lirr165,lirr163,lirr102,True,2125
+lirr165,lirr163,lirr92,True,650
+lirr165,lirr163,lirr102,False,1550
+lirr165,lirr163,lirr92,False,650
+lirr165,lirr162,lirr214,True,1975
+lirr165,lirr162,lirr214,False,1425
+lirr165,lirr164,lirr92,True,650
+lirr165,lirr164,lirr92,False,650
+lirr165,lirr171,lirr214,True,1975
+lirr165,lirr171,lirr214,False,1425
+lirr165,lirr175,lirr102,True,1300
+lirr165,lirr175,lirr102,False,950
+lirr165,lirr183,lirr102,True,1575
+lirr165,lirr183,lirr102,False,1150
+lirr165,lirr180,lirr102,True,1300
+lirr165,lirr180,lirr102,False,950
+lirr165,lirr182,lirr132,True,650
+lirr165,lirr182,lirr132,False,650
+lirr165,lirr204,lirr102,True,2125
+lirr165,lirr204,lirr92,True,650
+lirr165,lirr204,lirr102,False,1550
+lirr165,lirr204,lirr92,False,650
+lirr165,lirr185,lirr132,True,650
+lirr165,lirr185,lirr132,False,650
+lirr165,lirr187,lirr102,True,1575
+lirr165,lirr187,lirr102,False,1150
+lirr165,lirr202,lirr92,True,650
+lirr165,lirr202,lirr92,False,650
+lirr165,lirr191,lirr102,True,3275
+lirr165,lirr191,lirr92,True,1775
+lirr165,lirr191,lirr102,False,2375
+lirr165,lirr191,lirr92,False,1775
+lirr165,lirr198,lirr102,True,2600
+lirr165,lirr198,lirr92,True,1100
+lirr165,lirr198,lirr102,False,1900
+lirr165,lirr198,lirr92,False,1100
+lirr165,lirr184,lirr102,True,1300
+lirr165,lirr184,lirr102,False,950
+lirr165,lirr193,lirr92,True,650
+lirr165,lirr193,lirr92,False,650
+lirr165,lirr195,lirr102,True,1350
+lirr165,lirr195,lirr63,True,600
+lirr165,lirr195,lirr102,False,975
+lirr165,lirr195,lirr63,False,600
+lirr165,lirr14,lirr92,True,650
+lirr165,lirr14,lirr92,False,650
+lirr165,lirr205,lirr92,True,425
+lirr165,lirr205,lirr92,False,425
+lirr165,lirr211,lirr102,True,1350
+lirr165,lirr211,lirr102,False,975
+lirr165,lirr215,lirr102,True,1575
+lirr165,lirr215,lirr102,False,1150
+lirr165,lirr216,lirr102,True,1350
+lirr165,lirr216,lirr102,False,975
+lirr165,lirr233,lirr102,True,3275
+lirr165,lirr233,lirr92,True,1775
+lirr165,lirr233,lirr102,False,2375
+lirr165,lirr233,lirr92,False,1775
+lirr165,lirr219,lirr102,True,1350
+lirr165,lirr219,lirr102,False,975
+lirr165,lirr217,lirr102,True,1350
+lirr165,lirr217,lirr102,False,975
+lirr162,lirr1,lirr214,True,1725
+lirr162,lirr1,lirr214,False,1250
+lirr162,lirr4,lirr214,True,3375
+lirr162,lirr4,lirr214,False,2450
+lirr162,lirr8,lirr214,True,1975
+lirr162,lirr8,lirr214,False,1425
+lirr162,lirr27,lirr214,True,1975
+lirr162,lirr27,lirr214,False,1425
+lirr162,lirr225,lirr214,True,1725
+lirr162,lirr225,lirr214,False,1250
+lirr162,lirr26,lirr214,True,2225
+lirr162,lirr26,lirr214,False,1625
+lirr162,lirr23,lirr214,True,1475
+lirr162,lirr23,lirr214,False,1075
+lirr162,lirr16,lirr214,True,1725
+lirr162,lirr16,lirr214,False,1250
+lirr162,lirr21,lirr214,True,2700
+lirr162,lirr21,lirr214,False,1975
+lirr162,lirr20,lirr214,True,1725
+lirr162,lirr20,lirr214,False,1250
+lirr162,lirr29,lirr214,True,2225
+lirr162,lirr29,lirr214,False,1625
+lirr162,lirr13,lirr214,True,3375
+lirr162,lirr13,lirr214,False,2450
+lirr162,lirr39,lirr214,True,1725
+lirr162,lirr39,lirr214,False,1250
+lirr162,lirr32,lirr214,True,1475
+lirr162,lirr32,lirr214,False,1075
+lirr162,lirr33,lirr214,True,2225
+lirr162,lirr33,lirr214,False,1625
+lirr162,lirr31,lirr214,True,1725
+lirr162,lirr31,lirr214,False,1250
+lirr162,lirr40,lirr214,True,1975
+lirr162,lirr40,lirr214,False,1425
+lirr162,lirr38,lirr214,True,1975
+lirr162,lirr38,lirr214,False,1425
+lirr162,lirr36,lirr214,True,1475
+lirr162,lirr36,lirr214,False,1075
+lirr162,lirr44,lirr214,True,1975
+lirr162,lirr44,lirr214,False,1425
+lirr162,lirr48,lirr214,True,3375
+lirr162,lirr48,lirr214,False,2450
+lirr162,lirr51,lirr214,True,1725
+lirr162,lirr51,lirr214,False,1250
+lirr162,lirr52,lirr214,True,1475
+lirr162,lirr52,lirr214,False,1075
+lirr162,lirr65,lirr214,True,1475
+lirr162,lirr65,lirr214,False,1075
+lirr162,lirr59,lirr214,True,1725
+lirr162,lirr59,lirr214,False,1250
+lirr162,lirr63,lirr214,True,1475
+lirr162,lirr63,lirr214,False,1075
+lirr162,lirr55,lirr214,True,1300
+lirr162,lirr55,lirr214,False,950
+lirr162,lirr64,lirr214,True,1725
+lirr162,lirr64,lirr214,False,1250
+lirr162,lirr68,lirr214,True,1475
+lirr162,lirr68,lirr214,False,1075
+lirr162,lirr66,lirr214,True,1475
+lirr162,lirr66,lirr214,False,1075
+lirr162,lirr67,lirr214,True,1725
+lirr162,lirr67,lirr214,False,1250
+lirr162,lirr71,lirr214,True,1725
+lirr162,lirr71,lirr214,False,1250
+lirr162,lirr76,lirr214,True,1725
+lirr162,lirr76,lirr214,False,1250
+lirr162,lirr74,lirr214,True,2225
+lirr162,lirr74,lirr214,False,1625
+lirr162,lirr78,lirr214,True,1975
+lirr162,lirr78,lirr214,False,1425
+lirr162,lirr73,lirr214,True,3375
+lirr162,lirr73,lirr214,False,2450
+lirr162,lirr77,lirr214,True,1725
+lirr162,lirr77,lirr214,False,1250
+lirr162,lirr83,lirr214,True,3375
+lirr162,lirr83,lirr214,False,2450
+lirr162,lirr84,lirr214,True,1475
+lirr162,lirr84,lirr214,False,1075
+lirr162,lirr85,lirr214,True,1475
+lirr162,lirr85,lirr214,False,1075
+lirr162,lirr94,lirr214,True,1475
+lirr162,lirr94,lirr214,False,1075
+lirr162,lirr92,lirr214,True,1725
+lirr162,lirr92,lirr214,False,1250
+lirr162,lirr89,lirr214,True,1350
+lirr162,lirr89,lirr214,False,975
+lirr162,lirr91,lirr214,True,1975
+lirr162,lirr91,lirr214,False,1425
+lirr162,lirr101,lirr214,True,1475
+lirr162,lirr101,lirr214,False,1075
+lirr162,lirr99,lirr214,True,1725
+lirr162,lirr99,lirr214,False,1250
+lirr162,lirr100,lirr214,True,2225
+lirr162,lirr100,lirr214,False,1625
+lirr162,lirr102,lirr214,True,1350
+lirr162,lirr102,lirr214,False,975
+lirr162,lirr107,lirr214,True,1300
+lirr162,lirr107,lirr214,False,950
+lirr162,lirr111,lirr214,True,2225
+lirr162,lirr111,lirr214,False,1625
+lirr162,lirr124,lirr214,True,1475
+lirr162,lirr124,lirr214,False,1075
+lirr162,lirr122,lirr214,True,1350
+lirr162,lirr122,lirr214,False,975
+lirr162,lirr114,lirr214,True,1475
+lirr162,lirr114,lirr214,False,1075
+lirr162,lirr117,lirr214,True,1975
+lirr162,lirr117,lirr214,False,1425
+lirr162,lirr119,lirr214,True,1350
+lirr162,lirr119,lirr214,False,975
+lirr162,lirr123,lirr214,True,1725
+lirr162,lirr123,lirr214,False,1250
+lirr162,lirr113,lirr214,True,1725
+lirr162,lirr113,lirr214,False,1250
+lirr162,lirr125,lirr214,True,1475
+lirr162,lirr125,lirr214,False,1075
+lirr162,lirr142,lirr214,True,1475
+lirr162,lirr142,lirr214,False,1075
+lirr162,lirr136,lirr214,True,1725
+lirr162,lirr136,lirr214,False,1250
+lirr162,lirr135,lirr214,True,1725
+lirr162,lirr135,lirr214,False,1250
+lirr162,lirr140,lirr214,True,2700
+lirr162,lirr140,lirr214,False,1975
+lirr162,lirr126,lirr214,True,3375
+lirr162,lirr126,lirr214,False,2450
+lirr162,lirr129,lirr214,True,2225
+lirr162,lirr129,lirr214,False,1625
+lirr162,lirr127,lirr214,True,1475
+lirr162,lirr127,lirr214,False,1075
+lirr162,lirr226,lirr214,True,1725
+lirr162,lirr226,lirr214,False,1250
+lirr162,lirr132,lirr214,True,1475
+lirr162,lirr132,lirr214,False,1075
+lirr162,lirr141,lirr214,True,3375
+lirr162,lirr141,lirr214,False,2450
+lirr162,lirr149,lirr214,True,1475
+lirr162,lirr149,lirr214,False,1075
+lirr162,lirr152,lirr214,True,1475
+lirr162,lirr152,lirr214,False,1075
+lirr162,lirr153,lirr214,True,1975
+lirr162,lirr153,lirr214,False,1425
+lirr162,lirr157,lirr214,True,2225
+lirr162,lirr157,lirr214,False,1625
+lirr162,lirr155,lirr214,True,1725
+lirr162,lirr155,lirr214,False,1250
+lirr162,lirr154,lirr214,True,1725
+lirr162,lirr154,lirr214,False,1250
+lirr162,lirr163,lirr214,True,2225
+lirr162,lirr163,lirr214,False,1625
+lirr162,lirr165,lirr214,True,1975
+lirr162,lirr165,lirr214,False,1425
+lirr162,lirr164,lirr214,True,2225
+lirr162,lirr164,lirr214,False,1625
+lirr162,lirr175,lirr214,True,1350
+lirr162,lirr175,lirr214,False,975
+lirr162,lirr176,lirr214,True,3375
+lirr162,lirr176,lirr214,False,2450
+lirr162,lirr183,lirr214,True,1725
+lirr162,lirr183,lirr214,False,1250
+lirr162,lirr179,lirr214,True,2225
+lirr162,lirr179,lirr214,False,1625
+lirr162,lirr180,lirr214,True,1350
+lirr162,lirr180,lirr214,False,975
+lirr162,lirr182,lirr214,True,1725
+lirr162,lirr182,lirr214,False,1250
+lirr162,lirr204,lirr214,True,2225
+lirr162,lirr204,lirr214,False,1625
+lirr162,lirr185,lirr214,True,1725
+lirr162,lirr185,lirr214,False,1250
+lirr162,lirr187,lirr214,True,1725
+lirr162,lirr187,lirr214,False,1250
+lirr162,lirr202,lirr214,True,2225
+lirr162,lirr202,lirr214,False,1625
+lirr162,lirr191,lirr214,True,3375
+lirr162,lirr191,lirr214,False,2450
+lirr162,lirr190,lirr214,True,3375
+lirr162,lirr190,lirr214,False,2450
+lirr162,lirr198,lirr214,True,2700
+lirr162,lirr198,lirr214,False,1975
+lirr162,lirr184,lirr214,True,1350
+lirr162,lirr184,lirr214,False,975
+lirr162,lirr193,lirr214,True,2225
+lirr162,lirr193,lirr214,False,1625
+lirr162,lirr195,lirr214,True,1475
+lirr162,lirr195,lirr214,False,1075
+lirr162,lirr14,lirr214,True,2225
+lirr162,lirr14,lirr214,False,1625
+lirr162,lirr205,lirr214,True,1725
+lirr162,lirr205,lirr214,False,1250
+lirr162,lirr211,lirr214,True,1475
+lirr162,lirr211,lirr214,False,1075
+lirr162,lirr215,lirr214,True,1725
+lirr162,lirr215,lirr214,False,1250
+lirr162,lirr216,lirr214,True,1475
+lirr162,lirr216,lirr214,False,1075
+lirr162,lirr213,lirr214,True,1725
+lirr162,lirr213,lirr214,False,1250
+lirr162,lirr233,lirr214,True,3375
+lirr162,lirr233,lirr214,False,2450
+lirr162,lirr219,lirr214,True,1475
+lirr162,lirr219,lirr214,False,1075
+lirr162,lirr217,lirr214,True,1475
+lirr162,lirr217,lirr214,False,1075
+lirr162,lirr220,lirr214,True,1975
+lirr162,lirr220,lirr214,False,1425
+lirr162,lirr223,lirr214,True,2700
+lirr162,lirr223,lirr214,False,1975
+lirr164,lirr1,lirr132,True,900
+lirr164,lirr1,lirr132,False,900
+lirr164,lirr4,lirr102,True,3475
+lirr164,lirr4,lirr92,True,2025
+lirr164,lirr4,lirr102,False,2525
+lirr164,lirr4,lirr92,False,2025
+lirr164,lirr8,lirr102,True,2125
+lirr164,lirr8,lirr102,False,1550
+lirr164,lirr2,lirr214,True,2050
+lirr164,lirr2,lirr214,False,1500
+lirr164,lirr27,lirr102,True,2125
+lirr164,lirr27,lirr92,True,650
+lirr164,lirr27,lirr102,False,1550
+lirr164,lirr27,lirr92,False,650
+lirr164,lirr225,lirr102,True,1825
+lirr164,lirr225,lirr102,False,1325
+lirr164,lirr26,lirr102,True,2275
+lirr164,lirr26,lirr92,True,1000
+lirr164,lirr26,lirr102,False,1650
+lirr164,lirr26,lirr92,False,1000
+lirr164,lirr25,lirr214,True,2050
+lirr164,lirr25,lirr214,False,1500
+lirr164,lirr23,lirr102,True,1650
+lirr164,lirr23,lirr102,False,1200
+lirr164,lirr16,lirr102,True,1825
+lirr164,lirr16,lirr102,False,1325
+lirr164,lirr21,lirr102,True,2800
+lirr164,lirr21,lirr92,True,1350
+lirr164,lirr21,lirr102,False,2025
+lirr164,lirr21,lirr92,False,1350
+lirr164,lirr20,lirr92,True,600
+lirr164,lirr20,lirr92,False,600
+lirr164,lirr29,lirr92,True,1000
+lirr164,lirr29,lirr92,False,1000
+lirr164,lirr13,lirr102,True,3475
+lirr164,lirr13,lirr92,True,2025
+lirr164,lirr13,lirr102,False,2525
+lirr164,lirr13,lirr92,False,2025
+lirr164,lirr11,lirr214,True,2050
+lirr164,lirr11,lirr214,False,1500
+lirr164,lirr32,lirr102,True,1650
+lirr164,lirr32,lirr102,False,1200
+lirr164,lirr33,lirr92,True,1000
+lirr164,lirr33,lirr92,False,1000
+lirr164,lirr31,lirr102,True,1825
+lirr164,lirr31,lirr102,False,1325
+lirr164,lirr38,lirr102,True,2125
+lirr164,lirr38,lirr102,False,1550
+lirr164,lirr36,lirr102,True,1650
+lirr164,lirr36,lirr63,True,825
+lirr164,lirr36,lirr102,False,1200
+lirr164,lirr36,lirr63,False,825
+lirr164,lirr44,lirr92,True,650
+lirr164,lirr44,lirr92,False,650
+lirr164,lirr42,lirr214,True,2050
+lirr164,lirr42,lirr214,False,1500
+lirr164,lirr48,lirr102,True,3475
+lirr164,lirr48,lirr92,True,2025
+lirr164,lirr48,lirr102,False,2525
+lirr164,lirr48,lirr92,False,2025
+lirr164,lirr51,lirr102,True,1825
+lirr164,lirr51,lirr102,False,1325
+lirr164,lirr52,lirr132,True,825
+lirr164,lirr52,lirr132,False,825
+lirr164,lirr65,lirr102,True,1650
+lirr164,lirr65,lirr102,False,1200
+lirr164,lirr59,lirr92,True,600
+lirr164,lirr59,lirr92,False,600
+lirr164,lirr63,lirr102,True,1650
+lirr164,lirr63,lirr102,False,1200
+lirr164,lirr56,lirr214,True,2050
+lirr164,lirr56,lirr214,False,1500
+lirr164,lirr64,lirr102,True,1825
+lirr164,lirr64,lirr102,False,1325
+lirr164,lirr68,lirr102,True,1650
+lirr164,lirr68,lirr63,True,825
+lirr164,lirr68,lirr102,False,1200
+lirr164,lirr68,lirr63,False,825
+lirr164,lirr66,lirr102,True,1650
+lirr164,lirr66,lirr102,False,1200
+lirr164,lirr67,lirr132,True,900
+lirr164,lirr67,lirr132,False,900
+lirr164,lirr71,lirr132,True,900
+lirr164,lirr71,lirr132,False,900
+lirr164,lirr76,lirr132,True,900
+lirr164,lirr76,lirr132,False,900
+lirr164,lirr72,lirr214,True,2225
+lirr164,lirr72,lirr214,False,1625
+lirr164,lirr74,lirr102,True,2275
+lirr164,lirr74,lirr92,True,1000
+lirr164,lirr74,lirr102,False,1650
+lirr164,lirr74,lirr92,False,1000
+lirr164,lirr73,lirr92,True,2025
+lirr164,lirr73,lirr92,False,2025
+lirr164,lirr77,lirr132,True,900
+lirr164,lirr77,lirr132,False,900
+lirr164,lirr83,lirr102,True,3475
+lirr164,lirr83,lirr92,True,2025
+lirr164,lirr83,lirr102,False,2525
+lirr164,lirr83,lirr92,False,2025
+lirr164,lirr84,lirr102,True,1650
+lirr164,lirr84,lirr63,True,825
+lirr164,lirr84,lirr102,False,1200
+lirr164,lirr84,lirr63,False,825
+lirr164,lirr85,lirr102,True,1650
+lirr164,lirr85,lirr102,False,1200
+lirr164,lirr94,lirr102,True,1650
+lirr164,lirr94,lirr102,False,1200
+lirr164,lirr89,lirr102,True,1575
+lirr164,lirr89,lirr102,False,1150
+lirr164,lirr101,lirr102,True,1650
+lirr164,lirr101,lirr102,False,1200
+lirr164,lirr99,lirr102,True,1825
+lirr164,lirr99,lirr102,False,1325
+lirr164,lirr100,lirr102,True,2275
+lirr164,lirr100,lirr92,True,1000
+lirr164,lirr100,lirr102,False,1650
+lirr164,lirr100,lirr92,False,1000
+lirr164,lirr124,lirr102,True,1650
+lirr164,lirr124,lirr102,False,1200
+lirr164,lirr122,lirr102,True,1575
+lirr164,lirr122,lirr102,False,1150
+lirr164,lirr114,lirr102,True,1650
+lirr164,lirr114,lirr102,False,1200
+lirr164,lirr117,lirr102,True,2125
+lirr164,lirr117,lirr102,False,1550
+lirr164,lirr120,lirr214,True,2050
+lirr164,lirr120,lirr214,False,1500
+lirr164,lirr119,lirr102,True,1575
+lirr164,lirr119,lirr102,False,1150
+lirr164,lirr123,lirr132,True,900
+lirr164,lirr123,lirr132,False,900
+lirr164,lirr113,lirr102,True,1825
+lirr164,lirr113,lirr102,False,1325
+lirr164,lirr125,lirr102,True,1650
+lirr164,lirr125,lirr102,False,1200
+lirr164,lirr142,lirr102,True,1650
+lirr164,lirr142,lirr102,False,1200
+lirr164,lirr131,lirr214,True,2225
+lirr164,lirr131,lirr214,False,1625
+lirr164,lirr136,lirr102,True,1825
+lirr164,lirr136,lirr102,False,1325
+lirr164,lirr135,lirr102,True,1825
+lirr164,lirr135,lirr102,False,1325
+lirr164,lirr140,lirr102,True,2800
+lirr164,lirr140,lirr92,True,1350
+lirr164,lirr140,lirr102,False,2025
+lirr164,lirr140,lirr92,False,1350
+lirr164,lirr126,lirr92,True,2025
+lirr164,lirr126,lirr92,False,2025
+lirr164,lirr129,lirr92,True,1000
+lirr164,lirr129,lirr92,False,1000
+lirr164,lirr226,lirr102,True,1825
+lirr164,lirr226,lirr102,False,1325
+lirr164,lirr141,lirr102,True,3475
+lirr164,lirr141,lirr92,True,2025
+lirr164,lirr141,lirr102,False,2525
+lirr164,lirr141,lirr92,False,2025
+lirr164,lirr130,lirr214,True,2050
+lirr164,lirr130,lirr214,False,1500
+lirr164,lirr149,lirr102,True,1650
+lirr164,lirr149,lirr63,True,825
+lirr164,lirr149,lirr102,False,1200
+lirr164,lirr149,lirr63,False,825
+lirr164,lirr157,lirr102,True,2275
+lirr164,lirr157,lirr92,True,1000
+lirr164,lirr157,lirr102,False,1650
+lirr164,lirr157,lirr92,False,1000
+lirr164,lirr155,lirr102,True,1825
+lirr164,lirr155,lirr102,False,1325
+lirr164,lirr154,lirr132,True,900
+lirr164,lirr154,lirr132,False,900
+lirr164,lirr163,lirr102,True,2275
+lirr164,lirr163,lirr92,True,1000
+lirr164,lirr163,lirr102,False,1650
+lirr164,lirr163,lirr92,False,1000
+lirr164,lirr165,lirr92,True,650
+lirr164,lirr165,lirr92,False,650
+lirr164,lirr162,lirr214,True,2225
+lirr164,lirr162,lirr214,False,1625
+lirr164,lirr171,lirr214,True,2225
+lirr164,lirr171,lirr214,False,1625
+lirr164,lirr175,lirr102,True,1575
+lirr164,lirr175,lirr102,False,1150
+lirr164,lirr176,lirr92,True,2025
+lirr164,lirr176,lirr92,False,2025
+lirr164,lirr183,lirr102,True,1825
+lirr164,lirr183,lirr102,False,1325
+lirr164,lirr179,lirr92,True,1000
+lirr164,lirr179,lirr92,False,1000
+lirr164,lirr180,lirr102,True,1575
+lirr164,lirr180,lirr102,False,1150
+lirr164,lirr182,lirr132,True,900
+lirr164,lirr182,lirr132,False,900
+lirr164,lirr204,lirr102,True,2275
+lirr164,lirr204,lirr92,True,1000
+lirr164,lirr204,lirr102,False,1650
+lirr164,lirr204,lirr92,False,1000
+lirr164,lirr185,lirr132,True,900
+lirr164,lirr185,lirr132,False,900
+lirr164,lirr187,lirr102,True,1825
+lirr164,lirr187,lirr102,False,1325
+lirr164,lirr191,lirr102,True,3475
+lirr164,lirr191,lirr92,True,2025
+lirr164,lirr191,lirr102,False,2525
+lirr164,lirr191,lirr92,False,2025
+lirr164,lirr190,lirr92,True,2025
+lirr164,lirr190,lirr92,False,2025
+lirr164,lirr198,lirr102,True,2800
+lirr164,lirr198,lirr92,True,1350
+lirr164,lirr198,lirr102,False,2025
+lirr164,lirr198,lirr92,False,1350
+lirr164,lirr184,lirr102,True,1575
+lirr164,lirr184,lirr102,False,1150
+lirr164,lirr195,lirr102,True,1650
+lirr164,lirr195,lirr63,True,825
+lirr164,lirr195,lirr102,False,1200
+lirr164,lirr195,lirr63,False,825
+lirr164,lirr211,lirr102,True,1650
+lirr164,lirr211,lirr102,False,1200
+lirr164,lirr215,lirr102,True,1825
+lirr164,lirr215,lirr102,False,1325
+lirr164,lirr216,lirr102,True,1650
+lirr164,lirr216,lirr102,False,1200
+lirr164,lirr233,lirr102,True,3475
+lirr164,lirr233,lirr92,True,2025
+lirr164,lirr233,lirr102,False,2525
+lirr164,lirr233,lirr92,False,2025
+lirr164,lirr219,lirr102,True,1650
+lirr164,lirr219,lirr102,False,1200
+lirr164,lirr217,lirr102,True,1650
+lirr164,lirr217,lirr102,False,1200
+lirr164,lirr220,lirr92,True,650
+lirr164,lirr220,lirr92,False,650
+lirr164,lirr223,lirr92,True,1350
+lirr164,lirr223,lirr92,False,1350
+lirr171,lirr1,lirr214,True,1725
+lirr171,lirr1,lirr214,False,1250
+lirr171,lirr4,lirr214,True,3375
+lirr171,lirr4,lirr214,False,2450
+lirr171,lirr8,lirr214,True,1975
+lirr171,lirr8,lirr214,False,1425
+lirr171,lirr27,lirr214,True,1975
+lirr171,lirr27,lirr214,False,1425
+lirr171,lirr225,lirr214,True,1725
+lirr171,lirr225,lirr214,False,1250
+lirr171,lirr26,lirr214,True,2225
+lirr171,lirr26,lirr214,False,1625
+lirr171,lirr23,lirr214,True,1475
+lirr171,lirr23,lirr214,False,1075
+lirr171,lirr16,lirr214,True,1725
+lirr171,lirr16,lirr214,False,1250
+lirr171,lirr21,lirr214,True,2700
+lirr171,lirr21,lirr214,False,1975
+lirr171,lirr20,lirr214,True,1725
+lirr171,lirr20,lirr214,False,1250
+lirr171,lirr29,lirr214,True,2225
+lirr171,lirr29,lirr214,False,1625
+lirr171,lirr13,lirr214,True,3375
+lirr171,lirr13,lirr214,False,2450
+lirr171,lirr39,lirr214,True,1725
+lirr171,lirr39,lirr214,False,1250
+lirr171,lirr32,lirr214,True,1475
+lirr171,lirr32,lirr214,False,1075
+lirr171,lirr33,lirr214,True,2225
+lirr171,lirr33,lirr214,False,1625
+lirr171,lirr31,lirr214,True,1725
+lirr171,lirr31,lirr214,False,1250
+lirr171,lirr40,lirr214,True,1975
+lirr171,lirr40,lirr214,False,1425
+lirr171,lirr38,lirr214,True,1975
+lirr171,lirr38,lirr214,False,1425
+lirr171,lirr36,lirr214,True,1475
+lirr171,lirr36,lirr214,False,1075
+lirr171,lirr44,lirr214,True,1975
+lirr171,lirr44,lirr214,False,1425
+lirr171,lirr48,lirr214,True,3375
+lirr171,lirr48,lirr214,False,2450
+lirr171,lirr51,lirr214,True,1725
+lirr171,lirr51,lirr214,False,1250
+lirr171,lirr52,lirr214,True,1475
+lirr171,lirr52,lirr214,False,1075
+lirr171,lirr65,lirr214,True,1475
+lirr171,lirr65,lirr214,False,1075
+lirr171,lirr59,lirr214,True,1725
+lirr171,lirr59,lirr214,False,1250
+lirr171,lirr63,lirr214,True,1475
+lirr171,lirr63,lirr214,False,1075
+lirr171,lirr55,lirr214,True,1300
+lirr171,lirr55,lirr214,False,950
+lirr171,lirr64,lirr214,True,1725
+lirr171,lirr64,lirr214,False,1250
+lirr171,lirr68,lirr214,True,1475
+lirr171,lirr68,lirr214,False,1075
+lirr171,lirr66,lirr214,True,1475
+lirr171,lirr66,lirr214,False,1075
+lirr171,lirr67,lirr214,True,1725
+lirr171,lirr67,lirr214,False,1250
+lirr171,lirr71,lirr214,True,1725
+lirr171,lirr71,lirr214,False,1250
+lirr171,lirr76,lirr214,True,1725
+lirr171,lirr76,lirr214,False,1250
+lirr171,lirr74,lirr214,True,2225
+lirr171,lirr74,lirr214,False,1625
+lirr171,lirr78,lirr214,True,1975
+lirr171,lirr78,lirr214,False,1425
+lirr171,lirr73,lirr214,True,3375
+lirr171,lirr73,lirr214,False,2450
+lirr171,lirr77,lirr214,True,1725
+lirr171,lirr77,lirr214,False,1250
+lirr171,lirr83,lirr214,True,3375
+lirr171,lirr83,lirr214,False,2450
+lirr171,lirr84,lirr214,True,1475
+lirr171,lirr84,lirr214,False,1075
+lirr171,lirr85,lirr214,True,1475
+lirr171,lirr85,lirr214,False,1075
+lirr171,lirr94,lirr214,True,1475
+lirr171,lirr94,lirr214,False,1075
+lirr171,lirr92,lirr214,True,1725
+lirr171,lirr92,lirr214,False,1250
+lirr171,lirr89,lirr214,True,1350
+lirr171,lirr89,lirr214,False,975
+lirr171,lirr91,lirr214,True,1975
+lirr171,lirr91,lirr214,False,1425
+lirr171,lirr101,lirr214,True,1475
+lirr171,lirr101,lirr214,False,1075
+lirr171,lirr99,lirr214,True,1725
+lirr171,lirr99,lirr214,False,1250
+lirr171,lirr100,lirr214,True,2225
+lirr171,lirr100,lirr214,False,1625
+lirr171,lirr102,lirr214,True,1350
+lirr171,lirr102,lirr214,False,975
+lirr171,lirr107,lirr214,True,1300
+lirr171,lirr107,lirr214,False,950
+lirr171,lirr111,lirr214,True,2225
+lirr171,lirr111,lirr214,False,1625
+lirr171,lirr124,lirr214,True,1475
+lirr171,lirr124,lirr214,False,1075
+lirr171,lirr122,lirr214,True,1350
+lirr171,lirr122,lirr214,False,975
+lirr171,lirr114,lirr214,True,1475
+lirr171,lirr114,lirr214,False,1075
+lirr171,lirr117,lirr214,True,1975
+lirr171,lirr117,lirr214,False,1425
+lirr171,lirr119,lirr214,True,1350
+lirr171,lirr119,lirr214,False,975
+lirr171,lirr123,lirr214,True,1725
+lirr171,lirr123,lirr214,False,1250
+lirr171,lirr113,lirr214,True,1725
+lirr171,lirr113,lirr214,False,1250
+lirr171,lirr125,lirr214,True,1475
+lirr171,lirr125,lirr214,False,1075
+lirr171,lirr142,lirr214,True,1475
+lirr171,lirr142,lirr214,False,1075
+lirr171,lirr136,lirr214,True,1725
+lirr171,lirr136,lirr214,False,1250
+lirr171,lirr135,lirr214,True,1725
+lirr171,lirr135,lirr214,False,1250
+lirr171,lirr140,lirr214,True,2700
+lirr171,lirr140,lirr214,False,1975
+lirr171,lirr126,lirr214,True,3375
+lirr171,lirr126,lirr214,False,2450
+lirr171,lirr129,lirr214,True,2225
+lirr171,lirr129,lirr214,False,1625
+lirr171,lirr127,lirr214,True,1475
+lirr171,lirr127,lirr214,False,1075
+lirr171,lirr226,lirr214,True,1725
+lirr171,lirr226,lirr214,False,1250
+lirr171,lirr132,lirr214,True,1475
+lirr171,lirr132,lirr214,False,1075
+lirr171,lirr141,lirr214,True,3375
+lirr171,lirr141,lirr214,False,2450
+lirr171,lirr149,lirr214,True,1475
+lirr171,lirr149,lirr214,False,1075
+lirr171,lirr152,lirr214,True,1475
+lirr171,lirr152,lirr214,False,1075
+lirr171,lirr153,lirr214,True,1975
+lirr171,lirr153,lirr214,False,1425
+lirr171,lirr157,lirr214,True,2225
+lirr171,lirr157,lirr214,False,1625
+lirr171,lirr155,lirr214,True,1725
+lirr171,lirr155,lirr214,False,1250
+lirr171,lirr154,lirr214,True,1725
+lirr171,lirr154,lirr214,False,1250
+lirr171,lirr163,lirr214,True,2225
+lirr171,lirr163,lirr214,False,1625
+lirr171,lirr165,lirr214,True,1975
+lirr171,lirr165,lirr214,False,1425
+lirr171,lirr164,lirr214,True,2225
+lirr171,lirr164,lirr214,False,1625
+lirr171,lirr175,lirr214,True,1350
+lirr171,lirr175,lirr214,False,975
+lirr171,lirr176,lirr214,True,3375
+lirr171,lirr176,lirr214,False,2450
+lirr171,lirr183,lirr214,True,1725
+lirr171,lirr183,lirr214,False,1250
+lirr171,lirr179,lirr214,True,2225
+lirr171,lirr179,lirr214,False,1625
+lirr171,lirr180,lirr214,True,1350
+lirr171,lirr180,lirr214,False,975
+lirr171,lirr182,lirr214,True,1725
+lirr171,lirr182,lirr214,False,1250
+lirr171,lirr204,lirr214,True,2225
+lirr171,lirr204,lirr214,False,1625
+lirr171,lirr185,lirr214,True,1725
+lirr171,lirr185,lirr214,False,1250
+lirr171,lirr187,lirr214,True,1725
+lirr171,lirr187,lirr214,False,1250
+lirr171,lirr202,lirr214,True,2225
+lirr171,lirr202,lirr214,False,1625
+lirr171,lirr191,lirr214,True,3375
+lirr171,lirr191,lirr214,False,2450
+lirr171,lirr190,lirr214,True,3375
+lirr171,lirr190,lirr214,False,2450
+lirr171,lirr198,lirr214,True,2700
+lirr171,lirr198,lirr214,False,1975
+lirr171,lirr184,lirr214,True,1350
+lirr171,lirr184,lirr214,False,975
+lirr171,lirr193,lirr214,True,2225
+lirr171,lirr193,lirr214,False,1625
+lirr171,lirr195,lirr214,True,1475
+lirr171,lirr195,lirr214,False,1075
+lirr171,lirr14,lirr214,True,2225
+lirr171,lirr14,lirr214,False,1625
+lirr171,lirr205,lirr214,True,1725
+lirr171,lirr205,lirr214,False,1250
+lirr171,lirr211,lirr214,True,1475
+lirr171,lirr211,lirr214,False,1075
+lirr171,lirr215,lirr214,True,1725
+lirr171,lirr215,lirr214,False,1250
+lirr171,lirr216,lirr214,True,1475
+lirr171,lirr216,lirr214,False,1075
+lirr171,lirr213,lirr214,True,1725
+lirr171,lirr213,lirr214,False,1250
+lirr171,lirr233,lirr214,True,3375
+lirr171,lirr233,lirr214,False,2450
+lirr171,lirr219,lirr214,True,1475
+lirr171,lirr219,lirr214,False,1075
+lirr171,lirr217,lirr214,True,1475
+lirr171,lirr217,lirr214,False,1075
+lirr171,lirr220,lirr214,True,1975
+lirr171,lirr220,lirr214,False,1425
+lirr171,lirr223,lirr214,True,2700
+lirr171,lirr223,lirr214,False,1975
+lirr175,lirr1,lirr102,True,1050
+lirr175,lirr1,lirr102,False,775
+lirr175,lirr4,lirr102,True,2700
+lirr175,lirr4,lirr102,False,1975
+lirr175,lirr8,lirr102,True,1300
+lirr175,lirr8,lirr102,False,950
+lirr175,lirr2,lirr214,True,1200
+lirr175,lirr2,lirr214,False,875
+lirr175,lirr27,lirr102,True,1300
+lirr175,lirr27,lirr102,False,950
+lirr175,lirr225,lirr102,True,1050
+lirr175,lirr225,lirr102,False,775
+lirr175,lirr26,lirr102,True,1575
+lirr175,lirr26,lirr102,False,1150
+lirr175,lirr25,lirr214,True,1200
+lirr175,lirr25,lirr214,False,875
+lirr175,lirr16,lirr102,True,1050
+lirr175,lirr16,lirr102,False,775
+lirr175,lirr21,lirr102,True,2050
+lirr175,lirr21,lirr102,False,1500
+lirr175,lirr20,lirr102,True,1050
+lirr175,lirr20,lirr102,False,775
+lirr175,lirr29,lirr102,True,1575
+lirr175,lirr29,lirr102,False,1150
+lirr175,lirr13,lirr102,True,2700
+lirr175,lirr13,lirr102,False,1975
+lirr175,lirr11,lirr214,True,1200
+lirr175,lirr11,lirr214,False,875
+lirr175,lirr39,lirr102,True,1050
+lirr175,lirr39,lirr102,False,775
+lirr175,lirr32,lirr102,True,900
+lirr175,lirr32,lirr102,False,650
+lirr175,lirr33,lirr102,True,1575
+lirr175,lirr33,lirr102,False,1150
+lirr175,lirr31,lirr102,True,1050
+lirr175,lirr31,lirr102,False,775
+lirr175,lirr40,lirr102,True,1300
+lirr175,lirr40,lirr102,False,950
+lirr175,lirr38,lirr102,True,1300
+lirr175,lirr38,lirr102,False,950
+lirr175,lirr44,lirr102,True,1300
+lirr175,lirr44,lirr102,False,950
+lirr175,lirr42,lirr214,True,1200
+lirr175,lirr42,lirr214,False,875
+lirr175,lirr48,lirr102,True,2700
+lirr175,lirr48,lirr102,False,1975
+lirr175,lirr51,lirr102,True,1050
+lirr175,lirr51,lirr102,False,775
+lirr175,lirr52,lirr102,True,900
+lirr175,lirr52,lirr102,False,650
+lirr175,lirr65,lirr102,True,900
+lirr175,lirr65,lirr102,False,650
+lirr175,lirr59,lirr102,True,1050
+lirr175,lirr59,lirr102,False,775
+lirr175,lirr56,lirr214,True,1200
+lirr175,lirr56,lirr214,False,875
+lirr175,lirr64,lirr102,True,1050
+lirr175,lirr64,lirr102,False,775
+lirr175,lirr66,lirr102,True,900
+lirr175,lirr66,lirr102,False,650
+lirr175,lirr67,lirr102,True,1050
+lirr175,lirr67,lirr102,False,775
+lirr175,lirr71,lirr102,True,1050
+lirr175,lirr71,lirr102,False,775
+lirr175,lirr76,lirr102,True,1050
+lirr175,lirr76,lirr102,False,775
+lirr175,lirr72,lirr214,True,1350
+lirr175,lirr72,lirr214,False,975
+lirr175,lirr74,lirr102,True,1575
+lirr175,lirr74,lirr102,False,1150
+lirr175,lirr78,lirr102,True,1300
+lirr175,lirr78,lirr102,False,950
+lirr175,lirr73,lirr102,True,2700
+lirr175,lirr73,lirr102,False,1975
+lirr175,lirr77,lirr102,True,1050
+lirr175,lirr77,lirr102,False,775
+lirr175,lirr83,lirr102,True,2700
+lirr175,lirr83,lirr102,False,1975
+lirr175,lirr85,lirr102,True,900
+lirr175,lirr85,lirr102,False,650
+lirr175,lirr94,lirr102,True,900
+lirr175,lirr94,lirr102,False,650
+lirr175,lirr92,lirr102,True,1050
+lirr175,lirr92,lirr102,False,775
+lirr175,lirr91,lirr102,True,1300
+lirr175,lirr91,lirr102,False,950
+lirr175,lirr101,lirr102,True,900
+lirr175,lirr101,lirr102,False,650
+lirr175,lirr99,lirr102,True,1050
+lirr175,lirr99,lirr102,False,775
+lirr175,lirr100,lirr102,True,1575
+lirr175,lirr100,lirr102,False,1150
+lirr175,lirr111,lirr102,True,1575
+lirr175,lirr111,lirr102,False,1150
+lirr175,lirr124,lirr102,True,900
+lirr175,lirr124,lirr102,False,650
+lirr175,lirr122,lirr102,True,500
+lirr175,lirr122,lirr102,False,400
+lirr175,lirr114,lirr102,True,900
+lirr175,lirr114,lirr102,False,650
+lirr175,lirr117,lirr102,True,1300
+lirr175,lirr117,lirr102,False,950
+lirr175,lirr120,lirr214,True,1200
+lirr175,lirr120,lirr214,False,875
+lirr175,lirr119,lirr102,True,500
+lirr175,lirr119,lirr102,False,400
+lirr175,lirr123,lirr102,True,1050
+lirr175,lirr123,lirr102,False,775
+lirr175,lirr113,lirr102,True,1050
+lirr175,lirr113,lirr102,False,775
+lirr175,lirr125,lirr102,True,900
+lirr175,lirr125,lirr102,False,650
+lirr175,lirr142,lirr102,True,900
+lirr175,lirr142,lirr102,False,650
+lirr175,lirr131,lirr214,True,1350
+lirr175,lirr131,lirr214,False,975
+lirr175,lirr136,lirr102,True,1050
+lirr175,lirr136,lirr102,False,775
+lirr175,lirr135,lirr102,True,1050
+lirr175,lirr135,lirr102,False,775
+lirr175,lirr140,lirr102,True,2050
+lirr175,lirr140,lirr102,False,1500
+lirr175,lirr126,lirr102,True,2700
+lirr175,lirr126,lirr102,False,1975
+lirr175,lirr129,lirr102,True,1575
+lirr175,lirr129,lirr102,False,1150
+lirr175,lirr127,lirr102,True,900
+lirr175,lirr127,lirr102,False,650
+lirr175,lirr226,lirr102,True,1050
+lirr175,lirr226,lirr102,False,775
+lirr175,lirr132,lirr102,True,900
+lirr175,lirr132,lirr102,False,650
+lirr175,lirr141,lirr102,True,2700
+lirr175,lirr141,lirr102,False,1975
+lirr175,lirr130,lirr214,True,1200
+lirr175,lirr130,lirr214,False,875
+lirr175,lirr152,lirr102,True,900
+lirr175,lirr152,lirr102,False,650
+lirr175,lirr153,lirr102,True,1300
+lirr175,lirr153,lirr102,False,950
+lirr175,lirr157,lirr102,True,1575
+lirr175,lirr157,lirr102,False,1150
+lirr175,lirr155,lirr102,True,1050
+lirr175,lirr155,lirr102,False,775
+lirr175,lirr154,lirr102,True,1050
+lirr175,lirr154,lirr102,False,775
+lirr175,lirr163,lirr102,True,1575
+lirr175,lirr163,lirr102,False,1150
+lirr175,lirr165,lirr102,True,1300
+lirr175,lirr165,lirr102,False,950
+lirr175,lirr162,lirr214,True,1350
+lirr175,lirr162,lirr214,False,975
+lirr175,lirr164,lirr102,True,1575
+lirr175,lirr164,lirr102,False,1150
+lirr175,lirr171,lirr214,True,1350
+lirr175,lirr171,lirr214,False,975
+lirr175,lirr176,lirr102,True,2700
+lirr175,lirr176,lirr102,False,1975
+lirr175,lirr183,lirr102,True,1050
+lirr175,lirr183,lirr102,False,775
+lirr175,lirr179,lirr102,True,1575
+lirr175,lirr179,lirr102,False,1150
+lirr175,lirr180,lirr102,True,500
+lirr175,lirr180,lirr102,False,400
+lirr175,lirr182,lirr102,True,1050
+lirr175,lirr182,lirr102,False,775
+lirr175,lirr204,lirr102,True,1575
+lirr175,lirr204,lirr102,False,1150
+lirr175,lirr185,lirr102,True,1050
+lirr175,lirr185,lirr102,False,775
+lirr175,lirr187,lirr102,True,1050
+lirr175,lirr187,lirr102,False,775
+lirr175,lirr202,lirr102,True,1575
+lirr175,lirr202,lirr102,False,1150
+lirr175,lirr191,lirr102,True,2700
+lirr175,lirr191,lirr102,False,1975
+lirr175,lirr190,lirr102,True,2700
+lirr175,lirr190,lirr102,False,1975
+lirr175,lirr198,lirr102,True,2050
+lirr175,lirr198,lirr102,False,1500
+lirr175,lirr184,lirr102,True,500
+lirr175,lirr184,lirr102,False,400
+lirr175,lirr193,lirr102,True,1575
+lirr175,lirr193,lirr102,False,1150
+lirr175,lirr14,lirr102,True,1575
+lirr175,lirr14,lirr102,False,1150
+lirr175,lirr205,lirr102,True,1050
+lirr175,lirr205,lirr102,False,775
+lirr175,lirr211,lirr102,True,900
+lirr175,lirr211,lirr102,False,650
+lirr175,lirr215,lirr102,True,1050
+lirr175,lirr215,lirr102,False,775
+lirr175,lirr216,lirr102,True,900
+lirr175,lirr216,lirr102,False,650
+lirr175,lirr213,lirr102,True,1050
+lirr175,lirr213,lirr102,False,775
+lirr175,lirr233,lirr102,True,2700
+lirr175,lirr233,lirr102,False,1975
+lirr175,lirr219,lirr102,True,900
+lirr175,lirr219,lirr102,False,650
+lirr175,lirr217,lirr102,True,900
+lirr175,lirr217,lirr102,False,650
+lirr175,lirr220,lirr102,True,1300
+lirr175,lirr220,lirr102,False,950
+lirr175,lirr223,lirr102,True,2050
+lirr175,lirr223,lirr102,False,1500
+lirr176,lirr1,lirr132,True,1875
+lirr176,lirr1,lirr132,False,1875
+lirr176,lirr4,lirr102,True,4350
+lirr176,lirr4,lirr92,True,2800
+lirr176,lirr4,lirr102,False,3175
+lirr176,lirr4,lirr92,False,2800
+lirr176,lirr8,lirr102,True,3275
+lirr176,lirr8,lirr102,False,2375
+lirr176,lirr2,lirr214,True,3200
+lirr176,lirr2,lirr214,False,2325
+lirr176,lirr27,lirr102,True,3275
+lirr176,lirr27,lirr92,True,1775
+lirr176,lirr27,lirr102,False,2375
+lirr176,lirr27,lirr92,False,1775
+lirr176,lirr225,lirr102,True,2975
+lirr176,lirr225,lirr102,False,2175
+lirr176,lirr26,lirr102,True,3475
+lirr176,lirr26,lirr92,True,2025
+lirr176,lirr26,lirr102,False,2525
+lirr176,lirr26,lirr92,False,2025
+lirr176,lirr25,lirr214,True,3200
+lirr176,lirr25,lirr214,False,2325
+lirr176,lirr23,lirr102,True,2775
+lirr176,lirr23,lirr102,False,2025
+lirr176,lirr16,lirr102,True,2975
+lirr176,lirr16,lirr102,False,2175
+lirr176,lirr21,lirr102,True,4000
+lirr176,lirr21,lirr92,True,2450
+lirr176,lirr21,lirr102,False,2900
+lirr176,lirr21,lirr92,False,2450
+lirr176,lirr13,lirr102,True,4350
+lirr176,lirr13,lirr92,True,2800
+lirr176,lirr13,lirr102,False,3175
+lirr176,lirr13,lirr92,False,2800
+lirr176,lirr11,lirr214,True,3200
+lirr176,lirr11,lirr214,False,2325
+lirr176,lirr32,lirr102,True,2775
+lirr176,lirr32,lirr102,False,2025
+lirr176,lirr31,lirr102,True,2975
+lirr176,lirr31,lirr102,False,2175
+lirr176,lirr40,lirr92,True,1775
+lirr176,lirr40,lirr92,False,1775
+lirr176,lirr38,lirr102,True,3275
+lirr176,lirr38,lirr102,False,2375
+lirr176,lirr36,lirr102,True,2775
+lirr176,lirr36,lirr63,True,1850
+lirr176,lirr36,lirr102,False,2025
+lirr176,lirr36,lirr63,False,1850
+lirr176,lirr42,lirr214,True,3200
+lirr176,lirr42,lirr214,False,2325
+lirr176,lirr48,lirr102,True,4350
+lirr176,lirr48,lirr92,True,2800
+lirr176,lirr48,lirr102,False,3175
+lirr176,lirr48,lirr92,False,2800
+lirr176,lirr51,lirr102,True,2975
+lirr176,lirr51,lirr102,False,2175
+lirr176,lirr52,lirr132,True,1850
+lirr176,lirr52,lirr132,False,1850
+lirr176,lirr65,lirr102,True,2775
+lirr176,lirr65,lirr102,False,2025
+lirr176,lirr63,lirr102,True,2775
+lirr176,lirr63,lirr102,False,2025
+lirr176,lirr56,lirr214,True,3200
+lirr176,lirr56,lirr214,False,2325
+lirr176,lirr64,lirr102,True,2975
+lirr176,lirr64,lirr102,False,2175
+lirr176,lirr68,lirr102,True,2775
+lirr176,lirr68,lirr63,True,1850
+lirr176,lirr68,lirr102,False,2025
+lirr176,lirr68,lirr63,False,1850
+lirr176,lirr66,lirr102,True,2775
+lirr176,lirr66,lirr102,False,2025
+lirr176,lirr67,lirr132,True,1875
+lirr176,lirr67,lirr132,False,1875
+lirr176,lirr71,lirr132,True,1875
+lirr176,lirr71,lirr132,False,1875
+lirr176,lirr76,lirr132,True,1875
+lirr176,lirr76,lirr132,False,1875
+lirr176,lirr72,lirr214,True,3375
+lirr176,lirr72,lirr214,False,2450
+lirr176,lirr74,lirr102,True,3475
+lirr176,lirr74,lirr92,True,2025
+lirr176,lirr74,lirr102,False,2525
+lirr176,lirr74,lirr92,False,2025
+lirr176,lirr78,lirr92,True,1775
+lirr176,lirr78,lirr92,False,1775
+lirr176,lirr77,lirr132,True,1875
+lirr176,lirr77,lirr132,False,1875
+lirr176,lirr83,lirr102,True,4350
+lirr176,lirr83,lirr92,True,2800
+lirr176,lirr83,lirr102,False,3175
+lirr176,lirr83,lirr92,False,2800
+lirr176,lirr84,lirr102,True,2775
+lirr176,lirr84,lirr63,True,1850
+lirr176,lirr84,lirr102,False,2025
+lirr176,lirr84,lirr63,False,1850
+lirr176,lirr85,lirr102,True,2775
+lirr176,lirr85,lirr102,False,2025
+lirr176,lirr94,lirr102,True,2775
+lirr176,lirr94,lirr102,False,2025
+lirr176,lirr89,lirr102,True,2700
+lirr176,lirr89,lirr102,False,1975
+lirr176,lirr91,lirr92,True,1775
+lirr176,lirr91,lirr92,False,1775
+lirr176,lirr101,lirr102,True,2775
+lirr176,lirr101,lirr102,False,2025
+lirr176,lirr99,lirr102,True,2975
+lirr176,lirr99,lirr102,False,2175
+lirr176,lirr100,lirr102,True,3475
+lirr176,lirr100,lirr92,True,2025
+lirr176,lirr100,lirr102,False,2525
+lirr176,lirr100,lirr92,False,2025
+lirr176,lirr111,lirr92,True,2025
+lirr176,lirr111,lirr92,False,2025
+lirr176,lirr124,lirr102,True,2775
+lirr176,lirr124,lirr102,False,2025
+lirr176,lirr122,lirr102,True,2700
+lirr176,lirr122,lirr102,False,1975
+lirr176,lirr114,lirr102,True,2775
+lirr176,lirr114,lirr102,False,2025
+lirr176,lirr117,lirr102,True,3275
+lirr176,lirr117,lirr102,False,2375
+lirr176,lirr120,lirr214,True,3200
+lirr176,lirr120,lirr214,False,2325
+lirr176,lirr119,lirr102,True,2700
+lirr176,lirr119,lirr102,False,1975
+lirr176,lirr123,lirr132,True,1875
+lirr176,lirr123,lirr132,False,1875
+lirr176,lirr113,lirr102,True,2975
+lirr176,lirr113,lirr102,False,2175
+lirr176,lirr125,lirr102,True,2775
+lirr176,lirr125,lirr102,False,2025
+lirr176,lirr142,lirr102,True,2775
+lirr176,lirr142,lirr102,False,2025
+lirr176,lirr131,lirr214,True,3375
+lirr176,lirr131,lirr214,False,2450
+lirr176,lirr136,lirr102,True,2975
+lirr176,lirr136,lirr102,False,2175
+lirr176,lirr135,lirr102,True,2975
+lirr176,lirr135,lirr102,False,2175
+lirr176,lirr140,lirr102,True,4000
+lirr176,lirr140,lirr92,True,2450
+lirr176,lirr140,lirr102,False,2900
+lirr176,lirr140,lirr92,False,2450
+lirr176,lirr226,lirr102,True,2975
+lirr176,lirr226,lirr102,False,2175
+lirr176,lirr141,lirr102,True,4350
+lirr176,lirr141,lirr92,True,2800
+lirr176,lirr141,lirr102,False,3175
+lirr176,lirr141,lirr92,False,2800
+lirr176,lirr130,lirr214,True,3200
+lirr176,lirr130,lirr214,False,2325
+lirr176,lirr149,lirr102,True,2775
+lirr176,lirr149,lirr63,True,1850
+lirr176,lirr149,lirr102,False,2025
+lirr176,lirr149,lirr63,False,1850
+lirr176,lirr153,lirr92,True,1775
+lirr176,lirr153,lirr92,False,1775
+lirr176,lirr157,lirr102,True,3475
+lirr176,lirr157,lirr92,True,2025
+lirr176,lirr157,lirr102,False,2525
+lirr176,lirr157,lirr92,False,2025
+lirr176,lirr155,lirr102,True,2975
+lirr176,lirr155,lirr102,False,2175
+lirr176,lirr154,lirr132,True,1875
+lirr176,lirr154,lirr132,False,1875
+lirr176,lirr163,lirr102,True,3475
+lirr176,lirr163,lirr92,True,2025
+lirr176,lirr163,lirr102,False,2525
+lirr176,lirr163,lirr92,False,2025
+lirr176,lirr162,lirr214,True,3375
+lirr176,lirr162,lirr214,False,2450
+lirr176,lirr164,lirr92,True,2025
+lirr176,lirr164,lirr92,False,2025
+lirr176,lirr171,lirr214,True,3375
+lirr176,lirr171,lirr214,False,2450
+lirr176,lirr175,lirr102,True,2700
+lirr176,lirr175,lirr102,False,1975
+lirr176,lirr183,lirr102,True,2975
+lirr176,lirr183,lirr102,False,2175
+lirr176,lirr180,lirr102,True,2700
+lirr176,lirr180,lirr102,False,1975
+lirr176,lirr182,lirr132,True,1875
+lirr176,lirr182,lirr132,False,1875
+lirr176,lirr204,lirr102,True,3475
+lirr176,lirr204,lirr92,True,2025
+lirr176,lirr204,lirr102,False,2525
+lirr176,lirr204,lirr92,False,2025
+lirr176,lirr185,lirr132,True,1875
+lirr176,lirr185,lirr132,False,1875
+lirr176,lirr187,lirr102,True,2975
+lirr176,lirr187,lirr102,False,2175
+lirr176,lirr202,lirr92,True,2025
+lirr176,lirr202,lirr92,False,2025
+lirr176,lirr191,lirr102,True,4350
+lirr176,lirr191,lirr92,True,2800
+lirr176,lirr191,lirr102,False,3175
+lirr176,lirr191,lirr92,False,2800
+lirr176,lirr198,lirr102,True,4000
+lirr176,lirr198,lirr92,True,2450
+lirr176,lirr198,lirr102,False,2900
+lirr176,lirr198,lirr92,False,2450
+lirr176,lirr184,lirr102,True,2700
+lirr176,lirr184,lirr102,False,1975
+lirr176,lirr193,lirr92,True,2025
+lirr176,lirr193,lirr92,False,2025
+lirr176,lirr195,lirr102,True,2775
+lirr176,lirr195,lirr63,True,1850
+lirr176,lirr195,lirr102,False,2025
+lirr176,lirr195,lirr63,False,1850
+lirr176,lirr14,lirr92,True,2025
+lirr176,lirr14,lirr92,False,2025
+lirr176,lirr205,lirr92,True,1725
+lirr176,lirr205,lirr92,False,1725
+lirr176,lirr211,lirr102,True,2775
+lirr176,lirr211,lirr102,False,2025
+lirr176,lirr215,lirr102,True,2975
+lirr176,lirr215,lirr102,False,2175
+lirr176,lirr216,lirr102,True,2775
+lirr176,lirr216,lirr102,False,2025
+lirr176,lirr233,lirr102,True,4350
+lirr176,lirr233,lirr92,True,2800
+lirr176,lirr233,lirr102,False,3175
+lirr176,lirr233,lirr92,False,2800
+lirr176,lirr219,lirr102,True,2775
+lirr176,lirr219,lirr102,False,2025
+lirr176,lirr217,lirr102,True,2775
+lirr176,lirr217,lirr102,False,2025
+lirr183,lirr1,lirr102,True,1225
+lirr183,lirr1,lirr102,False,900
+lirr183,lirr2,lirr214,True,1575
+lirr183,lirr2,lirr214,False,1150
+lirr183,lirr25,lirr214,True,1575
+lirr183,lirr25,lirr214,False,1150
+lirr183,lirr23,lirr102,True,1100
+lirr183,lirr23,lirr102,False,800
+lirr183,lirr20,lirr102,True,1225
+lirr183,lirr20,lirr102,False,900
+lirr183,lirr29,lirr102,True,1825
+lirr183,lirr29,lirr102,False,1325
+lirr183,lirr11,lirr214,True,1575
+lirr183,lirr11,lirr214,False,1150
+lirr183,lirr39,lirr102,True,1225
+lirr183,lirr39,lirr102,False,900
+lirr183,lirr32,lirr102,True,1100
+lirr183,lirr32,lirr211,True,425
+lirr183,lirr32,lirr102,False,800
+lirr183,lirr32,lirr211,False,425
+lirr183,lirr33,lirr102,True,1825
+lirr183,lirr33,lirr102,False,1325
+lirr183,lirr31,lirr102,True,1225
+lirr183,lirr31,lirr125,True,450
+lirr183,lirr31,lirr102,False,900
+lirr183,lirr31,lirr125,False,450
+lirr183,lirr40,lirr102,True,1575
+lirr183,lirr40,lirr102,False,1150
+lirr183,lirr36,lirr102,True,1100
+lirr183,lirr36,lirr102,False,800
+lirr183,lirr44,lirr102,True,1575
+lirr183,lirr44,lirr102,False,1150
+lirr183,lirr42,lirr214,True,1575
+lirr183,lirr42,lirr214,False,1150
+lirr183,lirr51,lirr102,True,1225
+lirr183,lirr51,lirr125,True,450
+lirr183,lirr51,lirr102,False,900
+lirr183,lirr51,lirr125,False,450
+lirr183,lirr52,lirr102,True,1100
+lirr183,lirr52,lirr102,False,800
+lirr183,lirr65,lirr102,True,1100
+lirr183,lirr65,lirr211,True,425
+lirr183,lirr65,lirr102,False,800
+lirr183,lirr65,lirr211,False,425
+lirr183,lirr59,lirr102,True,1225
+lirr183,lirr59,lirr102,False,900
+lirr183,lirr63,lirr102,True,1100
+lirr183,lirr63,lirr102,False,800
+lirr183,lirr56,lirr214,True,1575
+lirr183,lirr56,lirr214,False,1150
+lirr183,lirr68,lirr102,True,1100
+lirr183,lirr68,lirr102,False,800
+lirr183,lirr66,lirr102,True,1100
+lirr183,lirr66,lirr211,True,425
+lirr183,lirr66,lirr102,False,800
+lirr183,lirr66,lirr211,False,425
+lirr183,lirr67,lirr102,True,1225
+lirr183,lirr67,lirr102,False,900
+lirr183,lirr71,lirr102,True,1225
+lirr183,lirr71,lirr102,False,900
+lirr183,lirr76,lirr102,True,1225
+lirr183,lirr76,lirr102,False,900
+lirr183,lirr72,lirr214,True,1725
+lirr183,lirr72,lirr214,False,1250
+lirr183,lirr78,lirr102,True,1575
+lirr183,lirr78,lirr102,False,1150
+lirr183,lirr73,lirr102,True,2975
+lirr183,lirr73,lirr102,False,2175
+lirr183,lirr77,lirr102,True,1225
+lirr183,lirr77,lirr102,False,900
+lirr183,lirr84,lirr102,True,1100
+lirr183,lirr84,lirr102,False,800
+lirr183,lirr85,lirr102,True,1100
+lirr183,lirr85,lirr102,False,800
+lirr183,lirr94,lirr102,True,1100
+lirr183,lirr94,lirr211,True,425
+lirr183,lirr94,lirr102,False,800
+lirr183,lirr94,lirr211,False,425
+lirr183,lirr92,lirr102,True,1225
+lirr183,lirr92,lirr102,False,900
+lirr183,lirr89,lirr102,True,1050
+lirr183,lirr89,lirr102,False,775
+lirr183,lirr91,lirr102,True,1575
+lirr183,lirr91,lirr102,False,1150
+lirr183,lirr101,lirr102,True,1100
+lirr183,lirr101,lirr211,True,425
+lirr183,lirr101,lirr102,False,800
+lirr183,lirr101,lirr211,False,425
+lirr183,lirr99,lirr102,True,1225
+lirr183,lirr99,lirr125,True,450
+lirr183,lirr99,lirr102,False,900
+lirr183,lirr99,lirr125,False,450
+lirr183,lirr111,lirr102,True,1825
+lirr183,lirr111,lirr102,False,1325
+lirr183,lirr124,lirr102,True,1100
+lirr183,lirr124,lirr102,False,800
+lirr183,lirr122,lirr102,True,1050
+lirr183,lirr122,lirr102,False,775
+lirr183,lirr114,lirr102,True,1100
+lirr183,lirr114,lirr211,True,425
+lirr183,lirr114,lirr102,False,800
+lirr183,lirr114,lirr211,False,425
+lirr183,lirr120,lirr214,True,1575
+lirr183,lirr120,lirr214,False,1150
+lirr183,lirr119,lirr102,True,1050
+lirr183,lirr119,lirr102,False,775
+lirr183,lirr123,lirr102,True,1225
+lirr183,lirr123,lirr102,False,900
+lirr183,lirr113,lirr102,True,1225
+lirr183,lirr113,lirr125,True,450
+lirr183,lirr113,lirr102,False,900
+lirr183,lirr113,lirr125,False,450
+lirr183,lirr125,lirr102,True,1100
+lirr183,lirr125,lirr102,False,800
+lirr183,lirr142,lirr102,True,1100
+lirr183,lirr142,lirr102,False,800
+lirr183,lirr131,lirr214,True,1725
+lirr183,lirr131,lirr214,False,1250
+lirr183,lirr126,lirr102,True,2975
+lirr183,lirr126,lirr102,False,2175
+lirr183,lirr129,lirr102,True,1825
+lirr183,lirr129,lirr102,False,1325
+lirr183,lirr127,lirr102,True,1100
+lirr183,lirr127,lirr102,False,800
+lirr183,lirr132,lirr102,True,1100
+lirr183,lirr132,lirr102,False,800
+lirr183,lirr130,lirr214,True,1575
+lirr183,lirr130,lirr214,False,1150
+lirr183,lirr149,lirr102,True,1100
+lirr183,lirr149,lirr102,False,800
+lirr183,lirr152,lirr102,True,1100
+lirr183,lirr152,lirr102,False,800
+lirr183,lirr153,lirr102,True,1575
+lirr183,lirr153,lirr102,False,1150
+lirr183,lirr155,lirr102,True,1225
+lirr183,lirr155,lirr125,True,450
+lirr183,lirr155,lirr102,False,900
+lirr183,lirr155,lirr125,False,450
+lirr183,lirr154,lirr102,True,1225
+lirr183,lirr154,lirr102,False,900
+lirr183,lirr165,lirr102,True,1575
+lirr183,lirr165,lirr102,False,1150
+lirr183,lirr162,lirr214,True,1725
+lirr183,lirr162,lirr214,False,1250
+lirr183,lirr164,lirr102,True,1825
+lirr183,lirr164,lirr102,False,1325
+lirr183,lirr171,lirr214,True,1725
+lirr183,lirr171,lirr214,False,1250
+lirr183,lirr175,lirr102,True,1050
+lirr183,lirr175,lirr102,False,775
+lirr183,lirr176,lirr102,True,2975
+lirr183,lirr176,lirr102,False,2175
+lirr183,lirr179,lirr102,True,1825
+lirr183,lirr179,lirr102,False,1325
+lirr183,lirr180,lirr102,True,1050
+lirr183,lirr180,lirr102,False,775
+lirr183,lirr182,lirr102,True,1225
+lirr183,lirr182,lirr102,False,900
+lirr183,lirr185,lirr102,True,1225
+lirr183,lirr185,lirr102,False,900
+lirr183,lirr202,lirr102,True,1825
+lirr183,lirr202,lirr102,False,1325
+lirr183,lirr190,lirr102,True,2975
+lirr183,lirr190,lirr102,False,2175
+lirr183,lirr184,lirr102,True,1050
+lirr183,lirr184,lirr102,False,775
+lirr183,lirr193,lirr102,True,1825
+lirr183,lirr193,lirr102,False,1325
+lirr183,lirr195,lirr102,True,1100
+lirr183,lirr195,lirr102,False,800
+lirr183,lirr14,lirr102,True,1825
+lirr183,lirr14,lirr102,False,1325
+lirr183,lirr205,lirr102,True,1225
+lirr183,lirr205,lirr102,False,900
+lirr183,lirr211,lirr102,True,1100
+lirr183,lirr211,lirr102,False,800
+lirr183,lirr216,lirr102,True,1100
+lirr183,lirr216,lirr102,False,800
+lirr183,lirr213,lirr102,True,1225
+lirr183,lirr213,lirr102,False,900
+lirr183,lirr219,lirr102,True,1100
+lirr183,lirr219,lirr102,False,800
+lirr183,lirr217,lirr102,True,1100
+lirr183,lirr217,lirr211,True,425
+lirr183,lirr217,lirr102,False,800
+lirr183,lirr217,lirr211,False,425
+lirr183,lirr220,lirr102,True,1575
+lirr183,lirr220,lirr102,False,1150
+lirr183,lirr223,lirr102,True,2275
+lirr183,lirr223,lirr102,False,1650
+lirr179,lirr1,lirr132,True,900
+lirr179,lirr1,lirr132,False,900
+lirr179,lirr4,lirr102,True,3475
+lirr179,lirr4,lirr92,True,2025
+lirr179,lirr4,lirr102,False,2525
+lirr179,lirr4,lirr92,False,2025
+lirr179,lirr8,lirr102,True,2125
+lirr179,lirr8,lirr102,False,1550
+lirr179,lirr2,lirr214,True,2050
+lirr179,lirr2,lirr214,False,1500
+lirr179,lirr27,lirr102,True,2125
+lirr179,lirr27,lirr92,True,650
+lirr179,lirr27,lirr102,False,1550
+lirr179,lirr27,lirr92,False,650
+lirr179,lirr225,lirr102,True,1825
+lirr179,lirr225,lirr102,False,1325
+lirr179,lirr26,lirr102,True,2275
+lirr179,lirr26,lirr92,True,1000
+lirr179,lirr26,lirr102,False,1650
+lirr179,lirr26,lirr92,False,1000
+lirr179,lirr25,lirr214,True,2050
+lirr179,lirr25,lirr214,False,1500
+lirr179,lirr23,lirr102,True,1650
+lirr179,lirr23,lirr102,False,1200
+lirr179,lirr16,lirr102,True,1825
+lirr179,lirr16,lirr102,False,1325
+lirr179,lirr21,lirr102,True,2800
+lirr179,lirr21,lirr92,True,1350
+lirr179,lirr21,lirr102,False,2025
+lirr179,lirr21,lirr92,False,1350
+lirr179,lirr13,lirr102,True,3475
+lirr179,lirr13,lirr92,True,2025
+lirr179,lirr13,lirr102,False,2525
+lirr179,lirr13,lirr92,False,2025
+lirr179,lirr11,lirr214,True,2050
+lirr179,lirr11,lirr214,False,1500
+lirr179,lirr32,lirr102,True,1650
+lirr179,lirr32,lirr102,False,1200
+lirr179,lirr31,lirr102,True,1825
+lirr179,lirr31,lirr102,False,1325
+lirr179,lirr40,lirr92,True,650
+lirr179,lirr40,lirr92,False,650
+lirr179,lirr38,lirr102,True,2125
+lirr179,lirr38,lirr102,False,1550
+lirr179,lirr36,lirr102,True,1650
+lirr179,lirr36,lirr63,True,825
+lirr179,lirr36,lirr102,False,1200
+lirr179,lirr36,lirr63,False,825
+lirr179,lirr42,lirr214,True,2050
+lirr179,lirr42,lirr214,False,1500
+lirr179,lirr48,lirr102,True,3475
+lirr179,lirr48,lirr92,True,2025
+lirr179,lirr48,lirr102,False,2525
+lirr179,lirr48,lirr92,False,2025
+lirr179,lirr51,lirr102,True,1825
+lirr179,lirr51,lirr102,False,1325
+lirr179,lirr52,lirr132,True,825
+lirr179,lirr52,lirr132,False,825
+lirr179,lirr65,lirr102,True,1650
+lirr179,lirr65,lirr102,False,1200
+lirr179,lirr63,lirr102,True,1650
+lirr179,lirr63,lirr102,False,1200
+lirr179,lirr56,lirr214,True,2050
+lirr179,lirr56,lirr214,False,1500
+lirr179,lirr64,lirr102,True,1825
+lirr179,lirr64,lirr102,False,1325
+lirr179,lirr68,lirr102,True,1650
+lirr179,lirr68,lirr63,True,825
+lirr179,lirr68,lirr102,False,1200
+lirr179,lirr68,lirr63,False,825
+lirr179,lirr66,lirr102,True,1650
+lirr179,lirr66,lirr102,False,1200
+lirr179,lirr67,lirr132,True,900
+lirr179,lirr67,lirr132,False,900
+lirr179,lirr71,lirr132,True,900
+lirr179,lirr71,lirr132,False,900
+lirr179,lirr76,lirr132,True,900
+lirr179,lirr76,lirr132,False,900
+lirr179,lirr72,lirr214,True,2225
+lirr179,lirr72,lirr214,False,1625
+lirr179,lirr74,lirr102,True,2275
+lirr179,lirr74,lirr92,True,1000
+lirr179,lirr74,lirr102,False,1650
+lirr179,lirr74,lirr92,False,1000
+lirr179,lirr78,lirr92,True,650
+lirr179,lirr78,lirr92,False,650
+lirr179,lirr77,lirr132,True,900
+lirr179,lirr77,lirr132,False,900
+lirr179,lirr83,lirr102,True,3475
+lirr179,lirr83,lirr92,True,2025
+lirr179,lirr83,lirr102,False,2525
+lirr179,lirr83,lirr92,False,2025
+lirr179,lirr84,lirr102,True,1650
+lirr179,lirr84,lirr63,True,825
+lirr179,lirr84,lirr102,False,1200
+lirr179,lirr84,lirr63,False,825
+lirr179,lirr85,lirr102,True,1650
+lirr179,lirr85,lirr102,False,1200
+lirr179,lirr94,lirr102,True,1650
+lirr179,lirr94,lirr102,False,1200
+lirr179,lirr89,lirr102,True,1575
+lirr179,lirr89,lirr102,False,1150
+lirr179,lirr91,lirr92,True,650
+lirr179,lirr91,lirr92,False,650
+lirr179,lirr101,lirr102,True,1650
+lirr179,lirr101,lirr102,False,1200
+lirr179,lirr99,lirr102,True,1825
+lirr179,lirr99,lirr102,False,1325
+lirr179,lirr100,lirr102,True,2275
+lirr179,lirr100,lirr92,True,1000
+lirr179,lirr100,lirr102,False,1650
+lirr179,lirr100,lirr92,False,1000
+lirr179,lirr111,lirr92,True,1000
+lirr179,lirr111,lirr92,False,1000
+lirr179,lirr124,lirr102,True,1650
+lirr179,lirr124,lirr102,False,1200
+lirr179,lirr122,lirr102,True,1575
+lirr179,lirr122,lirr102,False,1150
+lirr179,lirr114,lirr102,True,1650
+lirr179,lirr114,lirr102,False,1200
+lirr179,lirr117,lirr102,True,2125
+lirr179,lirr117,lirr102,False,1550
+lirr179,lirr120,lirr214,True,2050
+lirr179,lirr120,lirr214,False,1500
+lirr179,lirr119,lirr102,True,1575
+lirr179,lirr119,lirr102,False,1150
+lirr179,lirr123,lirr132,True,900
+lirr179,lirr123,lirr132,False,900
+lirr179,lirr113,lirr102,True,1825
+lirr179,lirr113,lirr102,False,1325
+lirr179,lirr125,lirr102,True,1650
+lirr179,lirr125,lirr102,False,1200
+lirr179,lirr142,lirr102,True,1650
+lirr179,lirr142,lirr102,False,1200
+lirr179,lirr131,lirr214,True,2225
+lirr179,lirr131,lirr214,False,1625
+lirr179,lirr136,lirr102,True,1825
+lirr179,lirr136,lirr102,False,1325
+lirr179,lirr135,lirr102,True,1825
+lirr179,lirr135,lirr102,False,1325
+lirr179,lirr140,lirr102,True,2800
+lirr179,lirr140,lirr92,True,1350
+lirr179,lirr140,lirr102,False,2025
+lirr179,lirr140,lirr92,False,1350
+lirr179,lirr226,lirr102,True,1825
+lirr179,lirr226,lirr102,False,1325
+lirr179,lirr141,lirr102,True,3475
+lirr179,lirr141,lirr92,True,2025
+lirr179,lirr141,lirr102,False,2525
+lirr179,lirr141,lirr92,False,2025
+lirr179,lirr130,lirr214,True,2050
+lirr179,lirr130,lirr214,False,1500
+lirr179,lirr149,lirr102,True,1650
+lirr179,lirr149,lirr63,True,825
+lirr179,lirr149,lirr102,False,1200
+lirr179,lirr149,lirr63,False,825
+lirr179,lirr153,lirr92,True,650
+lirr179,lirr153,lirr92,False,650
+lirr179,lirr157,lirr102,True,2275
+lirr179,lirr157,lirr92,True,1000
+lirr179,lirr157,lirr102,False,1650
+lirr179,lirr157,lirr92,False,1000
+lirr179,lirr155,lirr102,True,1825
+lirr179,lirr155,lirr102,False,1325
+lirr179,lirr154,lirr132,True,900
+lirr179,lirr154,lirr132,False,900
+lirr179,lirr163,lirr102,True,2275
+lirr179,lirr163,lirr92,True,1000
+lirr179,lirr163,lirr102,False,1650
+lirr179,lirr163,lirr92,False,1000
+lirr179,lirr162,lirr214,True,2225
+lirr179,lirr162,lirr214,False,1625
+lirr179,lirr164,lirr92,True,1000
+lirr179,lirr164,lirr92,False,1000
+lirr179,lirr171,lirr214,True,2225
+lirr179,lirr171,lirr214,False,1625
+lirr179,lirr175,lirr102,True,1575
+lirr179,lirr175,lirr102,False,1150
+lirr179,lirr183,lirr102,True,1825
+lirr179,lirr183,lirr102,False,1325
+lirr179,lirr180,lirr102,True,1575
+lirr179,lirr180,lirr102,False,1150
+lirr179,lirr182,lirr132,True,900
+lirr179,lirr182,lirr132,False,900
+lirr179,lirr204,lirr102,True,2275
+lirr179,lirr204,lirr92,True,1000
+lirr179,lirr204,lirr102,False,1650
+lirr179,lirr204,lirr92,False,1000
+lirr179,lirr185,lirr132,True,900
+lirr179,lirr185,lirr132,False,900
+lirr179,lirr187,lirr102,True,1825
+lirr179,lirr187,lirr102,False,1325
+lirr179,lirr202,lirr92,True,1000
+lirr179,lirr202,lirr92,False,1000
+lirr179,lirr191,lirr102,True,3475
+lirr179,lirr191,lirr92,True,2025
+lirr179,lirr191,lirr102,False,2525
+lirr179,lirr191,lirr92,False,2025
+lirr179,lirr198,lirr102,True,2800
+lirr179,lirr198,lirr92,True,1350
+lirr179,lirr198,lirr102,False,2025
+lirr179,lirr198,lirr92,False,1350
+lirr179,lirr184,lirr102,True,1575
+lirr179,lirr184,lirr102,False,1150
+lirr179,lirr193,lirr92,True,1000
+lirr179,lirr193,lirr92,False,1000
+lirr179,lirr195,lirr102,True,1650
+lirr179,lirr195,lirr63,True,825
+lirr179,lirr195,lirr102,False,1200
+lirr179,lirr195,lirr63,False,825
+lirr179,lirr14,lirr92,True,1000
+lirr179,lirr14,lirr92,False,1000
+lirr179,lirr205,lirr92,True,600
+lirr179,lirr205,lirr92,False,600
+lirr179,lirr211,lirr102,True,1650
+lirr179,lirr211,lirr102,False,1200
+lirr179,lirr215,lirr102,True,1825
+lirr179,lirr215,lirr102,False,1325
+lirr179,lirr216,lirr102,True,1650
+lirr179,lirr216,lirr102,False,1200
+lirr179,lirr233,lirr102,True,3475
+lirr179,lirr233,lirr92,True,2025
+lirr179,lirr233,lirr102,False,2525
+lirr179,lirr233,lirr92,False,2025
+lirr179,lirr219,lirr102,True,1650
+lirr179,lirr219,lirr102,False,1200
+lirr179,lirr217,lirr102,True,1650
+lirr179,lirr217,lirr102,False,1200
+lirr180,lirr1,lirr102,True,1050
+lirr180,lirr1,lirr102,False,775
+lirr180,lirr4,lirr102,True,2700
+lirr180,lirr4,lirr102,False,1975
+lirr180,lirr8,lirr102,True,1300
+lirr180,lirr8,lirr102,False,950
+lirr180,lirr2,lirr214,True,1200
+lirr180,lirr2,lirr214,False,875
+lirr180,lirr27,lirr102,True,1300
+lirr180,lirr27,lirr102,False,950
+lirr180,lirr225,lirr102,True,1050
+lirr180,lirr225,lirr102,False,775
+lirr180,lirr26,lirr102,True,1575
+lirr180,lirr26,lirr102,False,1150
+lirr180,lirr25,lirr214,True,1200
+lirr180,lirr25,lirr214,False,875
+lirr180,lirr23,lirr102,True,900
+lirr180,lirr23,lirr102,False,650
+lirr180,lirr16,lirr102,True,1050
+lirr180,lirr16,lirr102,False,775
+lirr180,lirr21,lirr102,True,2050
+lirr180,lirr21,lirr102,False,1500
+lirr180,lirr20,lirr102,True,1050
+lirr180,lirr20,lirr102,False,775
+lirr180,lirr29,lirr102,True,1575
+lirr180,lirr29,lirr102,False,1150
+lirr180,lirr13,lirr102,True,2700
+lirr180,lirr13,lirr102,False,1975
+lirr180,lirr11,lirr214,True,1200
+lirr180,lirr11,lirr214,False,875
+lirr180,lirr39,lirr102,True,1050
+lirr180,lirr39,lirr102,False,775
+lirr180,lirr33,lirr102,True,1575
+lirr180,lirr33,lirr102,False,1150
+lirr180,lirr31,lirr102,True,1050
+lirr180,lirr31,lirr102,False,775
+lirr180,lirr40,lirr102,True,1300
+lirr180,lirr40,lirr102,False,950
+lirr180,lirr38,lirr102,True,1300
+lirr180,lirr38,lirr102,False,950
+lirr180,lirr36,lirr102,True,900
+lirr180,lirr36,lirr102,False,650
+lirr180,lirr44,lirr102,True,1300
+lirr180,lirr44,lirr102,False,950
+lirr180,lirr42,lirr214,True,1200
+lirr180,lirr42,lirr214,False,875
+lirr180,lirr48,lirr102,True,2700
+lirr180,lirr48,lirr102,False,1975
+lirr180,lirr51,lirr102,True,1050
+lirr180,lirr51,lirr102,False,775
+lirr180,lirr52,lirr102,True,900
+lirr180,lirr52,lirr102,False,650
+lirr180,lirr59,lirr102,True,1050
+lirr180,lirr59,lirr102,False,775
+lirr180,lirr63,lirr102,True,900
+lirr180,lirr63,lirr102,False,650
+lirr180,lirr56,lirr214,True,1200
+lirr180,lirr56,lirr214,False,875
+lirr180,lirr64,lirr102,True,1050
+lirr180,lirr64,lirr102,False,775
+lirr180,lirr68,lirr102,True,900
+lirr180,lirr68,lirr102,False,650
+lirr180,lirr67,lirr102,True,1050
+lirr180,lirr67,lirr102,False,775
+lirr180,lirr71,lirr102,True,1050
+lirr180,lirr71,lirr102,False,775
+lirr180,lirr76,lirr102,True,1050
+lirr180,lirr76,lirr102,False,775
+lirr180,lirr72,lirr214,True,1350
+lirr180,lirr72,lirr214,False,975
+lirr180,lirr74,lirr102,True,1575
+lirr180,lirr74,lirr102,False,1150
+lirr180,lirr78,lirr102,True,1300
+lirr180,lirr78,lirr102,False,950
+lirr180,lirr73,lirr102,True,2700
+lirr180,lirr73,lirr102,False,1975
+lirr180,lirr77,lirr102,True,1050
+lirr180,lirr77,lirr102,False,775
+lirr180,lirr83,lirr102,True,2700
+lirr180,lirr83,lirr102,False,1975
+lirr180,lirr84,lirr102,True,900
+lirr180,lirr84,lirr102,False,650
+lirr180,lirr85,lirr102,True,900
+lirr180,lirr85,lirr102,False,650
+lirr180,lirr92,lirr102,True,1050
+lirr180,lirr92,lirr102,False,775
+lirr180,lirr89,lirr102,True,500
+lirr180,lirr89,lirr102,False,400
+lirr180,lirr91,lirr102,True,1300
+lirr180,lirr91,lirr102,False,950
+lirr180,lirr99,lirr102,True,1050
+lirr180,lirr99,lirr102,False,775
+lirr180,lirr100,lirr102,True,1575
+lirr180,lirr100,lirr102,False,1150
+lirr180,lirr111,lirr102,True,1575
+lirr180,lirr111,lirr102,False,1150
+lirr180,lirr124,lirr102,True,900
+lirr180,lirr124,lirr102,False,650
+lirr180,lirr117,lirr102,True,1300
+lirr180,lirr117,lirr102,False,950
+lirr180,lirr120,lirr214,True,1200
+lirr180,lirr120,lirr214,False,875
+lirr180,lirr123,lirr102,True,1050
+lirr180,lirr123,lirr102,False,775
+lirr180,lirr113,lirr102,True,1050
+lirr180,lirr113,lirr102,False,775
+lirr180,lirr125,lirr102,True,900
+lirr180,lirr125,lirr102,False,650
+lirr180,lirr142,lirr102,True,900
+lirr180,lirr142,lirr102,False,650
+lirr180,lirr131,lirr214,True,1350
+lirr180,lirr131,lirr214,False,975
+lirr180,lirr136,lirr102,True,1050
+lirr180,lirr136,lirr102,False,775
+lirr180,lirr135,lirr102,True,1050
+lirr180,lirr135,lirr102,False,775
+lirr180,lirr140,lirr102,True,2050
+lirr180,lirr140,lirr102,False,1500
+lirr180,lirr126,lirr102,True,2700
+lirr180,lirr126,lirr102,False,1975
+lirr180,lirr129,lirr102,True,1575
+lirr180,lirr129,lirr102,False,1150
+lirr180,lirr127,lirr102,True,900
+lirr180,lirr127,lirr102,False,650
+lirr180,lirr226,lirr102,True,1050
+lirr180,lirr226,lirr102,False,775
+lirr180,lirr132,lirr102,True,900
+lirr180,lirr132,lirr102,False,650
+lirr180,lirr141,lirr102,True,2700
+lirr180,lirr141,lirr102,False,1975
+lirr180,lirr130,lirr214,True,1200
+lirr180,lirr130,lirr214,False,875
+lirr180,lirr149,lirr102,True,900
+lirr180,lirr149,lirr102,False,650
+lirr180,lirr152,lirr102,True,900
+lirr180,lirr152,lirr102,False,650
+lirr180,lirr153,lirr102,True,1300
+lirr180,lirr153,lirr102,False,950
+lirr180,lirr157,lirr102,True,1575
+lirr180,lirr157,lirr102,False,1150
+lirr180,lirr155,lirr102,True,1050
+lirr180,lirr155,lirr102,False,775
+lirr180,lirr154,lirr102,True,1050
+lirr180,lirr154,lirr102,False,775
+lirr180,lirr163,lirr102,True,1575
+lirr180,lirr163,lirr102,False,1150
+lirr180,lirr165,lirr102,True,1300
+lirr180,lirr165,lirr102,False,950
+lirr180,lirr162,lirr214,True,1350
+lirr180,lirr162,lirr214,False,975
+lirr180,lirr164,lirr102,True,1575
+lirr180,lirr164,lirr102,False,1150
+lirr180,lirr171,lirr214,True,1350
+lirr180,lirr171,lirr214,False,975
+lirr180,lirr175,lirr102,True,500
+lirr180,lirr175,lirr102,False,400
+lirr180,lirr176,lirr102,True,2700
+lirr180,lirr176,lirr102,False,1975
+lirr180,lirr183,lirr102,True,1050
+lirr180,lirr183,lirr102,False,775
+lirr180,lirr179,lirr102,True,1575
+lirr180,lirr179,lirr102,False,1150
+lirr180,lirr182,lirr102,True,1050
+lirr180,lirr182,lirr102,False,775
+lirr180,lirr204,lirr102,True,1575
+lirr180,lirr204,lirr102,False,1150
+lirr180,lirr185,lirr102,True,1050
+lirr180,lirr185,lirr102,False,775
+lirr180,lirr187,lirr102,True,1050
+lirr180,lirr187,lirr102,False,775
+lirr180,lirr202,lirr102,True,1575
+lirr180,lirr202,lirr102,False,1150
+lirr180,lirr191,lirr102,True,2700
+lirr180,lirr191,lirr102,False,1975
+lirr180,lirr190,lirr102,True,2700
+lirr180,lirr190,lirr102,False,1975
+lirr180,lirr198,lirr102,True,2050
+lirr180,lirr198,lirr102,False,1500
+lirr180,lirr184,lirr102,True,500
+lirr180,lirr184,lirr102,False,400
+lirr180,lirr193,lirr102,True,1575
+lirr180,lirr193,lirr102,False,1150
+lirr180,lirr195,lirr102,True,900
+lirr180,lirr195,lirr102,False,650
+lirr180,lirr14,lirr102,True,1575
+lirr180,lirr14,lirr102,False,1150
+lirr180,lirr205,lirr102,True,1050
+lirr180,lirr205,lirr102,False,775
+lirr180,lirr215,lirr102,True,1050
+lirr180,lirr215,lirr102,False,775
+lirr180,lirr216,lirr102,True,900
+lirr180,lirr216,lirr102,False,650
+lirr180,lirr213,lirr102,True,1050
+lirr180,lirr213,lirr102,False,775
+lirr180,lirr233,lirr102,True,2700
+lirr180,lirr233,lirr102,False,1975
+lirr180,lirr219,lirr102,True,900
+lirr180,lirr219,lirr102,False,650
+lirr180,lirr220,lirr102,True,1300
+lirr180,lirr220,lirr102,False,950
+lirr180,lirr223,lirr102,True,2050
+lirr180,lirr223,lirr102,False,1500
+lirr182,lirr4,lirr102,True,2975
+lirr182,lirr4,lirr132,True,1875
+lirr182,lirr4,lirr102,False,2175
+lirr182,lirr4,lirr132,False,1875
+lirr182,lirr8,lirr102,True,1575
+lirr182,lirr8,lirr102,False,1150
+lirr182,lirr2,lirr214,True,1575
+lirr182,lirr2,lirr214,False,1150
+lirr182,lirr27,lirr102,True,1575
+lirr182,lirr27,lirr132,True,650
+lirr182,lirr27,lirr102,False,1150
+lirr182,lirr27,lirr132,False,650
+lirr182,lirr225,lirr102,True,1225
+lirr182,lirr225,lirr102,False,900
+lirr182,lirr26,lirr102,True,1825
+lirr182,lirr26,lirr132,True,900
+lirr182,lirr26,lirr102,False,1325
+lirr182,lirr26,lirr132,False,900
+lirr182,lirr25,lirr214,True,1575
+lirr182,lirr25,lirr214,False,1150
+lirr182,lirr23,lirr102,True,1100
+lirr182,lirr23,lirr102,False,800
+lirr182,lirr16,lirr102,True,1225
+lirr182,lirr16,lirr102,False,900
+lirr182,lirr21,lirr102,True,2275
+lirr182,lirr21,lirr132,True,1225
+lirr182,lirr21,lirr102,False,1650
+lirr182,lirr21,lirr132,False,1225
+lirr182,lirr20,lirr132,True,450
+lirr182,lirr20,lirr132,False,450
+lirr182,lirr29,lirr132,True,900
+lirr182,lirr29,lirr132,False,900
+lirr182,lirr13,lirr102,True,2975
+lirr182,lirr13,lirr132,True,1875
+lirr182,lirr13,lirr102,False,2175
+lirr182,lirr13,lirr132,False,1875
+lirr182,lirr11,lirr214,True,1575
+lirr182,lirr11,lirr214,False,1150
+lirr182,lirr39,lirr132,True,450
+lirr182,lirr39,lirr132,False,450
+lirr182,lirr32,lirr102,True,1100
+lirr182,lirr32,lirr102,False,800
+lirr182,lirr33,lirr132,True,900
+lirr182,lirr33,lirr132,False,900
+lirr182,lirr31,lirr102,True,1225
+lirr182,lirr31,lirr102,False,900
+lirr182,lirr40,lirr132,True,650
+lirr182,lirr40,lirr132,False,650
+lirr182,lirr38,lirr102,True,1575
+lirr182,lirr38,lirr102,False,1150
+lirr182,lirr36,lirr102,True,1100
+lirr182,lirr36,lirr63,True,425
+lirr182,lirr36,lirr102,False,800
+lirr182,lirr36,lirr63,False,425
+lirr182,lirr44,lirr132,True,650
+lirr182,lirr44,lirr132,False,650
+lirr182,lirr42,lirr214,True,1575
+lirr182,lirr42,lirr214,False,1150
+lirr182,lirr48,lirr102,True,2975
+lirr182,lirr48,lirr132,True,1875
+lirr182,lirr48,lirr102,False,2175
+lirr182,lirr48,lirr132,False,1875
+lirr182,lirr51,lirr102,True,1225
+lirr182,lirr51,lirr102,False,900
+lirr182,lirr65,lirr102,True,1100
+lirr182,lirr65,lirr102,False,800
+lirr182,lirr59,lirr132,True,450
+lirr182,lirr59,lirr132,False,450
+lirr182,lirr63,lirr102,True,1100
+lirr182,lirr63,lirr102,False,800
+lirr182,lirr56,lirr214,True,1575
+lirr182,lirr56,lirr214,False,1150
+lirr182,lirr64,lirr102,True,1225
+lirr182,lirr64,lirr102,False,900
+lirr182,lirr68,lirr102,True,1100
+lirr182,lirr68,lirr63,True,425
+lirr182,lirr68,lirr102,False,800
+lirr182,lirr68,lirr63,False,425
+lirr182,lirr66,lirr102,True,1100
+lirr182,lirr66,lirr102,False,800
+lirr182,lirr72,lirr214,True,1725
+lirr182,lirr72,lirr214,False,1250
+lirr182,lirr74,lirr102,True,1825
+lirr182,lirr74,lirr132,True,900
+lirr182,lirr74,lirr102,False,1325
+lirr182,lirr74,lirr132,False,900
+lirr182,lirr78,lirr132,True,650
+lirr182,lirr78,lirr132,False,650
+lirr182,lirr73,lirr132,True,1875
+lirr182,lirr73,lirr132,False,1875
+lirr182,lirr83,lirr102,True,2975
+lirr182,lirr83,lirr132,True,1875
+lirr182,lirr83,lirr102,False,2175
+lirr182,lirr83,lirr132,False,1875
+lirr182,lirr84,lirr102,True,1100
+lirr182,lirr84,lirr63,True,425
+lirr182,lirr84,lirr102,False,800
+lirr182,lirr84,lirr63,False,425
+lirr182,lirr85,lirr102,True,1100
+lirr182,lirr85,lirr102,False,800
+lirr182,lirr94,lirr102,True,1100
+lirr182,lirr94,lirr102,False,800
+lirr182,lirr92,lirr132,True,450
+lirr182,lirr92,lirr132,False,450
+lirr182,lirr89,lirr102,True,1050
+lirr182,lirr89,lirr102,False,775
+lirr182,lirr91,lirr132,True,650
+lirr182,lirr91,lirr132,False,650
+lirr182,lirr101,lirr102,True,1100
+lirr182,lirr101,lirr102,False,800
+lirr182,lirr99,lirr102,True,1225
+lirr182,lirr99,lirr102,False,900
+lirr182,lirr100,lirr102,True,1825
+lirr182,lirr100,lirr132,True,900
+lirr182,lirr100,lirr102,False,1325
+lirr182,lirr100,lirr132,False,900
+lirr182,lirr111,lirr132,True,900
+lirr182,lirr111,lirr132,False,900
+lirr182,lirr124,lirr102,True,1100
+lirr182,lirr124,lirr102,False,800
+lirr182,lirr122,lirr102,True,1050
+lirr182,lirr122,lirr102,False,775
+lirr182,lirr114,lirr102,True,1100
+lirr182,lirr114,lirr102,False,800
+lirr182,lirr117,lirr102,True,1575
+lirr182,lirr117,lirr102,False,1150
+lirr182,lirr120,lirr214,True,1575
+lirr182,lirr120,lirr214,False,1150
+lirr182,lirr119,lirr102,True,1050
+lirr182,lirr119,lirr102,False,775
+lirr182,lirr113,lirr102,True,1225
+lirr182,lirr113,lirr102,False,900
+lirr182,lirr125,lirr102,True,1100
+lirr182,lirr125,lirr102,False,800
+lirr182,lirr142,lirr102,True,1100
+lirr182,lirr142,lirr102,False,800
+lirr182,lirr131,lirr214,True,1725
+lirr182,lirr131,lirr214,False,1250
+lirr182,lirr136,lirr102,True,1225
+lirr182,lirr136,lirr102,False,900
+lirr182,lirr135,lirr102,True,1225
+lirr182,lirr135,lirr102,False,900
+lirr182,lirr140,lirr102,True,2275
+lirr182,lirr140,lirr132,True,1225
+lirr182,lirr140,lirr102,False,1650
+lirr182,lirr140,lirr132,False,1225
+lirr182,lirr126,lirr132,True,1875
+lirr182,lirr126,lirr132,False,1875
+lirr182,lirr129,lirr132,True,900
+lirr182,lirr129,lirr132,False,900
+lirr182,lirr226,lirr102,True,1225
+lirr182,lirr226,lirr102,False,900
+lirr182,lirr141,lirr102,True,2975
+lirr182,lirr141,lirr132,True,1875
+lirr182,lirr141,lirr102,False,2175
+lirr182,lirr141,lirr132,False,1875
+lirr182,lirr130,lirr214,True,1575
+lirr182,lirr130,lirr214,False,1150
+lirr182,lirr149,lirr102,True,1100
+lirr182,lirr149,lirr63,True,425
+lirr182,lirr149,lirr102,False,800
+lirr182,lirr149,lirr63,False,425
+lirr182,lirr153,lirr132,True,650
+lirr182,lirr153,lirr132,False,650
+lirr182,lirr157,lirr102,True,1825
+lirr182,lirr157,lirr132,True,900
+lirr182,lirr157,lirr102,False,1325
+lirr182,lirr157,lirr132,False,900
+lirr182,lirr155,lirr102,True,1225
+lirr182,lirr155,lirr102,False,900
+lirr182,lirr163,lirr102,True,1825
+lirr182,lirr163,lirr132,True,900
+lirr182,lirr163,lirr102,False,1325
+lirr182,lirr163,lirr132,False,900
+lirr182,lirr165,lirr132,True,650
+lirr182,lirr165,lirr132,False,650
+lirr182,lirr162,lirr214,True,1725
+lirr182,lirr162,lirr214,False,1250
+lirr182,lirr164,lirr132,True,900
+lirr182,lirr164,lirr132,False,900
+lirr182,lirr171,lirr214,True,1725
+lirr182,lirr171,lirr214,False,1250
+lirr182,lirr175,lirr102,True,1050
+lirr182,lirr175,lirr102,False,775
+lirr182,lirr176,lirr132,True,1875
+lirr182,lirr176,lirr132,False,1875
+lirr182,lirr183,lirr102,True,1225
+lirr182,lirr183,lirr102,False,900
+lirr182,lirr179,lirr132,True,900
+lirr182,lirr179,lirr132,False,900
+lirr182,lirr180,lirr102,True,1050
+lirr182,lirr180,lirr102,False,775
+lirr182,lirr204,lirr102,True,1825
+lirr182,lirr204,lirr132,True,900
+lirr182,lirr204,lirr102,False,1325
+lirr182,lirr204,lirr132,False,900
+lirr182,lirr187,lirr102,True,1225
+lirr182,lirr187,lirr102,False,900
+lirr182,lirr202,lirr132,True,900
+lirr182,lirr202,lirr132,False,900
+lirr182,lirr191,lirr102,True,2975
+lirr182,lirr191,lirr132,True,1875
+lirr182,lirr191,lirr102,False,2175
+lirr182,lirr191,lirr132,False,1875
+lirr182,lirr190,lirr132,True,1875
+lirr182,lirr190,lirr132,False,1875
+lirr182,lirr198,lirr102,True,2275
+lirr182,lirr198,lirr132,True,1225
+lirr182,lirr198,lirr102,False,1650
+lirr182,lirr198,lirr132,False,1225
+lirr182,lirr184,lirr102,True,1050
+lirr182,lirr184,lirr102,False,775
+lirr182,lirr193,lirr132,True,900
+lirr182,lirr193,lirr132,False,900
+lirr182,lirr195,lirr102,True,1100
+lirr182,lirr195,lirr63,True,425
+lirr182,lirr195,lirr102,False,800
+lirr182,lirr195,lirr63,False,425
+lirr182,lirr14,lirr132,True,900
+lirr182,lirr14,lirr132,False,900
+lirr182,lirr205,lirr132,True,450
+lirr182,lirr205,lirr132,False,450
+lirr182,lirr211,lirr102,True,1100
+lirr182,lirr211,lirr102,False,800
+lirr182,lirr215,lirr102,True,1225
+lirr182,lirr215,lirr102,False,900
+lirr182,lirr216,lirr102,True,1100
+lirr182,lirr216,lirr102,False,800
+lirr182,lirr213,lirr132,True,450
+lirr182,lirr213,lirr132,False,450
+lirr182,lirr233,lirr102,True,2975
+lirr182,lirr233,lirr132,True,1875
+lirr182,lirr233,lirr102,False,2175
+lirr182,lirr233,lirr132,False,1875
+lirr182,lirr219,lirr102,True,1100
+lirr182,lirr219,lirr102,False,800
+lirr182,lirr217,lirr102,True,1100
+lirr182,lirr217,lirr102,False,800
+lirr182,lirr220,lirr132,True,650
+lirr182,lirr220,lirr132,False,650
+lirr182,lirr223,lirr132,True,1225
+lirr182,lirr223,lirr132,False,1225
+lirr204,lirr1,lirr102,True,1825
+lirr204,lirr1,lirr132,True,900
+lirr204,lirr1,lirr102,False,1325
+lirr204,lirr1,lirr132,False,900
+lirr204,lirr2,lirr214,True,2050
+lirr204,lirr2,lirr214,False,1500
+lirr204,lirr25,lirr214,True,2050
+lirr204,lirr25,lirr214,False,1500
+lirr204,lirr23,lirr102,True,1650
+lirr204,lirr23,lirr102,False,1200
+lirr204,lirr20,lirr102,True,1825
+lirr204,lirr20,lirr92,True,600
+lirr204,lirr20,lirr102,False,1325
+lirr204,lirr20,lirr92,False,600
+lirr204,lirr29,lirr102,True,2275
+lirr204,lirr29,lirr92,True,1000
+lirr204,lirr29,lirr102,False,1650
+lirr204,lirr29,lirr92,False,1000
+lirr204,lirr11,lirr214,True,2050
+lirr204,lirr11,lirr214,False,1500
+lirr204,lirr39,lirr102,True,1825
+lirr204,lirr39,lirr102,False,1325
+lirr204,lirr32,lirr102,True,1650
+lirr204,lirr32,lirr102,False,1200
+lirr204,lirr33,lirr102,True,2275
+lirr204,lirr33,lirr92,True,1000
+lirr204,lirr33,lirr102,False,1650
+lirr204,lirr33,lirr92,False,1000
+lirr204,lirr31,lirr102,True,1825
+lirr204,lirr31,lirr125,True,900
+lirr204,lirr31,lirr102,False,1325
+lirr204,lirr31,lirr125,False,900
+lirr204,lirr40,lirr102,True,2125
+lirr204,lirr40,lirr92,True,650
+lirr204,lirr40,lirr102,False,1550
+lirr204,lirr40,lirr92,False,650
+lirr204,lirr36,lirr102,True,1650
+lirr204,lirr36,lirr63,True,825
+lirr204,lirr36,lirr102,False,1200
+lirr204,lirr36,lirr63,False,825
+lirr204,lirr44,lirr102,True,2125
+lirr204,lirr44,lirr92,True,650
+lirr204,lirr44,lirr102,False,1550
+lirr204,lirr44,lirr92,False,650
+lirr204,lirr42,lirr214,True,2050
+lirr204,lirr42,lirr214,False,1500
+lirr204,lirr51,lirr102,True,1825
+lirr204,lirr51,lirr125,True,900
+lirr204,lirr51,lirr102,False,1325
+lirr204,lirr51,lirr125,False,900
+lirr204,lirr52,lirr102,True,1650
+lirr204,lirr52,lirr132,True,825
+lirr204,lirr52,lirr102,False,1200
+lirr204,lirr52,lirr132,False,825
+lirr204,lirr65,lirr102,True,1650
+lirr204,lirr65,lirr102,False,1200
+lirr204,lirr59,lirr102,True,1825
+lirr204,lirr59,lirr92,True,600
+lirr204,lirr59,lirr102,False,1325
+lirr204,lirr59,lirr92,False,600
+lirr204,lirr63,lirr102,True,1650
+lirr204,lirr63,lirr102,False,1200
+lirr204,lirr56,lirr214,True,2050
+lirr204,lirr56,lirr214,False,1500
+lirr204,lirr68,lirr102,True,1650
+lirr204,lirr68,lirr63,True,825
+lirr204,lirr68,lirr102,False,1200
+lirr204,lirr68,lirr63,False,825
+lirr204,lirr66,lirr102,True,1650
+lirr204,lirr66,lirr102,False,1200
+lirr204,lirr67,lirr102,True,1825
+lirr204,lirr67,lirr132,True,900
+lirr204,lirr67,lirr102,False,1325
+lirr204,lirr67,lirr132,False,900
+lirr204,lirr71,lirr102,True,1825
+lirr204,lirr71,lirr132,True,900
+lirr204,lirr71,lirr102,False,1325
+lirr204,lirr71,lirr132,False,900
+lirr204,lirr76,lirr102,True,1825
+lirr204,lirr76,lirr132,True,900
+lirr204,lirr76,lirr102,False,1325
+lirr204,lirr76,lirr132,False,900
+lirr204,lirr72,lirr214,True,2225
+lirr204,lirr72,lirr214,False,1625
+lirr204,lirr78,lirr102,True,2125
+lirr204,lirr78,lirr92,True,650
+lirr204,lirr78,lirr102,False,1550
+lirr204,lirr78,lirr92,False,650
+lirr204,lirr73,lirr102,True,3475
+lirr204,lirr73,lirr92,True,2025
+lirr204,lirr73,lirr102,False,2525
+lirr204,lirr73,lirr92,False,2025
+lirr204,lirr77,lirr102,True,1825
+lirr204,lirr77,lirr132,True,900
+lirr204,lirr77,lirr102,False,1325
+lirr204,lirr77,lirr132,False,900
+lirr204,lirr84,lirr102,True,1650
+lirr204,lirr84,lirr63,True,825
+lirr204,lirr84,lirr102,False,1200
+lirr204,lirr84,lirr63,False,825
+lirr204,lirr85,lirr102,True,1650
+lirr204,lirr85,lirr102,False,1200
+lirr204,lirr94,lirr102,True,1650
+lirr204,lirr94,lirr102,False,1200
+lirr204,lirr92,lirr102,True,1825
+lirr204,lirr92,lirr102,False,1325
+lirr204,lirr89,lirr102,True,1575
+lirr204,lirr89,lirr102,False,1150
+lirr204,lirr91,lirr102,True,2125
+lirr204,lirr91,lirr92,True,650
+lirr204,lirr91,lirr102,False,1550
+lirr204,lirr91,lirr92,False,650
+lirr204,lirr101,lirr102,True,1650
+lirr204,lirr101,lirr102,False,1200
+lirr204,lirr99,lirr102,True,1825
+lirr204,lirr99,lirr125,True,900
+lirr204,lirr99,lirr102,False,1325
+lirr204,lirr99,lirr125,False,900
+lirr204,lirr111,lirr102,True,2275
+lirr204,lirr111,lirr92,True,1000
+lirr204,lirr111,lirr102,False,1650
+lirr204,lirr111,lirr92,False,1000
+lirr204,lirr124,lirr102,True,1650
+lirr204,lirr124,lirr102,False,1200
+lirr204,lirr122,lirr102,True,1575
+lirr204,lirr122,lirr102,False,1150
+lirr204,lirr114,lirr102,True,1650
+lirr204,lirr114,lirr102,False,1200
+lirr204,lirr120,lirr214,True,2050
+lirr204,lirr120,lirr214,False,1500
+lirr204,lirr119,lirr102,True,1575
+lirr204,lirr119,lirr102,False,1150
+lirr204,lirr123,lirr102,True,1825
+lirr204,lirr123,lirr132,True,900
+lirr204,lirr123,lirr102,False,1325
+lirr204,lirr123,lirr132,False,900
+lirr204,lirr113,lirr102,True,1825
+lirr204,lirr113,lirr125,True,900
+lirr204,lirr113,lirr102,False,1325
+lirr204,lirr113,lirr125,False,900
+lirr204,lirr125,lirr102,True,1650
+lirr204,lirr125,lirr102,False,1200
+lirr204,lirr142,lirr102,True,1650
+lirr204,lirr142,lirr102,False,1200
+lirr204,lirr131,lirr214,True,2225
+lirr204,lirr131,lirr214,False,1625
+lirr204,lirr126,lirr102,True,3475
+lirr204,lirr126,lirr92,True,2025
+lirr204,lirr126,lirr102,False,2525
+lirr204,lirr126,lirr92,False,2025
+lirr204,lirr129,lirr102,True,2275
+lirr204,lirr129,lirr92,True,1000
+lirr204,lirr129,lirr102,False,1650
+lirr204,lirr129,lirr92,False,1000
+lirr204,lirr127,lirr102,True,1650
+lirr204,lirr127,lirr102,False,1200
+lirr204,lirr132,lirr102,True,1650
+lirr204,lirr132,lirr102,False,1200
+lirr204,lirr130,lirr214,True,2050
+lirr204,lirr130,lirr214,False,1500
+lirr204,lirr149,lirr102,True,1650
+lirr204,lirr149,lirr63,True,825
+lirr204,lirr149,lirr102,False,1200
+lirr204,lirr149,lirr63,False,825
+lirr204,lirr152,lirr102,True,1650
+lirr204,lirr152,lirr102,False,1200
+lirr204,lirr153,lirr102,True,2125
+lirr204,lirr153,lirr92,True,650
+lirr204,lirr153,lirr102,False,1550
+lirr204,lirr153,lirr92,False,650
+lirr204,lirr155,lirr102,True,1825
+lirr204,lirr155,lirr125,True,900
+lirr204,lirr155,lirr102,False,1325
+lirr204,lirr155,lirr125,False,900
+lirr204,lirr154,lirr102,True,1825
+lirr204,lirr154,lirr132,True,900
+lirr204,lirr154,lirr102,False,1325
+lirr204,lirr154,lirr132,False,900
+lirr204,lirr165,lirr102,True,2125
+lirr204,lirr165,lirr92,True,650
+lirr204,lirr165,lirr102,False,1550
+lirr204,lirr165,lirr92,False,650
+lirr204,lirr162,lirr214,True,2225
+lirr204,lirr162,lirr214,False,1625
+lirr204,lirr164,lirr102,True,2275
+lirr204,lirr164,lirr92,True,1000
+lirr204,lirr164,lirr102,False,1650
+lirr204,lirr164,lirr92,False,1000
+lirr204,lirr171,lirr214,True,2225
+lirr204,lirr171,lirr214,False,1625
+lirr204,lirr175,lirr102,True,1575
+lirr204,lirr175,lirr102,False,1150
+lirr204,lirr176,lirr102,True,3475
+lirr204,lirr176,lirr92,True,2025
+lirr204,lirr176,lirr102,False,2525
+lirr204,lirr176,lirr92,False,2025
+lirr204,lirr179,lirr102,True,2275
+lirr204,lirr179,lirr92,True,1000
+lirr204,lirr179,lirr102,False,1650
+lirr204,lirr179,lirr92,False,1000
+lirr204,lirr180,lirr102,True,1575
+lirr204,lirr180,lirr102,False,1150
+lirr204,lirr182,lirr102,True,1825
+lirr204,lirr182,lirr132,True,900
+lirr204,lirr182,lirr102,False,1325
+lirr204,lirr182,lirr132,False,900
+lirr204,lirr185,lirr102,True,1825
+lirr204,lirr185,lirr132,True,900
+lirr204,lirr185,lirr102,False,1325
+lirr204,lirr185,lirr132,False,900
+lirr204,lirr202,lirr102,True,2275
+lirr204,lirr202,lirr92,True,1000
+lirr204,lirr202,lirr102,False,1650
+lirr204,lirr202,lirr92,False,1000
+lirr204,lirr190,lirr102,True,3475
+lirr204,lirr190,lirr92,True,2025
+lirr204,lirr190,lirr102,False,2525
+lirr204,lirr190,lirr92,False,2025
+lirr204,lirr184,lirr102,True,1575
+lirr204,lirr184,lirr102,False,1150
+lirr204,lirr193,lirr102,True,2275
+lirr204,lirr193,lirr92,True,1000
+lirr204,lirr193,lirr102,False,1650
+lirr204,lirr193,lirr92,False,1000
+lirr204,lirr195,lirr102,True,1650
+lirr204,lirr195,lirr63,True,825
+lirr204,lirr195,lirr102,False,1200
+lirr204,lirr195,lirr63,False,825
+lirr204,lirr14,lirr102,True,2275
+lirr204,lirr14,lirr92,True,1000
+lirr204,lirr14,lirr102,False,1650
+lirr204,lirr14,lirr92,False,1000
+lirr204,lirr205,lirr102,True,1825
+lirr204,lirr205,lirr92,True,600
+lirr204,lirr205,lirr102,False,1325
+lirr204,lirr205,lirr92,False,600
+lirr204,lirr211,lirr102,True,1650
+lirr204,lirr211,lirr102,False,1200
+lirr204,lirr216,lirr102,True,1650
+lirr204,lirr216,lirr102,False,1200
+lirr204,lirr213,lirr102,True,1825
+lirr204,lirr213,lirr102,False,1325
+lirr204,lirr219,lirr102,True,1650
+lirr204,lirr219,lirr102,False,1200
+lirr204,lirr217,lirr102,True,1650
+lirr204,lirr217,lirr102,False,1200
+lirr204,lirr220,lirr102,True,2125
+lirr204,lirr220,lirr92,True,650
+lirr204,lirr220,lirr102,False,1550
+lirr204,lirr220,lirr92,False,650
+lirr204,lirr223,lirr102,True,2800
+lirr204,lirr223,lirr92,True,1350
+lirr204,lirr223,lirr102,False,2025
+lirr204,lirr223,lirr92,False,1350
+lirr185,lirr4,lirr102,True,2975
+lirr185,lirr4,lirr132,True,1875
+lirr185,lirr4,lirr102,False,2175
+lirr185,lirr4,lirr132,False,1875
+lirr185,lirr8,lirr102,True,1575
+lirr185,lirr8,lirr102,False,1150
+lirr185,lirr2,lirr214,True,1575
+lirr185,lirr2,lirr214,False,1150
+lirr185,lirr27,lirr102,True,1575
+lirr185,lirr27,lirr132,True,650
+lirr185,lirr27,lirr102,False,1150
+lirr185,lirr27,lirr132,False,650
+lirr185,lirr225,lirr102,True,1225
+lirr185,lirr225,lirr102,False,900
+lirr185,lirr26,lirr102,True,1825
+lirr185,lirr26,lirr132,True,900
+lirr185,lirr26,lirr102,False,1325
+lirr185,lirr26,lirr132,False,900
+lirr185,lirr25,lirr214,True,1575
+lirr185,lirr25,lirr214,False,1150
+lirr185,lirr23,lirr102,True,1100
+lirr185,lirr23,lirr102,False,800
+lirr185,lirr16,lirr102,True,1225
+lirr185,lirr16,lirr102,False,900
+lirr185,lirr21,lirr102,True,2275
+lirr185,lirr21,lirr132,True,1225
+lirr185,lirr21,lirr102,False,1650
+lirr185,lirr21,lirr132,False,1225
+lirr185,lirr20,lirr132,True,450
+lirr185,lirr20,lirr132,False,450
+lirr185,lirr29,lirr132,True,900
+lirr185,lirr29,lirr132,False,900
+lirr185,lirr13,lirr102,True,2975
+lirr185,lirr13,lirr132,True,1875
+lirr185,lirr13,lirr102,False,2175
+lirr185,lirr13,lirr132,False,1875
+lirr185,lirr11,lirr214,True,1575
+lirr185,lirr11,lirr214,False,1150
+lirr185,lirr39,lirr132,True,450
+lirr185,lirr39,lirr132,False,450
+lirr185,lirr32,lirr102,True,1100
+lirr185,lirr32,lirr102,False,800
+lirr185,lirr33,lirr132,True,900
+lirr185,lirr33,lirr132,False,900
+lirr185,lirr31,lirr102,True,1225
+lirr185,lirr31,lirr102,False,900
+lirr185,lirr40,lirr132,True,650
+lirr185,lirr40,lirr132,False,650
+lirr185,lirr38,lirr102,True,1575
+lirr185,lirr38,lirr102,False,1150
+lirr185,lirr36,lirr102,True,1100
+lirr185,lirr36,lirr63,True,425
+lirr185,lirr36,lirr102,False,800
+lirr185,lirr36,lirr63,False,425
+lirr185,lirr44,lirr132,True,650
+lirr185,lirr44,lirr132,False,650
+lirr185,lirr42,lirr214,True,1575
+lirr185,lirr42,lirr214,False,1150
+lirr185,lirr48,lirr102,True,2975
+lirr185,lirr48,lirr132,True,1875
+lirr185,lirr48,lirr102,False,2175
+lirr185,lirr48,lirr132,False,1875
+lirr185,lirr51,lirr102,True,1225
+lirr185,lirr51,lirr102,False,900
+lirr185,lirr65,lirr102,True,1100
+lirr185,lirr65,lirr102,False,800
+lirr185,lirr59,lirr132,True,450
+lirr185,lirr59,lirr132,False,450
+lirr185,lirr63,lirr102,True,1100
+lirr185,lirr63,lirr102,False,800
+lirr185,lirr56,lirr214,True,1575
+lirr185,lirr56,lirr214,False,1150
+lirr185,lirr64,lirr102,True,1225
+lirr185,lirr64,lirr102,False,900
+lirr185,lirr68,lirr102,True,1100
+lirr185,lirr68,lirr63,True,425
+lirr185,lirr68,lirr102,False,800
+lirr185,lirr68,lirr63,False,425
+lirr185,lirr66,lirr102,True,1100
+lirr185,lirr66,lirr102,False,800
+lirr185,lirr72,lirr214,True,1725
+lirr185,lirr72,lirr214,False,1250
+lirr185,lirr74,lirr102,True,1825
+lirr185,lirr74,lirr132,True,900
+lirr185,lirr74,lirr102,False,1325
+lirr185,lirr74,lirr132,False,900
+lirr185,lirr78,lirr132,True,650
+lirr185,lirr78,lirr132,False,650
+lirr185,lirr73,lirr132,True,1875
+lirr185,lirr73,lirr132,False,1875
+lirr185,lirr83,lirr102,True,2975
+lirr185,lirr83,lirr132,True,1875
+lirr185,lirr83,lirr102,False,2175
+lirr185,lirr83,lirr132,False,1875
+lirr185,lirr84,lirr102,True,1100
+lirr185,lirr84,lirr63,True,425
+lirr185,lirr84,lirr102,False,800
+lirr185,lirr84,lirr63,False,425
+lirr185,lirr85,lirr102,True,1100
+lirr185,lirr85,lirr102,False,800
+lirr185,lirr94,lirr102,True,1100
+lirr185,lirr94,lirr102,False,800
+lirr185,lirr92,lirr132,True,450
+lirr185,lirr92,lirr132,False,450
+lirr185,lirr89,lirr102,True,1050
+lirr185,lirr89,lirr102,False,775
+lirr185,lirr91,lirr132,True,650
+lirr185,lirr91,lirr132,False,650
+lirr185,lirr101,lirr102,True,1100
+lirr185,lirr101,lirr102,False,800
+lirr185,lirr99,lirr102,True,1225
+lirr185,lirr99,lirr102,False,900
+lirr185,lirr100,lirr102,True,1825
+lirr185,lirr100,lirr132,True,900
+lirr185,lirr100,lirr102,False,1325
+lirr185,lirr100,lirr132,False,900
+lirr185,lirr111,lirr132,True,900
+lirr185,lirr111,lirr132,False,900
+lirr185,lirr124,lirr102,True,1100
+lirr185,lirr124,lirr102,False,800
+lirr185,lirr122,lirr102,True,1050
+lirr185,lirr122,lirr102,False,775
+lirr185,lirr114,lirr102,True,1100
+lirr185,lirr114,lirr102,False,800
+lirr185,lirr117,lirr102,True,1575
+lirr185,lirr117,lirr102,False,1150
+lirr185,lirr120,lirr214,True,1575
+lirr185,lirr120,lirr214,False,1150
+lirr185,lirr119,lirr102,True,1050
+lirr185,lirr119,lirr102,False,775
+lirr185,lirr113,lirr102,True,1225
+lirr185,lirr113,lirr102,False,900
+lirr185,lirr125,lirr102,True,1100
+lirr185,lirr125,lirr102,False,800
+lirr185,lirr142,lirr102,True,1100
+lirr185,lirr142,lirr102,False,800
+lirr185,lirr131,lirr214,True,1725
+lirr185,lirr131,lirr214,False,1250
+lirr185,lirr136,lirr102,True,1225
+lirr185,lirr136,lirr102,False,900
+lirr185,lirr135,lirr102,True,1225
+lirr185,lirr135,lirr102,False,900
+lirr185,lirr140,lirr102,True,2275
+lirr185,lirr140,lirr132,True,1225
+lirr185,lirr140,lirr102,False,1650
+lirr185,lirr140,lirr132,False,1225
+lirr185,lirr126,lirr132,True,1875
+lirr185,lirr126,lirr132,False,1875
+lirr185,lirr129,lirr132,True,900
+lirr185,lirr129,lirr132,False,900
+lirr185,lirr226,lirr102,True,1225
+lirr185,lirr226,lirr102,False,900
+lirr185,lirr141,lirr102,True,2975
+lirr185,lirr141,lirr132,True,1875
+lirr185,lirr141,lirr102,False,2175
+lirr185,lirr141,lirr132,False,1875
+lirr185,lirr130,lirr214,True,1575
+lirr185,lirr130,lirr214,False,1150
+lirr185,lirr149,lirr102,True,1100
+lirr185,lirr149,lirr63,True,425
+lirr185,lirr149,lirr102,False,800
+lirr185,lirr149,lirr63,False,425
+lirr185,lirr153,lirr132,True,650
+lirr185,lirr153,lirr132,False,650
+lirr185,lirr157,lirr102,True,1825
+lirr185,lirr157,lirr132,True,900
+lirr185,lirr157,lirr102,False,1325
+lirr185,lirr157,lirr132,False,900
+lirr185,lirr155,lirr102,True,1225
+lirr185,lirr155,lirr102,False,900
+lirr185,lirr163,lirr102,True,1825
+lirr185,lirr163,lirr132,True,900
+lirr185,lirr163,lirr102,False,1325
+lirr185,lirr163,lirr132,False,900
+lirr185,lirr165,lirr132,True,650
+lirr185,lirr165,lirr132,False,650
+lirr185,lirr162,lirr214,True,1725
+lirr185,lirr162,lirr214,False,1250
+lirr185,lirr164,lirr132,True,900
+lirr185,lirr164,lirr132,False,900
+lirr185,lirr171,lirr214,True,1725
+lirr185,lirr171,lirr214,False,1250
+lirr185,lirr175,lirr102,True,1050
+lirr185,lirr175,lirr102,False,775
+lirr185,lirr176,lirr132,True,1875
+lirr185,lirr176,lirr132,False,1875
+lirr185,lirr183,lirr102,True,1225
+lirr185,lirr183,lirr102,False,900
+lirr185,lirr179,lirr132,True,900
+lirr185,lirr179,lirr132,False,900
+lirr185,lirr180,lirr102,True,1050
+lirr185,lirr180,lirr102,False,775
+lirr185,lirr204,lirr102,True,1825
+lirr185,lirr204,lirr132,True,900
+lirr185,lirr204,lirr102,False,1325
+lirr185,lirr204,lirr132,False,900
+lirr185,lirr187,lirr102,True,1225
+lirr185,lirr187,lirr102,False,900
+lirr185,lirr202,lirr132,True,900
+lirr185,lirr202,lirr132,False,900
+lirr185,lirr191,lirr102,True,2975
+lirr185,lirr191,lirr132,True,1875
+lirr185,lirr191,lirr102,False,2175
+lirr185,lirr191,lirr132,False,1875
+lirr185,lirr190,lirr132,True,1875
+lirr185,lirr190,lirr132,False,1875
+lirr185,lirr198,lirr102,True,2275
+lirr185,lirr198,lirr132,True,1225
+lirr185,lirr198,lirr102,False,1650
+lirr185,lirr198,lirr132,False,1225
+lirr185,lirr184,lirr102,True,1050
+lirr185,lirr184,lirr102,False,775
+lirr185,lirr193,lirr132,True,900
+lirr185,lirr193,lirr132,False,900
+lirr185,lirr195,lirr102,True,1100
+lirr185,lirr195,lirr63,True,425
+lirr185,lirr195,lirr102,False,800
+lirr185,lirr195,lirr63,False,425
+lirr185,lirr14,lirr132,True,900
+lirr185,lirr14,lirr132,False,900
+lirr185,lirr205,lirr132,True,450
+lirr185,lirr205,lirr132,False,450
+lirr185,lirr211,lirr102,True,1100
+lirr185,lirr211,lirr102,False,800
+lirr185,lirr215,lirr102,True,1225
+lirr185,lirr215,lirr102,False,900
+lirr185,lirr216,lirr102,True,1100
+lirr185,lirr216,lirr102,False,800
+lirr185,lirr213,lirr132,True,450
+lirr185,lirr213,lirr132,False,450
+lirr185,lirr233,lirr102,True,2975
+lirr185,lirr233,lirr132,True,1875
+lirr185,lirr233,lirr102,False,2175
+lirr185,lirr233,lirr132,False,1875
+lirr185,lirr219,lirr102,True,1100
+lirr185,lirr219,lirr102,False,800
+lirr185,lirr217,lirr102,True,1100
+lirr185,lirr217,lirr102,False,800
+lirr185,lirr220,lirr132,True,650
+lirr185,lirr220,lirr132,False,650
+lirr185,lirr223,lirr132,True,1225
+lirr185,lirr223,lirr132,False,1225
+lirr187,lirr1,lirr102,True,1225
+lirr187,lirr1,lirr102,False,900
+lirr187,lirr2,lirr214,True,1575
+lirr187,lirr2,lirr214,False,1150
+lirr187,lirr25,lirr214,True,1575
+lirr187,lirr25,lirr214,False,1150
+lirr187,lirr23,lirr102,True,1100
+lirr187,lirr23,lirr102,False,800
+lirr187,lirr20,lirr102,True,1225
+lirr187,lirr20,lirr102,False,900
+lirr187,lirr29,lirr102,True,1825
+lirr187,lirr29,lirr102,False,1325
+lirr187,lirr11,lirr214,True,1575
+lirr187,lirr11,lirr214,False,1150
+lirr187,lirr39,lirr102,True,1225
+lirr187,lirr39,lirr102,False,900
+lirr187,lirr32,lirr102,True,1100
+lirr187,lirr32,lirr211,True,425
+lirr187,lirr32,lirr102,False,800
+lirr187,lirr32,lirr211,False,425
+lirr187,lirr33,lirr102,True,1825
+lirr187,lirr33,lirr102,False,1325
+lirr187,lirr31,lirr102,True,1225
+lirr187,lirr31,lirr125,True,450
+lirr187,lirr31,lirr102,False,900
+lirr187,lirr31,lirr125,False,450
+lirr187,lirr40,lirr102,True,1575
+lirr187,lirr40,lirr102,False,1150
+lirr187,lirr36,lirr102,True,1100
+lirr187,lirr36,lirr102,False,800
+lirr187,lirr44,lirr102,True,1575
+lirr187,lirr44,lirr102,False,1150
+lirr187,lirr42,lirr214,True,1575
+lirr187,lirr42,lirr214,False,1150
+lirr187,lirr51,lirr102,True,1225
+lirr187,lirr51,lirr125,True,450
+lirr187,lirr51,lirr102,False,900
+lirr187,lirr51,lirr125,False,450
+lirr187,lirr52,lirr102,True,1100
+lirr187,lirr52,lirr102,False,800
+lirr187,lirr65,lirr102,True,1100
+lirr187,lirr65,lirr211,True,425
+lirr187,lirr65,lirr102,False,800
+lirr187,lirr65,lirr211,False,425
+lirr187,lirr59,lirr102,True,1225
+lirr187,lirr59,lirr102,False,900
+lirr187,lirr63,lirr102,True,1100
+lirr187,lirr63,lirr102,False,800
+lirr187,lirr56,lirr214,True,1575
+lirr187,lirr56,lirr214,False,1150
+lirr187,lirr68,lirr102,True,1100
+lirr187,lirr68,lirr102,False,800
+lirr187,lirr66,lirr102,True,1100
+lirr187,lirr66,lirr211,True,425
+lirr187,lirr66,lirr102,False,800
+lirr187,lirr66,lirr211,False,425
+lirr187,lirr67,lirr102,True,1225
+lirr187,lirr67,lirr102,False,900
+lirr187,lirr71,lirr102,True,1225
+lirr187,lirr71,lirr102,False,900
+lirr187,lirr76,lirr102,True,1225
+lirr187,lirr76,lirr102,False,900
+lirr187,lirr72,lirr214,True,1725
+lirr187,lirr72,lirr214,False,1250
+lirr187,lirr78,lirr102,True,1575
+lirr187,lirr78,lirr102,False,1150
+lirr187,lirr73,lirr102,True,2975
+lirr187,lirr73,lirr102,False,2175
+lirr187,lirr77,lirr102,True,1225
+lirr187,lirr77,lirr102,False,900
+lirr187,lirr84,lirr102,True,1100
+lirr187,lirr84,lirr102,False,800
+lirr187,lirr85,lirr102,True,1100
+lirr187,lirr85,lirr102,False,800
+lirr187,lirr94,lirr102,True,1100
+lirr187,lirr94,lirr211,True,425
+lirr187,lirr94,lirr102,False,800
+lirr187,lirr94,lirr211,False,425
+lirr187,lirr92,lirr102,True,1225
+lirr187,lirr92,lirr102,False,900
+lirr187,lirr89,lirr102,True,1050
+lirr187,lirr89,lirr102,False,775
+lirr187,lirr91,lirr102,True,1575
+lirr187,lirr91,lirr102,False,1150
+lirr187,lirr101,lirr102,True,1100
+lirr187,lirr101,lirr211,True,425
+lirr187,lirr101,lirr102,False,800
+lirr187,lirr101,lirr211,False,425
+lirr187,lirr99,lirr102,True,1225
+lirr187,lirr99,lirr125,True,450
+lirr187,lirr99,lirr102,False,900
+lirr187,lirr99,lirr125,False,450
+lirr187,lirr111,lirr102,True,1825
+lirr187,lirr111,lirr102,False,1325
+lirr187,lirr124,lirr102,True,1100
+lirr187,lirr124,lirr102,False,800
+lirr187,lirr122,lirr102,True,1050
+lirr187,lirr122,lirr102,False,775
+lirr187,lirr114,lirr102,True,1100
+lirr187,lirr114,lirr211,True,425
+lirr187,lirr114,lirr102,False,800
+lirr187,lirr114,lirr211,False,425
+lirr187,lirr120,lirr214,True,1575
+lirr187,lirr120,lirr214,False,1150
+lirr187,lirr119,lirr102,True,1050
+lirr187,lirr119,lirr102,False,775
+lirr187,lirr123,lirr102,True,1225
+lirr187,lirr123,lirr102,False,900
+lirr187,lirr113,lirr102,True,1225
+lirr187,lirr113,lirr125,True,450
+lirr187,lirr113,lirr102,False,900
+lirr187,lirr113,lirr125,False,450
+lirr187,lirr125,lirr102,True,1100
+lirr187,lirr125,lirr102,False,800
+lirr187,lirr142,lirr102,True,1100
+lirr187,lirr142,lirr102,False,800
+lirr187,lirr131,lirr214,True,1725
+lirr187,lirr131,lirr214,False,1250
+lirr187,lirr126,lirr102,True,2975
+lirr187,lirr126,lirr102,False,2175
+lirr187,lirr129,lirr102,True,1825
+lirr187,lirr129,lirr102,False,1325
+lirr187,lirr127,lirr102,True,1100
+lirr187,lirr127,lirr102,False,800
+lirr187,lirr132,lirr102,True,1100
+lirr187,lirr132,lirr102,False,800
+lirr187,lirr130,lirr214,True,1575
+lirr187,lirr130,lirr214,False,1150
+lirr187,lirr149,lirr102,True,1100
+lirr187,lirr149,lirr102,False,800
+lirr187,lirr152,lirr102,True,1100
+lirr187,lirr152,lirr102,False,800
+lirr187,lirr153,lirr102,True,1575
+lirr187,lirr153,lirr102,False,1150
+lirr187,lirr155,lirr102,True,1225
+lirr187,lirr155,lirr125,True,450
+lirr187,lirr155,lirr102,False,900
+lirr187,lirr155,lirr125,False,450
+lirr187,lirr154,lirr102,True,1225
+lirr187,lirr154,lirr102,False,900
+lirr187,lirr165,lirr102,True,1575
+lirr187,lirr165,lirr102,False,1150
+lirr187,lirr162,lirr214,True,1725
+lirr187,lirr162,lirr214,False,1250
+lirr187,lirr164,lirr102,True,1825
+lirr187,lirr164,lirr102,False,1325
+lirr187,lirr171,lirr214,True,1725
+lirr187,lirr171,lirr214,False,1250
+lirr187,lirr175,lirr102,True,1050
+lirr187,lirr175,lirr102,False,775
+lirr187,lirr176,lirr102,True,2975
+lirr187,lirr176,lirr102,False,2175
+lirr187,lirr179,lirr102,True,1825
+lirr187,lirr179,lirr102,False,1325
+lirr187,lirr180,lirr102,True,1050
+lirr187,lirr180,lirr102,False,775
+lirr187,lirr182,lirr102,True,1225
+lirr187,lirr182,lirr102,False,900
+lirr187,lirr185,lirr102,True,1225
+lirr187,lirr185,lirr102,False,900
+lirr187,lirr202,lirr102,True,1825
+lirr187,lirr202,lirr102,False,1325
+lirr187,lirr190,lirr102,True,2975
+lirr187,lirr190,lirr102,False,2175
+lirr187,lirr184,lirr102,True,1050
+lirr187,lirr184,lirr102,False,775
+lirr187,lirr193,lirr102,True,1825
+lirr187,lirr193,lirr102,False,1325
+lirr187,lirr195,lirr102,True,1100
+lirr187,lirr195,lirr102,False,800
+lirr187,lirr14,lirr102,True,1825
+lirr187,lirr14,lirr102,False,1325
+lirr187,lirr205,lirr102,True,1225
+lirr187,lirr205,lirr102,False,900
+lirr187,lirr211,lirr102,True,1100
+lirr187,lirr211,lirr102,False,800
+lirr187,lirr216,lirr102,True,1100
+lirr187,lirr216,lirr102,False,800
+lirr187,lirr213,lirr102,True,1225
+lirr187,lirr213,lirr102,False,900
+lirr187,lirr219,lirr102,True,1100
+lirr187,lirr219,lirr102,False,800
+lirr187,lirr217,lirr102,True,1100
+lirr187,lirr217,lirr211,True,425
+lirr187,lirr217,lirr102,False,800
+lirr187,lirr217,lirr211,False,425
+lirr187,lirr220,lirr102,True,1575
+lirr187,lirr220,lirr102,False,1150
+lirr187,lirr223,lirr102,True,2275
+lirr187,lirr223,lirr102,False,1650
+lirr202,lirr1,lirr132,True,900
+lirr202,lirr1,lirr132,False,900
+lirr202,lirr4,lirr102,True,3475
+lirr202,lirr4,lirr92,True,2025
+lirr202,lirr4,lirr102,False,2525
+lirr202,lirr4,lirr92,False,2025
+lirr202,lirr8,lirr102,True,2125
+lirr202,lirr8,lirr102,False,1550
+lirr202,lirr2,lirr214,True,2050
+lirr202,lirr2,lirr214,False,1500
+lirr202,lirr27,lirr102,True,2125
+lirr202,lirr27,lirr92,True,650
+lirr202,lirr27,lirr102,False,1550
+lirr202,lirr27,lirr92,False,650
+lirr202,lirr225,lirr102,True,1825
+lirr202,lirr225,lirr102,False,1325
+lirr202,lirr26,lirr102,True,2275
+lirr202,lirr26,lirr92,True,1000
+lirr202,lirr26,lirr102,False,1650
+lirr202,lirr26,lirr92,False,1000
+lirr202,lirr25,lirr214,True,2050
+lirr202,lirr25,lirr214,False,1500
+lirr202,lirr23,lirr102,True,1650
+lirr202,lirr23,lirr102,False,1200
+lirr202,lirr16,lirr102,True,1825
+lirr202,lirr16,lirr102,False,1325
+lirr202,lirr21,lirr102,True,2800
+lirr202,lirr21,lirr92,True,1350
+lirr202,lirr21,lirr102,False,2025
+lirr202,lirr21,lirr92,False,1350
+lirr202,lirr20,lirr92,True,600
+lirr202,lirr20,lirr92,False,600
+lirr202,lirr29,lirr92,True,1000
+lirr202,lirr29,lirr92,False,1000
+lirr202,lirr13,lirr102,True,3475
+lirr202,lirr13,lirr92,True,2025
+lirr202,lirr13,lirr102,False,2525
+lirr202,lirr13,lirr92,False,2025
+lirr202,lirr11,lirr214,True,2050
+lirr202,lirr11,lirr214,False,1500
+lirr202,lirr32,lirr102,True,1650
+lirr202,lirr32,lirr102,False,1200
+lirr202,lirr33,lirr92,True,1000
+lirr202,lirr33,lirr92,False,1000
+lirr202,lirr31,lirr102,True,1825
+lirr202,lirr31,lirr102,False,1325
+lirr202,lirr38,lirr102,True,2125
+lirr202,lirr38,lirr102,False,1550
+lirr202,lirr36,lirr102,True,1650
+lirr202,lirr36,lirr63,True,825
+lirr202,lirr36,lirr102,False,1200
+lirr202,lirr36,lirr63,False,825
+lirr202,lirr44,lirr92,True,650
+lirr202,lirr44,lirr92,False,650
+lirr202,lirr42,lirr214,True,2050
+lirr202,lirr42,lirr214,False,1500
+lirr202,lirr48,lirr102,True,3475
+lirr202,lirr48,lirr92,True,2025
+lirr202,lirr48,lirr102,False,2525
+lirr202,lirr48,lirr92,False,2025
+lirr202,lirr51,lirr102,True,1825
+lirr202,lirr51,lirr102,False,1325
+lirr202,lirr52,lirr132,True,825
+lirr202,lirr52,lirr132,False,825
+lirr202,lirr65,lirr102,True,1650
+lirr202,lirr65,lirr102,False,1200
+lirr202,lirr59,lirr92,True,600
+lirr202,lirr59,lirr92,False,600
+lirr202,lirr63,lirr102,True,1650
+lirr202,lirr63,lirr102,False,1200
+lirr202,lirr56,lirr214,True,2050
+lirr202,lirr56,lirr214,False,1500
+lirr202,lirr64,lirr102,True,1825
+lirr202,lirr64,lirr102,False,1325
+lirr202,lirr68,lirr102,True,1650
+lirr202,lirr68,lirr63,True,825
+lirr202,lirr68,lirr102,False,1200
+lirr202,lirr68,lirr63,False,825
+lirr202,lirr66,lirr102,True,1650
+lirr202,lirr66,lirr102,False,1200
+lirr202,lirr67,lirr132,True,900
+lirr202,lirr67,lirr132,False,900
+lirr202,lirr71,lirr132,True,900
+lirr202,lirr71,lirr132,False,900
+lirr202,lirr76,lirr132,True,900
+lirr202,lirr76,lirr132,False,900
+lirr202,lirr72,lirr214,True,2225
+lirr202,lirr72,lirr214,False,1625
+lirr202,lirr74,lirr102,True,2275
+lirr202,lirr74,lirr92,True,1000
+lirr202,lirr74,lirr102,False,1650
+lirr202,lirr74,lirr92,False,1000
+lirr202,lirr73,lirr92,True,2025
+lirr202,lirr73,lirr92,False,2025
+lirr202,lirr77,lirr132,True,900
+lirr202,lirr77,lirr132,False,900
+lirr202,lirr83,lirr102,True,3475
+lirr202,lirr83,lirr92,True,2025
+lirr202,lirr83,lirr102,False,2525
+lirr202,lirr83,lirr92,False,2025
+lirr202,lirr84,lirr102,True,1650
+lirr202,lirr84,lirr63,True,825
+lirr202,lirr84,lirr102,False,1200
+lirr202,lirr84,lirr63,False,825
+lirr202,lirr85,lirr102,True,1650
+lirr202,lirr85,lirr102,False,1200
+lirr202,lirr94,lirr102,True,1650
+lirr202,lirr94,lirr102,False,1200
+lirr202,lirr89,lirr102,True,1575
+lirr202,lirr89,lirr102,False,1150
+lirr202,lirr101,lirr102,True,1650
+lirr202,lirr101,lirr102,False,1200
+lirr202,lirr99,lirr102,True,1825
+lirr202,lirr99,lirr102,False,1325
+lirr202,lirr100,lirr102,True,2275
+lirr202,lirr100,lirr92,True,1000
+lirr202,lirr100,lirr102,False,1650
+lirr202,lirr100,lirr92,False,1000
+lirr202,lirr124,lirr102,True,1650
+lirr202,lirr124,lirr102,False,1200
+lirr202,lirr122,lirr102,True,1575
+lirr202,lirr122,lirr102,False,1150
+lirr202,lirr114,lirr102,True,1650
+lirr202,lirr114,lirr102,False,1200
+lirr202,lirr117,lirr102,True,2125
+lirr202,lirr117,lirr102,False,1550
+lirr202,lirr120,lirr214,True,2050
+lirr202,lirr120,lirr214,False,1500
+lirr202,lirr119,lirr102,True,1575
+lirr202,lirr119,lirr102,False,1150
+lirr202,lirr123,lirr132,True,900
+lirr202,lirr123,lirr132,False,900
+lirr202,lirr113,lirr102,True,1825
+lirr202,lirr113,lirr102,False,1325
+lirr202,lirr125,lirr102,True,1650
+lirr202,lirr125,lirr102,False,1200
+lirr202,lirr142,lirr102,True,1650
+lirr202,lirr142,lirr102,False,1200
+lirr202,lirr131,lirr214,True,2225
+lirr202,lirr131,lirr214,False,1625
+lirr202,lirr136,lirr102,True,1825
+lirr202,lirr136,lirr102,False,1325
+lirr202,lirr135,lirr102,True,1825
+lirr202,lirr135,lirr102,False,1325
+lirr202,lirr140,lirr102,True,2800
+lirr202,lirr140,lirr92,True,1350
+lirr202,lirr140,lirr102,False,2025
+lirr202,lirr140,lirr92,False,1350
+lirr202,lirr126,lirr92,True,2025
+lirr202,lirr126,lirr92,False,2025
+lirr202,lirr129,lirr92,True,1000
+lirr202,lirr129,lirr92,False,1000
+lirr202,lirr226,lirr102,True,1825
+lirr202,lirr226,lirr102,False,1325
+lirr202,lirr141,lirr102,True,3475
+lirr202,lirr141,lirr92,True,2025
+lirr202,lirr141,lirr102,False,2525
+lirr202,lirr141,lirr92,False,2025
+lirr202,lirr130,lirr214,True,2050
+lirr202,lirr130,lirr214,False,1500
+lirr202,lirr149,lirr102,True,1650
+lirr202,lirr149,lirr63,True,825
+lirr202,lirr149,lirr102,False,1200
+lirr202,lirr149,lirr63,False,825
+lirr202,lirr157,lirr102,True,2275
+lirr202,lirr157,lirr92,True,1000
+lirr202,lirr157,lirr102,False,1650
+lirr202,lirr157,lirr92,False,1000
+lirr202,lirr155,lirr102,True,1825
+lirr202,lirr155,lirr102,False,1325
+lirr202,lirr154,lirr132,True,900
+lirr202,lirr154,lirr132,False,900
+lirr202,lirr163,lirr102,True,2275
+lirr202,lirr163,lirr92,True,1000
+lirr202,lirr163,lirr102,False,1650
+lirr202,lirr163,lirr92,False,1000
+lirr202,lirr165,lirr92,True,650
+lirr202,lirr165,lirr92,False,650
+lirr202,lirr162,lirr214,True,2225
+lirr202,lirr162,lirr214,False,1625
+lirr202,lirr171,lirr214,True,2225
+lirr202,lirr171,lirr214,False,1625
+lirr202,lirr175,lirr102,True,1575
+lirr202,lirr175,lirr102,False,1150
+lirr202,lirr176,lirr92,True,2025
+lirr202,lirr176,lirr92,False,2025
+lirr202,lirr183,lirr102,True,1825
+lirr202,lirr183,lirr102,False,1325
+lirr202,lirr179,lirr92,True,1000
+lirr202,lirr179,lirr92,False,1000
+lirr202,lirr180,lirr102,True,1575
+lirr202,lirr180,lirr102,False,1150
+lirr202,lirr182,lirr132,True,900
+lirr202,lirr182,lirr132,False,900
+lirr202,lirr204,lirr102,True,2275
+lirr202,lirr204,lirr92,True,1000
+lirr202,lirr204,lirr102,False,1650
+lirr202,lirr204,lirr92,False,1000
+lirr202,lirr185,lirr132,True,900
+lirr202,lirr185,lirr132,False,900
+lirr202,lirr187,lirr102,True,1825
+lirr202,lirr187,lirr102,False,1325
+lirr202,lirr191,lirr102,True,3475
+lirr202,lirr191,lirr92,True,2025
+lirr202,lirr191,lirr102,False,2525
+lirr202,lirr191,lirr92,False,2025
+lirr202,lirr190,lirr92,True,2025
+lirr202,lirr190,lirr92,False,2025
+lirr202,lirr198,lirr102,True,2800
+lirr202,lirr198,lirr92,True,1350
+lirr202,lirr198,lirr102,False,2025
+lirr202,lirr198,lirr92,False,1350
+lirr202,lirr184,lirr102,True,1575
+lirr202,lirr184,lirr102,False,1150
+lirr202,lirr195,lirr102,True,1650
+lirr202,lirr195,lirr63,True,825
+lirr202,lirr195,lirr102,False,1200
+lirr202,lirr195,lirr63,False,825
+lirr202,lirr211,lirr102,True,1650
+lirr202,lirr211,lirr102,False,1200
+lirr202,lirr215,lirr102,True,1825
+lirr202,lirr215,lirr102,False,1325
+lirr202,lirr216,lirr102,True,1650
+lirr202,lirr216,lirr102,False,1200
+lirr202,lirr233,lirr102,True,3475
+lirr202,lirr233,lirr92,True,2025
+lirr202,lirr233,lirr102,False,2525
+lirr202,lirr233,lirr92,False,2025
+lirr202,lirr219,lirr102,True,1650
+lirr202,lirr219,lirr102,False,1200
+lirr202,lirr217,lirr102,True,1650
+lirr202,lirr217,lirr102,False,1200
+lirr202,lirr220,lirr92,True,650
+lirr202,lirr220,lirr92,False,650
+lirr202,lirr223,lirr92,True,1350
+lirr202,lirr223,lirr92,False,1350
+lirr191,lirr1,lirr102,True,2975
+lirr191,lirr1,lirr132,True,1875
+lirr191,lirr1,lirr102,False,2175
+lirr191,lirr1,lirr132,False,1875
+lirr191,lirr2,lirr214,True,3200
+lirr191,lirr2,lirr214,False,2325
+lirr191,lirr25,lirr214,True,3200
+lirr191,lirr25,lirr214,False,2325
+lirr191,lirr23,lirr102,True,2775
+lirr191,lirr23,lirr102,False,2025
+lirr191,lirr20,lirr102,True,2975
+lirr191,lirr20,lirr92,True,1725
+lirr191,lirr20,lirr102,False,2175
+lirr191,lirr20,lirr92,False,1725
+lirr191,lirr29,lirr102,True,3475
+lirr191,lirr29,lirr92,True,2025
+lirr191,lirr29,lirr102,False,2525
+lirr191,lirr29,lirr92,False,2025
+lirr191,lirr11,lirr214,True,3200
+lirr191,lirr11,lirr214,False,2325
+lirr191,lirr39,lirr102,True,2975
+lirr191,lirr39,lirr102,False,2175
+lirr191,lirr32,lirr102,True,2775
+lirr191,lirr32,lirr102,False,2025
+lirr191,lirr33,lirr102,True,3475
+lirr191,lirr33,lirr92,True,2025
+lirr191,lirr33,lirr102,False,2525
+lirr191,lirr33,lirr92,False,2025
+lirr191,lirr31,lirr102,True,2975
+lirr191,lirr31,lirr125,True,1875
+lirr191,lirr31,lirr102,False,2175
+lirr191,lirr31,lirr125,False,1875
+lirr191,lirr40,lirr102,True,3275
+lirr191,lirr40,lirr92,True,1775
+lirr191,lirr40,lirr102,False,2375
+lirr191,lirr40,lirr92,False,1775
+lirr191,lirr36,lirr102,True,2775
+lirr191,lirr36,lirr63,True,1850
+lirr191,lirr36,lirr102,False,2025
+lirr191,lirr36,lirr63,False,1850
+lirr191,lirr44,lirr102,True,3275
+lirr191,lirr44,lirr92,True,1775
+lirr191,lirr44,lirr102,False,2375
+lirr191,lirr44,lirr92,False,1775
+lirr191,lirr42,lirr214,True,3200
+lirr191,lirr42,lirr214,False,2325
+lirr191,lirr51,lirr102,True,2975
+lirr191,lirr51,lirr125,True,1875
+lirr191,lirr51,lirr102,False,2175
+lirr191,lirr51,lirr125,False,1875
+lirr191,lirr52,lirr102,True,2775
+lirr191,lirr52,lirr132,True,1850
+lirr191,lirr52,lirr102,False,2025
+lirr191,lirr52,lirr132,False,1850
+lirr191,lirr65,lirr102,True,2775
+lirr191,lirr65,lirr102,False,2025
+lirr191,lirr59,lirr102,True,2975
+lirr191,lirr59,lirr92,True,1725
+lirr191,lirr59,lirr102,False,2175
+lirr191,lirr59,lirr92,False,1725
+lirr191,lirr63,lirr102,True,2775
+lirr191,lirr63,lirr102,False,2025
+lirr191,lirr56,lirr214,True,3200
+lirr191,lirr56,lirr214,False,2325
+lirr191,lirr68,lirr102,True,2775
+lirr191,lirr68,lirr63,True,1850
+lirr191,lirr68,lirr102,False,2025
+lirr191,lirr68,lirr63,False,1850
+lirr191,lirr66,lirr102,True,2775
+lirr191,lirr66,lirr102,False,2025
+lirr191,lirr67,lirr102,True,2975
+lirr191,lirr67,lirr132,True,1875
+lirr191,lirr67,lirr102,False,2175
+lirr191,lirr67,lirr132,False,1875
+lirr191,lirr71,lirr102,True,2975
+lirr191,lirr71,lirr132,True,1875
+lirr191,lirr71,lirr102,False,2175
+lirr191,lirr71,lirr132,False,1875
+lirr191,lirr76,lirr102,True,2975
+lirr191,lirr76,lirr132,True,1875
+lirr191,lirr76,lirr102,False,2175
+lirr191,lirr76,lirr132,False,1875
+lirr191,lirr72,lirr214,True,3375
+lirr191,lirr72,lirr214,False,2450
+lirr191,lirr78,lirr102,True,3275
+lirr191,lirr78,lirr92,True,1775
+lirr191,lirr78,lirr102,False,2375
+lirr191,lirr78,lirr92,False,1775
+lirr191,lirr73,lirr102,True,4350
+lirr191,lirr73,lirr92,True,2800
+lirr191,lirr73,lirr102,False,3175
+lirr191,lirr73,lirr92,False,2800
+lirr191,lirr77,lirr102,True,2975
+lirr191,lirr77,lirr132,True,1875
+lirr191,lirr77,lirr102,False,2175
+lirr191,lirr77,lirr132,False,1875
+lirr191,lirr84,lirr102,True,2775
+lirr191,lirr84,lirr63,True,1850
+lirr191,lirr84,lirr102,False,2025
+lirr191,lirr84,lirr63,False,1850
+lirr191,lirr85,lirr102,True,2775
+lirr191,lirr85,lirr102,False,2025
+lirr191,lirr94,lirr102,True,2775
+lirr191,lirr94,lirr102,False,2025
+lirr191,lirr92,lirr102,True,2975
+lirr191,lirr92,lirr102,False,2175
+lirr191,lirr89,lirr102,True,2700
+lirr191,lirr89,lirr102,False,1975
+lirr191,lirr91,lirr102,True,3275
+lirr191,lirr91,lirr92,True,1775
+lirr191,lirr91,lirr102,False,2375
+lirr191,lirr91,lirr92,False,1775
+lirr191,lirr101,lirr102,True,2775
+lirr191,lirr101,lirr102,False,2025
+lirr191,lirr99,lirr102,True,2975
+lirr191,lirr99,lirr125,True,1875
+lirr191,lirr99,lirr102,False,2175
+lirr191,lirr99,lirr125,False,1875
+lirr191,lirr111,lirr102,True,3475
+lirr191,lirr111,lirr92,True,2025
+lirr191,lirr111,lirr102,False,2525
+lirr191,lirr111,lirr92,False,2025
+lirr191,lirr124,lirr102,True,2775
+lirr191,lirr124,lirr102,False,2025
+lirr191,lirr122,lirr102,True,2700
+lirr191,lirr122,lirr102,False,1975
+lirr191,lirr114,lirr102,True,2775
+lirr191,lirr114,lirr102,False,2025
+lirr191,lirr120,lirr214,True,3200
+lirr191,lirr120,lirr214,False,2325
+lirr191,lirr119,lirr102,True,2700
+lirr191,lirr119,lirr102,False,1975
+lirr191,lirr123,lirr102,True,2975
+lirr191,lirr123,lirr132,True,1875
+lirr191,lirr123,lirr102,False,2175
+lirr191,lirr123,lirr132,False,1875
+lirr191,lirr113,lirr102,True,2975
+lirr191,lirr113,lirr125,True,1875
+lirr191,lirr113,lirr102,False,2175
+lirr191,lirr113,lirr125,False,1875
+lirr191,lirr125,lirr102,True,2775
+lirr191,lirr125,lirr102,False,2025
+lirr191,lirr142,lirr102,True,2775
+lirr191,lirr142,lirr102,False,2025
+lirr191,lirr131,lirr214,True,3375
+lirr191,lirr131,lirr214,False,2450
+lirr191,lirr126,lirr102,True,4350
+lirr191,lirr126,lirr92,True,2800
+lirr191,lirr126,lirr102,False,3175
+lirr191,lirr126,lirr92,False,2800
+lirr191,lirr129,lirr102,True,3475
+lirr191,lirr129,lirr92,True,2025
+lirr191,lirr129,lirr102,False,2525
+lirr191,lirr129,lirr92,False,2025
+lirr191,lirr127,lirr102,True,2775
+lirr191,lirr127,lirr102,False,2025
+lirr191,lirr132,lirr102,True,2775
+lirr191,lirr132,lirr102,False,2025
+lirr191,lirr130,lirr214,True,3200
+lirr191,lirr130,lirr214,False,2325
+lirr191,lirr149,lirr102,True,2775
+lirr191,lirr149,lirr63,True,1850
+lirr191,lirr149,lirr102,False,2025
+lirr191,lirr149,lirr63,False,1850
+lirr191,lirr152,lirr102,True,2775
+lirr191,lirr152,lirr102,False,2025
+lirr191,lirr153,lirr102,True,3275
+lirr191,lirr153,lirr92,True,1775
+lirr191,lirr153,lirr102,False,2375
+lirr191,lirr153,lirr92,False,1775
+lirr191,lirr155,lirr102,True,2975
+lirr191,lirr155,lirr125,True,1875
+lirr191,lirr155,lirr102,False,2175
+lirr191,lirr155,lirr125,False,1875
+lirr191,lirr154,lirr102,True,2975
+lirr191,lirr154,lirr132,True,1875
+lirr191,lirr154,lirr102,False,2175
+lirr191,lirr154,lirr132,False,1875
+lirr191,lirr165,lirr102,True,3275
+lirr191,lirr165,lirr92,True,1775
+lirr191,lirr165,lirr102,False,2375
+lirr191,lirr165,lirr92,False,1775
+lirr191,lirr162,lirr214,True,3375
+lirr191,lirr162,lirr214,False,2450
+lirr191,lirr164,lirr102,True,3475
+lirr191,lirr164,lirr92,True,2025
+lirr191,lirr164,lirr102,False,2525
+lirr191,lirr164,lirr92,False,2025
+lirr191,lirr171,lirr214,True,3375
+lirr191,lirr171,lirr214,False,2450
+lirr191,lirr175,lirr102,True,2700
+lirr191,lirr175,lirr102,False,1975
+lirr191,lirr176,lirr102,True,4350
+lirr191,lirr176,lirr92,True,2800
+lirr191,lirr176,lirr102,False,3175
+lirr191,lirr176,lirr92,False,2800
+lirr191,lirr179,lirr102,True,3475
+lirr191,lirr179,lirr92,True,2025
+lirr191,lirr179,lirr102,False,2525
+lirr191,lirr179,lirr92,False,2025
+lirr191,lirr180,lirr102,True,2700
+lirr191,lirr180,lirr102,False,1975
+lirr191,lirr182,lirr102,True,2975
+lirr191,lirr182,lirr132,True,1875
+lirr191,lirr182,lirr102,False,2175
+lirr191,lirr182,lirr132,False,1875
+lirr191,lirr185,lirr102,True,2975
+lirr191,lirr185,lirr132,True,1875
+lirr191,lirr185,lirr102,False,2175
+lirr191,lirr185,lirr132,False,1875
+lirr191,lirr202,lirr102,True,3475
+lirr191,lirr202,lirr92,True,2025
+lirr191,lirr202,lirr102,False,2525
+lirr191,lirr202,lirr92,False,2025
+lirr191,lirr190,lirr102,True,4350
+lirr191,lirr190,lirr92,True,2800
+lirr191,lirr190,lirr102,False,3175
+lirr191,lirr190,lirr92,False,2800
+lirr191,lirr184,lirr102,True,2700
+lirr191,lirr184,lirr102,False,1975
+lirr191,lirr193,lirr102,True,3475
+lirr191,lirr193,lirr92,True,2025
+lirr191,lirr193,lirr102,False,2525
+lirr191,lirr193,lirr92,False,2025
+lirr191,lirr195,lirr102,True,2775
+lirr191,lirr195,lirr63,True,1850
+lirr191,lirr195,lirr102,False,2025
+lirr191,lirr195,lirr63,False,1850
+lirr191,lirr14,lirr102,True,3475
+lirr191,lirr14,lirr92,True,2025
+lirr191,lirr14,lirr102,False,2525
+lirr191,lirr14,lirr92,False,2025
+lirr191,lirr205,lirr102,True,2975
+lirr191,lirr205,lirr92,True,1725
+lirr191,lirr205,lirr102,False,2175
+lirr191,lirr205,lirr92,False,1725
+lirr191,lirr211,lirr102,True,2775
+lirr191,lirr211,lirr102,False,2025
+lirr191,lirr216,lirr102,True,2775
+lirr191,lirr216,lirr102,False,2025
+lirr191,lirr213,lirr102,True,2975
+lirr191,lirr213,lirr102,False,2175
+lirr191,lirr219,lirr102,True,2775
+lirr191,lirr219,lirr102,False,2025
+lirr191,lirr217,lirr102,True,2775
+lirr191,lirr217,lirr102,False,2025
+lirr191,lirr220,lirr102,True,3275
+lirr191,lirr220,lirr92,True,1775
+lirr191,lirr220,lirr102,False,2375
+lirr191,lirr220,lirr92,False,1775
+lirr191,lirr223,lirr102,True,4000
+lirr191,lirr223,lirr92,True,2450
+lirr191,lirr223,lirr102,False,2900
+lirr191,lirr223,lirr92,False,2450
+lirr190,lirr1,lirr132,True,1875
+lirr190,lirr1,lirr132,False,1875
+lirr190,lirr4,lirr102,True,4350
+lirr190,lirr4,lirr92,True,2800
+lirr190,lirr4,lirr102,False,3175
+lirr190,lirr4,lirr92,False,2800
+lirr190,lirr8,lirr102,True,3275
+lirr190,lirr8,lirr102,False,2375
+lirr190,lirr2,lirr214,True,3200
+lirr190,lirr2,lirr214,False,2325
+lirr190,lirr27,lirr102,True,3275
+lirr190,lirr27,lirr92,True,1775
+lirr190,lirr27,lirr102,False,2375
+lirr190,lirr27,lirr92,False,1775
+lirr190,lirr225,lirr102,True,2975
+lirr190,lirr225,lirr102,False,2175
+lirr190,lirr26,lirr102,True,3475
+lirr190,lirr26,lirr92,True,2025
+lirr190,lirr26,lirr102,False,2525
+lirr190,lirr26,lirr92,False,2025
+lirr190,lirr25,lirr214,True,3200
+lirr190,lirr25,lirr214,False,2325
+lirr190,lirr23,lirr102,True,2775
+lirr190,lirr23,lirr102,False,2025
+lirr190,lirr16,lirr102,True,2975
+lirr190,lirr16,lirr102,False,2175
+lirr190,lirr21,lirr102,True,4000
+lirr190,lirr21,lirr92,True,2450
+lirr190,lirr21,lirr102,False,2900
+lirr190,lirr21,lirr92,False,2450
+lirr190,lirr13,lirr102,True,4350
+lirr190,lirr13,lirr92,True,2800
+lirr190,lirr13,lirr102,False,3175
+lirr190,lirr13,lirr92,False,2800
+lirr190,lirr11,lirr214,True,3200
+lirr190,lirr11,lirr214,False,2325
+lirr190,lirr32,lirr102,True,2775
+lirr190,lirr32,lirr102,False,2025
+lirr190,lirr31,lirr102,True,2975
+lirr190,lirr31,lirr102,False,2175
+lirr190,lirr40,lirr92,True,1775
+lirr190,lirr40,lirr92,False,1775
+lirr190,lirr38,lirr102,True,3275
+lirr190,lirr38,lirr102,False,2375
+lirr190,lirr36,lirr102,True,2775
+lirr190,lirr36,lirr63,True,1850
+lirr190,lirr36,lirr102,False,2025
+lirr190,lirr36,lirr63,False,1850
+lirr190,lirr42,lirr214,True,3200
+lirr190,lirr42,lirr214,False,2325
+lirr190,lirr48,lirr102,True,4350
+lirr190,lirr48,lirr92,True,2800
+lirr190,lirr48,lirr102,False,3175
+lirr190,lirr48,lirr92,False,2800
+lirr190,lirr51,lirr102,True,2975
+lirr190,lirr51,lirr102,False,2175
+lirr190,lirr52,lirr132,True,1850
+lirr190,lirr52,lirr132,False,1850
+lirr190,lirr65,lirr102,True,2775
+lirr190,lirr65,lirr102,False,2025
+lirr190,lirr63,lirr102,True,2775
+lirr190,lirr63,lirr102,False,2025
+lirr190,lirr56,lirr214,True,3200
+lirr190,lirr56,lirr214,False,2325
+lirr190,lirr64,lirr102,True,2975
+lirr190,lirr64,lirr102,False,2175
+lirr190,lirr68,lirr102,True,2775
+lirr190,lirr68,lirr63,True,1850
+lirr190,lirr68,lirr102,False,2025
+lirr190,lirr68,lirr63,False,1850
+lirr190,lirr66,lirr102,True,2775
+lirr190,lirr66,lirr102,False,2025
+lirr190,lirr67,lirr132,True,1875
+lirr190,lirr67,lirr132,False,1875
+lirr190,lirr71,lirr132,True,1875
+lirr190,lirr71,lirr132,False,1875
+lirr190,lirr76,lirr132,True,1875
+lirr190,lirr76,lirr132,False,1875
+lirr190,lirr72,lirr214,True,3375
+lirr190,lirr72,lirr214,False,2450
+lirr190,lirr74,lirr102,True,3475
+lirr190,lirr74,lirr92,True,2025
+lirr190,lirr74,lirr102,False,2525
+lirr190,lirr74,lirr92,False,2025
+lirr190,lirr78,lirr92,True,1775
+lirr190,lirr78,lirr92,False,1775
+lirr190,lirr77,lirr132,True,1875
+lirr190,lirr77,lirr132,False,1875
+lirr190,lirr83,lirr102,True,4350
+lirr190,lirr83,lirr92,True,2800
+lirr190,lirr83,lirr102,False,3175
+lirr190,lirr83,lirr92,False,2800
+lirr190,lirr84,lirr102,True,2775
+lirr190,lirr84,lirr63,True,1850
+lirr190,lirr84,lirr102,False,2025
+lirr190,lirr84,lirr63,False,1850
+lirr190,lirr85,lirr102,True,2775
+lirr190,lirr85,lirr102,False,2025
+lirr190,lirr94,lirr102,True,2775
+lirr190,lirr94,lirr102,False,2025
+lirr190,lirr89,lirr102,True,2700
+lirr190,lirr89,lirr102,False,1975
+lirr190,lirr91,lirr92,True,1775
+lirr190,lirr91,lirr92,False,1775
+lirr190,lirr101,lirr102,True,2775
+lirr190,lirr101,lirr102,False,2025
+lirr190,lirr99,lirr102,True,2975
+lirr190,lirr99,lirr102,False,2175
+lirr190,lirr100,lirr102,True,3475
+lirr190,lirr100,lirr92,True,2025
+lirr190,lirr100,lirr102,False,2525
+lirr190,lirr100,lirr92,False,2025
+lirr190,lirr111,lirr92,True,2025
+lirr190,lirr111,lirr92,False,2025
+lirr190,lirr124,lirr102,True,2775
+lirr190,lirr124,lirr102,False,2025
+lirr190,lirr122,lirr102,True,2700
+lirr190,lirr122,lirr102,False,1975
+lirr190,lirr114,lirr102,True,2775
+lirr190,lirr114,lirr102,False,2025
+lirr190,lirr117,lirr102,True,3275
+lirr190,lirr117,lirr102,False,2375
+lirr190,lirr120,lirr214,True,3200
+lirr190,lirr120,lirr214,False,2325
+lirr190,lirr119,lirr102,True,2700
+lirr190,lirr119,lirr102,False,1975
+lirr190,lirr123,lirr132,True,1875
+lirr190,lirr123,lirr132,False,1875
+lirr190,lirr113,lirr102,True,2975
+lirr190,lirr113,lirr102,False,2175
+lirr190,lirr125,lirr102,True,2775
+lirr190,lirr125,lirr102,False,2025
+lirr190,lirr142,lirr102,True,2775
+lirr190,lirr142,lirr102,False,2025
+lirr190,lirr131,lirr214,True,3375
+lirr190,lirr131,lirr214,False,2450
+lirr190,lirr136,lirr102,True,2975
+lirr190,lirr136,lirr102,False,2175
+lirr190,lirr135,lirr102,True,2975
+lirr190,lirr135,lirr102,False,2175
+lirr190,lirr140,lirr102,True,4000
+lirr190,lirr140,lirr92,True,2450
+lirr190,lirr140,lirr102,False,2900
+lirr190,lirr140,lirr92,False,2450
+lirr190,lirr226,lirr102,True,2975
+lirr190,lirr226,lirr102,False,2175
+lirr190,lirr141,lirr102,True,4350
+lirr190,lirr141,lirr92,True,2800
+lirr190,lirr141,lirr102,False,3175
+lirr190,lirr141,lirr92,False,2800
+lirr190,lirr130,lirr214,True,3200
+lirr190,lirr130,lirr214,False,2325
+lirr190,lirr149,lirr102,True,2775
+lirr190,lirr149,lirr63,True,1850
+lirr190,lirr149,lirr102,False,2025
+lirr190,lirr149,lirr63,False,1850
+lirr190,lirr153,lirr92,True,1775
+lirr190,lirr153,lirr92,False,1775
+lirr190,lirr157,lirr102,True,3475
+lirr190,lirr157,lirr92,True,2025
+lirr190,lirr157,lirr102,False,2525
+lirr190,lirr157,lirr92,False,2025
+lirr190,lirr155,lirr102,True,2975
+lirr190,lirr155,lirr102,False,2175
+lirr190,lirr154,lirr132,True,1875
+lirr190,lirr154,lirr132,False,1875
+lirr190,lirr163,lirr102,True,3475
+lirr190,lirr163,lirr92,True,2025
+lirr190,lirr163,lirr102,False,2525
+lirr190,lirr163,lirr92,False,2025
+lirr190,lirr162,lirr214,True,3375
+lirr190,lirr162,lirr214,False,2450
+lirr190,lirr164,lirr92,True,2025
+lirr190,lirr164,lirr92,False,2025
+lirr190,lirr171,lirr214,True,3375
+lirr190,lirr171,lirr214,False,2450
+lirr190,lirr175,lirr102,True,2700
+lirr190,lirr175,lirr102,False,1975
+lirr190,lirr183,lirr102,True,2975
+lirr190,lirr183,lirr102,False,2175
+lirr190,lirr180,lirr102,True,2700
+lirr190,lirr180,lirr102,False,1975
+lirr190,lirr182,lirr132,True,1875
+lirr190,lirr182,lirr132,False,1875
+lirr190,lirr204,lirr102,True,3475
+lirr190,lirr204,lirr92,True,2025
+lirr190,lirr204,lirr102,False,2525
+lirr190,lirr204,lirr92,False,2025
+lirr190,lirr185,lirr132,True,1875
+lirr190,lirr185,lirr132,False,1875
+lirr190,lirr187,lirr102,True,2975
+lirr190,lirr187,lirr102,False,2175
+lirr190,lirr202,lirr92,True,2025
+lirr190,lirr202,lirr92,False,2025
+lirr190,lirr191,lirr102,True,4350
+lirr190,lirr191,lirr92,True,2800
+lirr190,lirr191,lirr102,False,3175
+lirr190,lirr191,lirr92,False,2800
+lirr190,lirr198,lirr102,True,4000
+lirr190,lirr198,lirr92,True,2450
+lirr190,lirr198,lirr102,False,2900
+lirr190,lirr198,lirr92,False,2450
+lirr190,lirr184,lirr102,True,2700
+lirr190,lirr184,lirr102,False,1975
+lirr190,lirr193,lirr92,True,2025
+lirr190,lirr193,lirr92,False,2025
+lirr190,lirr195,lirr102,True,2775
+lirr190,lirr195,lirr63,True,1850
+lirr190,lirr195,lirr102,False,2025
+lirr190,lirr195,lirr63,False,1850
+lirr190,lirr14,lirr92,True,2025
+lirr190,lirr14,lirr92,False,2025
+lirr190,lirr205,lirr92,True,1725
+lirr190,lirr205,lirr92,False,1725
+lirr190,lirr211,lirr102,True,2775
+lirr190,lirr211,lirr102,False,2025
+lirr190,lirr215,lirr102,True,2975
+lirr190,lirr215,lirr102,False,2175
+lirr190,lirr216,lirr102,True,2775
+lirr190,lirr216,lirr102,False,2025
+lirr190,lirr233,lirr102,True,4350
+lirr190,lirr233,lirr92,True,2800
+lirr190,lirr233,lirr102,False,3175
+lirr190,lirr233,lirr92,False,2800
+lirr190,lirr219,lirr102,True,2775
+lirr190,lirr219,lirr102,False,2025
+lirr190,lirr217,lirr102,True,2775
+lirr190,lirr217,lirr102,False,2025
+lirr198,lirr1,lirr102,True,2275
+lirr198,lirr1,lirr132,True,1225
+lirr198,lirr1,lirr102,False,1650
+lirr198,lirr1,lirr132,False,1225
+lirr198,lirr2,lirr214,True,2500
+lirr198,lirr2,lirr214,False,1825
+lirr198,lirr25,lirr214,True,2500
+lirr198,lirr25,lirr214,False,1825
+lirr198,lirr23,lirr102,True,2125
+lirr198,lirr23,lirr102,False,1550
+lirr198,lirr20,lirr102,True,2275
+lirr198,lirr20,lirr92,True,1050
+lirr198,lirr20,lirr102,False,1650
+lirr198,lirr20,lirr92,False,1050
+lirr198,lirr29,lirr102,True,2800
+lirr198,lirr29,lirr92,True,1350
+lirr198,lirr29,lirr102,False,2025
+lirr198,lirr29,lirr92,False,1350
+lirr198,lirr11,lirr214,True,2500
+lirr198,lirr11,lirr214,False,1825
+lirr198,lirr39,lirr102,True,2275
+lirr198,lirr39,lirr102,False,1650
+lirr198,lirr32,lirr102,True,2125
+lirr198,lirr32,lirr102,False,1550
+lirr198,lirr33,lirr102,True,2800
+lirr198,lirr33,lirr92,True,1350
+lirr198,lirr33,lirr102,False,2025
+lirr198,lirr33,lirr92,False,1350
+lirr198,lirr31,lirr102,True,2275
+lirr198,lirr31,lirr125,True,1225
+lirr198,lirr31,lirr102,False,1650
+lirr198,lirr31,lirr125,False,1225
+lirr198,lirr40,lirr102,True,2600
+lirr198,lirr40,lirr92,True,1100
+lirr198,lirr40,lirr102,False,1900
+lirr198,lirr40,lirr92,False,1100
+lirr198,lirr36,lirr102,True,2125
+lirr198,lirr36,lirr63,True,1200
+lirr198,lirr36,lirr102,False,1550
+lirr198,lirr36,lirr63,False,1200
+lirr198,lirr44,lirr102,True,2600
+lirr198,lirr44,lirr92,True,1100
+lirr198,lirr44,lirr102,False,1900
+lirr198,lirr44,lirr92,False,1100
+lirr198,lirr42,lirr214,True,2500
+lirr198,lirr42,lirr214,False,1825
+lirr198,lirr51,lirr102,True,2275
+lirr198,lirr51,lirr125,True,1225
+lirr198,lirr51,lirr102,False,1650
+lirr198,lirr51,lirr125,False,1225
+lirr198,lirr52,lirr102,True,2125
+lirr198,lirr52,lirr132,True,1200
+lirr198,lirr52,lirr102,False,1550
+lirr198,lirr52,lirr132,False,1200
+lirr198,lirr65,lirr102,True,2125
+lirr198,lirr65,lirr102,False,1550
+lirr198,lirr59,lirr102,True,2275
+lirr198,lirr59,lirr92,True,1050
+lirr198,lirr59,lirr102,False,1650
+lirr198,lirr59,lirr92,False,1050
+lirr198,lirr63,lirr102,True,2125
+lirr198,lirr63,lirr102,False,1550
+lirr198,lirr56,lirr214,True,2500
+lirr198,lirr56,lirr214,False,1825
+lirr198,lirr68,lirr102,True,2125
+lirr198,lirr68,lirr63,True,1200
+lirr198,lirr68,lirr102,False,1550
+lirr198,lirr68,lirr63,False,1200
+lirr198,lirr66,lirr102,True,2125
+lirr198,lirr66,lirr102,False,1550
+lirr198,lirr67,lirr102,True,2275
+lirr198,lirr67,lirr132,True,1225
+lirr198,lirr67,lirr102,False,1650
+lirr198,lirr67,lirr132,False,1225
+lirr198,lirr71,lirr102,True,2275
+lirr198,lirr71,lirr132,True,1225
+lirr198,lirr71,lirr102,False,1650
+lirr198,lirr71,lirr132,False,1225
+lirr198,lirr76,lirr102,True,2275
+lirr198,lirr76,lirr132,True,1225
+lirr198,lirr76,lirr102,False,1650
+lirr198,lirr76,lirr132,False,1225
+lirr198,lirr72,lirr214,True,2700
+lirr198,lirr72,lirr214,False,1975
+lirr198,lirr78,lirr102,True,2600
+lirr198,lirr78,lirr92,True,1100
+lirr198,lirr78,lirr102,False,1900
+lirr198,lirr78,lirr92,False,1100
+lirr198,lirr73,lirr102,True,4000
+lirr198,lirr73,lirr92,True,2450
+lirr198,lirr73,lirr102,False,2900
+lirr198,lirr73,lirr92,False,2450
+lirr198,lirr77,lirr102,True,2275
+lirr198,lirr77,lirr132,True,1225
+lirr198,lirr77,lirr102,False,1650
+lirr198,lirr77,lirr132,False,1225
+lirr198,lirr84,lirr102,True,2125
+lirr198,lirr84,lirr63,True,1200
+lirr198,lirr84,lirr102,False,1550
+lirr198,lirr84,lirr63,False,1200
+lirr198,lirr85,lirr102,True,2125
+lirr198,lirr85,lirr102,False,1550
+lirr198,lirr94,lirr102,True,2125
+lirr198,lirr94,lirr102,False,1550
+lirr198,lirr92,lirr102,True,2275
+lirr198,lirr92,lirr102,False,1650
+lirr198,lirr89,lirr102,True,2050
+lirr198,lirr89,lirr102,False,1500
+lirr198,lirr91,lirr102,True,2600
+lirr198,lirr91,lirr92,True,1100
+lirr198,lirr91,lirr102,False,1900
+lirr198,lirr91,lirr92,False,1100
+lirr198,lirr101,lirr102,True,2125
+lirr198,lirr101,lirr102,False,1550
+lirr198,lirr99,lirr102,True,2275
+lirr198,lirr99,lirr125,True,1225
+lirr198,lirr99,lirr102,False,1650
+lirr198,lirr99,lirr125,False,1225
+lirr198,lirr111,lirr102,True,2800
+lirr198,lirr111,lirr92,True,1350
+lirr198,lirr111,lirr102,False,2025
+lirr198,lirr111,lirr92,False,1350
+lirr198,lirr124,lirr102,True,2125
+lirr198,lirr124,lirr102,False,1550
+lirr198,lirr122,lirr102,True,2050
+lirr198,lirr122,lirr102,False,1500
+lirr198,lirr114,lirr102,True,2125
+lirr198,lirr114,lirr102,False,1550
+lirr198,lirr120,lirr214,True,2500
+lirr198,lirr120,lirr214,False,1825
+lirr198,lirr119,lirr102,True,2050
+lirr198,lirr119,lirr102,False,1500
+lirr198,lirr123,lirr102,True,2275
+lirr198,lirr123,lirr132,True,1225
+lirr198,lirr123,lirr102,False,1650
+lirr198,lirr123,lirr132,False,1225
+lirr198,lirr113,lirr102,True,2275
+lirr198,lirr113,lirr125,True,1225
+lirr198,lirr113,lirr102,False,1650
+lirr198,lirr113,lirr125,False,1225
+lirr198,lirr125,lirr102,True,2125
+lirr198,lirr125,lirr102,False,1550
+lirr198,lirr142,lirr102,True,2125
+lirr198,lirr142,lirr102,False,1550
+lirr198,lirr131,lirr214,True,2700
+lirr198,lirr131,lirr214,False,1975
+lirr198,lirr126,lirr102,True,4000
+lirr198,lirr126,lirr92,True,2450
+lirr198,lirr126,lirr102,False,2900
+lirr198,lirr126,lirr92,False,2450
+lirr198,lirr129,lirr102,True,2800
+lirr198,lirr129,lirr92,True,1350
+lirr198,lirr129,lirr102,False,2025
+lirr198,lirr129,lirr92,False,1350
+lirr198,lirr127,lirr102,True,2125
+lirr198,lirr127,lirr102,False,1550
+lirr198,lirr132,lirr102,True,2125
+lirr198,lirr132,lirr102,False,1550
+lirr198,lirr130,lirr214,True,2500
+lirr198,lirr130,lirr214,False,1825
+lirr198,lirr149,lirr102,True,2125
+lirr198,lirr149,lirr63,True,1200
+lirr198,lirr149,lirr102,False,1550
+lirr198,lirr149,lirr63,False,1200
+lirr198,lirr152,lirr102,True,2125
+lirr198,lirr152,lirr102,False,1550
+lirr198,lirr153,lirr102,True,2600
+lirr198,lirr153,lirr92,True,1100
+lirr198,lirr153,lirr102,False,1900
+lirr198,lirr153,lirr92,False,1100
+lirr198,lirr155,lirr102,True,2275
+lirr198,lirr155,lirr125,True,1225
+lirr198,lirr155,lirr102,False,1650
+lirr198,lirr155,lirr125,False,1225
+lirr198,lirr154,lirr102,True,2275
+lirr198,lirr154,lirr132,True,1225
+lirr198,lirr154,lirr102,False,1650
+lirr198,lirr154,lirr132,False,1225
+lirr198,lirr165,lirr102,True,2600
+lirr198,lirr165,lirr92,True,1100
+lirr198,lirr165,lirr102,False,1900
+lirr198,lirr165,lirr92,False,1100
+lirr198,lirr162,lirr214,True,2700
+lirr198,lirr162,lirr214,False,1975
+lirr198,lirr164,lirr102,True,2800
+lirr198,lirr164,lirr92,True,1350
+lirr198,lirr164,lirr102,False,2025
+lirr198,lirr164,lirr92,False,1350
+lirr198,lirr171,lirr214,True,2700
+lirr198,lirr171,lirr214,False,1975
+lirr198,lirr175,lirr102,True,2050
+lirr198,lirr175,lirr102,False,1500
+lirr198,lirr176,lirr102,True,4000
+lirr198,lirr176,lirr92,True,2450
+lirr198,lirr176,lirr102,False,2900
+lirr198,lirr176,lirr92,False,2450
+lirr198,lirr179,lirr102,True,2800
+lirr198,lirr179,lirr92,True,1350
+lirr198,lirr179,lirr102,False,2025
+lirr198,lirr179,lirr92,False,1350
+lirr198,lirr180,lirr102,True,2050
+lirr198,lirr180,lirr102,False,1500
+lirr198,lirr182,lirr102,True,2275
+lirr198,lirr182,lirr132,True,1225
+lirr198,lirr182,lirr102,False,1650
+lirr198,lirr182,lirr132,False,1225
+lirr198,lirr185,lirr102,True,2275
+lirr198,lirr185,lirr132,True,1225
+lirr198,lirr185,lirr102,False,1650
+lirr198,lirr185,lirr132,False,1225
+lirr198,lirr202,lirr102,True,2800
+lirr198,lirr202,lirr92,True,1350
+lirr198,lirr202,lirr102,False,2025
+lirr198,lirr202,lirr92,False,1350
+lirr198,lirr190,lirr102,True,4000
+lirr198,lirr190,lirr92,True,2450
+lirr198,lirr190,lirr102,False,2900
+lirr198,lirr190,lirr92,False,2450
+lirr198,lirr184,lirr102,True,2050
+lirr198,lirr184,lirr102,False,1500
+lirr198,lirr193,lirr102,True,2800
+lirr198,lirr193,lirr92,True,1350
+lirr198,lirr193,lirr102,False,2025
+lirr198,lirr193,lirr92,False,1350
+lirr198,lirr195,lirr102,True,2125
+lirr198,lirr195,lirr63,True,1200
+lirr198,lirr195,lirr102,False,1550
+lirr198,lirr195,lirr63,False,1200
+lirr198,lirr14,lirr102,True,2800
+lirr198,lirr14,lirr92,True,1350
+lirr198,lirr14,lirr102,False,2025
+lirr198,lirr14,lirr92,False,1350
+lirr198,lirr205,lirr102,True,2275
+lirr198,lirr205,lirr92,True,1050
+lirr198,lirr205,lirr102,False,1650
+lirr198,lirr205,lirr92,False,1050
+lirr198,lirr211,lirr102,True,2125
+lirr198,lirr211,lirr102,False,1550
+lirr198,lirr216,lirr102,True,2125
+lirr198,lirr216,lirr102,False,1550
+lirr198,lirr213,lirr102,True,2275
+lirr198,lirr213,lirr102,False,1650
+lirr198,lirr219,lirr102,True,2125
+lirr198,lirr219,lirr102,False,1550
+lirr198,lirr217,lirr102,True,2125
+lirr198,lirr217,lirr102,False,1550
+lirr198,lirr220,lirr102,True,2600
+lirr198,lirr220,lirr92,True,1100
+lirr198,lirr220,lirr102,False,1900
+lirr198,lirr220,lirr92,False,1100
+lirr198,lirr223,lirr102,True,3300
+lirr198,lirr223,lirr92,True,1775
+lirr198,lirr223,lirr102,False,2400
+lirr198,lirr223,lirr92,False,1775
+lirr184,lirr1,lirr102,True,1050
+lirr184,lirr1,lirr102,False,775
+lirr184,lirr4,lirr102,True,2700
+lirr184,lirr4,lirr102,False,1975
+lirr184,lirr8,lirr102,True,1300
+lirr184,lirr8,lirr102,False,950
+lirr184,lirr2,lirr214,True,1200
+lirr184,lirr2,lirr214,False,875
+lirr184,lirr27,lirr102,True,1300
+lirr184,lirr27,lirr102,False,950
+lirr184,lirr225,lirr102,True,1050
+lirr184,lirr225,lirr102,False,775
+lirr184,lirr26,lirr102,True,1575
+lirr184,lirr26,lirr102,False,1150
+lirr184,lirr25,lirr214,True,1200
+lirr184,lirr25,lirr214,False,875
+lirr184,lirr23,lirr102,True,900
+lirr184,lirr23,lirr102,False,650
+lirr184,lirr16,lirr102,True,1050
+lirr184,lirr16,lirr102,False,775
+lirr184,lirr21,lirr102,True,2050
+lirr184,lirr21,lirr102,False,1500
+lirr184,lirr20,lirr102,True,1050
+lirr184,lirr20,lirr102,False,775
+lirr184,lirr29,lirr102,True,1575
+lirr184,lirr29,lirr102,False,1150
+lirr184,lirr13,lirr102,True,2700
+lirr184,lirr13,lirr102,False,1975
+lirr184,lirr11,lirr214,True,1200
+lirr184,lirr11,lirr214,False,875
+lirr184,lirr39,lirr102,True,1050
+lirr184,lirr39,lirr102,False,775
+lirr184,lirr33,lirr102,True,1575
+lirr184,lirr33,lirr102,False,1150
+lirr184,lirr31,lirr102,True,1050
+lirr184,lirr31,lirr102,False,775
+lirr184,lirr40,lirr102,True,1300
+lirr184,lirr40,lirr102,False,950
+lirr184,lirr38,lirr102,True,1300
+lirr184,lirr38,lirr102,False,950
+lirr184,lirr36,lirr102,True,900
+lirr184,lirr36,lirr102,False,650
+lirr184,lirr44,lirr102,True,1300
+lirr184,lirr44,lirr102,False,950
+lirr184,lirr42,lirr214,True,1200
+lirr184,lirr42,lirr214,False,875
+lirr184,lirr48,lirr102,True,2700
+lirr184,lirr48,lirr102,False,1975
+lirr184,lirr51,lirr102,True,1050
+lirr184,lirr51,lirr102,False,775
+lirr184,lirr52,lirr102,True,900
+lirr184,lirr52,lirr102,False,650
+lirr184,lirr59,lirr102,True,1050
+lirr184,lirr59,lirr102,False,775
+lirr184,lirr63,lirr102,True,900
+lirr184,lirr63,lirr102,False,650
+lirr184,lirr56,lirr214,True,1200
+lirr184,lirr56,lirr214,False,875
+lirr184,lirr64,lirr102,True,1050
+lirr184,lirr64,lirr102,False,775
+lirr184,lirr68,lirr102,True,900
+lirr184,lirr68,lirr102,False,650
+lirr184,lirr67,lirr102,True,1050
+lirr184,lirr67,lirr102,False,775
+lirr184,lirr71,lirr102,True,1050
+lirr184,lirr71,lirr102,False,775
+lirr184,lirr76,lirr102,True,1050
+lirr184,lirr76,lirr102,False,775
+lirr184,lirr72,lirr214,True,1350
+lirr184,lirr72,lirr214,False,975
+lirr184,lirr74,lirr102,True,1575
+lirr184,lirr74,lirr102,False,1150
+lirr184,lirr78,lirr102,True,1300
+lirr184,lirr78,lirr102,False,950
+lirr184,lirr73,lirr102,True,2700
+lirr184,lirr73,lirr102,False,1975
+lirr184,lirr77,lirr102,True,1050
+lirr184,lirr77,lirr102,False,775
+lirr184,lirr83,lirr102,True,2700
+lirr184,lirr83,lirr102,False,1975
+lirr184,lirr84,lirr102,True,900
+lirr184,lirr84,lirr102,False,650
+lirr184,lirr92,lirr102,True,1050
+lirr184,lirr92,lirr102,False,775
+lirr184,lirr89,lirr102,True,500
+lirr184,lirr89,lirr102,False,400
+lirr184,lirr91,lirr102,True,1300
+lirr184,lirr91,lirr102,False,950
+lirr184,lirr99,lirr102,True,1050
+lirr184,lirr99,lirr102,False,775
+lirr184,lirr100,lirr102,True,1575
+lirr184,lirr100,lirr102,False,1150
+lirr184,lirr111,lirr102,True,1575
+lirr184,lirr111,lirr102,False,1150
+lirr184,lirr122,lirr102,True,500
+lirr184,lirr122,lirr102,False,400
+lirr184,lirr117,lirr102,True,1300
+lirr184,lirr117,lirr102,False,950
+lirr184,lirr120,lirr214,True,1200
+lirr184,lirr120,lirr214,False,875
+lirr184,lirr119,lirr102,True,500
+lirr184,lirr119,lirr102,False,400
+lirr184,lirr123,lirr102,True,1050
+lirr184,lirr123,lirr102,False,775
+lirr184,lirr113,lirr102,True,1050
+lirr184,lirr113,lirr102,False,775
+lirr184,lirr125,lirr102,True,900
+lirr184,lirr125,lirr102,False,650
+lirr184,lirr131,lirr214,True,1350
+lirr184,lirr131,lirr214,False,975
+lirr184,lirr136,lirr102,True,1050
+lirr184,lirr136,lirr102,False,775
+lirr184,lirr135,lirr102,True,1050
+lirr184,lirr135,lirr102,False,775
+lirr184,lirr140,lirr102,True,2050
+lirr184,lirr140,lirr102,False,1500
+lirr184,lirr126,lirr102,True,2700
+lirr184,lirr126,lirr102,False,1975
+lirr184,lirr129,lirr102,True,1575
+lirr184,lirr129,lirr102,False,1150
+lirr184,lirr127,lirr102,True,900
+lirr184,lirr127,lirr102,False,650
+lirr184,lirr226,lirr102,True,1050
+lirr184,lirr226,lirr102,False,775
+lirr184,lirr132,lirr102,True,900
+lirr184,lirr132,lirr102,False,650
+lirr184,lirr141,lirr102,True,2700
+lirr184,lirr141,lirr102,False,1975
+lirr184,lirr130,lirr214,True,1200
+lirr184,lirr130,lirr214,False,875
+lirr184,lirr149,lirr102,True,900
+lirr184,lirr149,lirr102,False,650
+lirr184,lirr152,lirr102,True,900
+lirr184,lirr152,lirr102,False,650
+lirr184,lirr153,lirr102,True,1300
+lirr184,lirr153,lirr102,False,950
+lirr184,lirr157,lirr102,True,1575
+lirr184,lirr157,lirr102,False,1150
+lirr184,lirr155,lirr102,True,1050
+lirr184,lirr155,lirr102,False,775
+lirr184,lirr154,lirr102,True,1050
+lirr184,lirr154,lirr102,False,775
+lirr184,lirr163,lirr102,True,1575
+lirr184,lirr163,lirr102,False,1150
+lirr184,lirr165,lirr102,True,1300
+lirr184,lirr165,lirr102,False,950
+lirr184,lirr162,lirr214,True,1350
+lirr184,lirr162,lirr214,False,975
+lirr184,lirr164,lirr102,True,1575
+lirr184,lirr164,lirr102,False,1150
+lirr184,lirr171,lirr214,True,1350
+lirr184,lirr171,lirr214,False,975
+lirr184,lirr175,lirr102,True,500
+lirr184,lirr175,lirr102,False,400
+lirr184,lirr176,lirr102,True,2700
+lirr184,lirr176,lirr102,False,1975
+lirr184,lirr183,lirr102,True,1050
+lirr184,lirr183,lirr102,False,775
+lirr184,lirr179,lirr102,True,1575
+lirr184,lirr179,lirr102,False,1150
+lirr184,lirr180,lirr102,True,500
+lirr184,lirr180,lirr102,False,400
+lirr184,lirr182,lirr102,True,1050
+lirr184,lirr182,lirr102,False,775
+lirr184,lirr204,lirr102,True,1575
+lirr184,lirr204,lirr102,False,1150
+lirr184,lirr185,lirr102,True,1050
+lirr184,lirr185,lirr102,False,775
+lirr184,lirr187,lirr102,True,1050
+lirr184,lirr187,lirr102,False,775
+lirr184,lirr202,lirr102,True,1575
+lirr184,lirr202,lirr102,False,1150
+lirr184,lirr191,lirr102,True,2700
+lirr184,lirr191,lirr102,False,1975
+lirr184,lirr190,lirr102,True,2700
+lirr184,lirr190,lirr102,False,1975
+lirr184,lirr198,lirr102,True,2050
+lirr184,lirr198,lirr102,False,1500
+lirr184,lirr193,lirr102,True,1575
+lirr184,lirr193,lirr102,False,1150
+lirr184,lirr195,lirr102,True,900
+lirr184,lirr195,lirr102,False,650
+lirr184,lirr14,lirr102,True,1575
+lirr184,lirr14,lirr102,False,1150
+lirr184,lirr205,lirr102,True,1050
+lirr184,lirr205,lirr102,False,775
+lirr184,lirr215,lirr102,True,1050
+lirr184,lirr215,lirr102,False,775
+lirr184,lirr213,lirr102,True,1050
+lirr184,lirr213,lirr102,False,775
+lirr184,lirr233,lirr102,True,2700
+lirr184,lirr233,lirr102,False,1975
+lirr184,lirr220,lirr102,True,1300
+lirr184,lirr220,lirr102,False,950
+lirr184,lirr223,lirr102,True,2050
+lirr184,lirr223,lirr102,False,1500
+lirr193,lirr1,lirr132,True,900
+lirr193,lirr1,lirr132,False,900
+lirr193,lirr4,lirr102,True,3475
+lirr193,lirr4,lirr92,True,2025
+lirr193,lirr4,lirr102,False,2525
+lirr193,lirr4,lirr92,False,2025
+lirr193,lirr8,lirr102,True,2125
+lirr193,lirr8,lirr102,False,1550
+lirr193,lirr2,lirr214,True,2050
+lirr193,lirr2,lirr214,False,1500
+lirr193,lirr27,lirr102,True,2125
+lirr193,lirr27,lirr92,True,650
+lirr193,lirr27,lirr102,False,1550
+lirr193,lirr27,lirr92,False,650
+lirr193,lirr225,lirr102,True,1825
+lirr193,lirr225,lirr102,False,1325
+lirr193,lirr26,lirr102,True,2275
+lirr193,lirr26,lirr92,True,1000
+lirr193,lirr26,lirr102,False,1650
+lirr193,lirr26,lirr92,False,1000
+lirr193,lirr25,lirr214,True,2050
+lirr193,lirr25,lirr214,False,1500
+lirr193,lirr23,lirr102,True,1650
+lirr193,lirr23,lirr102,False,1200
+lirr193,lirr16,lirr102,True,1825
+lirr193,lirr16,lirr102,False,1325
+lirr193,lirr21,lirr102,True,2800
+lirr193,lirr21,lirr92,True,1350
+lirr193,lirr21,lirr102,False,2025
+lirr193,lirr21,lirr92,False,1350
+lirr193,lirr20,lirr92,True,600
+lirr193,lirr20,lirr92,False,600
+lirr193,lirr29,lirr92,True,1000
+lirr193,lirr29,lirr92,False,1000
+lirr193,lirr13,lirr102,True,3475
+lirr193,lirr13,lirr92,True,2025
+lirr193,lirr13,lirr102,False,2525
+lirr193,lirr13,lirr92,False,2025
+lirr193,lirr11,lirr214,True,2050
+lirr193,lirr11,lirr214,False,1500
+lirr193,lirr32,lirr102,True,1650
+lirr193,lirr32,lirr102,False,1200
+lirr193,lirr33,lirr92,True,1000
+lirr193,lirr33,lirr92,False,1000
+lirr193,lirr31,lirr102,True,1825
+lirr193,lirr31,lirr102,False,1325
+lirr193,lirr38,lirr102,True,2125
+lirr193,lirr38,lirr102,False,1550
+lirr193,lirr36,lirr102,True,1650
+lirr193,lirr36,lirr63,True,825
+lirr193,lirr36,lirr102,False,1200
+lirr193,lirr36,lirr63,False,825
+lirr193,lirr44,lirr92,True,650
+lirr193,lirr44,lirr92,False,650
+lirr193,lirr42,lirr214,True,2050
+lirr193,lirr42,lirr214,False,1500
+lirr193,lirr48,lirr102,True,3475
+lirr193,lirr48,lirr92,True,2025
+lirr193,lirr48,lirr102,False,2525
+lirr193,lirr48,lirr92,False,2025
+lirr193,lirr51,lirr102,True,1825
+lirr193,lirr51,lirr102,False,1325
+lirr193,lirr52,lirr132,True,825
+lirr193,lirr52,lirr132,False,825
+lirr193,lirr65,lirr102,True,1650
+lirr193,lirr65,lirr102,False,1200
+lirr193,lirr59,lirr92,True,600
+lirr193,lirr59,lirr92,False,600
+lirr193,lirr63,lirr102,True,1650
+lirr193,lirr63,lirr102,False,1200
+lirr193,lirr56,lirr214,True,2050
+lirr193,lirr56,lirr214,False,1500
+lirr193,lirr64,lirr102,True,1825
+lirr193,lirr64,lirr102,False,1325
+lirr193,lirr68,lirr102,True,1650
+lirr193,lirr68,lirr63,True,825
+lirr193,lirr68,lirr102,False,1200
+lirr193,lirr68,lirr63,False,825
+lirr193,lirr66,lirr102,True,1650
+lirr193,lirr66,lirr102,False,1200
+lirr193,lirr67,lirr132,True,900
+lirr193,lirr67,lirr132,False,900
+lirr193,lirr71,lirr132,True,900
+lirr193,lirr71,lirr132,False,900
+lirr193,lirr76,lirr132,True,900
+lirr193,lirr76,lirr132,False,900
+lirr193,lirr72,lirr214,True,2225
+lirr193,lirr72,lirr214,False,1625
+lirr193,lirr74,lirr102,True,2275
+lirr193,lirr74,lirr92,True,1000
+lirr193,lirr74,lirr102,False,1650
+lirr193,lirr74,lirr92,False,1000
+lirr193,lirr73,lirr92,True,2025
+lirr193,lirr73,lirr92,False,2025
+lirr193,lirr77,lirr132,True,900
+lirr193,lirr77,lirr132,False,900
+lirr193,lirr83,lirr102,True,3475
+lirr193,lirr83,lirr92,True,2025
+lirr193,lirr83,lirr102,False,2525
+lirr193,lirr83,lirr92,False,2025
+lirr193,lirr84,lirr102,True,1650
+lirr193,lirr84,lirr63,True,825
+lirr193,lirr84,lirr102,False,1200
+lirr193,lirr84,lirr63,False,825
+lirr193,lirr85,lirr102,True,1650
+lirr193,lirr85,lirr102,False,1200
+lirr193,lirr94,lirr102,True,1650
+lirr193,lirr94,lirr102,False,1200
+lirr193,lirr89,lirr102,True,1575
+lirr193,lirr89,lirr102,False,1150
+lirr193,lirr101,lirr102,True,1650
+lirr193,lirr101,lirr102,False,1200
+lirr193,lirr99,lirr102,True,1825
+lirr193,lirr99,lirr102,False,1325
+lirr193,lirr100,lirr102,True,2275
+lirr193,lirr100,lirr92,True,1000
+lirr193,lirr100,lirr102,False,1650
+lirr193,lirr100,lirr92,False,1000
+lirr193,lirr124,lirr102,True,1650
+lirr193,lirr124,lirr102,False,1200
+lirr193,lirr122,lirr102,True,1575
+lirr193,lirr122,lirr102,False,1150
+lirr193,lirr114,lirr102,True,1650
+lirr193,lirr114,lirr102,False,1200
+lirr193,lirr117,lirr102,True,2125
+lirr193,lirr117,lirr102,False,1550
+lirr193,lirr120,lirr214,True,2050
+lirr193,lirr120,lirr214,False,1500
+lirr193,lirr119,lirr102,True,1575
+lirr193,lirr119,lirr102,False,1150
+lirr193,lirr123,lirr132,True,900
+lirr193,lirr123,lirr132,False,900
+lirr193,lirr113,lirr102,True,1825
+lirr193,lirr113,lirr102,False,1325
+lirr193,lirr125,lirr102,True,1650
+lirr193,lirr125,lirr102,False,1200
+lirr193,lirr142,lirr102,True,1650
+lirr193,lirr142,lirr102,False,1200
+lirr193,lirr131,lirr214,True,2225
+lirr193,lirr131,lirr214,False,1625
+lirr193,lirr136,lirr102,True,1825
+lirr193,lirr136,lirr102,False,1325
+lirr193,lirr135,lirr102,True,1825
+lirr193,lirr135,lirr102,False,1325
+lirr193,lirr140,lirr102,True,2800
+lirr193,lirr140,lirr92,True,1350
+lirr193,lirr140,lirr102,False,2025
+lirr193,lirr140,lirr92,False,1350
+lirr193,lirr126,lirr92,True,2025
+lirr193,lirr126,lirr92,False,2025
+lirr193,lirr129,lirr92,True,1000
+lirr193,lirr129,lirr92,False,1000
+lirr193,lirr226,lirr102,True,1825
+lirr193,lirr226,lirr102,False,1325
+lirr193,lirr141,lirr102,True,3475
+lirr193,lirr141,lirr92,True,2025
+lirr193,lirr141,lirr102,False,2525
+lirr193,lirr141,lirr92,False,2025
+lirr193,lirr130,lirr214,True,2050
+lirr193,lirr130,lirr214,False,1500
+lirr193,lirr149,lirr102,True,1650
+lirr193,lirr149,lirr63,True,825
+lirr193,lirr149,lirr102,False,1200
+lirr193,lirr149,lirr63,False,825
+lirr193,lirr157,lirr102,True,2275
+lirr193,lirr157,lirr92,True,1000
+lirr193,lirr157,lirr102,False,1650
+lirr193,lirr157,lirr92,False,1000
+lirr193,lirr155,lirr102,True,1825
+lirr193,lirr155,lirr102,False,1325
+lirr193,lirr154,lirr132,True,900
+lirr193,lirr154,lirr132,False,900
+lirr193,lirr163,lirr102,True,2275
+lirr193,lirr163,lirr92,True,1000
+lirr193,lirr163,lirr102,False,1650
+lirr193,lirr163,lirr92,False,1000
+lirr193,lirr165,lirr92,True,650
+lirr193,lirr165,lirr92,False,650
+lirr193,lirr162,lirr214,True,2225
+lirr193,lirr162,lirr214,False,1625
+lirr193,lirr171,lirr214,True,2225
+lirr193,lirr171,lirr214,False,1625
+lirr193,lirr175,lirr102,True,1575
+lirr193,lirr175,lirr102,False,1150
+lirr193,lirr176,lirr92,True,2025
+lirr193,lirr176,lirr92,False,2025
+lirr193,lirr183,lirr102,True,1825
+lirr193,lirr183,lirr102,False,1325
+lirr193,lirr179,lirr92,True,1000
+lirr193,lirr179,lirr92,False,1000
+lirr193,lirr180,lirr102,True,1575
+lirr193,lirr180,lirr102,False,1150
+lirr193,lirr182,lirr132,True,900
+lirr193,lirr182,lirr132,False,900
+lirr193,lirr204,lirr102,True,2275
+lirr193,lirr204,lirr92,True,1000
+lirr193,lirr204,lirr102,False,1650
+lirr193,lirr204,lirr92,False,1000
+lirr193,lirr185,lirr132,True,900
+lirr193,lirr185,lirr132,False,900
+lirr193,lirr187,lirr102,True,1825
+lirr193,lirr187,lirr102,False,1325
+lirr193,lirr191,lirr102,True,3475
+lirr193,lirr191,lirr92,True,2025
+lirr193,lirr191,lirr102,False,2525
+lirr193,lirr191,lirr92,False,2025
+lirr193,lirr190,lirr92,True,2025
+lirr193,lirr190,lirr92,False,2025
+lirr193,lirr198,lirr102,True,2800
+lirr193,lirr198,lirr92,True,1350
+lirr193,lirr198,lirr102,False,2025
+lirr193,lirr198,lirr92,False,1350
+lirr193,lirr184,lirr102,True,1575
+lirr193,lirr184,lirr102,False,1150
+lirr193,lirr195,lirr102,True,1650
+lirr193,lirr195,lirr63,True,825
+lirr193,lirr195,lirr102,False,1200
+lirr193,lirr195,lirr63,False,825
+lirr193,lirr211,lirr102,True,1650
+lirr193,lirr211,lirr102,False,1200
+lirr193,lirr215,lirr102,True,1825
+lirr193,lirr215,lirr102,False,1325
+lirr193,lirr216,lirr102,True,1650
+lirr193,lirr216,lirr102,False,1200
+lirr193,lirr233,lirr102,True,3475
+lirr193,lirr233,lirr92,True,2025
+lirr193,lirr233,lirr102,False,2525
+lirr193,lirr233,lirr92,False,2025
+lirr193,lirr219,lirr102,True,1650
+lirr193,lirr219,lirr102,False,1200
+lirr193,lirr217,lirr102,True,1650
+lirr193,lirr217,lirr102,False,1200
+lirr193,lirr220,lirr92,True,650
+lirr193,lirr220,lirr92,False,650
+lirr193,lirr223,lirr92,True,1350
+lirr193,lirr223,lirr92,False,1350
+lirr195,lirr1,lirr102,True,1100
+lirr195,lirr1,lirr63,True,425
+lirr195,lirr1,lirr102,False,800
+lirr195,lirr1,lirr63,False,425
+lirr195,lirr4,lirr102,True,2775
+lirr195,lirr4,lirr63,True,1850
+lirr195,lirr4,lirr102,False,2025
+lirr195,lirr4,lirr63,False,1850
+lirr195,lirr8,lirr102,True,1350
+lirr195,lirr8,lirr102,False,975
+lirr195,lirr2,lirr214,True,1350
+lirr195,lirr2,lirr214,False,975
+lirr195,lirr27,lirr102,True,1350
+lirr195,lirr27,lirr63,True,600
+lirr195,lirr27,lirr102,False,975
+lirr195,lirr27,lirr63,False,600
+lirr195,lirr225,lirr102,True,1100
+lirr195,lirr225,lirr102,False,800
+lirr195,lirr26,lirr102,True,1650
+lirr195,lirr26,lirr63,True,825
+lirr195,lirr26,lirr102,False,1200
+lirr195,lirr26,lirr63,False,825
+lirr195,lirr25,lirr214,True,1350
+lirr195,lirr25,lirr214,False,975
+lirr195,lirr16,lirr102,True,1100
+lirr195,lirr16,lirr102,False,800
+lirr195,lirr21,lirr102,True,2125
+lirr195,lirr21,lirr63,True,1200
+lirr195,lirr21,lirr102,False,1550
+lirr195,lirr21,lirr63,False,1200
+lirr195,lirr20,lirr102,True,1100
+lirr195,lirr20,lirr63,True,425
+lirr195,lirr20,lirr102,False,800
+lirr195,lirr20,lirr63,False,425
+lirr195,lirr29,lirr102,True,1650
+lirr195,lirr29,lirr63,True,825
+lirr195,lirr29,lirr102,False,1200
+lirr195,lirr29,lirr63,False,825
+lirr195,lirr13,lirr102,True,2775
+lirr195,lirr13,lirr63,True,1850
+lirr195,lirr13,lirr102,False,2025
+lirr195,lirr13,lirr63,False,1850
+lirr195,lirr11,lirr214,True,1350
+lirr195,lirr11,lirr214,False,975
+lirr195,lirr39,lirr102,True,1100
+lirr195,lirr39,lirr102,False,800
+lirr195,lirr32,lirr102,True,1000
+lirr195,lirr32,lirr102,False,725
+lirr195,lirr33,lirr102,True,1650
+lirr195,lirr33,lirr63,True,825
+lirr195,lirr33,lirr102,False,1200
+lirr195,lirr33,lirr63,False,825
+lirr195,lirr31,lirr102,True,1100
+lirr195,lirr31,lirr102,False,800
+lirr195,lirr40,lirr102,True,1350
+lirr195,lirr40,lirr63,True,600
+lirr195,lirr40,lirr102,False,975
+lirr195,lirr40,lirr63,False,600
+lirr195,lirr38,lirr102,True,1350
+lirr195,lirr38,lirr102,False,975
+lirr195,lirr44,lirr102,True,1350
+lirr195,lirr44,lirr63,True,600
+lirr195,lirr44,lirr102,False,975
+lirr195,lirr44,lirr63,False,600
+lirr195,lirr42,lirr214,True,1350
+lirr195,lirr42,lirr214,False,975
+lirr195,lirr48,lirr102,True,2775
+lirr195,lirr48,lirr63,True,1850
+lirr195,lirr48,lirr102,False,2025
+lirr195,lirr48,lirr63,False,1850
+lirr195,lirr51,lirr102,True,1100
+lirr195,lirr51,lirr102,False,800
+lirr195,lirr52,lirr102,True,1000
+lirr195,lirr52,lirr63,True,425
+lirr195,lirr52,lirr102,False,725
+lirr195,lirr52,lirr63,False,425
+lirr195,lirr65,lirr102,True,1000
+lirr195,lirr65,lirr102,False,725
+lirr195,lirr59,lirr102,True,1100
+lirr195,lirr59,lirr63,True,425
+lirr195,lirr59,lirr102,False,800
+lirr195,lirr59,lirr63,False,425
+lirr195,lirr56,lirr214,True,1350
+lirr195,lirr56,lirr214,False,975
+lirr195,lirr64,lirr102,True,1100
+lirr195,lirr64,lirr102,False,800
+lirr195,lirr66,lirr102,True,1000
+lirr195,lirr66,lirr102,False,725
+lirr195,lirr67,lirr102,True,1100
+lirr195,lirr67,lirr63,True,425
+lirr195,lirr67,lirr102,False,800
+lirr195,lirr67,lirr63,False,425
+lirr195,lirr71,lirr102,True,1100
+lirr195,lirr71,lirr63,True,425
+lirr195,lirr71,lirr102,False,800
+lirr195,lirr71,lirr63,False,425
+lirr195,lirr76,lirr102,True,1100
+lirr195,lirr76,lirr63,True,425
+lirr195,lirr76,lirr102,False,800
+lirr195,lirr76,lirr63,False,425
+lirr195,lirr72,lirr214,True,1475
+lirr195,lirr72,lirr214,False,1075
+lirr195,lirr74,lirr102,True,1650
+lirr195,lirr74,lirr63,True,825
+lirr195,lirr74,lirr102,False,1200
+lirr195,lirr74,lirr63,False,825
+lirr195,lirr78,lirr102,True,1350
+lirr195,lirr78,lirr63,True,600
+lirr195,lirr78,lirr102,False,975
+lirr195,lirr78,lirr63,False,600
+lirr195,lirr73,lirr102,True,2775
+lirr195,lirr73,lirr63,True,1850
+lirr195,lirr73,lirr102,False,2025
+lirr195,lirr73,lirr63,False,1850
+lirr195,lirr77,lirr102,True,1100
+lirr195,lirr77,lirr63,True,425
+lirr195,lirr77,lirr102,False,800
+lirr195,lirr77,lirr63,False,425
+lirr195,lirr83,lirr102,True,2775
+lirr195,lirr83,lirr63,True,1850
+lirr195,lirr83,lirr102,False,2025
+lirr195,lirr83,lirr63,False,1850
+lirr195,lirr85,lirr102,True,1000
+lirr195,lirr85,lirr102,False,725
+lirr195,lirr94,lirr102,True,1000
+lirr195,lirr94,lirr102,False,725
+lirr195,lirr92,lirr102,True,1100
+lirr195,lirr92,lirr102,False,800
+lirr195,lirr91,lirr102,True,1350
+lirr195,lirr91,lirr63,True,600
+lirr195,lirr91,lirr102,False,975
+lirr195,lirr91,lirr63,False,600
+lirr195,lirr101,lirr102,True,1000
+lirr195,lirr101,lirr102,False,725
+lirr195,lirr99,lirr102,True,1100
+lirr195,lirr99,lirr102,False,800
+lirr195,lirr100,lirr102,True,1650
+lirr195,lirr100,lirr63,True,825
+lirr195,lirr100,lirr102,False,1200
+lirr195,lirr100,lirr63,False,825
+lirr195,lirr111,lirr102,True,1650
+lirr195,lirr111,lirr63,True,825
+lirr195,lirr111,lirr102,False,1200
+lirr195,lirr111,lirr63,False,825
+lirr195,lirr124,lirr102,True,1000
+lirr195,lirr124,lirr102,False,725
+lirr195,lirr122,lirr102,True,900
+lirr195,lirr122,lirr102,False,650
+lirr195,lirr114,lirr102,True,1000
+lirr195,lirr114,lirr102,False,725
+lirr195,lirr117,lirr102,True,1350
+lirr195,lirr117,lirr102,False,975
+lirr195,lirr120,lirr214,True,1350
+lirr195,lirr120,lirr214,False,975
+lirr195,lirr119,lirr102,True,900
+lirr195,lirr119,lirr102,False,650
+lirr195,lirr123,lirr102,True,1100
+lirr195,lirr123,lirr63,True,425
+lirr195,lirr123,lirr102,False,800
+lirr195,lirr123,lirr63,False,425
+lirr195,lirr113,lirr102,True,1100
+lirr195,lirr113,lirr102,False,800
+lirr195,lirr125,lirr102,True,1000
+lirr195,lirr125,lirr102,False,725
+lirr195,lirr142,lirr102,True,1000
+lirr195,lirr142,lirr102,False,725
+lirr195,lirr131,lirr214,True,1475
+lirr195,lirr131,lirr214,False,1075
+lirr195,lirr136,lirr102,True,1100
+lirr195,lirr136,lirr102,False,800
+lirr195,lirr135,lirr102,True,1100
+lirr195,lirr135,lirr102,False,800
+lirr195,lirr140,lirr102,True,2125
+lirr195,lirr140,lirr63,True,1200
+lirr195,lirr140,lirr102,False,1550
+lirr195,lirr140,lirr63,False,1200
+lirr195,lirr126,lirr102,True,2775
+lirr195,lirr126,lirr63,True,1850
+lirr195,lirr126,lirr102,False,2025
+lirr195,lirr126,lirr63,False,1850
+lirr195,lirr129,lirr102,True,1650
+lirr195,lirr129,lirr63,True,825
+lirr195,lirr129,lirr102,False,1200
+lirr195,lirr129,lirr63,False,825
+lirr195,lirr127,lirr102,True,1000
+lirr195,lirr127,lirr102,False,725
+lirr195,lirr226,lirr102,True,1100
+lirr195,lirr226,lirr102,False,800
+lirr195,lirr132,lirr102,True,1000
+lirr195,lirr132,lirr102,False,725
+lirr195,lirr141,lirr102,True,2775
+lirr195,lirr141,lirr63,True,1850
+lirr195,lirr141,lirr102,False,2025
+lirr195,lirr141,lirr63,False,1850
+lirr195,lirr130,lirr214,True,1350
+lirr195,lirr130,lirr214,False,975
+lirr195,lirr152,lirr102,True,1000
+lirr195,lirr152,lirr102,False,725
+lirr195,lirr153,lirr102,True,1350
+lirr195,lirr153,lirr63,True,600
+lirr195,lirr153,lirr102,False,975
+lirr195,lirr153,lirr63,False,600
+lirr195,lirr157,lirr102,True,1650
+lirr195,lirr157,lirr63,True,825
+lirr195,lirr157,lirr102,False,1200
+lirr195,lirr157,lirr63,False,825
+lirr195,lirr155,lirr102,True,1100
+lirr195,lirr155,lirr102,False,800
+lirr195,lirr154,lirr102,True,1100
+lirr195,lirr154,lirr63,True,425
+lirr195,lirr154,lirr102,False,800
+lirr195,lirr154,lirr63,False,425
+lirr195,lirr163,lirr102,True,1650
+lirr195,lirr163,lirr63,True,825
+lirr195,lirr163,lirr102,False,1200
+lirr195,lirr163,lirr63,False,825
+lirr195,lirr165,lirr102,True,1350
+lirr195,lirr165,lirr63,True,600
+lirr195,lirr165,lirr102,False,975
+lirr195,lirr165,lirr63,False,600
+lirr195,lirr162,lirr214,True,1475
+lirr195,lirr162,lirr214,False,1075
+lirr195,lirr164,lirr102,True,1650
+lirr195,lirr164,lirr63,True,825
+lirr195,lirr164,lirr102,False,1200
+lirr195,lirr164,lirr63,False,825
+lirr195,lirr171,lirr214,True,1475
+lirr195,lirr171,lirr214,False,1075
+lirr195,lirr176,lirr102,True,2775
+lirr195,lirr176,lirr63,True,1850
+lirr195,lirr176,lirr102,False,2025
+lirr195,lirr176,lirr63,False,1850
+lirr195,lirr183,lirr102,True,1100
+lirr195,lirr183,lirr102,False,800
+lirr195,lirr179,lirr102,True,1650
+lirr195,lirr179,lirr63,True,825
+lirr195,lirr179,lirr102,False,1200
+lirr195,lirr179,lirr63,False,825
+lirr195,lirr180,lirr102,True,900
+lirr195,lirr180,lirr102,False,650
+lirr195,lirr182,lirr102,True,1100
+lirr195,lirr182,lirr63,True,425
+lirr195,lirr182,lirr102,False,800
+lirr195,lirr182,lirr63,False,425
+lirr195,lirr204,lirr102,True,1650
+lirr195,lirr204,lirr63,True,825
+lirr195,lirr204,lirr102,False,1200
+lirr195,lirr204,lirr63,False,825
+lirr195,lirr185,lirr102,True,1100
+lirr195,lirr185,lirr63,True,425
+lirr195,lirr185,lirr102,False,800
+lirr195,lirr185,lirr63,False,425
+lirr195,lirr187,lirr102,True,1100
+lirr195,lirr187,lirr102,False,800
+lirr195,lirr202,lirr102,True,1650
+lirr195,lirr202,lirr63,True,825
+lirr195,lirr202,lirr102,False,1200
+lirr195,lirr202,lirr63,False,825
+lirr195,lirr191,lirr102,True,2775
+lirr195,lirr191,lirr63,True,1850
+lirr195,lirr191,lirr102,False,2025
+lirr195,lirr191,lirr63,False,1850
+lirr195,lirr190,lirr102,True,2775
+lirr195,lirr190,lirr63,True,1850
+lirr195,lirr190,lirr102,False,2025
+lirr195,lirr190,lirr63,False,1850
+lirr195,lirr198,lirr102,True,2125
+lirr195,lirr198,lirr63,True,1200
+lirr195,lirr198,lirr102,False,1550
+lirr195,lirr198,lirr63,False,1200
+lirr195,lirr184,lirr102,True,900
+lirr195,lirr184,lirr102,False,650
+lirr195,lirr193,lirr102,True,1650
+lirr195,lirr193,lirr63,True,825
+lirr195,lirr193,lirr102,False,1200
+lirr195,lirr193,lirr63,False,825
+lirr195,lirr14,lirr102,True,1650
+lirr195,lirr14,lirr63,True,825
+lirr195,lirr14,lirr102,False,1200
+lirr195,lirr14,lirr63,False,825
+lirr195,lirr205,lirr102,True,1100
+lirr195,lirr205,lirr63,True,425
+lirr195,lirr205,lirr102,False,800
+lirr195,lirr205,lirr63,False,425
+lirr195,lirr211,lirr102,True,1000
+lirr195,lirr211,lirr102,False,725
+lirr195,lirr215,lirr102,True,1100
+lirr195,lirr215,lirr102,False,800
+lirr195,lirr216,lirr102,True,1000
+lirr195,lirr216,lirr102,False,725
+lirr195,lirr213,lirr102,True,1100
+lirr195,lirr213,lirr102,False,800
+lirr195,lirr233,lirr102,True,2775
+lirr195,lirr233,lirr63,True,1850
+lirr195,lirr233,lirr102,False,2025
+lirr195,lirr233,lirr63,False,1850
+lirr195,lirr219,lirr102,True,1000
+lirr195,lirr219,lirr102,False,725
+lirr195,lirr217,lirr102,True,1000
+lirr195,lirr217,lirr102,False,725
+lirr195,lirr220,lirr102,True,1350
+lirr195,lirr220,lirr63,True,600
+lirr195,lirr220,lirr102,False,975
+lirr195,lirr220,lirr63,False,600
+lirr195,lirr223,lirr102,True,2125
+lirr195,lirr223,lirr63,True,1200
+lirr195,lirr223,lirr102,False,1550
+lirr195,lirr223,lirr63,False,1200
+lirr14,lirr1,lirr132,True,900
+lirr14,lirr1,lirr132,False,900
+lirr14,lirr4,lirr102,True,3475
+lirr14,lirr4,lirr92,True,2025
+lirr14,lirr4,lirr102,False,2525
+lirr14,lirr4,lirr92,False,2025
+lirr14,lirr8,lirr102,True,2125
+lirr14,lirr8,lirr102,False,1550
+lirr14,lirr2,lirr214,True,2050
+lirr14,lirr2,lirr214,False,1500
+lirr14,lirr27,lirr102,True,2125
+lirr14,lirr27,lirr92,True,650
+lirr14,lirr27,lirr102,False,1550
+lirr14,lirr27,lirr92,False,650
+lirr14,lirr225,lirr102,True,1825
+lirr14,lirr225,lirr102,False,1325
+lirr14,lirr26,lirr102,True,2275
+lirr14,lirr26,lirr92,True,1000
+lirr14,lirr26,lirr102,False,1650
+lirr14,lirr26,lirr92,False,1000
+lirr14,lirr25,lirr214,True,2050
+lirr14,lirr25,lirr214,False,1500
+lirr14,lirr23,lirr102,True,1650
+lirr14,lirr23,lirr102,False,1200
+lirr14,lirr16,lirr102,True,1825
+lirr14,lirr16,lirr102,False,1325
+lirr14,lirr21,lirr102,True,2800
+lirr14,lirr21,lirr92,True,1350
+lirr14,lirr21,lirr102,False,2025
+lirr14,lirr21,lirr92,False,1350
+lirr14,lirr20,lirr92,True,600
+lirr14,lirr20,lirr92,False,600
+lirr14,lirr29,lirr92,True,1000
+lirr14,lirr29,lirr92,False,1000
+lirr14,lirr13,lirr102,True,3475
+lirr14,lirr13,lirr92,True,2025
+lirr14,lirr13,lirr102,False,2525
+lirr14,lirr13,lirr92,False,2025
+lirr14,lirr11,lirr214,True,2050
+lirr14,lirr11,lirr214,False,1500
+lirr14,lirr32,lirr102,True,1650
+lirr14,lirr32,lirr102,False,1200
+lirr14,lirr33,lirr92,True,1000
+lirr14,lirr33,lirr92,False,1000
+lirr14,lirr31,lirr102,True,1825
+lirr14,lirr31,lirr102,False,1325
+lirr14,lirr38,lirr102,True,2125
+lirr14,lirr38,lirr102,False,1550
+lirr14,lirr36,lirr102,True,1650
+lirr14,lirr36,lirr63,True,825
+lirr14,lirr36,lirr102,False,1200
+lirr14,lirr36,lirr63,False,825
+lirr14,lirr44,lirr92,True,650
+lirr14,lirr44,lirr92,False,650
+lirr14,lirr42,lirr214,True,2050
+lirr14,lirr42,lirr214,False,1500
+lirr14,lirr48,lirr102,True,3475
+lirr14,lirr48,lirr92,True,2025
+lirr14,lirr48,lirr102,False,2525
+lirr14,lirr48,lirr92,False,2025
+lirr14,lirr51,lirr102,True,1825
+lirr14,lirr51,lirr102,False,1325
+lirr14,lirr52,lirr132,True,825
+lirr14,lirr52,lirr132,False,825
+lirr14,lirr65,lirr102,True,1650
+lirr14,lirr65,lirr102,False,1200
+lirr14,lirr59,lirr92,True,600
+lirr14,lirr59,lirr92,False,600
+lirr14,lirr63,lirr102,True,1650
+lirr14,lirr63,lirr102,False,1200
+lirr14,lirr56,lirr214,True,2050
+lirr14,lirr56,lirr214,False,1500
+lirr14,lirr64,lirr102,True,1825
+lirr14,lirr64,lirr102,False,1325
+lirr14,lirr68,lirr102,True,1650
+lirr14,lirr68,lirr63,True,825
+lirr14,lirr68,lirr102,False,1200
+lirr14,lirr68,lirr63,False,825
+lirr14,lirr66,lirr102,True,1650
+lirr14,lirr66,lirr102,False,1200
+lirr14,lirr67,lirr132,True,900
+lirr14,lirr67,lirr132,False,900
+lirr14,lirr71,lirr132,True,900
+lirr14,lirr71,lirr132,False,900
+lirr14,lirr76,lirr132,True,900
+lirr14,lirr76,lirr132,False,900
+lirr14,lirr72,lirr214,True,2225
+lirr14,lirr72,lirr214,False,1625
+lirr14,lirr74,lirr102,True,2275
+lirr14,lirr74,lirr92,True,1000
+lirr14,lirr74,lirr102,False,1650
+lirr14,lirr74,lirr92,False,1000
+lirr14,lirr73,lirr92,True,2025
+lirr14,lirr73,lirr92,False,2025
+lirr14,lirr77,lirr132,True,900
+lirr14,lirr77,lirr132,False,900
+lirr14,lirr83,lirr102,True,3475
+lirr14,lirr83,lirr92,True,2025
+lirr14,lirr83,lirr102,False,2525
+lirr14,lirr83,lirr92,False,2025
+lirr14,lirr84,lirr102,True,1650
+lirr14,lirr84,lirr63,True,825
+lirr14,lirr84,lirr102,False,1200
+lirr14,lirr84,lirr63,False,825
+lirr14,lirr85,lirr102,True,1650
+lirr14,lirr85,lirr102,False,1200
+lirr14,lirr94,lirr102,True,1650
+lirr14,lirr94,lirr102,False,1200
+lirr14,lirr89,lirr102,True,1575
+lirr14,lirr89,lirr102,False,1150
+lirr14,lirr101,lirr102,True,1650
+lirr14,lirr101,lirr102,False,1200
+lirr14,lirr99,lirr102,True,1825
+lirr14,lirr99,lirr102,False,1325
+lirr14,lirr100,lirr102,True,2275
+lirr14,lirr100,lirr92,True,1000
+lirr14,lirr100,lirr102,False,1650
+lirr14,lirr100,lirr92,False,1000
+lirr14,lirr124,lirr102,True,1650
+lirr14,lirr124,lirr102,False,1200
+lirr14,lirr122,lirr102,True,1575
+lirr14,lirr122,lirr102,False,1150
+lirr14,lirr114,lirr102,True,1650
+lirr14,lirr114,lirr102,False,1200
+lirr14,lirr117,lirr102,True,2125
+lirr14,lirr117,lirr102,False,1550
+lirr14,lirr120,lirr214,True,2050
+lirr14,lirr120,lirr214,False,1500
+lirr14,lirr119,lirr102,True,1575
+lirr14,lirr119,lirr102,False,1150
+lirr14,lirr123,lirr132,True,900
+lirr14,lirr123,lirr132,False,900
+lirr14,lirr113,lirr102,True,1825
+lirr14,lirr113,lirr102,False,1325
+lirr14,lirr125,lirr102,True,1650
+lirr14,lirr125,lirr102,False,1200
+lirr14,lirr142,lirr102,True,1650
+lirr14,lirr142,lirr102,False,1200
+lirr14,lirr131,lirr214,True,2225
+lirr14,lirr131,lirr214,False,1625
+lirr14,lirr136,lirr102,True,1825
+lirr14,lirr136,lirr102,False,1325
+lirr14,lirr135,lirr102,True,1825
+lirr14,lirr135,lirr102,False,1325
+lirr14,lirr140,lirr102,True,2800
+lirr14,lirr140,lirr92,True,1350
+lirr14,lirr140,lirr102,False,2025
+lirr14,lirr140,lirr92,False,1350
+lirr14,lirr126,lirr92,True,2025
+lirr14,lirr126,lirr92,False,2025
+lirr14,lirr129,lirr92,True,1000
+lirr14,lirr129,lirr92,False,1000
+lirr14,lirr226,lirr102,True,1825
+lirr14,lirr226,lirr102,False,1325
+lirr14,lirr141,lirr102,True,3475
+lirr14,lirr141,lirr92,True,2025
+lirr14,lirr141,lirr102,False,2525
+lirr14,lirr141,lirr92,False,2025
+lirr14,lirr130,lirr214,True,2050
+lirr14,lirr130,lirr214,False,1500
+lirr14,lirr149,lirr102,True,1650
+lirr14,lirr149,lirr63,True,825
+lirr14,lirr149,lirr102,False,1200
+lirr14,lirr149,lirr63,False,825
+lirr14,lirr157,lirr102,True,2275
+lirr14,lirr157,lirr92,True,1000
+lirr14,lirr157,lirr102,False,1650
+lirr14,lirr157,lirr92,False,1000
+lirr14,lirr155,lirr102,True,1825
+lirr14,lirr155,lirr102,False,1325
+lirr14,lirr154,lirr132,True,900
+lirr14,lirr154,lirr132,False,900
+lirr14,lirr163,lirr102,True,2275
+lirr14,lirr163,lirr92,True,1000
+lirr14,lirr163,lirr102,False,1650
+lirr14,lirr163,lirr92,False,1000
+lirr14,lirr165,lirr92,True,650
+lirr14,lirr165,lirr92,False,650
+lirr14,lirr162,lirr214,True,2225
+lirr14,lirr162,lirr214,False,1625
+lirr14,lirr171,lirr214,True,2225
+lirr14,lirr171,lirr214,False,1625
+lirr14,lirr175,lirr102,True,1575
+lirr14,lirr175,lirr102,False,1150
+lirr14,lirr176,lirr92,True,2025
+lirr14,lirr176,lirr92,False,2025
+lirr14,lirr183,lirr102,True,1825
+lirr14,lirr183,lirr102,False,1325
+lirr14,lirr179,lirr92,True,1000
+lirr14,lirr179,lirr92,False,1000
+lirr14,lirr180,lirr102,True,1575
+lirr14,lirr180,lirr102,False,1150
+lirr14,lirr182,lirr132,True,900
+lirr14,lirr182,lirr132,False,900
+lirr14,lirr204,lirr102,True,2275
+lirr14,lirr204,lirr92,True,1000
+lirr14,lirr204,lirr102,False,1650
+lirr14,lirr204,lirr92,False,1000
+lirr14,lirr185,lirr132,True,900
+lirr14,lirr185,lirr132,False,900
+lirr14,lirr187,lirr102,True,1825
+lirr14,lirr187,lirr102,False,1325
+lirr14,lirr191,lirr102,True,3475
+lirr14,lirr191,lirr92,True,2025
+lirr14,lirr191,lirr102,False,2525
+lirr14,lirr191,lirr92,False,2025
+lirr14,lirr190,lirr92,True,2025
+lirr14,lirr190,lirr92,False,2025
+lirr14,lirr198,lirr102,True,2800
+lirr14,lirr198,lirr92,True,1350
+lirr14,lirr198,lirr102,False,2025
+lirr14,lirr198,lirr92,False,1350
+lirr14,lirr184,lirr102,True,1575
+lirr14,lirr184,lirr102,False,1150
+lirr14,lirr195,lirr102,True,1650
+lirr14,lirr195,lirr63,True,825
+lirr14,lirr195,lirr102,False,1200
+lirr14,lirr195,lirr63,False,825
+lirr14,lirr211,lirr102,True,1650
+lirr14,lirr211,lirr102,False,1200
+lirr14,lirr215,lirr102,True,1825
+lirr14,lirr215,lirr102,False,1325
+lirr14,lirr216,lirr102,True,1650
+lirr14,lirr216,lirr102,False,1200
+lirr14,lirr233,lirr102,True,3475
+lirr14,lirr233,lirr92,True,2025
+lirr14,lirr233,lirr102,False,2525
+lirr14,lirr233,lirr92,False,2025
+lirr14,lirr219,lirr102,True,1650
+lirr14,lirr219,lirr102,False,1200
+lirr14,lirr217,lirr102,True,1650
+lirr14,lirr217,lirr102,False,1200
+lirr14,lirr220,lirr92,True,650
+lirr14,lirr220,lirr92,False,650
+lirr14,lirr223,lirr92,True,1350
+lirr14,lirr223,lirr92,False,1350
+lirr205,lirr1,lirr132,True,450
+lirr205,lirr1,lirr132,False,450
+lirr205,lirr4,lirr102,True,2975
+lirr205,lirr4,lirr92,True,1725
+lirr205,lirr4,lirr102,False,2175
+lirr205,lirr4,lirr92,False,1725
+lirr205,lirr8,lirr102,True,1575
+lirr205,lirr8,lirr102,False,1150
+lirr205,lirr2,lirr214,True,1575
+lirr205,lirr2,lirr214,False,1150
+lirr205,lirr27,lirr102,True,1575
+lirr205,lirr27,lirr92,True,425
+lirr205,lirr27,lirr102,False,1150
+lirr205,lirr27,lirr92,False,425
+lirr205,lirr225,lirr102,True,1225
+lirr205,lirr225,lirr102,False,900
+lirr205,lirr26,lirr102,True,1825
+lirr205,lirr26,lirr92,True,600
+lirr205,lirr26,lirr102,False,1325
+lirr205,lirr26,lirr92,False,600
+lirr205,lirr25,lirr214,True,1575
+lirr205,lirr25,lirr214,False,1150
+lirr205,lirr23,lirr102,True,1100
+lirr205,lirr23,lirr102,False,800
+lirr205,lirr16,lirr102,True,1225
+lirr205,lirr16,lirr102,False,900
+lirr205,lirr21,lirr102,True,2275
+lirr205,lirr21,lirr92,True,1050
+lirr205,lirr21,lirr102,False,1650
+lirr205,lirr21,lirr92,False,1050
+lirr205,lirr20,lirr92,True,425
+lirr205,lirr20,lirr92,False,425
+lirr205,lirr29,lirr92,True,600
+lirr205,lirr29,lirr92,False,600
+lirr205,lirr13,lirr102,True,2975
+lirr205,lirr13,lirr92,True,1725
+lirr205,lirr13,lirr102,False,2175
+lirr205,lirr13,lirr92,False,1725
+lirr205,lirr11,lirr214,True,1575
+lirr205,lirr11,lirr214,False,1150
+lirr205,lirr32,lirr102,True,1100
+lirr205,lirr32,lirr102,False,800
+lirr205,lirr33,lirr92,True,600
+lirr205,lirr33,lirr92,False,600
+lirr205,lirr31,lirr102,True,1225
+lirr205,lirr31,lirr102,False,900
+lirr205,lirr38,lirr102,True,1575
+lirr205,lirr38,lirr102,False,1150
+lirr205,lirr36,lirr102,True,1100
+lirr205,lirr36,lirr63,True,425
+lirr205,lirr36,lirr102,False,800
+lirr205,lirr36,lirr63,False,425
+lirr205,lirr44,lirr92,True,425
+lirr205,lirr44,lirr92,False,425
+lirr205,lirr42,lirr214,True,1575
+lirr205,lirr42,lirr214,False,1150
+lirr205,lirr48,lirr102,True,2975
+lirr205,lirr48,lirr92,True,1725
+lirr205,lirr48,lirr102,False,2175
+lirr205,lirr48,lirr92,False,1725
+lirr205,lirr51,lirr102,True,1225
+lirr205,lirr51,lirr102,False,900
+lirr205,lirr52,lirr132,True,425
+lirr205,lirr52,lirr132,False,425
+lirr205,lirr65,lirr102,True,1100
+lirr205,lirr65,lirr102,False,800
+lirr205,lirr59,lirr92,True,425
+lirr205,lirr59,lirr92,False,425
+lirr205,lirr63,lirr102,True,1100
+lirr205,lirr63,lirr102,False,800
+lirr205,lirr56,lirr214,True,1575
+lirr205,lirr56,lirr214,False,1150
+lirr205,lirr64,lirr102,True,1225
+lirr205,lirr64,lirr102,False,900
+lirr205,lirr68,lirr102,True,1100
+lirr205,lirr68,lirr63,True,425
+lirr205,lirr68,lirr102,False,800
+lirr205,lirr68,lirr63,False,425
+lirr205,lirr66,lirr102,True,1100
+lirr205,lirr66,lirr102,False,800
+lirr205,lirr67,lirr132,True,450
+lirr205,lirr67,lirr132,False,450
+lirr205,lirr71,lirr132,True,450
+lirr205,lirr71,lirr132,False,450
+lirr205,lirr76,lirr132,True,450
+lirr205,lirr76,lirr132,False,450
+lirr205,lirr72,lirr214,True,1725
+lirr205,lirr72,lirr214,False,1250
+lirr205,lirr74,lirr102,True,1825
+lirr205,lirr74,lirr92,True,600
+lirr205,lirr74,lirr102,False,1325
+lirr205,lirr74,lirr92,False,600
+lirr205,lirr73,lirr92,True,1725
+lirr205,lirr73,lirr92,False,1725
+lirr205,lirr77,lirr132,True,450
+lirr205,lirr77,lirr132,False,450
+lirr205,lirr83,lirr102,True,2975
+lirr205,lirr83,lirr92,True,1725
+lirr205,lirr83,lirr102,False,2175
+lirr205,lirr83,lirr92,False,1725
+lirr205,lirr84,lirr102,True,1100
+lirr205,lirr84,lirr63,True,425
+lirr205,lirr84,lirr102,False,800
+lirr205,lirr84,lirr63,False,425
+lirr205,lirr85,lirr102,True,1100
+lirr205,lirr85,lirr102,False,800
+lirr205,lirr94,lirr102,True,1100
+lirr205,lirr94,lirr102,False,800
+lirr205,lirr89,lirr102,True,1050
+lirr205,lirr89,lirr102,False,775
+lirr205,lirr101,lirr102,True,1100
+lirr205,lirr101,lirr102,False,800
+lirr205,lirr99,lirr102,True,1225
+lirr205,lirr99,lirr102,False,900
+lirr205,lirr100,lirr102,True,1825
+lirr205,lirr100,lirr92,True,600
+lirr205,lirr100,lirr102,False,1325
+lirr205,lirr100,lirr92,False,600
+lirr205,lirr124,lirr102,True,1100
+lirr205,lirr124,lirr102,False,800
+lirr205,lirr122,lirr102,True,1050
+lirr205,lirr122,lirr102,False,775
+lirr205,lirr114,lirr102,True,1100
+lirr205,lirr114,lirr102,False,800
+lirr205,lirr117,lirr102,True,1575
+lirr205,lirr117,lirr102,False,1150
+lirr205,lirr120,lirr214,True,1575
+lirr205,lirr120,lirr214,False,1150
+lirr205,lirr119,lirr102,True,1050
+lirr205,lirr119,lirr102,False,775
+lirr205,lirr123,lirr132,True,450
+lirr205,lirr123,lirr132,False,450
+lirr205,lirr113,lirr102,True,1225
+lirr205,lirr113,lirr102,False,900
+lirr205,lirr125,lirr102,True,1100
+lirr205,lirr125,lirr102,False,800
+lirr205,lirr142,lirr102,True,1100
+lirr205,lirr142,lirr102,False,800
+lirr205,lirr131,lirr214,True,1725
+lirr205,lirr131,lirr214,False,1250
+lirr205,lirr136,lirr102,True,1225
+lirr205,lirr136,lirr102,False,900
+lirr205,lirr135,lirr102,True,1225
+lirr205,lirr135,lirr102,False,900
+lirr205,lirr140,lirr102,True,2275
+lirr205,lirr140,lirr92,True,1050
+lirr205,lirr140,lirr102,False,1650
+lirr205,lirr140,lirr92,False,1050
+lirr205,lirr126,lirr92,True,1725
+lirr205,lirr126,lirr92,False,1725
+lirr205,lirr129,lirr92,True,600
+lirr205,lirr129,lirr92,False,600
+lirr205,lirr226,lirr102,True,1225
+lirr205,lirr226,lirr102,False,900
+lirr205,lirr141,lirr102,True,2975
+lirr205,lirr141,lirr92,True,1725
+lirr205,lirr141,lirr102,False,2175
+lirr205,lirr141,lirr92,False,1725
+lirr205,lirr130,lirr214,True,1575
+lirr205,lirr130,lirr214,False,1150
+lirr205,lirr149,lirr102,True,1100
+lirr205,lirr149,lirr63,True,425
+lirr205,lirr149,lirr102,False,800
+lirr205,lirr149,lirr63,False,425
+lirr205,lirr157,lirr102,True,1825
+lirr205,lirr157,lirr92,True,600
+lirr205,lirr157,lirr102,False,1325
+lirr205,lirr157,lirr92,False,600
+lirr205,lirr155,lirr102,True,1225
+lirr205,lirr155,lirr102,False,900
+lirr205,lirr154,lirr132,True,450
+lirr205,lirr154,lirr132,False,450
+lirr205,lirr163,lirr102,True,1825
+lirr205,lirr163,lirr92,True,600
+lirr205,lirr163,lirr102,False,1325
+lirr205,lirr163,lirr92,False,600
+lirr205,lirr165,lirr92,True,425
+lirr205,lirr165,lirr92,False,425
+lirr205,lirr162,lirr214,True,1725
+lirr205,lirr162,lirr214,False,1250
+lirr205,lirr171,lirr214,True,1725
+lirr205,lirr171,lirr214,False,1250
+lirr205,lirr175,lirr102,True,1050
+lirr205,lirr175,lirr102,False,775
+lirr205,lirr176,lirr92,True,1725
+lirr205,lirr176,lirr92,False,1725
+lirr205,lirr183,lirr102,True,1225
+lirr205,lirr183,lirr102,False,900
+lirr205,lirr179,lirr92,True,600
+lirr205,lirr179,lirr92,False,600
+lirr205,lirr180,lirr102,True,1050
+lirr205,lirr180,lirr102,False,775
+lirr205,lirr182,lirr132,True,450
+lirr205,lirr182,lirr132,False,450
+lirr205,lirr204,lirr102,True,1825
+lirr205,lirr204,lirr92,True,600
+lirr205,lirr204,lirr102,False,1325
+lirr205,lirr204,lirr92,False,600
+lirr205,lirr185,lirr132,True,450
+lirr205,lirr185,lirr132,False,450
+lirr205,lirr187,lirr102,True,1225
+lirr205,lirr187,lirr102,False,900
+lirr205,lirr191,lirr102,True,2975
+lirr205,lirr191,lirr92,True,1725
+lirr205,lirr191,lirr102,False,2175
+lirr205,lirr191,lirr92,False,1725
+lirr205,lirr190,lirr92,True,1725
+lirr205,lirr190,lirr92,False,1725
+lirr205,lirr198,lirr102,True,2275
+lirr205,lirr198,lirr92,True,1050
+lirr205,lirr198,lirr102,False,1650
+lirr205,lirr198,lirr92,False,1050
+lirr205,lirr184,lirr102,True,1050
+lirr205,lirr184,lirr102,False,775
+lirr205,lirr195,lirr102,True,1100
+lirr205,lirr195,lirr63,True,425
+lirr205,lirr195,lirr102,False,800
+lirr205,lirr195,lirr63,False,425
+lirr205,lirr211,lirr102,True,1100
+lirr205,lirr211,lirr102,False,800
+lirr205,lirr215,lirr102,True,1225
+lirr205,lirr215,lirr102,False,900
+lirr205,lirr216,lirr102,True,1100
+lirr205,lirr216,lirr102,False,800
+lirr205,lirr233,lirr102,True,2975
+lirr205,lirr233,lirr92,True,1725
+lirr205,lirr233,lirr102,False,2175
+lirr205,lirr233,lirr92,False,1725
+lirr205,lirr219,lirr102,True,1100
+lirr205,lirr219,lirr102,False,800
+lirr205,lirr217,lirr102,True,1100
+lirr205,lirr217,lirr102,False,800
+lirr205,lirr220,lirr92,True,425
+lirr205,lirr220,lirr92,False,425
+lirr205,lirr223,lirr92,True,1050
+lirr205,lirr223,lirr92,False,1050
+lirr211,lirr1,lirr102,True,1100
+lirr211,lirr1,lirr102,False,800
+lirr211,lirr4,lirr102,True,2775
+lirr211,lirr4,lirr102,False,2025
+lirr211,lirr8,lirr102,True,1350
+lirr211,lirr8,lirr102,False,975
+lirr211,lirr2,lirr214,True,1350
+lirr211,lirr2,lirr214,False,975
+lirr211,lirr27,lirr102,True,1350
+lirr211,lirr27,lirr102,False,975
+lirr211,lirr225,lirr102,True,1100
+lirr211,lirr225,lirr102,False,800
+lirr211,lirr26,lirr102,True,1650
+lirr211,lirr26,lirr102,False,1200
+lirr211,lirr25,lirr214,True,1350
+lirr211,lirr25,lirr214,False,975
+lirr211,lirr23,lirr102,True,1000
+lirr211,lirr23,lirr102,False,725
+lirr211,lirr16,lirr102,True,1100
+lirr211,lirr16,lirr102,False,800
+lirr211,lirr21,lirr102,True,2125
+lirr211,lirr21,lirr102,False,1550
+lirr211,lirr20,lirr102,True,1100
+lirr211,lirr20,lirr102,False,800
+lirr211,lirr29,lirr102,True,1650
+lirr211,lirr29,lirr102,False,1200
+lirr211,lirr13,lirr102,True,2775
+lirr211,lirr13,lirr102,False,2025
+lirr211,lirr11,lirr214,True,1350
+lirr211,lirr11,lirr214,False,975
+lirr211,lirr39,lirr102,True,1100
+lirr211,lirr39,lirr102,False,800
+lirr211,lirr33,lirr102,True,1650
+lirr211,lirr33,lirr102,False,1200
+lirr211,lirr40,lirr102,True,1350
+lirr211,lirr40,lirr102,False,975
+lirr211,lirr38,lirr102,True,1350
+lirr211,lirr38,lirr102,False,975
+lirr211,lirr36,lirr102,True,1000
+lirr211,lirr36,lirr102,False,725
+lirr211,lirr44,lirr102,True,1350
+lirr211,lirr44,lirr102,False,975
+lirr211,lirr42,lirr214,True,1350
+lirr211,lirr42,lirr214,False,975
+lirr211,lirr48,lirr102,True,2775
+lirr211,lirr48,lirr102,False,2025
+lirr211,lirr52,lirr102,True,1000
+lirr211,lirr52,lirr102,False,725
+lirr211,lirr59,lirr102,True,1100
+lirr211,lirr59,lirr102,False,800
+lirr211,lirr63,lirr102,True,1000
+lirr211,lirr63,lirr102,False,725
+lirr211,lirr56,lirr214,True,1350
+lirr211,lirr56,lirr214,False,975
+lirr211,lirr64,lirr102,True,1100
+lirr211,lirr64,lirr102,False,800
+lirr211,lirr68,lirr102,True,1000
+lirr211,lirr68,lirr102,False,725
+lirr211,lirr67,lirr102,True,1100
+lirr211,lirr67,lirr102,False,800
+lirr211,lirr71,lirr102,True,1100
+lirr211,lirr71,lirr102,False,800
+lirr211,lirr76,lirr102,True,1100
+lirr211,lirr76,lirr102,False,800
+lirr211,lirr72,lirr214,True,1475
+lirr211,lirr72,lirr214,False,1075
+lirr211,lirr74,lirr102,True,1650
+lirr211,lirr74,lirr102,False,1200
+lirr211,lirr78,lirr102,True,1350
+lirr211,lirr78,lirr102,False,975
+lirr211,lirr73,lirr102,True,2775
+lirr211,lirr73,lirr102,False,2025
+lirr211,lirr77,lirr102,True,1100
+lirr211,lirr77,lirr102,False,800
+lirr211,lirr83,lirr102,True,2775
+lirr211,lirr83,lirr102,False,2025
+lirr211,lirr84,lirr102,True,1000
+lirr211,lirr84,lirr102,False,725
+lirr211,lirr92,lirr102,True,1100
+lirr211,lirr92,lirr102,False,800
+lirr211,lirr89,lirr102,True,900
+lirr211,lirr89,lirr102,False,650
+lirr211,lirr91,lirr102,True,1350
+lirr211,lirr91,lirr102,False,975
+lirr211,lirr100,lirr102,True,1650
+lirr211,lirr100,lirr102,False,1200
+lirr211,lirr111,lirr102,True,1650
+lirr211,lirr111,lirr102,False,1200
+lirr211,lirr117,lirr102,True,1350
+lirr211,lirr117,lirr102,False,975
+lirr211,lirr120,lirr214,True,1350
+lirr211,lirr120,lirr214,False,975
+lirr211,lirr123,lirr102,True,1100
+lirr211,lirr123,lirr102,False,800
+lirr211,lirr131,lirr214,True,1475
+lirr211,lirr131,lirr214,False,1075
+lirr211,lirr136,lirr102,True,1100
+lirr211,lirr136,lirr102,False,800
+lirr211,lirr135,lirr102,True,1100
+lirr211,lirr135,lirr102,False,800
+lirr211,lirr140,lirr102,True,2125
+lirr211,lirr140,lirr102,False,1550
+lirr211,lirr126,lirr102,True,2775
+lirr211,lirr126,lirr102,False,2025
+lirr211,lirr129,lirr102,True,1650
+lirr211,lirr129,lirr102,False,1200
+lirr211,lirr127,lirr102,True,1000
+lirr211,lirr127,lirr102,False,725
+lirr211,lirr226,lirr102,True,1100
+lirr211,lirr226,lirr102,False,800
+lirr211,lirr132,lirr102,True,1000
+lirr211,lirr132,lirr102,False,725
+lirr211,lirr141,lirr102,True,2775
+lirr211,lirr141,lirr102,False,2025
+lirr211,lirr130,lirr214,True,1350
+lirr211,lirr130,lirr214,False,975
+lirr211,lirr149,lirr102,True,1000
+lirr211,lirr149,lirr102,False,725
+lirr211,lirr152,lirr102,True,1000
+lirr211,lirr152,lirr102,False,725
+lirr211,lirr153,lirr102,True,1350
+lirr211,lirr153,lirr102,False,975
+lirr211,lirr157,lirr102,True,1650
+lirr211,lirr157,lirr102,False,1200
+lirr211,lirr154,lirr102,True,1100
+lirr211,lirr154,lirr102,False,800
+lirr211,lirr163,lirr102,True,1650
+lirr211,lirr163,lirr102,False,1200
+lirr211,lirr165,lirr102,True,1350
+lirr211,lirr165,lirr102,False,975
+lirr211,lirr162,lirr214,True,1475
+lirr211,lirr162,lirr214,False,1075
+lirr211,lirr164,lirr102,True,1650
+lirr211,lirr164,lirr102,False,1200
+lirr211,lirr171,lirr214,True,1475
+lirr211,lirr171,lirr214,False,1075
+lirr211,lirr175,lirr102,True,900
+lirr211,lirr175,lirr102,False,650
+lirr211,lirr176,lirr102,True,2775
+lirr211,lirr176,lirr102,False,2025
+lirr211,lirr183,lirr102,True,1100
+lirr211,lirr183,lirr102,False,800
+lirr211,lirr179,lirr102,True,1650
+lirr211,lirr179,lirr102,False,1200
+lirr211,lirr182,lirr102,True,1100
+lirr211,lirr182,lirr102,False,800
+lirr211,lirr204,lirr102,True,1650
+lirr211,lirr204,lirr102,False,1200
+lirr211,lirr185,lirr102,True,1100
+lirr211,lirr185,lirr102,False,800
+lirr211,lirr187,lirr102,True,1100
+lirr211,lirr187,lirr102,False,800
+lirr211,lirr202,lirr102,True,1650
+lirr211,lirr202,lirr102,False,1200
+lirr211,lirr191,lirr102,True,2775
+lirr211,lirr191,lirr102,False,2025
+lirr211,lirr190,lirr102,True,2775
+lirr211,lirr190,lirr102,False,2025
+lirr211,lirr198,lirr102,True,2125
+lirr211,lirr198,lirr102,False,1550
+lirr211,lirr193,lirr102,True,1650
+lirr211,lirr193,lirr102,False,1200
+lirr211,lirr195,lirr102,True,1000
+lirr211,lirr195,lirr102,False,725
+lirr211,lirr14,lirr102,True,1650
+lirr211,lirr14,lirr102,False,1200
+lirr211,lirr205,lirr102,True,1100
+lirr211,lirr205,lirr102,False,800
+lirr211,lirr215,lirr102,True,1100
+lirr211,lirr215,lirr102,False,800
+lirr211,lirr213,lirr102,True,1100
+lirr211,lirr213,lirr102,False,800
+lirr211,lirr233,lirr102,True,2775
+lirr211,lirr233,lirr102,False,2025
+lirr211,lirr220,lirr102,True,1350
+lirr211,lirr220,lirr102,False,975
+lirr211,lirr223,lirr102,True,2125
+lirr211,lirr223,lirr102,False,1550
+lirr215,lirr1,lirr102,True,1225
+lirr215,lirr1,lirr102,False,900
+lirr215,lirr2,lirr214,True,1575
+lirr215,lirr2,lirr214,False,1150
+lirr215,lirr25,lirr214,True,1575
+lirr215,lirr25,lirr214,False,1150
+lirr215,lirr23,lirr102,True,1100
+lirr215,lirr23,lirr102,False,800
+lirr215,lirr20,lirr102,True,1225
+lirr215,lirr20,lirr102,False,900
+lirr215,lirr29,lirr102,True,1825
+lirr215,lirr29,lirr102,False,1325
+lirr215,lirr11,lirr214,True,1575
+lirr215,lirr11,lirr214,False,1150
+lirr215,lirr39,lirr102,True,1225
+lirr215,lirr39,lirr102,False,900
+lirr215,lirr32,lirr102,True,1100
+lirr215,lirr32,lirr211,True,425
+lirr215,lirr32,lirr102,False,800
+lirr215,lirr32,lirr211,False,425
+lirr215,lirr33,lirr102,True,1825
+lirr215,lirr33,lirr102,False,1325
+lirr215,lirr31,lirr102,True,1225
+lirr215,lirr31,lirr125,True,450
+lirr215,lirr31,lirr102,False,900
+lirr215,lirr31,lirr125,False,450
+lirr215,lirr40,lirr102,True,1575
+lirr215,lirr40,lirr102,False,1150
+lirr215,lirr36,lirr102,True,1100
+lirr215,lirr36,lirr102,False,800
+lirr215,lirr44,lirr102,True,1575
+lirr215,lirr44,lirr102,False,1150
+lirr215,lirr42,lirr214,True,1575
+lirr215,lirr42,lirr214,False,1150
+lirr215,lirr51,lirr102,True,1225
+lirr215,lirr51,lirr125,True,450
+lirr215,lirr51,lirr102,False,900
+lirr215,lirr51,lirr125,False,450
+lirr215,lirr52,lirr102,True,1100
+lirr215,lirr52,lirr102,False,800
+lirr215,lirr65,lirr102,True,1100
+lirr215,lirr65,lirr211,True,425
+lirr215,lirr65,lirr102,False,800
+lirr215,lirr65,lirr211,False,425
+lirr215,lirr59,lirr102,True,1225
+lirr215,lirr59,lirr102,False,900
+lirr215,lirr63,lirr102,True,1100
+lirr215,lirr63,lirr102,False,800
+lirr215,lirr56,lirr214,True,1575
+lirr215,lirr56,lirr214,False,1150
+lirr215,lirr68,lirr102,True,1100
+lirr215,lirr68,lirr102,False,800
+lirr215,lirr66,lirr102,True,1100
+lirr215,lirr66,lirr211,True,425
+lirr215,lirr66,lirr102,False,800
+lirr215,lirr66,lirr211,False,425
+lirr215,lirr67,lirr102,True,1225
+lirr215,lirr67,lirr102,False,900
+lirr215,lirr71,lirr102,True,1225
+lirr215,lirr71,lirr102,False,900
+lirr215,lirr76,lirr102,True,1225
+lirr215,lirr76,lirr102,False,900
+lirr215,lirr72,lirr214,True,1725
+lirr215,lirr72,lirr214,False,1250
+lirr215,lirr78,lirr102,True,1575
+lirr215,lirr78,lirr102,False,1150
+lirr215,lirr73,lirr102,True,2975
+lirr215,lirr73,lirr102,False,2175
+lirr215,lirr77,lirr102,True,1225
+lirr215,lirr77,lirr102,False,900
+lirr215,lirr84,lirr102,True,1100
+lirr215,lirr84,lirr102,False,800
+lirr215,lirr85,lirr102,True,1100
+lirr215,lirr85,lirr102,False,800
+lirr215,lirr94,lirr102,True,1100
+lirr215,lirr94,lirr211,True,425
+lirr215,lirr94,lirr102,False,800
+lirr215,lirr94,lirr211,False,425
+lirr215,lirr92,lirr102,True,1225
+lirr215,lirr92,lirr102,False,900
+lirr215,lirr89,lirr102,True,1050
+lirr215,lirr89,lirr102,False,775
+lirr215,lirr91,lirr102,True,1575
+lirr215,lirr91,lirr102,False,1150
+lirr215,lirr101,lirr102,True,1100
+lirr215,lirr101,lirr211,True,425
+lirr215,lirr101,lirr102,False,800
+lirr215,lirr101,lirr211,False,425
+lirr215,lirr99,lirr102,True,1225
+lirr215,lirr99,lirr125,True,450
+lirr215,lirr99,lirr102,False,900
+lirr215,lirr99,lirr125,False,450
+lirr215,lirr111,lirr102,True,1825
+lirr215,lirr111,lirr102,False,1325
+lirr215,lirr124,lirr102,True,1100
+lirr215,lirr124,lirr102,False,800
+lirr215,lirr122,lirr102,True,1050
+lirr215,lirr122,lirr102,False,775
+lirr215,lirr114,lirr102,True,1100
+lirr215,lirr114,lirr211,True,425
+lirr215,lirr114,lirr102,False,800
+lirr215,lirr114,lirr211,False,425
+lirr215,lirr120,lirr214,True,1575
+lirr215,lirr120,lirr214,False,1150
+lirr215,lirr119,lirr102,True,1050
+lirr215,lirr119,lirr102,False,775
+lirr215,lirr123,lirr102,True,1225
+lirr215,lirr123,lirr102,False,900
+lirr215,lirr113,lirr102,True,1225
+lirr215,lirr113,lirr125,True,450
+lirr215,lirr113,lirr102,False,900
+lirr215,lirr113,lirr125,False,450
+lirr215,lirr125,lirr102,True,1100
+lirr215,lirr125,lirr102,False,800
+lirr215,lirr142,lirr102,True,1100
+lirr215,lirr142,lirr102,False,800
+lirr215,lirr131,lirr214,True,1725
+lirr215,lirr131,lirr214,False,1250
+lirr215,lirr126,lirr102,True,2975
+lirr215,lirr126,lirr102,False,2175
+lirr215,lirr129,lirr102,True,1825
+lirr215,lirr129,lirr102,False,1325
+lirr215,lirr127,lirr102,True,1100
+lirr215,lirr127,lirr102,False,800
+lirr215,lirr132,lirr102,True,1100
+lirr215,lirr132,lirr102,False,800
+lirr215,lirr130,lirr214,True,1575
+lirr215,lirr130,lirr214,False,1150
+lirr215,lirr149,lirr102,True,1100
+lirr215,lirr149,lirr102,False,800
+lirr215,lirr152,lirr102,True,1100
+lirr215,lirr152,lirr102,False,800
+lirr215,lirr153,lirr102,True,1575
+lirr215,lirr153,lirr102,False,1150
+lirr215,lirr155,lirr102,True,1225
+lirr215,lirr155,lirr125,True,450
+lirr215,lirr155,lirr102,False,900
+lirr215,lirr155,lirr125,False,450
+lirr215,lirr154,lirr102,True,1225
+lirr215,lirr154,lirr102,False,900
+lirr215,lirr165,lirr102,True,1575
+lirr215,lirr165,lirr102,False,1150
+lirr215,lirr162,lirr214,True,1725
+lirr215,lirr162,lirr214,False,1250
+lirr215,lirr164,lirr102,True,1825
+lirr215,lirr164,lirr102,False,1325
+lirr215,lirr171,lirr214,True,1725
+lirr215,lirr171,lirr214,False,1250
+lirr215,lirr175,lirr102,True,1050
+lirr215,lirr175,lirr102,False,775
+lirr215,lirr176,lirr102,True,2975
+lirr215,lirr176,lirr102,False,2175
+lirr215,lirr179,lirr102,True,1825
+lirr215,lirr179,lirr102,False,1325
+lirr215,lirr180,lirr102,True,1050
+lirr215,lirr180,lirr102,False,775
+lirr215,lirr182,lirr102,True,1225
+lirr215,lirr182,lirr102,False,900
+lirr215,lirr185,lirr102,True,1225
+lirr215,lirr185,lirr102,False,900
+lirr215,lirr202,lirr102,True,1825
+lirr215,lirr202,lirr102,False,1325
+lirr215,lirr190,lirr102,True,2975
+lirr215,lirr190,lirr102,False,2175
+lirr215,lirr184,lirr102,True,1050
+lirr215,lirr184,lirr102,False,775
+lirr215,lirr193,lirr102,True,1825
+lirr215,lirr193,lirr102,False,1325
+lirr215,lirr195,lirr102,True,1100
+lirr215,lirr195,lirr102,False,800
+lirr215,lirr14,lirr102,True,1825
+lirr215,lirr14,lirr102,False,1325
+lirr215,lirr205,lirr102,True,1225
+lirr215,lirr205,lirr102,False,900
+lirr215,lirr211,lirr102,True,1100
+lirr215,lirr211,lirr102,False,800
+lirr215,lirr216,lirr102,True,1100
+lirr215,lirr216,lirr102,False,800
+lirr215,lirr213,lirr102,True,1225
+lirr215,lirr213,lirr102,False,900
+lirr215,lirr219,lirr102,True,1100
+lirr215,lirr219,lirr102,False,800
+lirr215,lirr217,lirr102,True,1100
+lirr215,lirr217,lirr211,True,425
+lirr215,lirr217,lirr102,False,800
+lirr215,lirr217,lirr211,False,425
+lirr215,lirr220,lirr102,True,1575
+lirr215,lirr220,lirr102,False,1150
+lirr215,lirr223,lirr102,True,2275
+lirr215,lirr223,lirr102,False,1650
+lirr216,lirr1,lirr102,True,1100
+lirr216,lirr1,lirr102,False,800
+lirr216,lirr4,lirr102,True,2775
+lirr216,lirr4,lirr102,False,2025
+lirr216,lirr8,lirr102,True,1350
+lirr216,lirr8,lirr102,False,975
+lirr216,lirr2,lirr214,True,1350
+lirr216,lirr2,lirr214,False,975
+lirr216,lirr27,lirr102,True,1350
+lirr216,lirr27,lirr102,False,975
+lirr216,lirr225,lirr102,True,1100
+lirr216,lirr225,lirr102,False,800
+lirr216,lirr26,lirr102,True,1650
+lirr216,lirr26,lirr102,False,1200
+lirr216,lirr25,lirr214,True,1350
+lirr216,lirr25,lirr214,False,975
+lirr216,lirr23,lirr102,True,1000
+lirr216,lirr23,lirr102,False,725
+lirr216,lirr16,lirr102,True,1100
+lirr216,lirr16,lirr102,False,800
+lirr216,lirr21,lirr102,True,2125
+lirr216,lirr21,lirr102,False,1550
+lirr216,lirr20,lirr102,True,1100
+lirr216,lirr20,lirr102,False,800
+lirr216,lirr29,lirr102,True,1650
+lirr216,lirr29,lirr102,False,1200
+lirr216,lirr13,lirr102,True,2775
+lirr216,lirr13,lirr102,False,2025
+lirr216,lirr11,lirr214,True,1350
+lirr216,lirr11,lirr214,False,975
+lirr216,lirr39,lirr102,True,1100
+lirr216,lirr39,lirr102,False,800
+lirr216,lirr32,lirr211,True,425
+lirr216,lirr32,lirr211,False,425
+lirr216,lirr33,lirr102,True,1650
+lirr216,lirr33,lirr102,False,1200
+lirr216,lirr31,lirr211,True,425
+lirr216,lirr31,lirr211,False,425
+lirr216,lirr40,lirr102,True,1350
+lirr216,lirr40,lirr102,False,975
+lirr216,lirr38,lirr102,True,1350
+lirr216,lirr38,lirr102,False,975
+lirr216,lirr36,lirr102,True,1000
+lirr216,lirr36,lirr102,False,725
+lirr216,lirr44,lirr102,True,1350
+lirr216,lirr44,lirr102,False,975
+lirr216,lirr42,lirr214,True,1350
+lirr216,lirr42,lirr214,False,975
+lirr216,lirr48,lirr102,True,2775
+lirr216,lirr48,lirr102,False,2025
+lirr216,lirr51,lirr211,True,425
+lirr216,lirr51,lirr211,False,425
+lirr216,lirr52,lirr102,True,1000
+lirr216,lirr52,lirr102,False,725
+lirr216,lirr65,lirr211,True,425
+lirr216,lirr65,lirr211,False,425
+lirr216,lirr59,lirr102,True,1100
+lirr216,lirr59,lirr102,False,800
+lirr216,lirr63,lirr102,True,1000
+lirr216,lirr63,lirr102,False,725
+lirr216,lirr56,lirr214,True,1350
+lirr216,lirr56,lirr214,False,975
+lirr216,lirr64,lirr102,True,1100
+lirr216,lirr64,lirr102,False,800
+lirr216,lirr68,lirr102,True,1000
+lirr216,lirr68,lirr102,False,725
+lirr216,lirr66,lirr211,True,425
+lirr216,lirr66,lirr211,False,425
+lirr216,lirr67,lirr102,True,1100
+lirr216,lirr67,lirr102,False,800
+lirr216,lirr71,lirr102,True,1100
+lirr216,lirr71,lirr102,False,800
+lirr216,lirr76,lirr102,True,1100
+lirr216,lirr76,lirr102,False,800
+lirr216,lirr72,lirr214,True,1475
+lirr216,lirr72,lirr214,False,1075
+lirr216,lirr74,lirr102,True,1650
+lirr216,lirr74,lirr102,False,1200
+lirr216,lirr78,lirr102,True,1350
+lirr216,lirr78,lirr102,False,975
+lirr216,lirr73,lirr102,True,2775
+lirr216,lirr73,lirr102,False,2025
+lirr216,lirr77,lirr102,True,1100
+lirr216,lirr77,lirr102,False,800
+lirr216,lirr83,lirr102,True,2775
+lirr216,lirr83,lirr102,False,2025
+lirr216,lirr84,lirr102,True,1000
+lirr216,lirr84,lirr102,False,725
+lirr216,lirr94,lirr211,True,425
+lirr216,lirr94,lirr211,False,425
+lirr216,lirr92,lirr102,True,1100
+lirr216,lirr92,lirr102,False,800
+lirr216,lirr89,lirr102,True,900
+lirr216,lirr89,lirr102,False,650
+lirr216,lirr91,lirr102,True,1350
+lirr216,lirr91,lirr102,False,975
+lirr216,lirr101,lirr211,True,425
+lirr216,lirr101,lirr211,False,425
+lirr216,lirr99,lirr211,True,425
+lirr216,lirr99,lirr211,False,425
+lirr216,lirr100,lirr102,True,1650
+lirr216,lirr100,lirr102,False,1200
+lirr216,lirr111,lirr102,True,1650
+lirr216,lirr111,lirr102,False,1200
+lirr216,lirr122,lirr102,True,900
+lirr216,lirr122,lirr102,False,650
+lirr216,lirr114,lirr211,True,425
+lirr216,lirr114,lirr211,False,425
+lirr216,lirr117,lirr102,True,1350
+lirr216,lirr117,lirr102,False,975
+lirr216,lirr120,lirr214,True,1350
+lirr216,lirr120,lirr214,False,975
+lirr216,lirr119,lirr102,True,900
+lirr216,lirr119,lirr102,False,650
+lirr216,lirr123,lirr102,True,1100
+lirr216,lirr123,lirr102,False,800
+lirr216,lirr113,lirr211,True,425
+lirr216,lirr113,lirr211,False,425
+lirr216,lirr125,lirr211,True,425
+lirr216,lirr125,lirr211,False,425
+lirr216,lirr131,lirr214,True,1475
+lirr216,lirr131,lirr214,False,1075
+lirr216,lirr136,lirr102,True,1100
+lirr216,lirr136,lirr102,False,800
+lirr216,lirr135,lirr102,True,1100
+lirr216,lirr135,lirr102,False,800
+lirr216,lirr140,lirr102,True,2125
+lirr216,lirr140,lirr102,False,1550
+lirr216,lirr126,lirr102,True,2775
+lirr216,lirr126,lirr102,False,2025
+lirr216,lirr129,lirr102,True,1650
+lirr216,lirr129,lirr102,False,1200
+lirr216,lirr127,lirr102,True,1000
+lirr216,lirr127,lirr102,False,725
+lirr216,lirr226,lirr102,True,1100
+lirr216,lirr226,lirr102,False,800
+lirr216,lirr132,lirr102,True,1000
+lirr216,lirr132,lirr102,False,725
+lirr216,lirr141,lirr102,True,2775
+lirr216,lirr141,lirr102,False,2025
+lirr216,lirr130,lirr214,True,1350
+lirr216,lirr130,lirr214,False,975
+lirr216,lirr149,lirr102,True,1000
+lirr216,lirr149,lirr102,False,725
+lirr216,lirr152,lirr102,True,1000
+lirr216,lirr152,lirr102,False,725
+lirr216,lirr153,lirr102,True,1350
+lirr216,lirr153,lirr102,False,975
+lirr216,lirr157,lirr102,True,1650
+lirr216,lirr157,lirr102,False,1200
+lirr216,lirr155,lirr211,True,425
+lirr216,lirr155,lirr211,False,425
+lirr216,lirr154,lirr102,True,1100
+lirr216,lirr154,lirr102,False,800
+lirr216,lirr163,lirr102,True,1650
+lirr216,lirr163,lirr102,False,1200
+lirr216,lirr165,lirr102,True,1350
+lirr216,lirr165,lirr102,False,975
+lirr216,lirr162,lirr214,True,1475
+lirr216,lirr162,lirr214,False,1075
+lirr216,lirr164,lirr102,True,1650
+lirr216,lirr164,lirr102,False,1200
+lirr216,lirr171,lirr214,True,1475
+lirr216,lirr171,lirr214,False,1075
+lirr216,lirr175,lirr102,True,900
+lirr216,lirr175,lirr102,False,650
+lirr216,lirr176,lirr102,True,2775
+lirr216,lirr176,lirr102,False,2025
+lirr216,lirr183,lirr102,True,1100
+lirr216,lirr183,lirr102,False,800
+lirr216,lirr179,lirr102,True,1650
+lirr216,lirr179,lirr102,False,1200
+lirr216,lirr180,lirr102,True,900
+lirr216,lirr180,lirr102,False,650
+lirr216,lirr182,lirr102,True,1100
+lirr216,lirr182,lirr102,False,800
+lirr216,lirr204,lirr102,True,1650
+lirr216,lirr204,lirr102,False,1200
+lirr216,lirr185,lirr102,True,1100
+lirr216,lirr185,lirr102,False,800
+lirr216,lirr187,lirr102,True,1100
+lirr216,lirr187,lirr102,False,800
+lirr216,lirr202,lirr102,True,1650
+lirr216,lirr202,lirr102,False,1200
+lirr216,lirr191,lirr102,True,2775
+lirr216,lirr191,lirr102,False,2025
+lirr216,lirr190,lirr102,True,2775
+lirr216,lirr190,lirr102,False,2025
+lirr216,lirr198,lirr102,True,2125
+lirr216,lirr198,lirr102,False,1550
+lirr216,lirr193,lirr102,True,1650
+lirr216,lirr193,lirr102,False,1200
+lirr216,lirr195,lirr102,True,1000
+lirr216,lirr195,lirr102,False,725
+lirr216,lirr14,lirr102,True,1650
+lirr216,lirr14,lirr102,False,1200
+lirr216,lirr205,lirr102,True,1100
+lirr216,lirr205,lirr102,False,800
+lirr216,lirr215,lirr102,True,1100
+lirr216,lirr215,lirr102,False,800
+lirr216,lirr213,lirr102,True,1100
+lirr216,lirr213,lirr102,False,800
+lirr216,lirr233,lirr102,True,2775
+lirr216,lirr233,lirr102,False,2025
+lirr216,lirr217,lirr211,True,425
+lirr216,lirr217,lirr211,False,425
+lirr216,lirr220,lirr102,True,1350
+lirr216,lirr220,lirr102,False,975
+lirr216,lirr223,lirr102,True,2125
+lirr216,lirr223,lirr102,False,1550
+lirr213,lirr1,lirr132,True,450
+lirr213,lirr1,lirr132,False,450
+lirr213,lirr4,lirr102,True,2975
+lirr213,lirr4,lirr102,False,2175
+lirr213,lirr8,lirr102,True,1575
+lirr213,lirr8,lirr102,False,1150
+lirr213,lirr2,lirr214,True,1575
+lirr213,lirr2,lirr214,False,1150
+lirr213,lirr27,lirr102,True,1575
+lirr213,lirr27,lirr102,False,1150
+lirr213,lirr225,lirr102,True,1225
+lirr213,lirr225,lirr102,False,900
+lirr213,lirr26,lirr102,True,1825
+lirr213,lirr26,lirr102,False,1325
+lirr213,lirr25,lirr214,True,1575
+lirr213,lirr25,lirr214,False,1150
+lirr213,lirr23,lirr102,True,1100
+lirr213,lirr23,lirr102,False,800
+lirr213,lirr16,lirr102,True,1225
+lirr213,lirr16,lirr102,False,900
+lirr213,lirr21,lirr102,True,2275
+lirr213,lirr21,lirr102,False,1650
+lirr213,lirr13,lirr102,True,2975
+lirr213,lirr13,lirr102,False,2175
+lirr213,lirr11,lirr214,True,1575
+lirr213,lirr11,lirr214,False,1150
+lirr213,lirr32,lirr102,True,1100
+lirr213,lirr32,lirr102,False,800
+lirr213,lirr31,lirr102,True,1225
+lirr213,lirr31,lirr102,False,900
+lirr213,lirr38,lirr102,True,1575
+lirr213,lirr38,lirr102,False,1150
+lirr213,lirr36,lirr102,True,1100
+lirr213,lirr36,lirr102,False,800
+lirr213,lirr42,lirr214,True,1575
+lirr213,lirr42,lirr214,False,1150
+lirr213,lirr48,lirr102,True,2975
+lirr213,lirr48,lirr102,False,2175
+lirr213,lirr51,lirr102,True,1225
+lirr213,lirr51,lirr102,False,900
+lirr213,lirr52,lirr132,True,425
+lirr213,lirr52,lirr132,False,425
+lirr213,lirr65,lirr102,True,1100
+lirr213,lirr65,lirr102,False,800
+lirr213,lirr63,lirr102,True,1100
+lirr213,lirr63,lirr102,False,800
+lirr213,lirr56,lirr214,True,1575
+lirr213,lirr56,lirr214,False,1150
+lirr213,lirr64,lirr102,True,1225
+lirr213,lirr64,lirr102,False,900
+lirr213,lirr68,lirr102,True,1100
+lirr213,lirr68,lirr102,False,800
+lirr213,lirr66,lirr102,True,1100
+lirr213,lirr66,lirr102,False,800
+lirr213,lirr67,lirr132,True,450
+lirr213,lirr67,lirr132,False,450
+lirr213,lirr71,lirr132,True,450
+lirr213,lirr71,lirr132,False,450
+lirr213,lirr76,lirr132,True,450
+lirr213,lirr76,lirr132,False,450
+lirr213,lirr72,lirr214,True,1725
+lirr213,lirr72,lirr214,False,1250
+lirr213,lirr74,lirr102,True,1825
+lirr213,lirr74,lirr102,False,1325
+lirr213,lirr77,lirr132,True,450
+lirr213,lirr77,lirr132,False,450
+lirr213,lirr83,lirr102,True,2975
+lirr213,lirr83,lirr102,False,2175
+lirr213,lirr84,lirr102,True,1100
+lirr213,lirr84,lirr102,False,800
+lirr213,lirr85,lirr102,True,1100
+lirr213,lirr85,lirr102,False,800
+lirr213,lirr94,lirr102,True,1100
+lirr213,lirr94,lirr102,False,800
+lirr213,lirr89,lirr102,True,1050
+lirr213,lirr89,lirr102,False,775
+lirr213,lirr101,lirr102,True,1100
+lirr213,lirr101,lirr102,False,800
+lirr213,lirr99,lirr102,True,1225
+lirr213,lirr99,lirr102,False,900
+lirr213,lirr100,lirr102,True,1825
+lirr213,lirr100,lirr102,False,1325
+lirr213,lirr124,lirr102,True,1100
+lirr213,lirr124,lirr102,False,800
+lirr213,lirr122,lirr102,True,1050
+lirr213,lirr122,lirr102,False,775
+lirr213,lirr114,lirr102,True,1100
+lirr213,lirr114,lirr102,False,800
+lirr213,lirr117,lirr102,True,1575
+lirr213,lirr117,lirr102,False,1150
+lirr213,lirr120,lirr214,True,1575
+lirr213,lirr120,lirr214,False,1150
+lirr213,lirr119,lirr102,True,1050
+lirr213,lirr119,lirr102,False,775
+lirr213,lirr123,lirr132,True,450
+lirr213,lirr123,lirr132,False,450
+lirr213,lirr113,lirr102,True,1225
+lirr213,lirr113,lirr102,False,900
+lirr213,lirr125,lirr102,True,1100
+lirr213,lirr125,lirr102,False,800
+lirr213,lirr142,lirr102,True,1100
+lirr213,lirr142,lirr102,False,800
+lirr213,lirr131,lirr214,True,1725
+lirr213,lirr131,lirr214,False,1250
+lirr213,lirr136,lirr102,True,1225
+lirr213,lirr136,lirr102,False,900
+lirr213,lirr135,lirr102,True,1225
+lirr213,lirr135,lirr102,False,900
+lirr213,lirr140,lirr102,True,2275
+lirr213,lirr140,lirr102,False,1650
+lirr213,lirr226,lirr102,True,1225
+lirr213,lirr226,lirr102,False,900
+lirr213,lirr141,lirr102,True,2975
+lirr213,lirr141,lirr102,False,2175
+lirr213,lirr130,lirr214,True,1575
+lirr213,lirr130,lirr214,False,1150
+lirr213,lirr149,lirr102,True,1100
+lirr213,lirr149,lirr102,False,800
+lirr213,lirr157,lirr102,True,1825
+lirr213,lirr157,lirr102,False,1325
+lirr213,lirr155,lirr102,True,1225
+lirr213,lirr155,lirr102,False,900
+lirr213,lirr154,lirr132,True,450
+lirr213,lirr154,lirr132,False,450
+lirr213,lirr163,lirr102,True,1825
+lirr213,lirr163,lirr102,False,1325
+lirr213,lirr162,lirr214,True,1725
+lirr213,lirr162,lirr214,False,1250
+lirr213,lirr171,lirr214,True,1725
+lirr213,lirr171,lirr214,False,1250
+lirr213,lirr175,lirr102,True,1050
+lirr213,lirr175,lirr102,False,775
+lirr213,lirr183,lirr102,True,1225
+lirr213,lirr183,lirr102,False,900
+lirr213,lirr180,lirr102,True,1050
+lirr213,lirr180,lirr102,False,775
+lirr213,lirr182,lirr132,True,450
+lirr213,lirr182,lirr132,False,450
+lirr213,lirr204,lirr102,True,1825
+lirr213,lirr204,lirr102,False,1325
+lirr213,lirr185,lirr132,True,450
+lirr213,lirr185,lirr132,False,450
+lirr213,lirr187,lirr102,True,1225
+lirr213,lirr187,lirr102,False,900
+lirr213,lirr191,lirr102,True,2975
+lirr213,lirr191,lirr102,False,2175
+lirr213,lirr198,lirr102,True,2275
+lirr213,lirr198,lirr102,False,1650
+lirr213,lirr184,lirr102,True,1050
+lirr213,lirr184,lirr102,False,775
+lirr213,lirr195,lirr102,True,1100
+lirr213,lirr195,lirr102,False,800
+lirr213,lirr211,lirr102,True,1100
+lirr213,lirr211,lirr102,False,800
+lirr213,lirr215,lirr102,True,1225
+lirr213,lirr215,lirr102,False,900
+lirr213,lirr216,lirr102,True,1100
+lirr213,lirr216,lirr102,False,800
+lirr213,lirr233,lirr102,True,2975
+lirr213,lirr233,lirr102,False,2175
+lirr213,lirr219,lirr102,True,1100
+lirr213,lirr219,lirr102,False,800
+lirr213,lirr217,lirr102,True,1100
+lirr213,lirr217,lirr102,False,800
+lirr233,lirr1,lirr102,True,2975
+lirr233,lirr1,lirr132,True,1875
+lirr233,lirr1,lirr102,False,2175
+lirr233,lirr1,lirr132,False,1875
+lirr233,lirr2,lirr214,True,3200
+lirr233,lirr2,lirr214,False,2325
+lirr233,lirr25,lirr214,True,3200
+lirr233,lirr25,lirr214,False,2325
+lirr233,lirr23,lirr102,True,2775
+lirr233,lirr23,lirr102,False,2025
+lirr233,lirr20,lirr102,True,2975
+lirr233,lirr20,lirr92,True,1725
+lirr233,lirr20,lirr102,False,2175
+lirr233,lirr20,lirr92,False,1725
+lirr233,lirr29,lirr102,True,3475
+lirr233,lirr29,lirr92,True,2025
+lirr233,lirr29,lirr102,False,2525
+lirr233,lirr29,lirr92,False,2025
+lirr233,lirr11,lirr214,True,3200
+lirr233,lirr11,lirr214,False,2325
+lirr233,lirr39,lirr102,True,2975
+lirr233,lirr39,lirr102,False,2175
+lirr233,lirr32,lirr102,True,2775
+lirr233,lirr32,lirr102,False,2025
+lirr233,lirr33,lirr102,True,3475
+lirr233,lirr33,lirr92,True,2025
+lirr233,lirr33,lirr102,False,2525
+lirr233,lirr33,lirr92,False,2025
+lirr233,lirr31,lirr102,True,2975
+lirr233,lirr31,lirr125,True,1875
+lirr233,lirr31,lirr102,False,2175
+lirr233,lirr31,lirr125,False,1875
+lirr233,lirr40,lirr102,True,3275
+lirr233,lirr40,lirr92,True,1775
+lirr233,lirr40,lirr102,False,2375
+lirr233,lirr40,lirr92,False,1775
+lirr233,lirr36,lirr102,True,2775
+lirr233,lirr36,lirr63,True,1850
+lirr233,lirr36,lirr102,False,2025
+lirr233,lirr36,lirr63,False,1850
+lirr233,lirr44,lirr102,True,3275
+lirr233,lirr44,lirr92,True,1775
+lirr233,lirr44,lirr102,False,2375
+lirr233,lirr44,lirr92,False,1775
+lirr233,lirr42,lirr214,True,3200
+lirr233,lirr42,lirr214,False,2325
+lirr233,lirr51,lirr102,True,2975
+lirr233,lirr51,lirr125,True,1875
+lirr233,lirr51,lirr102,False,2175
+lirr233,lirr51,lirr125,False,1875
+lirr233,lirr52,lirr102,True,2775
+lirr233,lirr52,lirr132,True,1850
+lirr233,lirr52,lirr102,False,2025
+lirr233,lirr52,lirr132,False,1850
+lirr233,lirr65,lirr102,True,2775
+lirr233,lirr65,lirr102,False,2025
+lirr233,lirr59,lirr102,True,2975
+lirr233,lirr59,lirr92,True,1725
+lirr233,lirr59,lirr102,False,2175
+lirr233,lirr59,lirr92,False,1725
+lirr233,lirr63,lirr102,True,2775
+lirr233,lirr63,lirr102,False,2025
+lirr233,lirr56,lirr214,True,3200
+lirr233,lirr56,lirr214,False,2325
+lirr233,lirr68,lirr102,True,2775
+lirr233,lirr68,lirr63,True,1850
+lirr233,lirr68,lirr102,False,2025
+lirr233,lirr68,lirr63,False,1850
+lirr233,lirr66,lirr102,True,2775
+lirr233,lirr66,lirr102,False,2025
+lirr233,lirr67,lirr102,True,2975
+lirr233,lirr67,lirr132,True,1875
+lirr233,lirr67,lirr102,False,2175
+lirr233,lirr67,lirr132,False,1875
+lirr233,lirr71,lirr102,True,2975
+lirr233,lirr71,lirr132,True,1875
+lirr233,lirr71,lirr102,False,2175
+lirr233,lirr71,lirr132,False,1875
+lirr233,lirr76,lirr102,True,2975
+lirr233,lirr76,lirr132,True,1875
+lirr233,lirr76,lirr102,False,2175
+lirr233,lirr76,lirr132,False,1875
+lirr233,lirr72,lirr214,True,3375
+lirr233,lirr72,lirr214,False,2450
+lirr233,lirr78,lirr102,True,3275
+lirr233,lirr78,lirr92,True,1775
+lirr233,lirr78,lirr102,False,2375
+lirr233,lirr78,lirr92,False,1775
+lirr233,lirr73,lirr102,True,4350
+lirr233,lirr73,lirr92,True,2800
+lirr233,lirr73,lirr102,False,3175
+lirr233,lirr73,lirr92,False,2800
+lirr233,lirr77,lirr102,True,2975
+lirr233,lirr77,lirr132,True,1875
+lirr233,lirr77,lirr102,False,2175
+lirr233,lirr77,lirr132,False,1875
+lirr233,lirr84,lirr102,True,2775
+lirr233,lirr84,lirr63,True,1850
+lirr233,lirr84,lirr102,False,2025
+lirr233,lirr84,lirr63,False,1850
+lirr233,lirr85,lirr102,True,2775
+lirr233,lirr85,lirr102,False,2025
+lirr233,lirr94,lirr102,True,2775
+lirr233,lirr94,lirr102,False,2025
+lirr233,lirr92,lirr102,True,2975
+lirr233,lirr92,lirr102,False,2175
+lirr233,lirr89,lirr102,True,2700
+lirr233,lirr89,lirr102,False,1975
+lirr233,lirr91,lirr102,True,3275
+lirr233,lirr91,lirr92,True,1775
+lirr233,lirr91,lirr102,False,2375
+lirr233,lirr91,lirr92,False,1775
+lirr233,lirr101,lirr102,True,2775
+lirr233,lirr101,lirr102,False,2025
+lirr233,lirr99,lirr102,True,2975
+lirr233,lirr99,lirr125,True,1875
+lirr233,lirr99,lirr102,False,2175
+lirr233,lirr99,lirr125,False,1875
+lirr233,lirr111,lirr102,True,3475
+lirr233,lirr111,lirr92,True,2025
+lirr233,lirr111,lirr102,False,2525
+lirr233,lirr111,lirr92,False,2025
+lirr233,lirr124,lirr102,True,2775
+lirr233,lirr124,lirr102,False,2025
+lirr233,lirr122,lirr102,True,2700
+lirr233,lirr122,lirr102,False,1975
+lirr233,lirr114,lirr102,True,2775
+lirr233,lirr114,lirr102,False,2025
+lirr233,lirr120,lirr214,True,3200
+lirr233,lirr120,lirr214,False,2325
+lirr233,lirr119,lirr102,True,2700
+lirr233,lirr119,lirr102,False,1975
+lirr233,lirr123,lirr102,True,2975
+lirr233,lirr123,lirr132,True,1875
+lirr233,lirr123,lirr102,False,2175
+lirr233,lirr123,lirr132,False,1875
+lirr233,lirr113,lirr102,True,2975
+lirr233,lirr113,lirr125,True,1875
+lirr233,lirr113,lirr102,False,2175
+lirr233,lirr113,lirr125,False,1875
+lirr233,lirr125,lirr102,True,2775
+lirr233,lirr125,lirr102,False,2025
+lirr233,lirr142,lirr102,True,2775
+lirr233,lirr142,lirr102,False,2025
+lirr233,lirr131,lirr214,True,3375
+lirr233,lirr131,lirr214,False,2450
+lirr233,lirr126,lirr102,True,4350
+lirr233,lirr126,lirr92,True,2800
+lirr233,lirr126,lirr102,False,3175
+lirr233,lirr126,lirr92,False,2800
+lirr233,lirr129,lirr102,True,3475
+lirr233,lirr129,lirr92,True,2025
+lirr233,lirr129,lirr102,False,2525
+lirr233,lirr129,lirr92,False,2025
+lirr233,lirr127,lirr102,True,2775
+lirr233,lirr127,lirr102,False,2025
+lirr233,lirr132,lirr102,True,2775
+lirr233,lirr132,lirr102,False,2025
+lirr233,lirr130,lirr214,True,3200
+lirr233,lirr130,lirr214,False,2325
+lirr233,lirr149,lirr102,True,2775
+lirr233,lirr149,lirr63,True,1850
+lirr233,lirr149,lirr102,False,2025
+lirr233,lirr149,lirr63,False,1850
+lirr233,lirr152,lirr102,True,2775
+lirr233,lirr152,lirr102,False,2025
+lirr233,lirr153,lirr102,True,3275
+lirr233,lirr153,lirr92,True,1775
+lirr233,lirr153,lirr102,False,2375
+lirr233,lirr153,lirr92,False,1775
+lirr233,lirr155,lirr102,True,2975
+lirr233,lirr155,lirr125,True,1875
+lirr233,lirr155,lirr102,False,2175
+lirr233,lirr155,lirr125,False,1875
+lirr233,lirr154,lirr102,True,2975
+lirr233,lirr154,lirr132,True,1875
+lirr233,lirr154,lirr102,False,2175
+lirr233,lirr154,lirr132,False,1875
+lirr233,lirr165,lirr102,True,3275
+lirr233,lirr165,lirr92,True,1775
+lirr233,lirr165,lirr102,False,2375
+lirr233,lirr165,lirr92,False,1775
+lirr233,lirr162,lirr214,True,3375
+lirr233,lirr162,lirr214,False,2450
+lirr233,lirr164,lirr102,True,3475
+lirr233,lirr164,lirr92,True,2025
+lirr233,lirr164,lirr102,False,2525
+lirr233,lirr164,lirr92,False,2025
+lirr233,lirr171,lirr214,True,3375
+lirr233,lirr171,lirr214,False,2450
+lirr233,lirr175,lirr102,True,2700
+lirr233,lirr175,lirr102,False,1975
+lirr233,lirr176,lirr102,True,4350
+lirr233,lirr176,lirr92,True,2800
+lirr233,lirr176,lirr102,False,3175
+lirr233,lirr176,lirr92,False,2800
+lirr233,lirr179,lirr102,True,3475
+lirr233,lirr179,lirr92,True,2025
+lirr233,lirr179,lirr102,False,2525
+lirr233,lirr179,lirr92,False,2025
+lirr233,lirr180,lirr102,True,2700
+lirr233,lirr180,lirr102,False,1975
+lirr233,lirr182,lirr102,True,2975
+lirr233,lirr182,lirr132,True,1875
+lirr233,lirr182,lirr102,False,2175
+lirr233,lirr182,lirr132,False,1875
+lirr233,lirr185,lirr102,True,2975
+lirr233,lirr185,lirr132,True,1875
+lirr233,lirr185,lirr102,False,2175
+lirr233,lirr185,lirr132,False,1875
+lirr233,lirr202,lirr102,True,3475
+lirr233,lirr202,lirr92,True,2025
+lirr233,lirr202,lirr102,False,2525
+lirr233,lirr202,lirr92,False,2025
+lirr233,lirr190,lirr102,True,4350
+lirr233,lirr190,lirr92,True,2800
+lirr233,lirr190,lirr102,False,3175
+lirr233,lirr190,lirr92,False,2800
+lirr233,lirr184,lirr102,True,2700
+lirr233,lirr184,lirr102,False,1975
+lirr233,lirr193,lirr102,True,3475
+lirr233,lirr193,lirr92,True,2025
+lirr233,lirr193,lirr102,False,2525
+lirr233,lirr193,lirr92,False,2025
+lirr233,lirr195,lirr102,True,2775
+lirr233,lirr195,lirr63,True,1850
+lirr233,lirr195,lirr102,False,2025
+lirr233,lirr195,lirr63,False,1850
+lirr233,lirr14,lirr102,True,3475
+lirr233,lirr14,lirr92,True,2025
+lirr233,lirr14,lirr102,False,2525
+lirr233,lirr14,lirr92,False,2025
+lirr233,lirr205,lirr102,True,2975
+lirr233,lirr205,lirr92,True,1725
+lirr233,lirr205,lirr102,False,2175
+lirr233,lirr205,lirr92,False,1725
+lirr233,lirr211,lirr102,True,2775
+lirr233,lirr211,lirr102,False,2025
+lirr233,lirr216,lirr102,True,2775
+lirr233,lirr216,lirr102,False,2025
+lirr233,lirr213,lirr102,True,2975
+lirr233,lirr213,lirr102,False,2175
+lirr233,lirr219,lirr102,True,2775
+lirr233,lirr219,lirr102,False,2025
+lirr233,lirr217,lirr102,True,2775
+lirr233,lirr217,lirr102,False,2025
+lirr233,lirr220,lirr102,True,3275
+lirr233,lirr220,lirr92,True,1775
+lirr233,lirr220,lirr102,False,2375
+lirr233,lirr220,lirr92,False,1775
+lirr233,lirr223,lirr102,True,4000
+lirr233,lirr223,lirr92,True,2450
+lirr233,lirr223,lirr102,False,2900
+lirr233,lirr223,lirr92,False,2450
+lirr219,lirr1,lirr102,True,1100
+lirr219,lirr1,lirr102,False,800
+lirr219,lirr4,lirr102,True,2775
+lirr219,lirr4,lirr102,False,2025
+lirr219,lirr8,lirr102,True,1350
+lirr219,lirr8,lirr102,False,975
+lirr219,lirr2,lirr214,True,1350
+lirr219,lirr2,lirr214,False,975
+lirr219,lirr27,lirr102,True,1350
+lirr219,lirr27,lirr102,False,975
+lirr219,lirr225,lirr102,True,1100
+lirr219,lirr225,lirr102,False,800
+lirr219,lirr26,lirr102,True,1650
+lirr219,lirr26,lirr102,False,1200
+lirr219,lirr25,lirr214,True,1350
+lirr219,lirr25,lirr214,False,975
+lirr219,lirr23,lirr102,True,1000
+lirr219,lirr23,lirr102,False,725
+lirr219,lirr16,lirr102,True,1100
+lirr219,lirr16,lirr102,False,800
+lirr219,lirr21,lirr102,True,2125
+lirr219,lirr21,lirr102,False,1550
+lirr219,lirr20,lirr102,True,1100
+lirr219,lirr20,lirr102,False,800
+lirr219,lirr29,lirr102,True,1650
+lirr219,lirr29,lirr102,False,1200
+lirr219,lirr13,lirr102,True,2775
+lirr219,lirr13,lirr102,False,2025
+lirr219,lirr11,lirr214,True,1350
+lirr219,lirr11,lirr214,False,975
+lirr219,lirr39,lirr102,True,1100
+lirr219,lirr39,lirr102,False,800
+lirr219,lirr32,lirr211,True,425
+lirr219,lirr32,lirr211,False,425
+lirr219,lirr33,lirr102,True,1650
+lirr219,lirr33,lirr102,False,1200
+lirr219,lirr31,lirr211,True,425
+lirr219,lirr31,lirr211,False,425
+lirr219,lirr40,lirr102,True,1350
+lirr219,lirr40,lirr102,False,975
+lirr219,lirr38,lirr102,True,1350
+lirr219,lirr38,lirr102,False,975
+lirr219,lirr36,lirr102,True,1000
+lirr219,lirr36,lirr102,False,725
+lirr219,lirr44,lirr102,True,1350
+lirr219,lirr44,lirr102,False,975
+lirr219,lirr42,lirr214,True,1350
+lirr219,lirr42,lirr214,False,975
+lirr219,lirr48,lirr102,True,2775
+lirr219,lirr48,lirr102,False,2025
+lirr219,lirr51,lirr211,True,425
+lirr219,lirr51,lirr211,False,425
+lirr219,lirr52,lirr102,True,1000
+lirr219,lirr52,lirr102,False,725
+lirr219,lirr65,lirr211,True,425
+lirr219,lirr65,lirr211,False,425
+lirr219,lirr59,lirr102,True,1100
+lirr219,lirr59,lirr102,False,800
+lirr219,lirr63,lirr102,True,1000
+lirr219,lirr63,lirr102,False,725
+lirr219,lirr56,lirr214,True,1350
+lirr219,lirr56,lirr214,False,975
+lirr219,lirr64,lirr102,True,1100
+lirr219,lirr64,lirr102,False,800
+lirr219,lirr68,lirr102,True,1000
+lirr219,lirr68,lirr102,False,725
+lirr219,lirr66,lirr211,True,425
+lirr219,lirr66,lirr211,False,425
+lirr219,lirr67,lirr102,True,1100
+lirr219,lirr67,lirr102,False,800
+lirr219,lirr71,lirr102,True,1100
+lirr219,lirr71,lirr102,False,800
+lirr219,lirr76,lirr102,True,1100
+lirr219,lirr76,lirr102,False,800
+lirr219,lirr72,lirr214,True,1475
+lirr219,lirr72,lirr214,False,1075
+lirr219,lirr74,lirr102,True,1650
+lirr219,lirr74,lirr102,False,1200
+lirr219,lirr78,lirr102,True,1350
+lirr219,lirr78,lirr102,False,975
+lirr219,lirr73,lirr102,True,2775
+lirr219,lirr73,lirr102,False,2025
+lirr219,lirr77,lirr102,True,1100
+lirr219,lirr77,lirr102,False,800
+lirr219,lirr83,lirr102,True,2775
+lirr219,lirr83,lirr102,False,2025
+lirr219,lirr84,lirr102,True,1000
+lirr219,lirr84,lirr102,False,725
+lirr219,lirr94,lirr211,True,425
+lirr219,lirr94,lirr211,False,425
+lirr219,lirr92,lirr102,True,1100
+lirr219,lirr92,lirr102,False,800
+lirr219,lirr89,lirr102,True,900
+lirr219,lirr89,lirr102,False,650
+lirr219,lirr91,lirr102,True,1350
+lirr219,lirr91,lirr102,False,975
+lirr219,lirr101,lirr211,True,425
+lirr219,lirr101,lirr211,False,425
+lirr219,lirr99,lirr211,True,425
+lirr219,lirr99,lirr211,False,425
+lirr219,lirr100,lirr102,True,1650
+lirr219,lirr100,lirr102,False,1200
+lirr219,lirr111,lirr102,True,1650
+lirr219,lirr111,lirr102,False,1200
+lirr219,lirr122,lirr102,True,900
+lirr219,lirr122,lirr102,False,650
+lirr219,lirr114,lirr211,True,425
+lirr219,lirr114,lirr211,False,425
+lirr219,lirr117,lirr102,True,1350
+lirr219,lirr117,lirr102,False,975
+lirr219,lirr120,lirr214,True,1350
+lirr219,lirr120,lirr214,False,975
+lirr219,lirr119,lirr102,True,900
+lirr219,lirr119,lirr102,False,650
+lirr219,lirr123,lirr102,True,1100
+lirr219,lirr123,lirr102,False,800
+lirr219,lirr113,lirr211,True,425
+lirr219,lirr113,lirr211,False,425
+lirr219,lirr125,lirr211,True,425
+lirr219,lirr125,lirr211,False,425
+lirr219,lirr131,lirr214,True,1475
+lirr219,lirr131,lirr214,False,1075
+lirr219,lirr136,lirr102,True,1100
+lirr219,lirr136,lirr102,False,800
+lirr219,lirr135,lirr102,True,1100
+lirr219,lirr135,lirr102,False,800
+lirr219,lirr140,lirr102,True,2125
+lirr219,lirr140,lirr102,False,1550
+lirr219,lirr126,lirr102,True,2775
+lirr219,lirr126,lirr102,False,2025
+lirr219,lirr129,lirr102,True,1650
+lirr219,lirr129,lirr102,False,1200
+lirr219,lirr127,lirr102,True,1000
+lirr219,lirr127,lirr102,False,725
+lirr219,lirr226,lirr102,True,1100
+lirr219,lirr226,lirr102,False,800
+lirr219,lirr132,lirr102,True,1000
+lirr219,lirr132,lirr102,False,725
+lirr219,lirr141,lirr102,True,2775
+lirr219,lirr141,lirr102,False,2025
+lirr219,lirr130,lirr214,True,1350
+lirr219,lirr130,lirr214,False,975
+lirr219,lirr149,lirr102,True,1000
+lirr219,lirr149,lirr102,False,725
+lirr219,lirr152,lirr102,True,1000
+lirr219,lirr152,lirr102,False,725
+lirr219,lirr153,lirr102,True,1350
+lirr219,lirr153,lirr102,False,975
+lirr219,lirr157,lirr102,True,1650
+lirr219,lirr157,lirr102,False,1200
+lirr219,lirr155,lirr211,True,425
+lirr219,lirr155,lirr211,False,425
+lirr219,lirr154,lirr102,True,1100
+lirr219,lirr154,lirr102,False,800
+lirr219,lirr163,lirr102,True,1650
+lirr219,lirr163,lirr102,False,1200
+lirr219,lirr165,lirr102,True,1350
+lirr219,lirr165,lirr102,False,975
+lirr219,lirr162,lirr214,True,1475
+lirr219,lirr162,lirr214,False,1075
+lirr219,lirr164,lirr102,True,1650
+lirr219,lirr164,lirr102,False,1200
+lirr219,lirr171,lirr214,True,1475
+lirr219,lirr171,lirr214,False,1075
+lirr219,lirr175,lirr102,True,900
+lirr219,lirr175,lirr102,False,650
+lirr219,lirr176,lirr102,True,2775
+lirr219,lirr176,lirr102,False,2025
+lirr219,lirr183,lirr102,True,1100
+lirr219,lirr183,lirr102,False,800
+lirr219,lirr179,lirr102,True,1650
+lirr219,lirr179,lirr102,False,1200
+lirr219,lirr180,lirr102,True,900
+lirr219,lirr180,lirr102,False,650
+lirr219,lirr182,lirr102,True,1100
+lirr219,lirr182,lirr102,False,800
+lirr219,lirr204,lirr102,True,1650
+lirr219,lirr204,lirr102,False,1200
+lirr219,lirr185,lirr102,True,1100
+lirr219,lirr185,lirr102,False,800
+lirr219,lirr187,lirr102,True,1100
+lirr219,lirr187,lirr102,False,800
+lirr219,lirr202,lirr102,True,1650
+lirr219,lirr202,lirr102,False,1200
+lirr219,lirr191,lirr102,True,2775
+lirr219,lirr191,lirr102,False,2025
+lirr219,lirr190,lirr102,True,2775
+lirr219,lirr190,lirr102,False,2025
+lirr219,lirr198,lirr102,True,2125
+lirr219,lirr198,lirr102,False,1550
+lirr219,lirr193,lirr102,True,1650
+lirr219,lirr193,lirr102,False,1200
+lirr219,lirr195,lirr102,True,1000
+lirr219,lirr195,lirr102,False,725
+lirr219,lirr14,lirr102,True,1650
+lirr219,lirr14,lirr102,False,1200
+lirr219,lirr205,lirr102,True,1100
+lirr219,lirr205,lirr102,False,800
+lirr219,lirr215,lirr102,True,1100
+lirr219,lirr215,lirr102,False,800
+lirr219,lirr213,lirr102,True,1100
+lirr219,lirr213,lirr102,False,800
+lirr219,lirr233,lirr102,True,2775
+lirr219,lirr233,lirr102,False,2025
+lirr219,lirr217,lirr211,True,425
+lirr219,lirr217,lirr211,False,425
+lirr219,lirr220,lirr102,True,1350
+lirr219,lirr220,lirr102,False,975
+lirr219,lirr223,lirr102,True,2125
+lirr219,lirr223,lirr102,False,1550
+lirr217,lirr1,lirr102,True,1100
+lirr217,lirr1,lirr102,False,800
+lirr217,lirr4,lirr102,True,2775
+lirr217,lirr4,lirr102,False,2025
+lirr217,lirr8,lirr102,True,1350
+lirr217,lirr8,lirr211,True,600
+lirr217,lirr8,lirr102,False,975
+lirr217,lirr8,lirr211,False,600
+lirr217,lirr2,lirr214,True,1350
+lirr217,lirr2,lirr214,False,975
+lirr217,lirr27,lirr102,True,1350
+lirr217,lirr27,lirr211,True,600
+lirr217,lirr27,lirr102,False,975
+lirr217,lirr27,lirr211,False,600
+lirr217,lirr225,lirr102,True,1100
+lirr217,lirr225,lirr211,True,425
+lirr217,lirr225,lirr102,False,800
+lirr217,lirr225,lirr211,False,425
+lirr217,lirr26,lirr102,True,1650
+lirr217,lirr26,lirr102,False,1200
+lirr217,lirr25,lirr214,True,1350
+lirr217,lirr25,lirr214,False,975
+lirr217,lirr23,lirr102,True,1000
+lirr217,lirr23,lirr102,False,725
+lirr217,lirr16,lirr102,True,1100
+lirr217,lirr16,lirr211,True,425
+lirr217,lirr16,lirr102,False,800
+lirr217,lirr16,lirr211,False,425
+lirr217,lirr21,lirr102,True,2125
+lirr217,lirr21,lirr102,False,1550
+lirr217,lirr20,lirr102,True,1100
+lirr217,lirr20,lirr102,False,800
+lirr217,lirr29,lirr102,True,1650
+lirr217,lirr29,lirr102,False,1200
+lirr217,lirr13,lirr102,True,2775
+lirr217,lirr13,lirr102,False,2025
+lirr217,lirr11,lirr214,True,1350
+lirr217,lirr11,lirr214,False,975
+lirr217,lirr39,lirr102,True,1100
+lirr217,lirr39,lirr102,False,800
+lirr217,lirr33,lirr102,True,1650
+lirr217,lirr33,lirr102,False,1200
+lirr217,lirr31,lirr211,True,425
+lirr217,lirr31,lirr211,False,425
+lirr217,lirr40,lirr102,True,1350
+lirr217,lirr40,lirr102,False,975
+lirr217,lirr38,lirr102,True,1350
+lirr217,lirr38,lirr211,True,600
+lirr217,lirr38,lirr102,False,975
+lirr217,lirr38,lirr211,False,600
+lirr217,lirr36,lirr102,True,1000
+lirr217,lirr36,lirr102,False,725
+lirr217,lirr44,lirr102,True,1350
+lirr217,lirr44,lirr102,False,975
+lirr217,lirr42,lirr214,True,1350
+lirr217,lirr42,lirr214,False,975
+lirr217,lirr48,lirr102,True,2775
+lirr217,lirr48,lirr102,False,2025
+lirr217,lirr51,lirr211,True,425
+lirr217,lirr51,lirr211,False,425
+lirr217,lirr52,lirr102,True,1000
+lirr217,lirr52,lirr102,False,725
+lirr217,lirr59,lirr102,True,1100
+lirr217,lirr59,lirr102,False,800
+lirr217,lirr63,lirr102,True,1000
+lirr217,lirr63,lirr102,False,725
+lirr217,lirr56,lirr214,True,1350
+lirr217,lirr56,lirr214,False,975
+lirr217,lirr64,lirr102,True,1100
+lirr217,lirr64,lirr211,True,425
+lirr217,lirr64,lirr102,False,800
+lirr217,lirr64,lirr211,False,425
+lirr217,lirr68,lirr102,True,1000
+lirr217,lirr68,lirr102,False,725
+lirr217,lirr67,lirr102,True,1100
+lirr217,lirr67,lirr102,False,800
+lirr217,lirr71,lirr102,True,1100
+lirr217,lirr71,lirr102,False,800
+lirr217,lirr76,lirr102,True,1100
+lirr217,lirr76,lirr102,False,800
+lirr217,lirr72,lirr214,True,1475
+lirr217,lirr72,lirr214,False,1075
+lirr217,lirr74,lirr102,True,1650
+lirr217,lirr74,lirr102,False,1200
+lirr217,lirr78,lirr102,True,1350
+lirr217,lirr78,lirr102,False,975
+lirr217,lirr73,lirr102,True,2775
+lirr217,lirr73,lirr102,False,2025
+lirr217,lirr77,lirr102,True,1100
+lirr217,lirr77,lirr102,False,800
+lirr217,lirr83,lirr102,True,2775
+lirr217,lirr83,lirr102,False,2025
+lirr217,lirr84,lirr102,True,1000
+lirr217,lirr84,lirr102,False,725
+lirr217,lirr85,lirr211,True,425
+lirr217,lirr85,lirr211,False,425
+lirr217,lirr92,lirr102,True,1100
+lirr217,lirr92,lirr102,False,800
+lirr217,lirr89,lirr102,True,900
+lirr217,lirr89,lirr102,False,650
+lirr217,lirr91,lirr102,True,1350
+lirr217,lirr91,lirr102,False,975
+lirr217,lirr99,lirr211,True,425
+lirr217,lirr99,lirr211,False,425
+lirr217,lirr100,lirr102,True,1650
+lirr217,lirr100,lirr102,False,1200
+lirr217,lirr111,lirr102,True,1650
+lirr217,lirr111,lirr102,False,1200
+lirr217,lirr124,lirr211,True,425
+lirr217,lirr124,lirr211,False,425
+lirr217,lirr117,lirr102,True,1350
+lirr217,lirr117,lirr211,True,600
+lirr217,lirr117,lirr102,False,975
+lirr217,lirr117,lirr211,False,600
+lirr217,lirr120,lirr214,True,1350
+lirr217,lirr120,lirr214,False,975
+lirr217,lirr123,lirr102,True,1100
+lirr217,lirr123,lirr102,False,800
+lirr217,lirr113,lirr211,True,425
+lirr217,lirr113,lirr211,False,425
+lirr217,lirr125,lirr211,True,425
+lirr217,lirr125,lirr211,False,425
+lirr217,lirr142,lirr211,True,425
+lirr217,lirr142,lirr211,False,425
+lirr217,lirr131,lirr214,True,1475
+lirr217,lirr131,lirr214,False,1075
+lirr217,lirr136,lirr102,True,1100
+lirr217,lirr136,lirr211,True,425
+lirr217,lirr136,lirr102,False,800
+lirr217,lirr136,lirr211,False,425
+lirr217,lirr135,lirr102,True,1100
+lirr217,lirr135,lirr211,True,425
+lirr217,lirr135,lirr102,False,800
+lirr217,lirr135,lirr211,False,425
+lirr217,lirr140,lirr102,True,2125
+lirr217,lirr140,lirr102,False,1550
+lirr217,lirr126,lirr102,True,2775
+lirr217,lirr126,lirr102,False,2025
+lirr217,lirr129,lirr102,True,1650
+lirr217,lirr129,lirr102,False,1200
+lirr217,lirr127,lirr102,True,1000
+lirr217,lirr127,lirr102,False,725
+lirr217,lirr226,lirr102,True,1100
+lirr217,lirr226,lirr211,True,425
+lirr217,lirr226,lirr102,False,800
+lirr217,lirr226,lirr211,False,425
+lirr217,lirr132,lirr102,True,1000
+lirr217,lirr132,lirr102,False,725
+lirr217,lirr141,lirr102,True,2775
+lirr217,lirr141,lirr102,False,2025
+lirr217,lirr130,lirr214,True,1350
+lirr217,lirr130,lirr214,False,975
+lirr217,lirr149,lirr102,True,1000
+lirr217,lirr149,lirr102,False,725
+lirr217,lirr152,lirr102,True,1000
+lirr217,lirr152,lirr102,False,725
+lirr217,lirr153,lirr102,True,1350
+lirr217,lirr153,lirr102,False,975
+lirr217,lirr157,lirr102,True,1650
+lirr217,lirr157,lirr102,False,1200
+lirr217,lirr155,lirr211,True,425
+lirr217,lirr155,lirr211,False,425
+lirr217,lirr154,lirr102,True,1100
+lirr217,lirr154,lirr102,False,800
+lirr217,lirr163,lirr102,True,1650
+lirr217,lirr163,lirr102,False,1200
+lirr217,lirr165,lirr102,True,1350
+lirr217,lirr165,lirr102,False,975
+lirr217,lirr162,lirr214,True,1475
+lirr217,lirr162,lirr214,False,1075
+lirr217,lirr164,lirr102,True,1650
+lirr217,lirr164,lirr102,False,1200
+lirr217,lirr171,lirr214,True,1475
+lirr217,lirr171,lirr214,False,1075
+lirr217,lirr175,lirr102,True,900
+lirr217,lirr175,lirr102,False,650
+lirr217,lirr176,lirr102,True,2775
+lirr217,lirr176,lirr102,False,2025
+lirr217,lirr183,lirr102,True,1100
+lirr217,lirr183,lirr211,True,425
+lirr217,lirr183,lirr102,False,800
+lirr217,lirr183,lirr211,False,425
+lirr217,lirr179,lirr102,True,1650
+lirr217,lirr179,lirr102,False,1200
+lirr217,lirr182,lirr102,True,1100
+lirr217,lirr182,lirr102,False,800
+lirr217,lirr204,lirr102,True,1650
+lirr217,lirr204,lirr102,False,1200
+lirr217,lirr185,lirr102,True,1100
+lirr217,lirr185,lirr102,False,800
+lirr217,lirr187,lirr102,True,1100
+lirr217,lirr187,lirr211,True,425
+lirr217,lirr187,lirr102,False,800
+lirr217,lirr187,lirr211,False,425
+lirr217,lirr202,lirr102,True,1650
+lirr217,lirr202,lirr102,False,1200
+lirr217,lirr191,lirr102,True,2775
+lirr217,lirr191,lirr102,False,2025
+lirr217,lirr190,lirr102,True,2775
+lirr217,lirr190,lirr102,False,2025
+lirr217,lirr198,lirr102,True,2125
+lirr217,lirr198,lirr102,False,1550
+lirr217,lirr193,lirr102,True,1650
+lirr217,lirr193,lirr102,False,1200
+lirr217,lirr195,lirr102,True,1000
+lirr217,lirr195,lirr102,False,725
+lirr217,lirr14,lirr102,True,1650
+lirr217,lirr14,lirr102,False,1200
+lirr217,lirr205,lirr102,True,1100
+lirr217,lirr205,lirr102,False,800
+lirr217,lirr215,lirr102,True,1100
+lirr217,lirr215,lirr211,True,425
+lirr217,lirr215,lirr102,False,800
+lirr217,lirr215,lirr211,False,425
+lirr217,lirr216,lirr211,True,425
+lirr217,lirr216,lirr211,False,425
+lirr217,lirr213,lirr102,True,1100
+lirr217,lirr213,lirr102,False,800
+lirr217,lirr233,lirr102,True,2775
+lirr217,lirr233,lirr102,False,2025
+lirr217,lirr219,lirr211,True,425
+lirr217,lirr219,lirr211,False,425
+lirr217,lirr220,lirr102,True,1350
+lirr217,lirr220,lirr102,False,975
+lirr217,lirr223,lirr102,True,2125
+lirr217,lirr223,lirr102,False,1550
+lirr214,lirr241,lirr102,True,1200
+lirr214,lirr241,lirr102,False,875
+lirr214,lirr50,lirr102,True,1200
+lirr214,lirr50,lirr102,False,875
+lirr214,lirr148,lirr102,True,1200
+lirr214,lirr148,lirr102,False,875
+lirr220,lirr1,lirr132,True,650
+lirr220,lirr1,lirr132,False,650
+lirr220,lirr4,lirr102,True,3275
+lirr220,lirr4,lirr92,True,1775
+lirr220,lirr4,lirr102,False,2375
+lirr220,lirr4,lirr92,False,1775
+lirr220,lirr8,lirr102,True,1850
+lirr220,lirr8,lirr102,False,1350
+lirr220,lirr2,lirr214,True,1825
+lirr220,lirr2,lirr214,False,1325
+lirr220,lirr27,lirr102,True,1850
+lirr220,lirr27,lirr92,True,450
+lirr220,lirr27,lirr102,False,1350
+lirr220,lirr27,lirr92,False,450
+lirr220,lirr225,lirr102,True,1575
+lirr220,lirr225,lirr102,False,1150
+lirr220,lirr26,lirr102,True,2125
+lirr220,lirr26,lirr92,True,650
+lirr220,lirr26,lirr102,False,1550
+lirr220,lirr26,lirr92,False,650
+lirr220,lirr25,lirr214,True,1825
+lirr220,lirr25,lirr214,False,1325
+lirr220,lirr23,lirr102,True,1350
+lirr220,lirr23,lirr102,False,975
+lirr220,lirr16,lirr102,True,1575
+lirr220,lirr16,lirr102,False,1150
+lirr220,lirr21,lirr102,True,2600
+lirr220,lirr21,lirr92,True,1100
+lirr220,lirr21,lirr102,False,1900
+lirr220,lirr21,lirr92,False,1100
+lirr220,lirr13,lirr102,True,3275
+lirr220,lirr13,lirr92,True,1775
+lirr220,lirr13,lirr102,False,2375
+lirr220,lirr13,lirr92,False,1775
+lirr220,lirr11,lirr214,True,1825
+lirr220,lirr11,lirr214,False,1325
+lirr220,lirr32,lirr102,True,1350
+lirr220,lirr32,lirr102,False,975
+lirr220,lirr31,lirr102,True,1575
+lirr220,lirr31,lirr102,False,1150
+lirr220,lirr40,lirr92,True,450
+lirr220,lirr40,lirr92,False,450
+lirr220,lirr38,lirr102,True,1850
+lirr220,lirr38,lirr102,False,1350
+lirr220,lirr36,lirr102,True,1350
+lirr220,lirr36,lirr63,True,600
+lirr220,lirr36,lirr102,False,975
+lirr220,lirr36,lirr63,False,600
+lirr220,lirr42,lirr214,True,1825
+lirr220,lirr42,lirr214,False,1325
+lirr220,lirr48,lirr102,True,3275
+lirr220,lirr48,lirr92,True,1775
+lirr220,lirr48,lirr102,False,2375
+lirr220,lirr48,lirr92,False,1775
+lirr220,lirr51,lirr102,True,1575
+lirr220,lirr51,lirr102,False,1150
+lirr220,lirr52,lirr132,True,600
+lirr220,lirr52,lirr132,False,600
+lirr220,lirr65,lirr102,True,1350
+lirr220,lirr65,lirr102,False,975
+lirr220,lirr63,lirr102,True,1350
+lirr220,lirr63,lirr102,False,975
+lirr220,lirr56,lirr214,True,1825
+lirr220,lirr56,lirr214,False,1325
+lirr220,lirr64,lirr102,True,1575
+lirr220,lirr64,lirr102,False,1150
+lirr220,lirr68,lirr102,True,1350
+lirr220,lirr68,lirr63,True,600
+lirr220,lirr68,lirr102,False,975
+lirr220,lirr68,lirr63,False,600
+lirr220,lirr66,lirr102,True,1350
+lirr220,lirr66,lirr102,False,975
+lirr220,lirr67,lirr132,True,650
+lirr220,lirr67,lirr132,False,650
+lirr220,lirr71,lirr132,True,650
+lirr220,lirr71,lirr132,False,650
+lirr220,lirr76,lirr132,True,650
+lirr220,lirr76,lirr132,False,650
+lirr220,lirr72,lirr214,True,1975
+lirr220,lirr72,lirr214,False,1425
+lirr220,lirr74,lirr102,True,2125
+lirr220,lirr74,lirr92,True,650
+lirr220,lirr74,lirr102,False,1550
+lirr220,lirr74,lirr92,False,650
+lirr220,lirr78,lirr92,True,450
+lirr220,lirr78,lirr92,False,450
+lirr220,lirr77,lirr132,True,650
+lirr220,lirr77,lirr132,False,650
+lirr220,lirr83,lirr102,True,3275
+lirr220,lirr83,lirr92,True,1775
+lirr220,lirr83,lirr102,False,2375
+lirr220,lirr83,lirr92,False,1775
+lirr220,lirr84,lirr102,True,1350
+lirr220,lirr84,lirr63,True,600
+lirr220,lirr84,lirr102,False,975
+lirr220,lirr84,lirr63,False,600
+lirr220,lirr85,lirr102,True,1350
+lirr220,lirr85,lirr102,False,975
+lirr220,lirr94,lirr102,True,1350
+lirr220,lirr94,lirr102,False,975
+lirr220,lirr89,lirr102,True,1300
+lirr220,lirr89,lirr102,False,950
+lirr220,lirr91,lirr92,True,450
+lirr220,lirr91,lirr92,False,450
+lirr220,lirr101,lirr102,True,1350
+lirr220,lirr101,lirr102,False,975
+lirr220,lirr99,lirr102,True,1575
+lirr220,lirr99,lirr102,False,1150
+lirr220,lirr100,lirr102,True,2125
+lirr220,lirr100,lirr92,True,650
+lirr220,lirr100,lirr102,False,1550
+lirr220,lirr100,lirr92,False,650
+lirr220,lirr111,lirr92,True,650
+lirr220,lirr111,lirr92,False,650
+lirr220,lirr124,lirr102,True,1350
+lirr220,lirr124,lirr102,False,975
+lirr220,lirr122,lirr102,True,1300
+lirr220,lirr122,lirr102,False,950
+lirr220,lirr114,lirr102,True,1350
+lirr220,lirr114,lirr102,False,975
+lirr220,lirr117,lirr102,True,1850
+lirr220,lirr117,lirr102,False,1350
+lirr220,lirr120,lirr214,True,1825
+lirr220,lirr120,lirr214,False,1325
+lirr220,lirr119,lirr102,True,1300
+lirr220,lirr119,lirr102,False,950
+lirr220,lirr123,lirr132,True,650
+lirr220,lirr123,lirr132,False,650
+lirr220,lirr113,lirr102,True,1575
+lirr220,lirr113,lirr102,False,1150
+lirr220,lirr125,lirr102,True,1350
+lirr220,lirr125,lirr102,False,975
+lirr220,lirr142,lirr102,True,1350
+lirr220,lirr142,lirr102,False,975
+lirr220,lirr131,lirr214,True,1975
+lirr220,lirr131,lirr214,False,1425
+lirr220,lirr136,lirr102,True,1575
+lirr220,lirr136,lirr102,False,1150
+lirr220,lirr135,lirr102,True,1575
+lirr220,lirr135,lirr102,False,1150
+lirr220,lirr140,lirr102,True,2600
+lirr220,lirr140,lirr92,True,1100
+lirr220,lirr140,lirr102,False,1900
+lirr220,lirr140,lirr92,False,1100
+lirr220,lirr226,lirr102,True,1575
+lirr220,lirr226,lirr102,False,1150
+lirr220,lirr141,lirr102,True,3275
+lirr220,lirr141,lirr92,True,1775
+lirr220,lirr141,lirr102,False,2375
+lirr220,lirr141,lirr92,False,1775
+lirr220,lirr130,lirr214,True,1825
+lirr220,lirr130,lirr214,False,1325
+lirr220,lirr149,lirr102,True,1350
+lirr220,lirr149,lirr63,True,600
+lirr220,lirr149,lirr102,False,975
+lirr220,lirr149,lirr63,False,600
+lirr220,lirr153,lirr92,True,450
+lirr220,lirr153,lirr92,False,450
+lirr220,lirr157,lirr102,True,2125
+lirr220,lirr157,lirr92,True,650
+lirr220,lirr157,lirr102,False,1550
+lirr220,lirr157,lirr92,False,650
+lirr220,lirr155,lirr102,True,1575
+lirr220,lirr155,lirr102,False,1150
+lirr220,lirr154,lirr132,True,650
+lirr220,lirr154,lirr132,False,650
+lirr220,lirr163,lirr102,True,2125
+lirr220,lirr163,lirr92,True,650
+lirr220,lirr163,lirr102,False,1550
+lirr220,lirr163,lirr92,False,650
+lirr220,lirr162,lirr214,True,1975
+lirr220,lirr162,lirr214,False,1425
+lirr220,lirr164,lirr92,True,650
+lirr220,lirr164,lirr92,False,650
+lirr220,lirr171,lirr214,True,1975
+lirr220,lirr171,lirr214,False,1425
+lirr220,lirr175,lirr102,True,1300
+lirr220,lirr175,lirr102,False,950
+lirr220,lirr183,lirr102,True,1575
+lirr220,lirr183,lirr102,False,1150
+lirr220,lirr180,lirr102,True,1300
+lirr220,lirr180,lirr102,False,950
+lirr220,lirr182,lirr132,True,650
+lirr220,lirr182,lirr132,False,650
+lirr220,lirr204,lirr102,True,2125
+lirr220,lirr204,lirr92,True,650
+lirr220,lirr204,lirr102,False,1550
+lirr220,lirr204,lirr92,False,650
+lirr220,lirr185,lirr132,True,650
+lirr220,lirr185,lirr132,False,650
+lirr220,lirr187,lirr102,True,1575
+lirr220,lirr187,lirr102,False,1150
+lirr220,lirr202,lirr92,True,650
+lirr220,lirr202,lirr92,False,650
+lirr220,lirr191,lirr102,True,3275
+lirr220,lirr191,lirr92,True,1775
+lirr220,lirr191,lirr102,False,2375
+lirr220,lirr191,lirr92,False,1775
+lirr220,lirr198,lirr102,True,2600
+lirr220,lirr198,lirr92,True,1100
+lirr220,lirr198,lirr102,False,1900
+lirr220,lirr198,lirr92,False,1100
+lirr220,lirr184,lirr102,True,1300
+lirr220,lirr184,lirr102,False,950
+lirr220,lirr193,lirr92,True,650
+lirr220,lirr193,lirr92,False,650
+lirr220,lirr195,lirr102,True,1350
+lirr220,lirr195,lirr63,True,600
+lirr220,lirr195,lirr102,False,975
+lirr220,lirr195,lirr63,False,600
+lirr220,lirr14,lirr92,True,650
+lirr220,lirr14,lirr92,False,650
+lirr220,lirr205,lirr92,True,425
+lirr220,lirr205,lirr92,False,425
+lirr220,lirr211,lirr102,True,1350
+lirr220,lirr211,lirr102,False,975
+lirr220,lirr215,lirr102,True,1575
+lirr220,lirr215,lirr102,False,1150
+lirr220,lirr216,lirr102,True,1350
+lirr220,lirr216,lirr102,False,975
+lirr220,lirr233,lirr102,True,3275
+lirr220,lirr233,lirr92,True,1775
+lirr220,lirr233,lirr102,False,2375
+lirr220,lirr233,lirr92,False,1775
+lirr220,lirr219,lirr102,True,1350
+lirr220,lirr219,lirr102,False,975
+lirr220,lirr217,lirr102,True,1350
+lirr220,lirr217,lirr102,False,975
+lirr223,lirr1,lirr132,True,1225
+lirr223,lirr1,lirr132,False,1225
+lirr223,lirr4,lirr102,True,4000
+lirr223,lirr4,lirr92,True,2450
+lirr223,lirr4,lirr102,False,2900
+lirr223,lirr4,lirr92,False,2450
+lirr223,lirr8,lirr102,True,2600
+lirr223,lirr8,lirr102,False,1900
+lirr223,lirr2,lirr214,True,2500
+lirr223,lirr2,lirr214,False,1825
+lirr223,lirr27,lirr102,True,2600
+lirr223,lirr27,lirr92,True,1100
+lirr223,lirr27,lirr102,False,1900
+lirr223,lirr27,lirr92,False,1100
+lirr223,lirr225,lirr102,True,2275
+lirr223,lirr225,lirr102,False,1650
+lirr223,lirr26,lirr102,True,2800
+lirr223,lirr26,lirr92,True,1350
+lirr223,lirr26,lirr102,False,2025
+lirr223,lirr26,lirr92,False,1350
+lirr223,lirr25,lirr214,True,2500
+lirr223,lirr25,lirr214,False,1825
+lirr223,lirr23,lirr102,True,2125
+lirr223,lirr23,lirr102,False,1550
+lirr223,lirr16,lirr102,True,2275
+lirr223,lirr16,lirr102,False,1650
+lirr223,lirr21,lirr102,True,3300
+lirr223,lirr21,lirr92,True,1775
+lirr223,lirr21,lirr102,False,2400
+lirr223,lirr21,lirr92,False,1775
+lirr223,lirr13,lirr102,True,4000
+lirr223,lirr13,lirr92,True,2450
+lirr223,lirr13,lirr102,False,2900
+lirr223,lirr13,lirr92,False,2450
+lirr223,lirr11,lirr214,True,2500
+lirr223,lirr11,lirr214,False,1825
+lirr223,lirr32,lirr102,True,2125
+lirr223,lirr32,lirr102,False,1550
+lirr223,lirr31,lirr102,True,2275
+lirr223,lirr31,lirr102,False,1650
+lirr223,lirr40,lirr92,True,1100
+lirr223,lirr40,lirr92,False,1100
+lirr223,lirr38,lirr102,True,2600
+lirr223,lirr38,lirr102,False,1900
+lirr223,lirr36,lirr102,True,2125
+lirr223,lirr36,lirr63,True,1200
+lirr223,lirr36,lirr102,False,1550
+lirr223,lirr36,lirr63,False,1200
+lirr223,lirr42,lirr214,True,2500
+lirr223,lirr42,lirr214,False,1825
+lirr223,lirr48,lirr102,True,4000
+lirr223,lirr48,lirr92,True,2450
+lirr223,lirr48,lirr102,False,2900
+lirr223,lirr48,lirr92,False,2450
+lirr223,lirr51,lirr102,True,2275
+lirr223,lirr51,lirr102,False,1650
+lirr223,lirr52,lirr132,True,1200
+lirr223,lirr52,lirr132,False,1200
+lirr223,lirr65,lirr102,True,2125
+lirr223,lirr65,lirr102,False,1550
+lirr223,lirr63,lirr102,True,2125
+lirr223,lirr63,lirr102,False,1550
+lirr223,lirr56,lirr214,True,2500
+lirr223,lirr56,lirr214,False,1825
+lirr223,lirr64,lirr102,True,2275
+lirr223,lirr64,lirr102,False,1650
+lirr223,lirr68,lirr102,True,2125
+lirr223,lirr68,lirr63,True,1200
+lirr223,lirr68,lirr102,False,1550
+lirr223,lirr68,lirr63,False,1200
+lirr223,lirr66,lirr102,True,2125
+lirr223,lirr66,lirr102,False,1550
+lirr223,lirr67,lirr132,True,1225
+lirr223,lirr67,lirr132,False,1225
+lirr223,lirr71,lirr132,True,1225
+lirr223,lirr71,lirr132,False,1225
+lirr223,lirr76,lirr132,True,1225
+lirr223,lirr76,lirr132,False,1225
+lirr223,lirr72,lirr214,True,2700
+lirr223,lirr72,lirr214,False,1975
+lirr223,lirr74,lirr102,True,2800
+lirr223,lirr74,lirr92,True,1350
+lirr223,lirr74,lirr102,False,2025
+lirr223,lirr74,lirr92,False,1350
+lirr223,lirr78,lirr92,True,1100
+lirr223,lirr78,lirr92,False,1100
+lirr223,lirr77,lirr132,True,1225
+lirr223,lirr77,lirr132,False,1225
+lirr223,lirr83,lirr102,True,4000
+lirr223,lirr83,lirr92,True,2450
+lirr223,lirr83,lirr102,False,2900
+lirr223,lirr83,lirr92,False,2450
+lirr223,lirr84,lirr102,True,2125
+lirr223,lirr84,lirr63,True,1200
+lirr223,lirr84,lirr102,False,1550
+lirr223,lirr84,lirr63,False,1200
+lirr223,lirr85,lirr102,True,2125
+lirr223,lirr85,lirr102,False,1550
+lirr223,lirr94,lirr102,True,2125
+lirr223,lirr94,lirr102,False,1550
+lirr223,lirr89,lirr102,True,2050
+lirr223,lirr89,lirr102,False,1500
+lirr223,lirr91,lirr92,True,1100
+lirr223,lirr91,lirr92,False,1100
+lirr223,lirr101,lirr102,True,2125
+lirr223,lirr101,lirr102,False,1550
+lirr223,lirr99,lirr102,True,2275
+lirr223,lirr99,lirr102,False,1650
+lirr223,lirr100,lirr102,True,2800
+lirr223,lirr100,lirr92,True,1350
+lirr223,lirr100,lirr102,False,2025
+lirr223,lirr100,lirr92,False,1350
+lirr223,lirr111,lirr92,True,1350
+lirr223,lirr111,lirr92,False,1350
+lirr223,lirr124,lirr102,True,2125
+lirr223,lirr124,lirr102,False,1550
+lirr223,lirr122,lirr102,True,2050
+lirr223,lirr122,lirr102,False,1500
+lirr223,lirr114,lirr102,True,2125
+lirr223,lirr114,lirr102,False,1550
+lirr223,lirr117,lirr102,True,2600
+lirr223,lirr117,lirr102,False,1900
+lirr223,lirr120,lirr214,True,2500
+lirr223,lirr120,lirr214,False,1825
+lirr223,lirr119,lirr102,True,2050
+lirr223,lirr119,lirr102,False,1500
+lirr223,lirr123,lirr132,True,1225
+lirr223,lirr123,lirr132,False,1225
+lirr223,lirr113,lirr102,True,2275
+lirr223,lirr113,lirr102,False,1650
+lirr223,lirr125,lirr102,True,2125
+lirr223,lirr125,lirr102,False,1550
+lirr223,lirr142,lirr102,True,2125
+lirr223,lirr142,lirr102,False,1550
+lirr223,lirr131,lirr214,True,2700
+lirr223,lirr131,lirr214,False,1975
+lirr223,lirr136,lirr102,True,2275
+lirr223,lirr136,lirr102,False,1650
+lirr223,lirr135,lirr102,True,2275
+lirr223,lirr135,lirr102,False,1650
+lirr223,lirr140,lirr102,True,3300
+lirr223,lirr140,lirr92,True,1775
+lirr223,lirr140,lirr102,False,2400
+lirr223,lirr140,lirr92,False,1775
+lirr223,lirr226,lirr102,True,2275
+lirr223,lirr226,lirr102,False,1650
+lirr223,lirr141,lirr102,True,4000
+lirr223,lirr141,lirr92,True,2450
+lirr223,lirr141,lirr102,False,2900
+lirr223,lirr141,lirr92,False,2450
+lirr223,lirr130,lirr214,True,2500
+lirr223,lirr130,lirr214,False,1825
+lirr223,lirr149,lirr102,True,2125
+lirr223,lirr149,lirr63,True,1200
+lirr223,lirr149,lirr102,False,1550
+lirr223,lirr149,lirr63,False,1200
+lirr223,lirr153,lirr92,True,1100
+lirr223,lirr153,lirr92,False,1100
+lirr223,lirr157,lirr102,True,2800
+lirr223,lirr157,lirr92,True,1350
+lirr223,lirr157,lirr102,False,2025
+lirr223,lirr157,lirr92,False,1350
+lirr223,lirr155,lirr102,True,2275
+lirr223,lirr155,lirr102,False,1650
+lirr223,lirr154,lirr132,True,1225
+lirr223,lirr154,lirr132,False,1225
+lirr223,lirr163,lirr102,True,2800
+lirr223,lirr163,lirr92,True,1350
+lirr223,lirr163,lirr102,False,2025
+lirr223,lirr163,lirr92,False,1350
+lirr223,lirr162,lirr214,True,2700
+lirr223,lirr162,lirr214,False,1975
+lirr223,lirr164,lirr92,True,1350
+lirr223,lirr164,lirr92,False,1350
+lirr223,lirr171,lirr214,True,2700
+lirr223,lirr171,lirr214,False,1975
+lirr223,lirr175,lirr102,True,2050
+lirr223,lirr175,lirr102,False,1500
+lirr223,lirr183,lirr102,True,2275
+lirr223,lirr183,lirr102,False,1650
+lirr223,lirr180,lirr102,True,2050
+lirr223,lirr180,lirr102,False,1500
+lirr223,lirr182,lirr132,True,1225
+lirr223,lirr182,lirr132,False,1225
+lirr223,lirr204,lirr102,True,2800
+lirr223,lirr204,lirr92,True,1350
+lirr223,lirr204,lirr102,False,2025
+lirr223,lirr204,lirr92,False,1350
+lirr223,lirr185,lirr132,True,1225
+lirr223,lirr185,lirr132,False,1225
+lirr223,lirr187,lirr102,True,2275
+lirr223,lirr187,lirr102,False,1650
+lirr223,lirr202,lirr92,True,1350
+lirr223,lirr202,lirr92,False,1350
+lirr223,lirr191,lirr102,True,4000
+lirr223,lirr191,lirr92,True,2450
+lirr223,lirr191,lirr102,False,2900
+lirr223,lirr191,lirr92,False,2450
+lirr223,lirr198,lirr102,True,3300
+lirr223,lirr198,lirr92,True,1775
+lirr223,lirr198,lirr102,False,2400
+lirr223,lirr198,lirr92,False,1775
+lirr223,lirr184,lirr102,True,2050
+lirr223,lirr184,lirr102,False,1500
+lirr223,lirr193,lirr92,True,1350
+lirr223,lirr193,lirr92,False,1350
+lirr223,lirr195,lirr102,True,2125
+lirr223,lirr195,lirr63,True,1200
+lirr223,lirr195,lirr102,False,1550
+lirr223,lirr195,lirr63,False,1200
+lirr223,lirr14,lirr92,True,1350
+lirr223,lirr14,lirr92,False,1350
+lirr223,lirr205,lirr92,True,1050
+lirr223,lirr205,lirr92,False,1050
+lirr223,lirr211,lirr102,True,2125
+lirr223,lirr211,lirr102,False,1550
+lirr223,lirr215,lirr102,True,2275
+lirr223,lirr215,lirr102,False,1650
+lirr223,lirr216,lirr102,True,2125
+lirr223,lirr216,lirr102,False,1550
+lirr223,lirr233,lirr102,True,4000
+lirr223,lirr233,lirr92,True,2450
+lirr223,lirr233,lirr102,False,2900
+lirr223,lirr233,lirr92,False,2450
+lirr223,lirr219,lirr102,True,2125
+lirr223,lirr219,lirr102,False,1550
+lirr223,lirr217,lirr102,True,2125
+lirr223,lirr217,lirr102,False,1550
diff --git a/src/main/resources/fares/nyc/mnr/mnr_fares.csv b/src/main/resources/fares/nyc/mnr/mnr_fares.csv
new file mode 100644
index 00000000..7c7e7d2f
--- /dev/null
+++ b/src/main/resources/fares/nyc/mnr/mnr_fares.csv
@@ -0,0 +1,2321 @@
+from_station_id,to_station_id,from_stop_id,from_stop_name,to_stop_id,to_stop_name,peak,offpeak
+86,72,86,Katonah,72,Hartsdale,600,600
+18,17,18,Yonkers,17,Ludlow,300,300
+59,55,59,Woodlawn,55,Tremont,300,300
+78,68,78,Valhalla,68,Crestwood,500,500
+97,81,97,Patterson,81,Pleasantville,825,825
+55,84,55,Tremont,84,Mount Kisco,800,800
+19,18,19,Glenwood,18,Yonkers,300,300
+11,14,11,Marble Hill,14,Spuyten Duyvil,300,300
+84,4,84,Mount Kisco,4,Harlem-125th St.,1750,1325
+61,100,61,Wakefield,100,HM Valley-Wingdale,1675,1675
+81,78,81,Pleasantville,78,Valhalla,300,300
+59,176,59,Woodlawn,176,Tenmile River,1800,1800
+622,24,622,Yankees-E153 St.,24,Ardsley-on-Hudson,425,425
+62,101,62,Mt Vernon West,101,Dover Plains,1525,1525
+54,97,54,Melrose,97,Patterson,1450,1450
+14,24,14,Spuyten Duyvil,24,Ardsley-on-Hudson,425,425
+114,111,114,Rye,111,Mamaroneck,375,375
+66,71,66,Tuckahoe,71,Scarsdale,300,300
+85,84,85,Bedford Hills,84,Mount Kisco,300,300
+97,58,97,Patterson,58,Williams Bridge,1450,1450
+49,18,49,New Hamburg,18,Yonkers,1300,1300
+89,54,89,Purdy's,54,Melrose,1150,1150
+55,61,55,Tremont,61,Wakefield,300,300
+1,90,1,Grand Central,90,Croton Falls,2000,1500
+18,30,18,Yonkers,30,Scarborough,500,500
+59,68,59,Woodlawn,68,Crestwood,300,300
+30,4,30,Scarborough,4,Harlem-125th St.,1475,1125
+176,64,176,Tenmile River,64,Fleetwood,1600,1600
+80,90,80,Hawthorne,90,Croton Falls,675,675
+25,11,25,Irvington,11,Marble Hill,425,425
+622,1,622,Yankees-E153 St.,1,Grand Central,975,725
+10,31,10,University Heights,31,Ossining,575,575
+176,100,176,Tenmile River,100,HM Valley-Wingdale,300,300
+62,78,62,Mt Vernon West,78,Valhalla,500,500
+81,91,81,Pleasantville,91,Brewster,675,675
+54,74,54,Melrose,74,White Plains,425,425
+14,1,14,Spuyten Duyvil,1,Grand Central,975,725
+622,37,622,Yankees-E153 St.,37,Cortlandt,800,800
+85,61,85,Bedford Hills,61,Wakefield,800,800
+90,176,90,Croton Falls,176,Tenmile River,750,750
+14,37,14,Spuyten Duyvil,37,Cortlandt,800,800
+66,84,66,Tuckahoe,84,Mount Kisco,725,725
+99,81,99,Appalachian Trail,81,Pleasantville,825,825
+78,58,78,Valhalla,58,Williams Bridge,575,575
+65,88,65,Bronxville,88,Goldens Bridge,725,725
+76,97,76,North White Plains,97,Patterson,1150,1150
+29,22,29,Philipse Manor,22,Hastings-on-Hudson,300,300
+40,31,40,Manitou,31,Ossining,675,675
+11,4,11,Marble Hill,4,Harlem-125th St.,975,725
+112,56,112,Harrison,56,Fordham,425,425
+58,85,58,Williams Bridge,85,Bedford Hills,800,800
+61,90,61,Wakefield,90,Croton Falls,1150,1150
+62,55,62,Mt Vernon West,55,Tremont,300,300
+81,68,81,Pleasantville,68,Crestwood,500,500
+25,24,25,Irvington,24,Ardsley-on-Hudson,300,300
+622,14,622,Yankees-E153 St.,14,Spuyten Duyvil,300,300
+62,91,62,Mt Vernon West,91,Brewster,875,875
+22,18,22,Hastings-on-Hudson,18,Yonkers,300,300
+74,65,74,White Plains,65,Bronxville,300,300
+66,61,66,Tuckahoe,61,Wakefield,300,300
+4,86,4,Harlem-125th St.,86,Katonah,1750,1325
+64,100,64,Fleetwood,100,HM Valley-Wingdale,1525,1525
+17,25,17,Ludlow,25,Irvington,300,300
+62,176,62,Mt Vernon West,176,Tenmile River,1600,1600
+1,80,1,Grand Central,80,Hawthorne,1475,1125
+88,85,88,Goldens Bridge,85,Bedford Hills,300,300
+99,94,99,Appalachian Trail,94,Southeast,425,425
+100,59,100,HM Valley-Wingdale,59,Woodlawn,1675,1675
+65,101,65,Bronxville,101,Dover Plains,1525,1525
+57,97,57,Botanical Garden,97,Patterson,1450,1450
+58,62,58,Williams Bridge,62,Mt Vernon West,300,300
+176,54,176,Tenmile River,54,Melrose,1800,1800
+25,1,25,Irvington,1,Grand Central,1275,975
+58,98,58,Williams Bridge,98,Pawling,1450,1450
+110,108,110,Larchmont,108,New Rochelle,300,300
+62,68,62,Mt Vernon West,68,Crestwood,300,300
+54,64,54,Melrose,64,Fleetwood,300,300
+94,100,94,Southeast,100,HM Valley-Wingdale,650,650
+37,11,37,Cortlandt,11,Marble Hill,800,800
+16,37,16,Riverdale,37,Cortlandt,800,800
+1,57,1,Grand Central,57,Botanical Garden,975,725
+88,62,88,Goldens Bridge,62,Mt Vernon West,725,725
+106,110,106,Pelham,110,Larchmont,300,300
+99,71,99,Appalachian Trail,71,Scarsdale,1150,1150
+4,99,4,Harlem-125th St.,99,Appalachian Trail,2300,1750
+65,78,65,Bronxville,78,Valhalla,500,500
+57,74,57,Botanical Garden,74,White Plains,425,425
+68,83,68,Crestwood,83,Chappaqua,500,500
+88,98,88,Goldens Bridge,98,Pawling,675,675
+80,57,80,Hawthorne,57,Botanical Garden,575,575
+100,72,100,HM Valley-Wingdale,72,Hartsdale,1375,1375
+61,80,61,Wakefield,80,Hawthorne,575,575
+81,58,81,Pleasantville,58,Williams Bridge,575,575
+33,18,33,Croton-Harmon,18,Yonkers,500,500
+25,14,25,Irvington,14,Spuyten Duyvil,425,425
+622,4,622,Yankees-E153 St.,4,Harlem-125th St.,975,725
+43,31,43,Cold Spring,31,Ossining,675,675
+14,4,14,Spuyten Duyvil,4,Harlem-125th St.,975,725
+4,76,4,Harlem-125th St.,76,North White Plains,1275,975
+72,94,72,Hartsdale,94,Southeast,775,775
+64,90,64,Fleetwood,90,Croton Falls,875,875
+65,55,65,Bronxville,55,Tremont,300,300
+56,86,56,Fordham,86,Katonah,800,800
+76,64,76,North White Plains,64,Fleetwood,300,300
+9,11,9,Morris Heights,11,Marble Hill,300,300
+30,622,30,Scarborough,622,Yankees-E153 St.,575,575
+99,84,99,Appalachian Trail,84,Mount Kisco,675,675
+65,91,65,Bronxville,91,Brewster,875,875
+76,100,76,North White Plains,100,HM Valley-Wingdale,1375,1375
+29,25,29,Philipse Manor,25,Irvington,300,300
+61,57,61,Wakefield,57,Botanical Garden,300,300
+91,85,91,Brewster,85,Bedford Hills,300,300
+10,11,10,University Heights,11,Marble Hill,300,300
+83,81,83,Chappaqua,81,Pleasantville,300,300
+62,58,62,Mt Vernon West,58,Williams Bridge,300,300
+94,90,94,Southeast,90,Croton Falls,300,300
+72,71,72,Hartsdale,71,Scarsdale,300,300
+24,31,24,Ardsley-on-Hudson,31,Ossining,300,300
+16,27,16,Riverdale,27,Tarrytown,575,575
+99,61,99,Appalachian Trail,61,Wakefield,1450,1450
+65,68,65,Bronxville,68,Crestwood,300,300
+56,99,56,Fordham,99,Appalachian Trail,1450,1450
+57,64,57,Botanical Garden,64,Fleetwood,300,300
+9,24,9,Morris Heights,24,Ardsley-on-Hudson,425,425
+40,11,40,Manitou,11,Marble Hill,1150,1150
+79,88,79,Mount Pleasant,88,Goldens Bridge,300,300
+58,65,58,Williams Bridge,65,Bronxville,300,300
+30,46,30,Scarborough,46,Beacon,825,825
+98,101,98,Pawling,101,Dover Plains,425,425
+90,97,90,Croton Falls,97,Patterson,425,425
+91,62,91,Brewster,62,Mt Vernon West,875,875
+176,57,176,Tenmile River,57,Botanical Garden,1800,1800
+39,51,39,Peekskill,51,Poughkeepsie,825,825
+4,30,4,Harlem-125th St.,30,Scarborough,1475,1125
+91,98,91,Brewster,98,Pawling,425,425
+51,25,51,Poughkeepsie,25,Irvington,1375,1375
+177,101,177,Wassaic,101,Dover Plains,300,300
+23,43,23,Dobbs Ferry,43,Cold Spring,775,775
+84,59,84,Mount Kisco,59,Woodlawn,800,800
+83,94,83,Chappaqua,94,Southeast,675,675
+1,24,1,Grand Central,24,Ardsley-on-Hudson,1275,975
+4,66,4,Harlem-125th St.,66,Tuckahoe,1150,875
+72,84,72,Hartsdale,84,Mount Kisco,600,600
+64,80,64,Fleetwood,80,Hawthorne,500,500
+16,40,16,Riverdale,40,Manitou,1150,1150
+56,76,56,Fordham,76,North White Plains,425,425
+76,54,76,North White Plains,54,Melrose,425,425
+9,1,9,Morris Heights,1,Grand Central,975,725
+88,65,88,Goldens Bridge,65,Bronxville,725,725
+78,100,78,Valhalla,100,HM Valley-Wingdale,1200,1200
+98,78,98,Pawling,78,Valhalla,825,825
+90,74,90,Croton Falls,74,White Plains,775,775
+101,83,101,Dover Plains,83,Chappaqua,1200,1200
+79,101,79,Mount Pleasant,101,Dover Plains,1200,1200
+11,46,11,Marble Hill,46,Beacon,1450,1450
+71,97,71,Scarsdale,97,Patterson,1150,1150
+31,24,31,Ossining,24,Ardsley-on-Hudson,300,300
+23,20,23,Dobbs Ferry,20,Greystone,300,300
+177,78,177,Wassaic,78,Valhalla,1275,1275
+83,71,83,Chappaqua,71,Scarsdale,300,300
+94,80,94,Southeast,80,Hawthorne,675,675
+20,51,20,Greystone,51,Poughkeepsie,1525,1525
+72,61,72,Hartsdale,61,Wakefield,425,425
+4,43,4,Harlem-125th St.,43,Cold Spring,2000,1500
+64,57,64,Fleetwood,57,Botanical Garden,300,300
+84,72,84,Mount Kisco,72,Hartsdale,600,600
+89,1,89,Purdy's,1,Grand Central,2000,1500
+16,17,16,Riverdale,17,Ludlow,300,300
+1,37,1,Grand Central,37,Cortlandt,1750,1325
+86,81,86,Katonah,81,Pleasantville,300,300
+65,58,65,Bronxville,58,Williams Bridge,300,300
+56,89,56,Fordham,89,Purdy's,1150,1150
+57,54,57,Botanical Garden,54,Melrose,300,300
+97,90,97,Patterson,90,Croton Falls,425,425
+89,86,89,Purdy's,86,Katonah,300,300
+9,14,9,Morris Heights,14,Spuyten Duyvil,300,300
+27,31,27,Tarrytown,31,Ossining,300,300
+59,100,59,Woodlawn,100,HM Valley-Wingdale,1675,1675
+19,27,19,Glenwood,27,Tarrytown,500,500
+79,78,79,Mount Pleasant,78,Valhalla,300,300
+98,91,98,Pawling,91,Brewster,425,425
+71,74,71,Scarsdale,74,White Plains,300,300
+31,1,31,Ossining,1,Grand Central,1475,1125
+94,57,94,Southeast,57,Botanical Garden,1150,1150
+14,622,14,Spuyten Duyvil,622,Yankees-E153 St.,300,300
+112,111,112,Harrison,111,Mamaroneck,300,300
+4,20,4,Harlem-125th St.,20,Greystone,1150,875
+31,37,31,Ossining,37,Cortlandt,300,300
+177,91,177,Wassaic,91,Brewster,750,750
+23,33,23,Dobbs Ferry,33,Croton-Harmon,300,300
+83,84,83,Chappaqua,84,Mount Kisco,300,300
+43,11,43,Cold Spring,11,Marble Hill,1150,1150
+1,14,1,Grand Central,14,Spuyten Duyvil,975,725
+72,74,72,Hartsdale,74,White Plains,300,300
+46,22,46,Beacon,22,Hastings-on-Hudson,1150,1150
+105,108,105,Mt Vernon East ,108,New Rochelle,300,300
+16,30,16,Riverdale,30,Scarborough,575,575
+56,66,56,Fordham,66,Tuckahoe,300,300
+49,27,49,New Hamburg,27,Tarrytown,825,825
+61,1,61,Wakefield,1,Grand Central,975,725
+86,94,86,Katonah,94,Southeast,300,300
+18,39,18,Yonkers,39,Peekskill,725,725
+78,90,78,Valhalla,90,Croton Falls,675,675
+79,55,79,Mount Pleasant,55,Tremont,575,575
+98,68,98,Pawling,68,Crestwood,1300,1300
+89,99,89,Purdy's,99,Appalachian Trail,425,425
+90,64,90,Croton Falls,64,Fleetwood,875,875
+42,24,42,Garrison,24,Ardsley-on-Hudson,775,775
+19,40,19,Glenwood,40,Manitou,875,875
+79,91,79,Mount Pleasant,91,Brewster,675,675
+39,18,39,Peekskill,18,Yonkers,725,725
+30,49,30,Scarborough,49,New Hamburg,825,825
+31,14,31,Ossining,14,Spuyten Duyvil,575,575
+91,65,91,Brewster,65,Bronxville,875,875
+23,10,23,Dobbs Ferry,10,University Heights,425,425
+177,68,177,Wassaic,68,Crestwood,1600,1600
+83,61,83,Chappaqua,61,Wakefield,575,575
+622,46,622,Yankees-E153 St.,46,Beacon,1450,1450
+4,33,4,Harlem-125th St.,33,Croton-Harmon,1475,1125
+79,176,79,Mount Pleasant,176,Tenmile River,1275,1275
+24,11,24,Ardsley-on-Hudson,11,Marble Hill,425,425
+14,46,14,Spuyten Duyvil,46,Beacon,1450,1450
+74,97,74,White Plains,97,Patterson,1150,1150
+86,71,86,Katonah,71,Scarsdale,600,600
+97,80,97,Patterson,80,Hawthorne,825,825
+49,40,49,New Hamburg,40,Manitou,425,425
+89,76,89,Purdy's,76,North White Plains,775,775
+42,1,42,Garrison,1,Grand Central,2000,1500
+55,83,55,Tremont,83,Chappaqua,575,575
+176,1,176,Tenmile River,1,Grand Central,2725,2025
+1,112,1,Grand Central,112,Harrison,1275,975
+59,90,59,Woodlawn,90,Croton Falls,1150,1150
+19,17,19,Glenwood,17,Ludlow,300,300
+79,68,79,Mount Pleasant,68,Crestwood,500,500
+98,81,98,Pawling,81,Pleasantville,825,825
+71,64,71,Scarsdale,64,Fleetwood,300,300
+101,86,101,Dover Plains,86,Katonah,825,825
+16,622,16,Riverdale,622,Yankees-E153 St.,300,300
+20,18,20,Greystone,18,Yonkers,300,300
+11,49,11,Marble Hill,49,New Hamburg,1450,1450
+4,10,4,Harlem-125th St.,10,University Heights,975,725
+177,81,177,Wassaic,81,Pleasantville,1275,1275
+43,1,43,Cold Spring,1,Grand Central,2000,1500
+115,106,115,Port Chester,106,Pelham,400,400
+62,100,62,Mt Vernon West,100,HM Valley-Wingdale,1525,1525
+1,4,1,Grand Central,4,Harlem-125th St.,825,625
+85,83,85,Bedford Hills,83,Chappaqua,300,300
+37,43,37,Cortlandt,43,Cold Spring,300,300
+97,57,97,Patterson,57,Botanical Garden,1450,1450
+49,17,49,New Hamburg,17,Ludlow,1300,1300
+80,4,80,Hawthorne,4,Harlem-125th St.,1475,1125
+86,84,86,Katonah,84,Mount Kisco,300,300
+18,29,18,Yonkers,29,Philipse Manor,500,500
+78,80,78,Valhalla,80,Hawthorne,300,300
+98,58,98,Pawling,58,Williams Bridge,1450,1450
+90,54,90,Croton Falls,54,Melrose,1150,1150
+42,14,42,Garrison,14,Spuyten Duyvil,1150,1150
+19,30,19,Glenwood,30,Scarborough,500,500
+31,4,31,Ossining,4,Harlem-125th St.,1475,1125
+56,177,56,Fordham,177,Wassaic,1800,1800
+177,58,177,Wassaic,58,Williams Bridge,1800,1800
+176,99,176,Tenmile River,99,Appalachian Trail,450,450
+81,90,81,Pleasantville,90,Croton Falls,675,675
+25,46,25,Irvington,46,Beacon,1150,1150
+37,20,37,Cortlandt,20,Greystone,725,725
+22,40,22,Hastings-on-Hudson,40,Manitou,775,775
+66,83,66,Tuckahoe,83,Chappaqua,500,500
+46,25,46,Beacon,25,Irvington,1150,1150
+86,61,86,Katonah,61,Wakefield,800,800
+4,108,4,Harlem-125th St.,108,New Rochelle,1125,850
+78,57,78,Valhalla,57,Botanical Garden,575,575
+91,176,91,Brewster,176,Tenmile River,750,750
+49,30,49,New Hamburg,30,Scarborough,825,825
+89,66,89,Purdy's,66,Tuckahoe,875,875
+61,4,61,Wakefield,4,Harlem-125th St.,975,725
+27,11,27,Tarrytown,11,Marble Hill,575,575
+18,42,18,Yonkers,42,Garrison,875,875
+100,81,100,HM Valley-Wingdale,81,Pleasantville,1200,1200
+59,80,59,Woodlawn,80,Hawthorne,575,575
+79,58,79,Mount Pleasant,58,Williams Bridge,575,575
+30,16,30,Scarborough,16,Riverdale,575,575
+71,54,71,Scarsdale,54,Melrose,425,425
+33,27,33,Croton-Harmon,27,Tarrytown,300,300
+25,23,25,Irvington,23,Dobbs Ferry,300,300
+10,43,10,University Heights,43,Cold Spring,1150,1150
+62,90,62,Mt Vernon West,90,Croton Falls,875,875
+22,17,22,Hastings-on-Hudson,17,Ludlow,300,300
+54,86,54,Melrose,86,Katonah,800,800
+74,64,74,White Plains,64,Fleetwood,300,300
+622,49,622,Yankees-E153 St.,49,New Hamburg,1450,1450
+37,33,37,Cortlandt,33,Croton-Harmon,300,300
+14,49,14,Spuyten Duyvil,49,New Hamburg,1450,1450
+1,79,1,Grand Central,79,Mount Pleasant,1475,1125
+86,74,86,Katonah,74,White Plains,600,600
+59,57,59,Woodlawn,57,Botanical Garden,300,300
+18,19,18,Yonkers,19,Glenwood,300,300
+65,100,65,Bronxville,100,HM Valley-Wingdale,1525,1525
+89,79,89,Purdy's,79,Mount Pleasant,675,675
+42,4,42,Garrison,4,Harlem-125th St.,2000,1500
+55,86,55,Tremont,86,Katonah,800,800
+1,115,1,Grand Central,115,Port Chester,1375,1025
+40,43,40,Manitou,43,Cold Spring,300,300
+100,94,100,HM Valley-Wingdale,94,Southeast,650,650
+11,16,11,Marble Hill,16,Riverdale,300,300
+58,97,58,Williams Bridge,97,Patterson,1450,1450
+10,20,10,University Heights,20,Greystone,300,300
+176,89,176,Tenmile River,89,Purdy's,750,750
+81,80,81,Pleasantville,80,Hawthorne,300,300
+33,40,33,Croton-Harmon,40,Manitou,675,675
+37,10,37,Cortlandt,10,University Heights,800,800
+76,1,76,North White Plains,1,Grand Central,1275,975
+22,30,22,Hastings-on-Hudson,30,Scarborough,300,300
+54,99,54,Melrose,99,Appalachian Trail,1450,1450
+85,86,85,Bedford Hills,86,Katonah,300,300
+4,98,4,Harlem-125th St.,98,Pawling,2300,1750
+89,56,89,Purdy's,56,Fordham,1150,1150
+88,97,88,Goldens Bridge,97,Patterson,675,675
+27,1,27,Tarrytown,1,Grand Central,1475,1125
+40,20,40,Manitou,20,Greystone,875,875
+100,71,100,HM Valley-Wingdale,71,Scarsdale,1375,1375
+58,74,58,Williams Bridge,74,White Plains,425,425
+61,79,61,Wakefield,79,Mount Pleasant,575,575
+176,66,176,Tenmile River,66,Tuckahoe,1600,1600
+81,57,81,Pleasantville,57,Botanical Garden,575,575
+106,1,106,Pelham,1,Grand Central,1125,850
+33,17,33,Croton-Harmon,17,Ludlow,500,500
+1,622,1,Grand Central,622,Yankees-E153 St.,975,725
+64,4,64,Fleetwood,4,Harlem-125th St.,1150,875
+89,177,89,Purdy's,177,Wassaic,750,750
+10,33,10,University Heights,33,Croton-Harmon,575,575
+62,80,62,Mt Vernon West,80,Hawthorne,500,500
+54,76,54,Melrose,76,North White Plains,425,425
+74,54,74,White Plains,54,Melrose,425,425
+37,23,37,Cortlandt,23,Dobbs Ferry,600,600
+57,1,57,Botanical Garden,1,Grand Central,975,725
+88,74,88,Goldens Bridge,74,White Plains,600,600
+18,9,18,Yonkers,9,Morris Heights,300,300
+99,83,99,Appalachian Trail,83,Chappaqua,825,825
+4,111,4,Harlem-125th St.,111,Mamaroneck,1275,975
+65,90,65,Bronxville,90,Croton Falls,875,875
+57,86,57,Botanical Garden,86,Katonah,800,800
+76,99,76,North White Plains,99,Appalachian Trail,1150,1150
+9,46,9,Morris Heights,46,Beacon,1450,1450
+31,622,31,Ossining,622,Yankees-E153 St.,575,575
+29,24,29,Philipse Manor,24,Ardsley-on-Hudson,300,300
+94,4,94,Southeast,4,Harlem-125th St.,2000,1500
+40,33,40,Manitou,33,Croton-Harmon,675,675
+100,84,100,HM Valley-Wingdale,84,Mount Kisco,825,825
+62,57,62,Mt Vernon West,57,Botanical Garden,300,300
+176,79,176,Tenmile River,79,Mount Pleasant,1275,1275
+33,30,33,Croton-Harmon,30,Scarborough,300,300
+622,16,622,Yankees-E153 St.,16,Riverdale,300,300
+84,81,84,Mount Kisco,81,Pleasantville,300,300
+22,20,22,Hastings-on-Hudson,20,Greystone,300,300
+54,89,54,Melrose,89,Purdy's,1150,1150
+14,16,14,Spuyten Duyvil,16,Riverdale,300,300
+4,88,4,Harlem-125th St.,88,Goldens Bridge,1750,1325
+56,98,56,Fordham,98,Pawling,1450,1450
+17,27,17,Ludlow,27,Tarrytown,500,500
+9,23,9,Morris Heights,23,Dobbs Ferry,425,425
+29,1,29,Philipse Manor,1,Grand Central,1475,1125
+40,10,40,Manitou,10,University Heights,1150,1150
+100,61,100,HM Valley-Wingdale,61,Wakefield,1675,1675
+57,99,57,Botanical Garden,99,Appalachian Trail,1450,1450
+58,64,58,Williams Bridge,64,Fleetwood,300,300
+29,37,29,Philipse Manor,37,Cortlandt,300,300
+176,56,176,Tenmile River,56,Fordham,1800,1800
+31,46,31,Ossining,46,Beacon,825,825
+10,23,10,University Heights,23,Dobbs Ferry,425,425
+51,24,51,Poughkeepsie,24,Ardsley-on-Hudson,1375,1375
+91,97,91,Brewster,97,Patterson,425,425
+54,66,54,Melrose,66,Tuckahoe,300,300
+59,1,59,Woodlawn,1,Grand Central,975,725
+4,65,4,Harlem-125th St.,65,Bronxville,1150,875
+72,83,72,Hartsdale,83,Chappaqua,300,300
+24,43,24,Ardsley-on-Hudson,43,Cold Spring,775,775
+84,94,84,Mount Kisco,94,Southeast,300,300
+16,39,16,Riverdale,39,Peekskill,800,800
+176,177,176,Tenmile River,177,Wassaic,300,300
+1,59,1,Grand Central,59,Woodlawn,975,725
+88,64,88,Goldens Bridge,64,Fleetwood,725,725
+106,112,106,Pelham,112,Harrison,300,300
+65,80,65,Bronxville,80,Hawthorne,500,500
+56,111,56,Fordham,111,Mamaroneck,425,425
+17,40,17,Ludlow,40,Manitou,875,875
+57,76,57,Botanical Garden,76,North White Plains,425,425
+76,89,76,North White Plains,89,Purdy's,775,775
+68,85,68,Crestwood,85,Bedford Hills,725,725
+29,14,29,Philipse Manor,14,Spuyten Duyvil,575,575
+40,23,40,Manitou,23,Dobbs Ferry,775,775
+80,59,80,Hawthorne,59,Woodlawn,575,575
+79,100,79,Mount Pleasant,100,HM Valley-Wingdale,1200,1200
+25,16,25,Irvington,16,Riverdale,425,425
+4,42,4,Harlem-125th St.,42,Garrison,2000,1500
+51,37,51,Poughkeepsie,37,Cortlandt,825,825
+24,20,24,Ardsley-on-Hudson,20,Greystone,300,300
+97,4,97,Patterson,4,Harlem-125th St.,2300,1750
+43,33,43,Cold Spring,33,Croton-Harmon,675,675
+84,71,84,Mount Kisco,71,Scarsdale,600,600
+4,78,4,Harlem-125th St.,78,Valhalla,1475,1125
+65,57,65,Bronxville,57,Botanical Garden,300,300
+56,88,56,Fordham,88,Goldens Bridge,800,800
+90,1,90,Croton Falls,1,Grand Central,2000,1500
+76,66,76,North White Plains,66,Tuckahoe,300,300
+68,62,68,Crestwood,62,Mt Vernon West,300,300
+57,89,57,Botanical Garden,89,Purdy's,1150,1150
+58,54,58,Williams Bridge,54,Melrose,300,300
+98,90,98,Pawling,90,Croton Falls,425,425
+68,98,68,Crestwood,98,Pawling,1300,1300
+42,46,42,Garrison,46,Beacon,425,425
+61,59,61,Wakefield,59,Woodlawn,300,300
+80,72,80,Hawthorne,72,Hartsdale,300,300
+20,27,20,Greystone,27,Tarrytown,500,500
+39,40,39,Peekskill,40,Manitou,300,300
+51,14,51,Poughkeepsie,14,Spuyten Duyvil,1675,1675
+43,10,43,Cold Spring,10,University Heights,1150,1150
+54,56,54,Melrose,56,Fordham,300,300
+4,55,4,Harlem-125th St.,55,Tremont,975,725
+78,4,78,Valhalla,4,Harlem-125th St.,1475,1125
+24,33,24,Ardsley-on-Hudson,33,Croton-Harmon,300,300
+43,46,43,Cold Spring,46,Beacon,425,425
+16,29,16,Riverdale,29,Philipse Manor,575,575
+108,112,108,New Rochelle,112,Harrison,300,300
+1,49,1,Grand Central,49,New Hamburg,2300,1750
+88,54,88,Goldens Bridge,54,Melrose,800,800
+56,101,56,Fordham,101,Dover Plains,1675,1675
+17,30,17,Ludlow,30,Scarborough,500,500
+57,66,57,Botanical Garden,66,Tuckahoe,300,300
+76,79,76,North White Plains,79,Mount Pleasant,300,300
+29,4,29,Philipse Manor,4,Harlem-125th St.,1475,1125
+54,177,54,Melrose,177,Wassaic,1800,1800
+27,43,27,Tarrytown,43,Cold Spring,675,675
+4,176,4,Harlem-125th St.,176,Tenmile River,2725,2025
+19,39,19,Glenwood,39,Peekskill,725,725
+79,90,79,Mount Pleasant,90,Croton Falls,675,675
+39,17,39,Peekskill,17,Ludlow,725,725
+71,86,71,Scarsdale,86,Katonah,600,600
+90,99,90,Croton Falls,99,Appalachian Trail,425,425
+91,64,91,Brewster,64,Fleetwood,875,875
+108,4,108,New Rochelle,4,Harlem-125th St.,1125,850
+20,40,20,Greystone,40,Manitou,875,875
+31,49,31,Ossining,49,New Hamburg,825,825
+51,27,51,Poughkeepsie,27,Tarrytown,1200,1200
+24,10,24,Ardsley-on-Hudson,10,University Heights,425,425
+43,23,43,Cold Spring,23,Dobbs Ferry,775,775
+84,61,84,Mount Kisco,61,Wakefield,800,800
+59,4,59,Woodlawn,4,Harlem-125th St.,975,725
+72,86,72,Hartsdale,86,Katonah,600,600
+16,42,16,Riverdale,42,Garrison,1150,1150
+56,78,56,Fordham,78,Valhalla,575,575
+76,56,76,North White Plains,56,Fordham,425,425
+49,39,49,New Hamburg,39,Peekskill,675,675
+18,51,18,Yonkers,51,Poughkeepsie,1525,1525
+98,80,98,Pawling,80,Hawthorne,825,825
+90,76,90,Croton Falls,76,North White Plains,775,775
+101,85,101,Dover Plains,85,Bedford Hills,825,825
+20,17,20,Greystone,17,Ludlow,300,300
+39,30,39,Peekskill,30,Scarborough,300,300
+71,99,71,Scarsdale,99,Appalachian Trail,1150,1150
+23,22,23,Dobbs Ferry,22,Hastings-on-Hudson,300,300
+51,4,51,Poughkeepsie,4,Harlem-125th St.,2575,1925
+177,80,177,Wassaic,80,Hawthorne,1275,1275
+76,177,76,North White Plains,177,Wassaic,1475,1475
+17,622,17,Ludlow,622,Yankees-E153 St.,300,300
+106,56,106,Pelham,56,Fordham,300,300
+24,23,24,Ardsley-on-Hudson,23,Dobbs Ferry,300,300
+64,59,64,Fleetwood,59,Woodlawn,300,300
+56,55,56,Fordham,55,Tremont,300,300
+16,19,16,Riverdale,19,Glenwood,300,300
+1,39,1,Grand Central,39,Peekskill,1750,1325
+86,83,86,Katonah,83,Chappaqua,300,300
+78,79,78,Valhalla,79,Mount Pleasant,300,300
+57,56,57,Botanical Garden,56,Fordham,300,300
+98,57,98,Pawling,57,Botanical Garden,1450,1450
+89,88,89,Purdy's,88,Goldens Bridge,300,300
+9,16,9,Morris Heights,16,Riverdale,300,300
+68,65,68,Crestwood,65,Bronxville,300,300
+101,62,101,Dover Plains,62,Mt Vernon West,1525,1525
+81,4,81,Pleasantville,4,Harlem-125th St.,1475,1125
+27,33,27,Tarrytown,33,Croton-Harmon,300,300
+19,29,19,Glenwood,29,Philipse Manor,500,500
+79,80,79,Mount Pleasant,80,Hawthorne,300,300
+11,25,11,Marble Hill,25,Irvington,425,425
+71,76,71,Scarsdale,76,North White Plains,300,300
+56,176,56,Fordham,176,Tenmile River,1800,1800
+90,89,90,Croton Falls,89,Purdy's,300,300
+91,54,91,Brewster,54,Melrose,1150,1150
+42,49,42,Garrison,49,New Hamburg,425,425
+101,98,101,Dover Plains,98,Pawling,425,425
+94,59,94,Southeast,59,Woodlawn,1150,1150
+74,1,74,White Plains,1,Grand Central,1275,975
+20,30,20,Greystone,30,Scarborough,500,500
+31,39,31,Ossining,39,Peekskill,300,300
+4,22,4,Harlem-125th St.,22,Hastings-on-Hudson,1275,975
+57,177,57,Botanical Garden,177,Wassaic,1800,1800
+1,16,1,Grand Central,16,Riverdale,975,725
+74,86,74,White Plains,86,Katonah,600,600
+46,24,46,Beacon,24,Ardsley-on-Hudson,1150,1150
+105,110,105,Mt Vernon East ,110,Larchmont,300,300
+64,72,64,Fleetwood,72,Hartsdale,300,300
+111,4,111,Mamaroneck,4,Harlem-125th St.,1275,975
+56,68,56,Fordham,68,Crestwood,300,300
+49,29,49,New Hamburg,29,Philipse Manor,825,825
+108,115,108,New Rochelle,115,Port Chester,400,400
+27,10,27,Tarrytown,10,University Heights,575,575
+59,79,59,Woodlawn,79,Mount Pleasant,575,575
+79,57,79,Mount Pleasant,57,Botanical Garden,575,575
+89,101,89,Purdy's,101,Dover Plains,650,650
+90,66,90,Croton Falls,66,Tuckahoe,875,875
+62,4,62,Mt Vernon West,4,Harlem-125th St.,1150,875
+27,46,27,Tarrytown,46,Beacon,825,825
+19,42,19,Glenwood,42,Garrison,875,875
+39,20,39,Peekskill,20,Greystone,725,725
+30,51,30,Scarborough,51,Poughkeepsie,1200,1200
+31,16,31,Ossining,16,Riverdale,575,575
+71,89,71,Scarsdale,89,Purdy's,775,775
+94,72,94,Southeast,72,Hartsdale,775,775
+46,1,46,Beacon,1,Grand Central,2300,1750
+16,9,16,Riverdale,9,Morris Heights,300,300
+74,99,74,White Plains,99,Appalachian Trail,1150,1150
+29,622,29,Philipse Manor,622,Yankees-E153 St.,575,575
+46,37,46,Beacon,37,Cortlandt,675,675
+49,42,49,New Hamburg,42,Garrison,425,425
+89,78,89,Purdy's,78,Valhalla,675,675
+55,85,55,Tremont,85,Bedford Hills,800,800
+1,114,1,Grand Central,114,Rye,1375,1025
+27,23,27,Tarrytown,23,Dobbs Ferry,300,300
+71,66,71,Scarsdale,66,Tuckahoe,300,300
+90,79,90,Croton Falls,79,Mount Pleasant,675,675
+33,39,33,Croton-Harmon,39,Peekskill,300,300
+622,25,622,Yankees-E153 St.,25,Irvington,425,425
+177,83,177,Wassaic,83,Chappaqua,1275,1275
+115,108,115,Port Chester,108,New Rochelle,400,400
+22,29,22,Hastings-on-Hudson,29,Philipse Manor,300,300
+54,98,54,Melrose,98,Pawling,1450,1450
+74,76,74,White Plains,76,North White Plains,300,300
+66,72,66,Tuckahoe,72,Hartsdale,300,300
+46,14,46,Beacon,14,Spuyten Duyvil,1450,1450
+56,58,56,Fordham,58,Williams Bridge,300,300
+97,59,97,Patterson,59,Woodlawn,1450,1450
+49,19,49,New Hamburg,19,Glenwood,1300,1300
+89,55,89,Purdy's,55,Tremont,1150,1150
+55,62,55,Tremont,62,Mt Vernon West,300,300
+18,31,18,Yonkers,31,Ossining,500,500
+89,91,89,Purdy's,91,Brewster,300,300
+90,56,90,Croton Falls,56,Fordham,1150,1150
+42,16,42,Garrison,16,Riverdale,1150,1150
+55,98,55,Tremont,98,Pawling,1450,1450
+101,65,101,Dover Plains,65,Bronxville,1525,1525
+29,46,29,Philipse Manor,46,Beacon,825,825
+51,622,51,Poughkeepsie,622,Yankees-E153 St.,1675,1675
+114,4,114,Rye,4,Harlem-125th St.,1375,1025
+111,115,111,Mamaroneck,115,Port Chester,375,375
+89,176,89,Purdy's,176,Tenmile River,750,750
+176,101,176,Tenmile River,101,Dover Plains,300,300
+62,79,62,Mt Vernon West,79,Mount Pleasant,500,500
+85,62,85,Bedford Hills,62,Mt Vernon West,725,725
+37,22,37,Cortlandt,22,Hastings-on-Hudson,600,600
+65,4,65,Bronxville,4,Harlem-125th St.,1150,875
+90,177,90,Croton Falls,177,Wassaic,750,750
+22,42,22,Hastings-on-Hudson,42,Garrison,775,775
+74,89,74,White Plains,89,Purdy's,775,775
+66,85,66,Tuckahoe,85,Bedford Hills,725,725
+85,98,85,Bedford Hills,98,Pawling,675,675
+4,110,4,Harlem-125th St.,110,Larchmont,1275,975
+78,59,78,Valhalla,59,Woodlawn,575,575
+97,72,97,Patterson,72,Hartsdale,1150,1150
+58,1,58,Williams Bridge,1,Grand Central,975,725
+89,68,89,Purdy's,68,Crestwood,875,875
+19,9,19,Glenwood,9,Morris Heights,300,300
+100,83,100,HM Valley-Wingdale,83,Chappaqua,1200,1200
+30,18,30,Scarborough,18,Yonkers,500,500
+71,56,71,Scarsdale,56,Fordham,425,425
+58,86,58,Williams Bridge,86,Katonah,800,800
+61,91,61,Wakefield,91,Brewster,1150,1150
+176,78,176,Tenmile River,78,Valhalla,1275,1275
+33,29,33,Croton-Harmon,29,Philipse Manor,300,300
+22,19,22,Hastings-on-Hudson,19,Glenwood,300,300
+54,88,54,Melrose,88,Goldens Bridge,800,800
+88,1,88,Goldens Bridge,1,Grand Central,1750,1325
+74,66,74,White Plains,66,Tuckahoe,300,300
+66,62,66,Tuckahoe,62,Mt Vernon West,300,300
+46,4,46,Beacon,4,Harlem-125th St.,2300,1750
+71,177,71,Scarsdale,177,Wassaic,1475,1475
+49,9,49,New Hamburg,9,Morris Heights,1450,1450
+14,51,14,Spuyten Duyvil,51,Poughkeepsie,1675,1675
+1,81,1,Grand Central,81,Pleasantville,1475,1125
+88,86,88,Goldens Bridge,86,Katonah,300,300
+78,72,78,Valhalla,72,Hartsdale,300,300
+57,98,57,Botanical Garden,98,Pawling,1450,1450
+80,81,80,Hawthorne,81,Pleasantville,300,300
+111,105,111,Mamaroneck,105,Mt Vernon East ,300,300
+58,99,58,Williams Bridge,99,Appalachian Trail,1450,1450
+10,22,10,University Heights,22,Hastings-on-Hudson,425,425
+176,91,176,Tenmile River,91,Brewster,750,750
+54,65,54,Melrose,65,Bronxville,300,300
+33,42,33,Croton-Harmon,42,Garrison,675,675
+101,176,101,Dover Plains,176,Tenmile River,300,300
+54,101,54,Melrose,101,Dover Plains,1675,1675
+114,115,114,Rye,115,Port Chester,300,300
+74,79,74,White Plains,79,Mount Pleasant,300,300
+106,111,106,Pelham,111,Mamaroneck,300,300
+4,100,4,Harlem-125th St.,100,HM Valley-Wingdale,2575,1925
+89,58,89,Purdy's,58,Williams Bridge,1150,1150
+17,39,17,Ludlow,39,Peekskill,725,725
+76,88,76,North White Plains,88,Goldens Bridge,600,600
+110,1,110,Larchmont,1,Grand Central,1275,975
+55,65,55,Tremont,65,Bronxville,300,300
+1,94,1,Grand Central,94,Southeast,2000,1500
+88,99,88,Goldens Bridge,99,Appalachian Trail,675,675
+40,22,40,Manitou,22,Hastings-on-Hudson,775,775
+58,76,58,Williams Bridge,76,North White Plains,425,425
+29,49,29,Philipse Manor,49,New Hamburg,825,825
+61,81,61,Wakefield,81,Pleasantville,575,575
+176,68,176,Tenmile River,68,Crestwood,1600,1600
+80,94,80,Hawthorne,94,Southeast,675,675
+81,59,81,Pleasantville,59,Woodlawn,575,575
+33,19,33,Croton-Harmon,19,Glenwood,500,500
+22,9,22,Hastings-on-Hudson,9,Morris Heights,425,425
+54,78,54,Melrose,78,Valhalla,575,575
+74,56,74,White Plains,56,Fordham,425,425
+85,65,85,Bedford Hills,65,Bronxville,725,725
+98,4,98,Pawling,4,Harlem-125th St.,2300,1750
+16,51,16,Riverdale,51,Poughkeepsie,1675,1675
+1,71,1,Grand Central,71,Scarsdale,1275,975
+88,76,88,Goldens Bridge,76,North White Plains,600,600
+18,11,18,Yonkers,11,Marble Hill,300,300
+99,85,99,Appalachian Trail,85,Bedford Hills,675,675
+57,88,57,Botanical Garden,88,Goldens Bridge,800,800
+91,1,91,Brewster,1,Grand Central,2000,1500
+177,4,177,Wassaic,4,Harlem-125th St.,2725,2025
+76,101,76,North White Plains,101,Dover Plains,1375,1375
+68,97,68,Crestwood,97,Patterson,1300,1300
+74,177,74,White Plains,177,Wassaic,1475,1475
+80,71,80,Hawthorne,71,Scarsdale,300,300
+100,86,100,HM Valley-Wingdale,86,Katonah,825,825
+58,89,58,Williams Bridge,89,Purdy's,1150,1150
+61,94,61,Wakefield,94,Southeast,1150,1150
+62,59,62,Mt Vernon West,59,Woodlawn,300,300
+176,81,176,Tenmile River,81,Pleasantville,1275,1275
+81,72,81,Pleasantville,72,Hartsdale,300,300
+54,55,54,Melrose,55,Tremont,300,300
+622,18,622,Yankees-E153 St.,18,Yonkers,300,300
+51,49,51,Poughkeepsie,49,New Hamburg,425,425
+84,83,84,Mount Kisco,83,Chappaqua,300,300
+14,18,14,Spuyten Duyvil,18,Yonkers,300,300
+114,105,114,Rye,105,Mt Vernon East ,400,400
+99,62,99,Appalachian Trail,62,Mt Vernon West,1300,1300
+4,90,4,Harlem-125th St.,90,Croton Falls,2000,1500
+79,4,79,Mount Pleasant,4,Harlem-125th St.,1475,1125
+56,100,56,Fordham,100,HM Valley-Wingdale,1675,1675
+17,29,17,Ludlow,29,Philipse Manor,500,500
+76,78,76,North White Plains,78,Valhalla,300,300
+9,25,9,Morris Heights,25,Irvington,425,425
+68,74,68,Crestwood,74,White Plains,300,300
+1,84,1,Grand Central,84,Mount Kisco,1750,1325
+54,176,54,Melrose,176,Tenmile River,1800,1800
+88,89,88,Goldens Bridge,89,Purdy's,300,300
+99,98,99,Appalachian Trail,98,Pawling,300,300
+57,101,57,Botanical Garden,101,Dover Plains,1675,1675
+58,66,58,Williams Bridge,66,Tuckahoe,300,300
+61,71,61,Wakefield,71,Scarsdale,425,425
+176,58,176,Tenmile River,58,Williams Bridge,1800,1800
+80,84,80,Hawthorne,84,Mount Kisco,300,300
+33,9,33,Croton-Harmon,9,Morris Heights,575,575
+20,39,20,Greystone,39,Peekskill,725,725
+10,25,10,University Heights,25,Irvington,425,425
+91,99,91,Brewster,99,Appalachian Trail,425,425
+110,112,110,Larchmont,112,Harrison,300,300
+55,176,55,Tremont,176,Tenmile River,1800,1800
+46,622,46,Beacon,622,Yankees-E153 St.,1450,1450
+43,22,43,Cold Spring,22,Hastings-on-Hudson,775,775
+54,68,54,Melrose,68,Crestwood,300,300
+72,85,72,Hartsdale,85,Bedford Hills,600,600
+64,81,64,Fleetwood,81,Pleasantville,500,500
+1,61,1,Grand Central,61,Wakefield,975,725
+88,66,88,Goldens Bridge,66,Tuckahoe,725,725
+17,42,17,Ludlow,42,Garrison,875,875
+57,78,57,Botanical Garden,78,Valhalla,575,575
+76,91,76,North White Plains,91,Brewster,775,775
+29,16,29,Philipse Manor,16,Riverdale,575,575
+40,25,40,Manitou,25,Irvington,775,775
+80,61,80,Hawthorne,61,Wakefield,575,575
+85,176,85,Bedford Hills,176,Tenmile River,1000,1000
+39,29,39,Peekskill,29,Philipse Manor,300,300
+58,79,58,Williams Bridge,79,Mount Pleasant,575,575
+71,98,71,Scarsdale,98,Pawling,1150,1150
+91,76,91,Brewster,76,North White Plains,775,775
+61,84,61,Wakefield,84,Mount Kisco,800,800
+94,81,94,Southeast,81,Pleasantville,675,675
+51,39,51,Poughkeepsie,39,Peekskill,825,825
+24,22,24,Ardsley-on-Hudson,22,Hastings-on-Hudson,300,300
+16,18,16,Riverdale,18,Yonkers,300,300
+4,80,4,Harlem-125th St.,80,Hawthorne,1475,1125
+72,98,72,Hartsdale,98,Pawling,1150,1150
+64,94,64,Fleetwood,94,Southeast,875,875
+65,59,65,Bronxville,59,Woodlawn,300,300
+56,90,56,Fordham,90,Croton Falls,1150,1150
+57,55,57,Botanical Garden,55,Tremont,300,300
+17,19,17,Ludlow,19,Glenwood,300,300
+76,68,76,North White Plains,68,Crestwood,300,300
+49,51,49,New Hamburg,51,Poughkeepsie,425,425
+68,64,68,Crestwood,64,Fleetwood,300,300
+57,91,57,Botanical Garden,91,Brewster,1150,1150
+58,56,58,Williams Bridge,56,Fordham,300,300
+90,88,90,Croton Falls,88,Goldens Bridge,300,300
+101,97,101,Dover Plains,97,Patterson,425,425
+20,29,20,Greystone,29,Philipse Manor,500,500
+39,42,39,Peekskill,42,Garrison,300,300
+57,176,57,Botanical Garden,176,Tenmile River,1800,1800
+91,89,91,Brewster,89,Purdy's,300,300
+51,16,51,Poughkeepsie,16,Riverdale,1675,1675
+83,85,83,Chappaqua,85,Bedford Hills,300,300
+4,57,4,Harlem-125th St.,57,Botanical Garden,975,725
+58,177,58,Williams Bridge,177,Wassaic,1800,1800
+64,71,64,Fleetwood,71,Scarsdale,300,300
+16,31,16,Riverdale,31,Ossining,575,575
+108,114,108,New Rochelle,114,Rye,400,400
+1,51,1,Grand Central,51,Poughkeepsie,2575,1925
+88,56,88,Goldens Bridge,56,Fordham,800,800
+99,65,99,Appalachian Trail,65,Bronxville,1300,1300
+65,72,65,Bronxville,72,Hartsdale,300,300
+112,4,112,Harrison,4,Harlem-125th St.,1275,975
+57,68,57,Botanical Garden,68,Crestwood,300,300
+89,100,89,Purdy's,100,HM Valley-Wingdale,650,650
+42,25,42,Garrison,25,Irvington,775,775
+39,19,39,Peekskill,19,Glenwood,725,725
+11,37,11,Marble Hill,37,Cortlandt,800,800
+71,88,71,Scarsdale,88,Goldens Bridge,600,600
+105,1,105,Mt Vernon East ,1,Grand Central,1125,850
+90,101,90,Croton Falls,101,Dover Plains,650,650
+91,66,91,Brewster,66,Tuckahoe,875,875
+83,62,83,Chappaqua,62,Mt Vernon West,500,500
+88,177,88,Goldens Bridge,177,Wassaic,1000,1000
+94,71,94,Southeast,71,Scarsdale,775,775
+20,42,20,Greystone,42,Garrison,875,875
+31,51,31,Ossining,51,Poughkeepsie,1200,1200
+51,29,51,Poughkeepsie,29,Philipse Manor,1200,1200
+83,98,83,Chappaqua,98,Pawling,825,825
+43,25,43,Cold Spring,25,Irvington,775,775
+64,84,64,Fleetwood,84,Mount Kisco,725,725
+56,80,56,Fordham,80,Hawthorne,575,575
+17,9,17,Ludlow,9,Morris Heights,300,300
+76,58,76,North White Plains,58,Williams Bridge,425,425
+68,54,68,Crestwood,54,Melrose,300,300
+27,22,27,Tarrytown,22,Hastings-on-Hudson,300,300
+59,91,59,Woodlawn,91,Brewster,1150,1150
+30,27,30,Scarborough,27,Tarrytown,300,300
+71,65,71,Scarsdale,65,Bronxville,300,300
+90,78,90,Croton Falls,78,Valhalla,675,675
+110,56,110,Larchmont,56,Fordham,425,425
+20,19,20,Greystone,19,Glenwood,300,300
+71,101,71,Scarsdale,101,Dover Plains,1375,1375
+4,11,4,Harlem-125th St.,11,Marble Hill,975,725
+91,79,91,Brewster,79,Mount Pleasant,675,675
+23,24,23,Dobbs Ferry,24,Ardsley-on-Hudson,300,300
+94,84,94,Southeast,84,Mount Kisco,300,300
+72,65,72,Hartsdale,65,Bronxville,300,300
+64,61,64,Fleetwood,61,Wakefield,300,300
+24,25,24,Ardsley-on-Hudson,25,Irvington,300,300
+56,57,56,Fordham,57,Botanical Garden,300,300
+86,85,86,Katonah,85,Bedford Hills,300,300
+46,49,46,Beacon,49,New Hamburg,300,300
+78,81,78,Valhalla,81,Pleasantville,300,300
+97,94,97,Patterson,94,Southeast,425,425
+98,59,98,Pawling,59,Woodlawn,1450,1450
+57,58,57,Botanical Garden,58,Williams Bridge,300,300
+89,90,89,Purdy's,90,Croton Falls,300,300
+90,55,90,Croton Falls,55,Tremont,1150,1150
+55,97,55,Tremont,97,Patterson,1450,1450
+101,64,101,Dover Plains,64,Fleetwood,1525,1525
+19,31,19,Glenwood,31,Ossining,500,500
+39,9,39,Peekskill,9,Morris Heights,800,800
+11,27,11,Marble Hill,27,Tarrytown,575,575
+111,114,111,Mamaroneck,114,Rye,375,375
+30,40,30,Scarborough,40,Manitou,675,675
+71,78,71,Scarsdale,78,Valhalla,300,300
+91,56,91,Brewster,56,Fordham,1150,1150
+23,1,23,Dobbs Ferry,1,Grand Central,1275,975
+177,59,177,Wassaic,59,Woodlawn,1800,1800
+90,91,90,Croton Falls,91,Brewster,300,300
+94,61,94,Southeast,61,Wakefield,1150,1150
+33,51,33,Croton-Harmon,51,Poughkeepsie,1200,1200
+112,115,112,Harrison,115,Port Chester,375,375
+4,24,4,Harlem-125th St.,24,Ardsley-on-Hudson,1275,975
+23,37,23,Dobbs Ferry,37,Cortlandt,600,600
+1,18,1,Grand Central,18,Yonkers,1150,875
+74,88,74,White Plains,88,Goldens Bridge,600,600
+85,97,85,Bedford Hills,97,Patterson,675,675
+86,62,86,Katonah,62,Mt Vernon West,725,725
+91,177,91,Brewster,177,Wassaic,750,750
+97,71,97,Patterson,71,Scarsdale,1150,1150
+49,31,49,New Hamburg,31,Ossining,825,825
+55,74,55,Tremont,74,White Plains,425,425
+86,98,86,Katonah,98,Pawling,675,675
+18,43,18,Yonkers,43,Cold Spring,875,875
+59,81,59,Woodlawn,81,Pleasantville,575,575
+78,94,78,Valhalla,94,Southeast,675,675
+79,59,79,Mount Pleasant,59,Woodlawn,575,575
+98,72,98,Pawling,72,Hartsdale,1150,1150
+30,17,30,Scarborough,17,Ludlow,500,500
+71,55,71,Scarsdale,55,Tremont,425,425
+90,68,90,Croton Falls,68,Crestwood,875,875
+20,9,20,Greystone,9,Morris Heights,300,300
+39,22,39,Peekskill,22,Hastings-on-Hudson,600,600
+11,40,11,Marble Hill,40,Manitou,1150,1150
+31,18,31,Ossining,18,Yonkers,500,500
+4,1,4,Harlem-125th St.,1,Grand Central,825,625
+23,14,23,Dobbs Ferry,14,Spuyten Duyvil,425,425
+177,72,177,Wassaic,72,Hartsdale,1475,1475
+83,65,83,Chappaqua,65,Bronxville,500,500
+72,55,72,Hartsdale,55,Tremont,425,425
+85,74,85,Bedford Hills,74,White Plains,600,600
+71,176,71,Scarsdale,176,Tenmile River,1475,1475
+74,101,74,White Plains,101,Dover Plains,1375,1375
+66,97,66,Tuckahoe,97,Patterson,1300,1300
+46,39,46,Beacon,39,Peekskill,675,675
+59,58,59,Woodlawn,58,Williams Bridge,300,300
+18,20,18,Yonkers,20,Greystone,300,300
+78,71,78,Valhalla,71,Scarsdale,300,300
+97,84,97,Patterson,84,Mount Kisco,675,675
+89,80,89,Purdy's,80,Hawthorne,675,675
+101,54,101,Dover Plains,54,Melrose,1675,1675
+27,25,27,Tarrytown,25,Irvington,300,300
+59,94,59,Woodlawn,94,Southeast,1150,1150
+72,176,72,Hartsdale,176,Tenmile River,1475,1475
+79,72,79,Mount Pleasant,72,Hartsdale,300,300
+11,17,11,Marble Hill,17,Ludlow,300,300
+71,68,71,Scarsdale,68,Crestwood,300,300
+176,90,176,Tenmile River,90,Croton Falls,750,750
+25,37,25,Irvington,37,Cortlandt,600,600
+112,105,112,Harrison,105,Mt Vernon East ,300,300
+4,14,4,Harlem-125th St.,14,Spuyten Duyvil,975,725
+622,27,622,Yankees-E153 St.,27,Tarrytown,575,575
+115,110,115,Port Chester,110,Larchmont,375,375
+22,31,22,Hastings-on-Hudson,31,Ossining,300,300
+54,100,54,Melrose,100,HM Valley-Wingdale,1675,1675
+14,27,14,Spuyten Duyvil,27,Tarrytown,575,575
+74,78,74,White Plains,78,Valhalla,300,300
+66,74,66,Tuckahoe,74,White Plains,300,300
+46,16,46,Beacon,16,Riverdale,1450,1450
+97,61,97,Patterson,61,Wakefield,1450,1450
+89,57,89,Purdy's,57,Botanical Garden,1150,1150
+55,64,55,Tremont,64,Fleetwood,300,300
+18,33,18,Yonkers,33,Croton-Harmon,500,500
+59,71,59,Woodlawn,71,Scarsdale,425,425
+78,84,78,Valhalla,84,Mount Kisco,300,300
+98,62,98,Pawling,62,Mt Vernon West,1300,1300
+90,58,90,Croton Falls,58,Williams Bridge,1150,1150
+11,30,11,Marble Hill,30,Scarborough,575,575
+23,4,23,Dobbs Ferry,4,Harlem-125th St.,1275,975
+177,62,177,Wassaic,62,Mt Vernon West,1600,1600
+56,1,56,Fordham,1,Grand Central,975,725
+62,81,62,Mt Vernon West,81,Pleasantville,500,500
+81,94,81,Pleasantville,94,Southeast,675,675
+74,55,74,White Plains,55,Tremont,425,425
+622,40,622,Yankees-E153 St.,40,Manitou,1150,1150
+85,64,85,Bedford Hills,64,Fleetwood,725,725
+37,24,37,Cortlandt,24,Ardsley-on-Hudson,600,600
+14,40,14,Spuyten Duyvil,40,Manitou,1150,1150
+74,91,74,White Plains,91,Brewster,775,775
+86,65,86,Katonah,65,Bronxville,725,725
+18,10,18,Yonkers,10,University Heights,300,300
+4,112,4,Harlem-125th St.,112,Harrison,1275,975
+78,61,78,Valhalla,61,Wakefield,575,575
+97,74,97,Patterson,74,White Plains,1150,1150
+17,51,17,Ludlow,51,Poughkeepsie,1525,1525
+1,106,1,Grand Central,106,Pelham,1125,850
+74,176,74,White Plains,176,Tenmile River,1475,1475
+19,11,19,Glenwood,11,Marble Hill,300,300
+100,85,100,HM Valley-Wingdale,85,Bedford Hills,825,825
+71,58,71,Scarsdale,58,Williams Bridge,425,425
+58,88,58,Williams Bridge,88,Goldens Bridge,800,800
+176,80,176,Tenmile River,80,Hawthorne,1275,1275
+81,71,81,Pleasantville,71,Scarsdale,300,300
+33,31,33,Croton-Harmon,31,Ossining,300,300
+25,27,25,Irvington,27,Tarrytown,300,300
+622,17,622,Yankees-E153 St.,17,Ludlow,300,300
+105,56,105,Mt Vernon East ,56,Fordham,300,300
+37,1,37,Cortlandt,1,Grand Central,1750,1325
+62,94,62,Mt Vernon West,94,Southeast,875,875
+54,90,54,Melrose,90,Croton Falls,1150,1150
+14,17,14,Spuyten Duyvil,17,Ludlow,300,300
+74,68,74,White Plains,68,Crestwood,300,300
+66,64,66,Tuckahoe,64,Fleetwood,300,300
+4,89,4,Harlem-125th St.,89,Purdy's,2000,1500
+49,11,49,New Hamburg,11,Marble Hill,1450,1450
+11,622,11,Marble Hill,622,Yankees-E153 St.,300,300
+55,54,55,Tremont,54,Melrose,300,300
+1,83,1,Grand Central,83,Chappaqua,1475,1125
+99,97,99,Appalachian Trail,97,Patterson,300,300
+100,62,100,HM Valley-Wingdale,62,Mt Vernon West,1525,1525
+18,23,18,Yonkers,23,Dobbs Ferry,300,300
+59,61,59,Woodlawn,61,Wakefield,300,300
+57,100,57,Botanical Garden,100,HM Valley-Wingdale,1675,1675
+80,83,80,Hawthorne,83,Chappaqua,300,300
+100,98,100,HM Valley-Wingdale,98,Pawling,425,425
+25,4,25,Irvington,4,Harlem-125th St.,1275,975
+58,101,58,Williams Bridge,101,Dover Plains,1675,1675
+10,24,10,University Heights,24,Ardsley-on-Hudson,425,425
+110,111,110,Larchmont,111,Mamaroneck,300,300
+62,71,62,Mt Vernon West,71,Scarsdale,300,300
+81,84,81,Pleasantville,84,Mount Kisco,300,300
+25,40,25,Irvington,40,Manitou,775,775
+622,30,622,Yankees-E153 St.,30,Scarborough,575,575
+85,54,85,Bedford Hills,54,Melrose,800,800
+37,14,37,Cortlandt,14,Spuyten Duyvil,800,800
+68,1,68,Crestwood,1,Grand Central,1150,875
+14,30,14,Spuyten Duyvil,30,Scarborough,575,575
+99,74,99,Appalachian Trail,74,White Plains,1150,1150
+65,81,65,Bronxville,81,Pleasantville,500,500
+56,112,56,Fordham,112,Harrison,425,425
+76,90,76,North White Plains,90,Croton Falls,775,775
+9,37,9,Morris Heights,37,Cortlandt,800,800
+68,86,68,Crestwood,86,Katonah,725,725
+88,101,88,Goldens Bridge,101,Dover Plains,825,825
+40,24,40,Manitou,24,Ardsley-on-Hudson,775,775
+58,78,58,Williams Bridge,78,Valhalla,575,575
+10,1,10,University Heights,1,Grand Central,975,725
+29,51,29,Philipse Manor,51,Poughkeepsie,1200,1200
+61,83,61,Wakefield,83,Chappaqua,575,575
+81,61,81,Pleasantville,61,Wakefield,575,575
+86,176,86,Katonah,176,Tenmile River,1000,1000
+25,17,25,Irvington,17,Ludlow,300,300
+10,37,10,University Heights,37,Cortlandt,800,800
+56,4,56,Fordham,4,Harlem-125th St.,975,725
+62,84,62,Mt Vernon West,84,Mount Kisco,725,725
+22,11,22,Hastings-on-Hudson,11,Marble Hill,425,425
+54,80,54,Melrose,80,Hawthorne,575,575
+74,58,74,White Plains,58,Williams Bridge,425,425
+66,54,66,Tuckahoe,54,Melrose,300,300
+4,79,4,Harlem-125th St.,79,Mount Pleasant,1475,1125
+72,97,72,Hartsdale,97,Patterson,1150,1150
+17,18,17,Ludlow,18,Yonkers,300,300
+88,78,88,Goldens Bridge,78,Valhalla,300,300
+40,1,40,Manitou,1,Grand Central,2000,1500
+65,94,65,Bronxville,94,Southeast,875,875
+57,90,57,Botanical Garden,90,Croton Falls,1150,1150
+58,55,58,Williams Bridge,55,Tremont,300,300
+68,99,68,Crestwood,99,Appalachian Trail,1300,1300
+23,622,23,Dobbs Ferry,622,Yankees-E153 St.,425,425
+40,37,40,Manitou,37,Cortlandt,300,300
+58,91,58,Williams Bridge,91,Brewster,1150,1150
+91,88,91,Brewster,88,Goldens Bridge,300,300
+10,14,10,University Heights,14,Spuyten Duyvil,300,300
+62,61,62,Mt Vernon West,61,Wakefield,300,300
+81,74,81,Pleasantville,74,White Plains,300,300
+54,57,54,Melrose,57,Botanical Garden,300,300
+37,4,37,Cortlandt,4,Harlem-125th St.,1750,1325
+4,56,4,Harlem-125th St.,56,Fordham,975,725
+58,176,58,Williams Bridge,176,Tenmile River,1800,1800
+84,85,84,Mount Kisco,85,Bedford Hills,300,300
+88,55,88,Goldens Bridge,55,Tremont,800,800
+99,64,99,Appalachian Trail,64,Fleetwood,1300,1300
+65,71,65,Bronxville,71,Scarsdale,300,300
+17,31,17,Ludlow,31,Ossining,500,500
+76,80,76,North White Plains,80,Hawthorne,300,300
+9,27,9,Morris Heights,27,Tarrytown,575,575
+68,76,68,Crestwood,76,North White Plains,300,300
+88,91,88,Goldens Bridge,91,Brewster,300,300
+40,14,40,Manitou,14,Spuyten Duyvil,1150,1150
+100,65,100,HM Valley-Wingdale,65,Bronxville,1525,1525
+4,177,4,Harlem-125th St.,177,Wassaic,2725,2025
+58,68,58,Williams Bridge,68,Crestwood,300,300
+90,100,90,Croton Falls,100,HM Valley-Wingdale,650,650
+80,86,80,Hawthorne,86,Katonah,300,300
+88,176,88,Goldens Bridge,176,Tenmile River,1000,1000
+33,11,33,Croton-Harmon,11,Marble Hill,575,575
+91,101,91,Brewster,101,Dover Plains,650,650
+23,46,23,Dobbs Ferry,46,Beacon,1150,1150
+110,114,110,Larchmont,114,Rye,375,375
+83,97,83,Chappaqua,97,Patterson,825,825
+43,24,43,Cold Spring,24,Ardsley-on-Hudson,775,775
+84,62,84,Mount Kisco,62,Mt Vernon West,725,725
+22,1,22,Hastings-on-Hudson,1,Grand Central,1275,975
+1,27,1,Grand Central,27,Tarrytown,1475,1125
+64,83,64,Fleetwood,83,Chappaqua,500,500
+84,98,84,Mount Kisco,98,Pawling,675,675
+16,43,16,Riverdale,43,Cold Spring,1150,1150
+56,79,56,Fordham,79,Mount Pleasant,575,575
+76,57,76,North White Plains,57,Botanical Garden,425,425
+9,4,9,Morris Heights,4,Harlem-125th St.,975,725
+101,1,101,Dover Plains,1,Grand Central,2575,1925
+88,68,88,Goldens Bridge,68,Crestwood,725,725
+65,84,65,Bronxville,84,Mount Kisco,725,725
+56,115,56,Fordham,115,Port Chester,500,500
+57,80,57,Botanical Garden,80,Hawthorne,575,575
+9,40,9,Morris Heights,40,Manitou,1150,1150
+25,622,25,Irvington,622,Yankees-E153 St.,425,425
+29,18,29,Philipse Manor,18,Yonkers,500,500
+42,37,42,Garrison,37,Cortlandt,300,300
+68,89,68,Crestwood,89,Purdy's,875,875
+39,31,39,Peekskill,31,Ossining,300,300
+71,100,71,Scarsdale,100,HM Valley-Wingdale,1375,1375
+31,27,31,Ossining,27,Tarrytown,300,300
+10,4,10,University Heights,4,Harlem-125th St.,975,725
+91,78,91,Brewster,78,Valhalla,675,675
+83,74,83,Chappaqua,74,White Plains,300,300
+94,83,94,Southeast,83,Chappaqua,675,675
+72,64,72,Hartsdale,64,Fleetwood,300,300
+4,46,4,Harlem-125th St.,46,Beacon,2300,1750
+43,37,43,Cold Spring,37,Cortlandt,300,300
+89,4,89,Purdy's,4,Harlem-125th St.,2000,1500
+16,20,16,Riverdale,20,Greystone,300,300
+1,40,1,Grand Central,40,Manitou,2000,1500
+99,54,99,Appalachian Trail,54,Melrose,1450,1450
+72,100,72,Hartsdale,100,HM Valley-Wingdale,1375,1375
+65,61,65,Bronxville,61,Wakefield,300,300
+9,17,9,Morris Heights,17,Ludlow,300,300
+68,66,68,Crestwood,66,Tuckahoe,300,300
+40,4,40,Manitou,4,Harlem-125th St.,2000,1500
+79,81,79,Mount Pleasant,81,Pleasantville,300,300
+98,94,98,Pawling,94,Southeast,425,425
+30,39,30,Scarborough,39,Peekskill,300,300
+91,55,91,Brewster,55,Tremont,1150,1150
+101,99,101,Dover Plains,99,Appalachian Trail,425,425
+20,31,20,Greystone,31,Ossining,500,500
+112,114,112,Harrison,114,Rye,375,375
+4,23,4,Harlem-125th St.,23,Dobbs Ferry,1275,975
+31,40,31,Ossining,40,Manitou,675,675
+51,18,51,Poughkeepsie,18,Yonkers,1525,1525
+24,1,24,Ardsley-on-Hudson,1,Grand Central,1275,975
+177,94,177,Wassaic,94,Southeast,750,750
+43,14,43,Cold Spring,14,Spuyten Duyvil,1150,1150
+1,17,1,Grand Central,17,Ludlow,1150,875
+100,176,100,HM Valley-Wingdale,176,Tenmile River,300,300
+4,59,4,Harlem-125th St.,59,Woodlawn,975,725
+105,111,105,Mt Vernon East ,111,Mamaroneck,300,300
+24,37,24,Ardsley-on-Hudson,37,Cortlandt,600,600
+16,33,16,Riverdale,33,Croton-Harmon,575,575
+88,58,88,Goldens Bridge,58,Williams Bridge,800,800
+86,97,86,Katonah,97,Patterson,675,675
+98,71,98,Pawling,71,Scarsdale,1150,1150
+68,79,68,Crestwood,79,Mount Pleasant,500,500
+42,27,42,Garrison,27,Tarrytown,675,675
+101,76,101,Dover Plains,76,North White Plains,1375,1375
+54,1,54,Melrose,1,Grand Central,975,725
+19,43,19,Glenwood,43,Cold Spring,875,875
+79,94,79,Mount Pleasant,94,Southeast,675,675
+11,39,11,Marble Hill,39,Peekskill,800,800
+71,90,71,Scarsdale,90,Croton Falls,775,775
+31,17,31,Ossining,17,Ludlow,500,500
+91,68,91,Brewster,68,Crestwood,875,875
+177,71,177,Wassaic,71,Scarsdale,1475,1475
+83,64,83,Chappaqua,64,Fleetwood,500,500
+72,54,72,Hartsdale,54,Melrose,425,425
+23,49,23,Dobbs Ferry,49,New Hamburg,1150,1150
+24,14,24,Ardsley-on-Hudson,14,Spuyten Duyvil,425,425
+43,27,43,Cold Spring,27,Tarrytown,675,675
+16,10,16,Riverdale,10,University Heights,300,300
+84,65,84,Mount Kisco,65,Bronxville,725,725
+55,1,55,Tremont,1,Grand Central,975,725
+1,30,1,Grand Central,30,Scarborough,1475,1125
+74,100,74,White Plains,100,HM Valley-Wingdale,1375,1375
+64,86,64,Fleetwood,86,Katonah,725,725
+17,11,17,Ludlow,11,Marble Hill,300,300
+97,83,97,Patterson,83,Chappaqua,825,825
+49,43,49,New Hamburg,43,Cold Spring,425,425
+68,56,68,Crestwood,56,Fordham,300,300
+176,4,176,Tenmile River,4,Harlem-125th St.,2725,2025
+27,24,27,Tarrytown,24,Ardsley-on-Hudson,300,300
+19,20,19,Glenwood,20,Greystone,300,300
+79,71,79,Mount Pleasant,71,Scarsdale,300,300
+98,84,98,Pawling,84,Mount Kisco,675,675
+30,29,30,Scarborough,29,Philipse Manor,300,300
+90,80,90,Croton Falls,80,Hawthorne,675,675
+42,40,42,Garrison,40,Manitou,300,300
+101,89,101,Dover Plains,89,Purdy's,650,650
+85,1,85,Bedford Hills,1,Grand Central,1750,1325
+31,30,31,Ossining,30,Scarborough,300,300
+177,84,177,Wassaic,84,Mount Kisco,1000,1000
+43,4,43,Cold Spring,4,Harlem-125th St.,2000,1500
+68,177,68,Crestwood,177,Wassaic,1600,1600
+9,622,9,Morris Heights,622,Yankees-E153 St.,300,300
+37,46,37,Cortlandt,46,Beacon,675,675
+16,23,16,Riverdale,23,Dobbs Ferry,425,425
+56,59,56,Fordham,59,Woodlawn,300,300
+49,20,49,New Hamburg,20,Greystone,1300,1300
+108,106,108,New Rochelle,106,Pelham,300,300
+46,51,46,Beacon,51,Poughkeepsie,425,425
+78,83,78,Valhalla,83,Chappaqua,300,300
+98,61,98,Pawling,61,Wakefield,1450,1450
+90,57,90,Croton Falls,57,Botanical Garden,1150,1150
+115,1,115,Port Chester,1,Grand Central,1375,1025
+42,17,42,Garrison,17,Ludlow,875,875
+101,66,101,Dover Plains,66,Tuckahoe,1525,1525
+55,99,55,Tremont,99,Appalachian Trail,1450,1450
+10,622,10,University Heights,622,Yankees-E153 St.,300,300
+27,37,27,Tarrytown,37,Cortlandt,300,300
+19,33,19,Glenwood,33,Croton-Harmon,500,500
+79,84,79,Mount Pleasant,84,Mount Kisco,300,300
+39,11,39,Peekskill,11,Marble Hill,800,800
+11,29,11,Marble Hill,29,Philipse Manor,575,575
+30,42,30,Scarborough,42,Garrison,675,675
+71,80,71,Scarsdale,80,Hawthorne,300,300
+91,58,91,Brewster,58,Williams Bridge,1150,1150
+177,61,177,Wassaic,61,Wakefield,1800,1800
+83,54,83,Chappaqua,54,Melrose,575,575
+25,49,25,Irvington,49,New Hamburg,1150,1150
+622,39,622,Yankees-E153 St.,39,Peekskill,800,800
+24,4,24,Ardsley-on-Hudson,4,Harlem-125th St.,1275,975
+22,43,22,Hastings-on-Hudson,43,Cold Spring,775,775
+1,20,1,Grand Central,20,Greystone,1150,875
+14,39,14,Spuyten Duyvil,39,Peekskill,800,800
+74,90,74,White Plains,90,Croton Falls,775,775
+66,86,66,Tuckahoe,86,Katonah,725,725
+85,99,85,Bedford Hills,99,Appalachian Trail,675,675
+86,64,86,Katonah,64,Fleetwood,725,725
+40,622,40,Manitou,622,Yankees-E153 St.,1150,1150
+49,33,49,New Hamburg,33,Croton-Harmon,825,825
+55,76,55,Tremont,76,North White Plains,425,425
+1,105,1,Grand Central,105,Mt Vernon East ,1125,850
+27,14,27,Tarrytown,14,Spuyten Duyvil,575,575
+59,83,59,Woodlawn,83,Chappaqua,575,575
+19,10,19,Glenwood,10,University Heights,300,300
+79,61,79,Mount Pleasant,61,Wakefield,575,575
+98,74,98,Pawling,74,White Plains,1150,1150
+30,19,30,Scarborough,19,Glenwood,500,500
+71,57,71,Scarsdale,57,Botanical Garden,425,425
+42,30,42,Garrison,30,Scarborough,675,675
+101,79,101,Dover Plains,79,Mount Pleasant,1200,1200
+54,4,54,Melrose,4,Harlem-125th St.,975,725
+20,11,20,Greystone,11,Marble Hill,300,300
+11,42,11,Marble Hill,42,Garrison,1150,1150
+31,20,31,Ossining,20,Greystone,500,500
+23,16,23,Dobbs Ferry,16,Riverdale,425,425
+177,74,177,Wassaic,74,White Plains,1475,1475
+10,46,10,University Heights,46,Beacon,1450,1450
+85,76,85,Bedford Hills,76,North White Plains,600,600
+49,10,49,New Hamburg,10,University Heights,1450,1450
+66,99,66,Tuckahoe,99,Appalachian Trail,1300,1300
+18,22,18,Yonkers,22,Hastings-on-Hudson,300,300
+97,86,97,Patterson,86,Katonah,675,675
+55,89,55,Tremont,89,Purdy's,1150,1150
+101,56,101,Dover Plains,56,Fordham,1675,1675
+40,46,40,Manitou,46,Beacon,425,425
+100,97,100,HM Valley-Wingdale,97,Patterson,425,425
+19,23,19,Glenwood,23,Dobbs Ferry,300,300
+39,1,39,Peekskill,1,Grand Central,1750,1325
+11,19,11,Marble Hill,19,Glenwood,300,300
+111,106,111,Mamaroneck,106,Pelham,300,300
+58,100,58,Williams Bridge,100,HM Valley-Wingdale,1675,1675
+81,83,81,Pleasantville,83,Chappaqua,300,300
+33,43,33,Croton-Harmon,43,Cold Spring,675,675
+25,39,25,Irvington,39,Peekskill,600,600
+622,29,622,Yankees-E153 St.,29,Philipse Manor,575,575
+4,16,4,Harlem-125th St.,16,Riverdale,975,725
+76,4,76,North White Plains,4,Harlem-125th St.,1275,975
+101,177,101,Dover Plains,177,Wassaic,300,300
+22,33,22,Hastings-on-Hudson,33,Croton-Harmon,300,300
+14,29,14,Spuyten Duyvil,29,Philipse Manor,575,575
+74,80,74,White Plains,80,Hawthorne,300,300
+66,76,66,Tuckahoe,76,North White Plains,300,300
+42,622,42,Garrison,622,Yankees-E153 St.,1150,1150
+86,54,86,Katonah,54,Melrose,800,800
+46,18,46,Beacon,18,Yonkers,1300,1300
+4,101,4,Harlem-125th St.,101,Dover Plains,2575,1925
+37,49,37,Cortlandt,49,New Hamburg,675,675
+85,89,85,Bedford Hills,89,Purdy's,300,300
+49,23,49,New Hamburg,23,Dobbs Ferry,1150,1150
+89,59,89,Purdy's,59,Woodlawn,1150,1150
+55,66,55,Tremont,66,Tuckahoe,300,300
+88,100,88,Goldens Bridge,100,HM Valley-Wingdale,825,825
+27,4,27,Tarrytown,4,Harlem-125th St.,1475,1125
+100,74,100,HM Valley-Wingdale,74,White Plains,1375,1375
+30,9,30,Scarborough,9,Morris Heights,575,575
+43,622,43,Cold Spring,622,Yankees-E153 St.,1150,1150
+106,4,106,Pelham,4,Harlem-125th St.,1125,850
+33,20,33,Croton-Harmon,20,Greystone,500,500
+177,64,177,Wassaic,64,Fleetwood,1600,1600
+62,83,62,Mt Vernon West,83,Chappaqua,500,500
+22,10,22,Hastings-on-Hudson,10,University Heights,425,425
+54,79,54,Melrose,79,Mount Pleasant,575,575
+74,57,74,White Plains,57,Botanical Garden,425,425
+99,1,99,Appalachian Trail,1,Grand Central,2300,1750
+622,42,622,Yankees-E153 St.,42,Garrison,1150,1150
+85,66,85,Bedford Hills,66,Tuckahoe,725,725
+57,4,57,Botanical Garden,4,Harlem-125th St.,975,725
+22,46,22,Hastings-on-Hudson,46,Beacon,1150,1150
+14,42,14,Spuyten Duyvil,42,Garrison,1150,1150
+1,72,1,Grand Central,72,Hartsdale,1275,975
+66,89,66,Tuckahoe,89,Purdy's,875,875
+99,86,99,Appalachian Trail,86,Katonah,675,675
+4,114,4,Harlem-125th St.,114,Rye,1375,1025
+89,72,89,Purdy's,72,Hartsdale,775,775
+9,49,9,Morris Heights,49,New Hamburg,1450,1450
+55,79,55,Tremont,79,Mount Pleasant,575,575
+29,27,29,Philipse Manor,27,Tarrytown,300,300
+1,108,1,Grand Central,108,New Rochelle,1125,850
+11,9,11,Marble Hill,9,Morris Heights,300,300
+58,90,58,Williams Bridge,90,Croton Falls,1150,1150
+24,622,24,Ardsley-on-Hudson,622,Yankees-E153 St.,425,425
+25,29,25,Irvington,29,Philipse Manor,300,300
+622,19,622,Yankees-E153 St.,19,Glenwood,300,300
+10,49,10,University Heights,49,New Hamburg,1450,1450
+22,23,22,Hastings-on-Hudson,23,Dobbs Ferry,300,300
+14,19,14,Spuyten Duyvil,19,Glenwood,300,300
+114,106,114,Rye,106,Pelham,400,400
+85,79,85,Bedford Hills,79,Mount Pleasant,300,300
+4,91,4,Harlem-125th St.,91,Brewster,2000,1500
+71,1,71,Scarsdale,1,Grand Central,1275,975
+55,56,55,Tremont,56,Fordham,300,300
+1,85,1,Grand Central,85,Bedford Hills,1750,1325
+88,90,88,Goldens Bridge,90,Croton Falls,300,300
+100,64,100,HM Valley-Wingdale,64,Fleetwood,1525,1525
+29,40,29,Philipse Manor,40,Manitou,675,675
+61,72,61,Wakefield,72,Hartsdale,425,425
+176,59,176,Tenmile River,59,Woodlawn,1800,1800
+40,49,40,Manitou,49,New Hamburg,425,425
+80,85,80,Hawthorne,85,Bedford Hills,300,300
+33,10,33,Croton-Harmon,10,University Heights,575,575
+72,1,72,Hartsdale,1,Grand Central,1275,975
+91,100,91,Brewster,100,HM Valley-Wingdale,650,650
+55,177,55,Tremont,177,Wassaic,1800,1800
+81,86,81,Pleasantville,86,Katonah,300,300
+25,42,25,Irvington,42,Garrison,775,775
+85,56,85,Bedford Hills,56,Fordham,800,800
+37,16,37,Cortlandt,16,Riverdale,800,800
+4,68,4,Harlem-125th St.,68,Crestwood,1150,875
+24,46,24,Ardsley-on-Hudson,46,Beacon,1150,1150
+84,97,84,Mount Kisco,97,Patterson,675,675
+1,62,1,Grand Central,62,Mt Vernon West,1150,875
+106,115,106,Pelham,115,Port Chester,400,400
+99,76,99,Appalachian Trail,76,North White Plains,1150,1150
+65,83,65,Bronxville,83,Chappaqua,500,500
+56,114,56,Fordham,114,Rye,500,500
+17,43,17,Ludlow,43,Cold Spring,875,875
+57,79,57,Botanical Garden,79,Mount Pleasant,575,575
+9,39,9,Morris Heights,39,Peekskill,800,800
+68,88,68,Crestwood,88,Goldens Bridge,725,725
+29,17,29,Philipse Manor,17,Ludlow,500,500
+80,62,80,Hawthorne,62,Mt Vernon West,500,500
+85,177,85,Bedford Hills,177,Wassaic,1000,1000
+58,80,58,Williams Bridge,80,Hawthorne,575,575
+115,56,115,Port Chester,56,Fordham,500,500
+61,85,61,Wakefield,85,Bedford Hills,800,800
+176,72,176,Tenmile River,72,Hartsdale,1475,1475
+80,98,80,Hawthorne,98,Pawling,825,825
+33,23,33,Croton-Harmon,23,Dobbs Ferry,300,300
+25,19,25,Irvington,19,Glenwood,300,300
+622,9,622,Yankees-E153 St.,9,Morris Heights,300,300
+10,39,10,University Heights,39,Peekskill,800,800
+51,40,51,Poughkeepsie,40,Manitou,650,650
+84,74,84,Mount Kisco,74,White Plains,600,600
+14,9,14,Spuyten Duyvil,9,Morris Heights,300,300
+66,56,66,Tuckahoe,56,Fordham,300,300
+4,81,4,Harlem-125th St.,81,Pleasantville,1475,1125
+72,99,72,Hartsdale,99,Appalachian Trail,1150,1150
+27,622,27,Tarrytown,622,Yankees-E153 St.,575,575
+56,91,56,Fordham,91,Brewster,1150,1150
+90,4,90,Croton Falls,4,Harlem-125th St.,2000,1500
+17,20,17,Ludlow,20,Greystone,300,300
+88,80,88,Goldens Bridge,80,Hawthorne,300,300
+99,89,99,Appalachian Trail,89,Purdy's,425,425
+100,54,100,HM Valley-Wingdale,54,Melrose,1675,1675
+58,57,58,Williams Bridge,57,Botanical Garden,300,300
+83,1,83,Chappaqua,1,Grand Central,1475,1125
+68,101,68,Crestwood,101,Dover Plains,1525,1525
+29,30,29,Philipse Manor,30,Scarborough,300,300
+61,62,61,Wakefield,62,Mt Vernon West,300,300
+66,177,66,Tuckahoe,177,Wassaic,1600,1600
+39,43,39,Peekskill,43,Cold Spring,300,300
+91,90,91,Brewster,90,Croton Falls,300,300
+51,17,51,Poughkeepsie,17,Ludlow,1525,1525
+10,16,10,University Heights,16,Riverdale,300,300
+83,86,83,Chappaqua,86,Katonah,300,300
+54,59,54,Melrose,59,Woodlawn,300,300
+4,58,4,Harlem-125th St.,58,Williams Bridge,975,725
+72,76,72,Hartsdale,76,North White Plains,300,300
+43,49,43,Cold Spring,49,New Hamburg,425,425
+88,57,88,Goldens Bridge,57,Botanical Garden,800,800
+106,105,106,Pelham,105,Mt Vernon East ,300,300
+99,66,99,Appalachian Trail,66,Tuckahoe,1300,1300
+71,4,71,Scarsdale,4,Harlem-125th St.,1275,975
+17,33,17,Ludlow,33,Croton-Harmon,500,500
+9,29,9,Morris Heights,29,Philipse Manor,575,575
+68,78,68,Crestwood,78,Valhalla,500,500
+40,16,40,Manitou,16,Riverdale,1150,1150
+176,62,176,Tenmile River,62,Mt Vernon West,1600,1600
+25,9,25,Irvington,9,Morris Heights,425,425
+20,43,20,Greystone,43,Cold Spring,875,875
+51,30,51,Poughkeepsie,30,Scarborough,1200,1200
+83,99,83,Chappaqua,99,Appalachian Trail,825,825
+84,64,84,Mount Kisco,64,Fleetwood,725,725
+1,29,1,Grand Central,29,Philipse Manor,1475,1125
+4,71,4,Harlem-125th St.,71,Scarsdale,1275,975
+72,89,72,Hartsdale,89,Purdy's,775,775
+24,49,24,Ardsley-on-Hudson,49,New Hamburg,1150,1150
+64,85,64,Fleetwood,85,Bedford Hills,725,725
+56,81,56,Fordham,81,Pleasantville,575,575
+17,10,17,Ludlow,10,University Heights,300,300
+76,59,76,North White Plains,59,Woodlawn,425,425
+68,55,68,Crestwood,55,Tremont,300,300
+1,65,1,Grand Central,65,Bronxville,1150,875
+99,79,99,Appalachian Trail,79,Mount Pleasant,825,825
+65,86,65,Bronxville,86,Katonah,725,725
+98,83,98,Pawling,83,Chappaqua,825,825
+68,91,68,Crestwood,91,Brewster,875,875
+42,39,42,Garrison,39,Peekskill,300,300
+101,88,101,Dover Plains,88,Goldens Bridge,825,825
+80,65,80,Hawthorne,65,Bronxville,500,500
+39,33,39,Peekskill,33,Croton-Harmon,300,300
+11,51,11,Marble Hill,51,Poughkeepsie,1675,1675
+31,29,31,Ossining,29,Philipse Manor,300,300
+91,80,91,Brewster,80,Hawthorne,675,675
+23,25,23,Dobbs Ferry,25,Irvington,300,300
+83,76,83,Chappaqua,76,North White Plains,300,300
+68,176,68,Crestwood,176,Tenmile River,1600,1600
+94,85,94,Southeast,85,Bedford Hills,300,300
+86,1,86,Katonah,1,Grand Central,1750,1325
+72,66,72,Hartsdale,66,Tuckahoe,300,300
+64,62,64,Fleetwood,62,Mt Vernon West,300,300
+43,39,43,Cold Spring,39,Peekskill,300,300
+16,22,16,Riverdale,22,Hastings-on-Hudson,425,425
+108,105,108,New Rochelle,105,Mt Vernon East ,300,300
+1,42,1,Grand Central,42,Garrison,2000,1500
+99,56,99,Appalachian Trail,56,Fordham,1450,1450
+64,98,64,Fleetwood,98,Pawling,1300,1300
+56,94,56,Fordham,94,Southeast,1150,1150
+17,23,17,Ludlow,23,Dobbs Ferry,300,300
+57,59,57,Botanical Garden,59,Woodlawn,300,300
+76,72,76,North White Plains,72,Hartsdale,300,300
+9,19,9,Morris Heights,19,Glenwood,300,300
+79,83,79,Mount Pleasant,83,Chappaqua,300,300
+39,10,39,Peekskill,10,University Heights,800,800
+71,79,71,Scarsdale,79,Mount Pleasant,300,300
+91,57,91,Brewster,57,Botanical Garden,1150,1150
+94,62,94,Southeast,62,Mt Vernon West,875,875
+74,4,74,White Plains,4,Harlem-125th St.,1275,975
+99,177,99,Appalachian Trail,177,Wassaic,450,450
+20,33,20,Greystone,33,Croton-Harmon,500,500
+39,46,39,Peekskill,46,Beacon,675,675
+31,42,31,Ossining,42,Garrison,675,675
+4,25,4,Harlem-125th St.,25,Irvington,1275,975
+51,20,51,Poughkeepsie,20,Greystone,1525,1525
+83,89,83,Chappaqua,89,Purdy's,675,675
+43,16,43,Cold Spring,16,Riverdale,1150,1150
+84,54,84,Mount Kisco,54,Melrose,800,800
+94,98,94,Southeast,98,Pawling,425,425
+1,19,1,Grand Central,19,Glenwood,1150,875
+4,61,4,Harlem-125th St.,61,Wakefield,975,725
+72,79,72,Hartsdale,79,Mount Pleasant,300,300
+46,27,46,Beacon,27,Tarrytown,825,825
+56,71,56,Fordham,71,Scarsdale,425,425
+86,99,86,Katonah,99,Appalachian Trail,675,675
+57,72,57,Botanical Garden,72,Hartsdale,425,425
+42,29,42,Garrison,29,Philipse Manor,675,675
+101,78,101,Dover Plains,78,Valhalla,1200,1200
+27,49,27,Tarrytown,49,New Hamburg,825,825
+20,10,20,Greystone,10,University Heights,300,300
+39,23,39,Peekskill,23,Dobbs Ferry,600,600
+31,19,31,Ossining,19,Glenwood,500,500
+83,66,83,Chappaqua,66,Tuckahoe,500,500
+622,51,622,Yankees-E153 St.,51,Poughkeepsie,1675,1675
+72,56,72,Hartsdale,56,Fordham,425,425
+24,16,24,Ardsley-on-Hudson,16,Riverdale,425,425
+80,176,80,Hawthorne,176,Tenmile River,1275,1275
+66,98,66,Tuckahoe,98,Pawling,1300,1300
+46,40,46,Beacon,40,Manitou,425,425
+86,76,86,Katonah,76,North White Plains,600,600
+56,84,56,Fordham,84,Mount Kisco,800,800
+97,85,97,Patterson,85,Bedford Hills,675,675
+89,81,89,Purdy's,81,Pleasantville,675,675
+68,58,68,Crestwood,58,Williams Bridge,300,300
+55,88,55,Tremont,88,Goldens Bridge,800,800
+101,55,101,Dover Plains,55,Tremont,1675,1675
+19,22,19,Glenwood,22,Hastings-on-Hudson,300,300
+72,177,72,Hartsdale,177,Wassaic,1475,1475
+11,18,11,Marble Hill,18,Yonkers,300,300
+98,86,98,Pawling,86,Katonah,675,675
+30,31,30,Scarborough,31,Ossining,300,300
+101,91,101,Dover Plains,91,Brewster,650,650
+20,23,20,Greystone,23,Dobbs Ferry,300,300
+112,106,112,Harrison,106,Pelham,300,300
+51,10,51,Poughkeepsie,10,University Heights,1675,1675
+177,86,177,Wassaic,86,Katonah,1000,1000
+115,111,115,Port Chester,111,Mamaroneck,375,375
+1,9,1,Grand Central,9,Morris Heights,975,725
+85,88,85,Bedford Hills,88,Goldens Bridge,300,300
+46,17,46,Beacon,17,Ludlow,1300,1300
+64,65,64,Fleetwood,65,Bronxville,300,300
+56,61,56,Fordham,61,Wakefield,300,300
+97,62,97,Patterson,62,Mt Vernon West,1300,1300
+49,22,49,New Hamburg,22,Hastings-on-Hudson,1150,1150
+86,89,86,Katonah,89,Purdy's,300,300
+59,72,59,Woodlawn,72,Hartsdale,425,425
+78,85,78,Valhalla,85,Bedford Hills,300,300
+97,98,97,Patterson,98,Pawling,300,300
+89,94,89,Purdy's,94,Southeast,300,300
+90,59,90,Croton Falls,59,Woodlawn,1150,1150
+42,19,42,Garrison,19,Glenwood,875,875
+55,101,55,Tremont,101,Dover Plains,1675,1675
+101,68,101,Dover Plains,68,Crestwood,1525,1525
+27,39,27,Tarrytown,39,Peekskill,300,300
+11,31,11,Marble Hill,31,Ossining,575,575
+31,9,31,Ossining,9,Morris Heights,575,575
+83,56,83,Chappaqua,56,Fordham,575,575
+94,65,94,Southeast,65,Bronxville,875,875
+25,51,25,Irvington,51,Poughkeepsie,1375,1375
+37,25,37,Cortlandt,25,Irvington,600,600
+66,88,66,Tuckahoe,88,Goldens Bridge,725,725
+100,1,100,HM Valley-Wingdale,1,Grand Central,2575,1925
+85,101,85,Bedford Hills,101,Dover Plains,825,825
+46,30,46,Beacon,30,Scarborough,825,825
+86,66,86,Katonah,66,Tuckahoe,725,725
+78,62,78,Valhalla,62,Mt Vernon West,500,500
+58,4,58,Williams Bridge,4,Harlem-125th St.,975,725
+83,177,83,Chappaqua,177,Wassaic,1275,1275
+89,71,89,Purdy's,71,Scarsdale,775,775
+55,78,55,Tremont,78,Valhalla,575,575
+27,16,27,Tarrytown,16,Riverdale,575,575
+59,85,59,Woodlawn,85,Bedford Hills,800,800
+78,98,78,Valhalla,98,Pawling,825,825
+71,59,71,Scarsdale,59,Woodlawn,425,425
+90,72,90,Croton Falls,72,Hartsdale,775,775
+23,18,23,Dobbs Ferry,18,Yonkers,300,300
+177,76,177,Wassaic,76,North White Plains,1475,1475
+54,91,54,Melrose,91,Brewster,1150,1150
+88,4,88,Goldens Bridge,4,Harlem-125th St.,1750,1325
+66,65,66,Tuckahoe,65,Bronxville,300,300
+85,78,85,Bedford Hills,78,Valhalla,300,300
+66,101,66,Tuckahoe,101,Dover Plains,1525,1525
+86,79,86,Katonah,79,Mount Pleasant,300,300
+18,24,18,Yonkers,24,Ardsley-on-Hudson,300,300
+59,62,59,Woodlawn,62,Mt Vernon West,300,300
+89,84,89,Purdy's,84,Mount Kisco,300,300
+42,9,42,Garrison,9,Morris Heights,1150,1150
+55,91,55,Tremont,91,Brewster,1150,1150
+101,58,101,Dover Plains,58,Williams Bridge,1675,1675
+29,39,29,Philipse Manor,39,Peekskill,300,300
+100,99,100,HM Valley-Wingdale,99,Appalachian Trail,425,425
+19,25,19,Glenwood,25,Irvington,300,300
+64,176,64,Fleetwood,176,Tenmile River,1600,1600
+111,108,111,Mamaroneck,108,New Rochelle,300,300
+176,94,176,Tenmile River,94,Southeast,750,750
+62,72,62,Mt Vernon West,72,Hartsdale,300,300
+81,85,81,Pleasantville,85,Bedford Hills,300,300
+622,31,622,Yankees-E153 St.,31,Ossining,575,575
+85,55,85,Bedford Hills,55,Tremont,800,800
+14,31,14,Spuyten Duyvil,31,Ossining,575,575
+106,114,106,Pelham,114,Rye,400,400
+66,78,66,Tuckahoe,78,Valhalla,500,500
+85,91,85,Bedford Hills,91,Brewster,300,300
+46,20,46,Beacon,20,Greystone,1300,1300
+18,1,18,Yonkers,1,Grand Central,1150,875
+86,56,86,Katonah,56,Fordham,800,800
+97,65,97,Patterson,65,Bronxville,1300,1300
+49,25,49,New Hamburg,25,Irvington,1150,1150
+89,61,89,Purdy's,61,Wakefield,1150,1150
+110,4,110,Larchmont,4,Harlem-125th St.,1275,975
+55,68,55,Tremont,68,Crestwood,300,300
+1,97,1,Grand Central,97,Patterson,2300,1750
+18,37,18,Yonkers,37,Cortlandt,725,725
+100,76,100,HM Valley-Wingdale,76,North White Plains,1375,1375
+30,11,30,Scarborough,11,Marble Hill,575,575
+176,71,176,Tenmile River,71,Scarsdale,1475,1475
+80,97,80,Hawthorne,97,Patterson,825,825
+81,62,81,Pleasantville,62,Mt Vernon West,500,500
+33,22,33,Croton-Harmon,22,Hastings-on-Hudson,300,300
+86,177,86,Katonah,177,Wassaic,1000,1000
+25,18,25,Irvington,18,Yonkers,300,300
+62,85,62,Mt Vernon West,85,Bedford Hills,725,725
+81,98,81,Pleasantville,98,Pawling,825,825
+54,81,54,Melrose,81,Pleasantville,575,575
+74,59,74,White Plains,59,Woodlawn,425,425
+66,55,66,Tuckahoe,55,Tremont,300,300
+85,68,85,Bedford Hills,68,Crestwood,725,725
+1,74,1,Grand Central,74,White Plains,1275,975
+88,79,88,Goldens Bridge,79,Mount Pleasant,300,300
+18,14,18,Yonkers,14,Spuyten Duyvil,300,300
+99,88,99,Appalachian Trail,88,Goldens Bridge,675,675
+78,65,78,Valhalla,65,Bronxville,500,500
+91,4,91,Brewster,4,Harlem-125th St.,2000,1500
+9,51,9,Morris Heights,51,Poughkeepsie,1675,1675
+68,100,68,Crestwood,100,HM Valley-Wingdale,1525,1525
+1,110,1,Grand Central,110,Larchmont,1275,975
+80,74,80,Hawthorne,74,White Plains,300,300
+66,176,66,Tuckahoe,176,Tenmile River,1600,1600
+100,89,100,HM Valley-Wingdale,89,Purdy's,650,650
+84,1,84,Mount Kisco,1,Grand Central,1750,1325
+61,97,61,Wakefield,97,Patterson,1450,1450
+176,84,176,Tenmile River,84,Mount Kisco,1000,1000
+54,58,54,Melrose,58,Williams Bridge,300,300
+25,31,25,Irvington,31,Ossining,300,300
+10,51,10,University Heights,51,Poughkeepsie,1675,1675
+84,86,84,Mount Kisco,86,Katonah,300,300
+22,25,22,Hastings-on-Hudson,25,Irvington,300,300
+54,94,54,Melrose,94,Southeast,1150,1150
+114,108,114,Rye,108,New Rochelle,400,400
+74,72,74,White Plains,72,Hartsdale,300,300
+66,68,66,Tuckahoe,68,Crestwood,300,300
+97,55,97,Patterson,55,Tremont,1450,1450
+76,81,76,North White Plains,81,Pleasantville,300,300
+55,58,55,Tremont,58,Williams Bridge,300,300
+99,101,99,Appalachian Trail,101,Dover Plains,425,425
+100,66,100,HM Valley-Wingdale,66,Tuckahoe,1525,1525
+29,42,29,Philipse Manor,42,Garrison,675,675
+61,74,61,Wakefield,74,White Plains,425,425
+176,61,176,Tenmile River,61,Wakefield,1800,1800
+40,51,40,Manitou,51,Poughkeepsie,650,650
+97,176,97,Patterson,176,Tenmile River,450,450
+110,115,110,Larchmont,115,Port Chester,375,375
+54,71,54,Melrose,71,Scarsdale,425,425
+85,58,85,Bedford Hills,58,Williams Bridge,800,800
+72,88,72,Hartsdale,88,Goldens Bridge,600,600
+84,99,84,Mount Kisco,99,Appalachian Trail,675,675
+1,64,1,Grand Central,64,Fleetwood,1150,875
+18,4,18,Yonkers,4,Harlem-125th St.,1150,875
+99,78,99,Appalachian Trail,78,Valhalla,825,825
+4,106,4,Harlem-125th St.,106,Pelham,1125,850
+65,85,65,Bronxville,85,Bedford Hills,725,725
+57,81,57,Botanical Garden,81,Pleasantville,575,575
+76,94,76,North White Plains,94,Southeast,775,775
+68,90,68,Crestwood,90,Croton Falls,875,875
+29,19,29,Philipse Manor,19,Glenwood,500,500
+80,64,80,Hawthorne,64,Fleetwood,500,500
+100,79,100,HM Valley-Wingdale,79,Mount Pleasant,1200,1200
+176,74,176,Tenmile River,74,White Plains,1475,1475
+81,65,81,Pleasantville,65,Bronxville,500,500
+622,11,622,Yankees-E153 St.,11,Marble Hill,300,300
+51,42,51,Poughkeepsie,42,Garrison,650,650
+84,76,84,Mount Kisco,76,North White Plains,600,600
+14,11,14,Spuyten Duyvil,11,Marble Hill,300,300
+66,58,66,Tuckahoe,58,Williams Bridge,300,300
+99,55,99,Appalachian Trail,55,Tremont,1450,1450
+4,83,4,Harlem-125th St.,83,Chappaqua,1475,1125
+72,101,72,Hartsdale,101,Dover Plains,1375,1375
+64,97,64,Fleetwood,97,Patterson,1300,1300
+65,62,65,Bronxville,62,Mt Vernon West,300,300
+17,22,17,Ludlow,22,Hastings-on-Hudson,300,300
+76,71,76,North White Plains,71,Scarsdale,300,300
+9,18,9,Morris Heights,18,Yonkers,300,300
+99,91,99,Appalachian Trail,91,Brewster,425,425
+100,56,100,HM Valley-Wingdale,56,Fordham,1675,1675
+65,98,65,Bronxville,98,Pawling,1300,1300
+57,94,57,Botanical Garden,94,Southeast,1150,1150
+58,59,58,Williams Bridge,59,Woodlawn,300,300
+42,51,42,Garrison,51,Poughkeepsie,650,650
+101,100,101,Dover Plains,100,HM Valley-Wingdale,300,300
+61,64,61,Wakefield,64,Fleetwood,300,300
+99,176,99,Appalachian Trail,176,Tenmile River,450,450
+10,18,10,University Heights,18,Yonkers,300,300
+51,19,51,Poughkeepsie,19,Glenwood,1525,1525
+110,105,110,Larchmont,105,Mt Vernon East ,300,300
+83,88,83,Chappaqua,88,Goldens Bridge,300,300
+62,65,62,Mt Vernon West,65,Bronxville,300,300
+54,61,54,Melrose,61,Wakefield,300,300
+94,97,94,Southeast,97,Patterson,425,425
+100,177,100,HM Valley-Wingdale,177,Wassaic,300,300
+72,78,72,Hartsdale,78,Valhalla,300,300
+105,112,105,Mt Vernon East ,112,Harrison,300,300
+64,74,64,Fleetwood,74,White Plains,300,300
+43,51,43,Cold Spring,51,Poughkeepsie,650,650
+84,89,84,Mount Kisco,89,Purdy's,300,300
+1,54,1,Grand Central,54,Melrose,975,725
+88,59,88,Goldens Bridge,59,Woodlawn,800,800
+99,68,99,Appalachian Trail,68,Crestwood,1300,1300
+56,106,56,Fordham,106,Pelham,300,300
+57,71,57,Botanical Garden,71,Scarsdale,425,425
+76,84,76,North White Plains,84,Mount Kisco,600,600
+9,31,9,Morris Heights,31,Ossining,575,575
+68,80,68,Crestwood,80,Hawthorne,500,500
+29,9,29,Philipse Manor,9,Morris Heights,575,575
+40,18,40,Manitou,18,Yonkers,875,875
+80,54,80,Hawthorne,54,Melrose,575,575
+58,72,58,Williams Bridge,72,Hartsdale,425,425
+71,91,71,Scarsdale,91,Brewster,775,775
+105,4,105,Mt Vernon East ,4,Harlem-125th St.,1125,850
+81,55,81,Pleasantville,55,Tremont,575,575
+94,74,94,Southeast,74,White Plains,775,775
+4,37,4,Harlem-125th St.,37,Cortlandt,1750,1325
+83,101,83,Chappaqua,101,Dover Plains,1200,1200
+84,66,84,Mount Kisco,66,Tuckahoe,725,725
+16,11,16,Riverdale,11,Marble Hill,300,300
+1,31,1,Grand Central,31,Ossining,1475,1125
+72,91,72,Hartsdale,91,Brewster,775,775
+24,51,24,Ardsley-on-Hudson,51,Poughkeepsie,1375,1375
+56,83,56,Fordham,83,Chappaqua,575,575
+76,61,76,North White Plains,61,Wakefield,425,425
+68,57,68,Crestwood,57,Botanical Garden,300,300
+81,176,81,Pleasantville,176,Tenmile River,1275,1275
+88,72,88,Goldens Bridge,72,Hartsdale,600,600
+57,84,57,Botanical Garden,84,Mount Kisco,800,800
+98,85,98,Pawling,85,Bedford Hills,675,675
+90,81,90,Croton Falls,81,Pleasantville,675,675
+61,54,61,Wakefield,54,Melrose,300,300
+101,90,101,Dover Plains,90,Croton Falls,650,650
+20,22,20,Greystone,22,Hastings-on-Hudson,300,300
+51,9,51,Poughkeepsie,9,Morris Heights,1675,1675
+177,85,177,Wassaic,85,Bedford Hills,1000,1000
+83,78,83,Chappaqua,78,Valhalla,300,300
+23,27,23,Dobbs Ferry,27,Tarrytown,300,300
+72,68,72,Hartsdale,68,Crestwood,300,300
+84,79,84,Mount Kisco,79,Mount Pleasant,300,300
+18,622,18,Yonkers,622,Yankees-E153 St.,300,300
+16,24,16,Riverdale,24,Ardsley-on-Hudson,425,425
+99,58,99,Appalachian Trail,58,Williams Bridge,1450,1450
+86,88,86,Katonah,88,Goldens Bridge,300,300
+57,61,57,Botanical Garden,61,Wakefield,300,300
+76,74,76,North White Plains,74,White Plains,300,300
+42,18,42,Garrison,18,Yonkers,875,875
+55,100,55,Tremont,100,HM Valley-Wingdale,1675,1675
+79,85,79,Mount Pleasant,85,Bedford Hills,300,300
+30,43,30,Scarborough,43,Cold Spring,675,675
+71,81,71,Scarsdale,81,Pleasantville,300,300
+90,94,90,Croton Falls,94,Southeast,300,300
+91,59,91,Brewster,59,Woodlawn,1150,1150
+83,55,83,Chappaqua,55,Tremont,575,575
+94,64,94,Southeast,64,Fleetwood,875,875
+4,27,4,Harlem-125th St.,27,Tarrytown,1475,1125
+51,22,51,Poughkeepsie,22,Hastings-on-Hudson,1375,1375
+177,98,177,Wassaic,98,Pawling,450,450
+23,40,23,Dobbs Ferry,40,Manitou,775,775
+84,56,84,Mount Kisco,56,Fordham,800,800
+16,1,16,Riverdale,1,Grand Central,975,725
+43,18,43,Cold Spring,18,Yonkers,875,875
+83,91,83,Chappaqua,91,Brewster,675,675
+72,81,72,Hartsdale,81,Pleasantville,300,300
+85,100,85,Bedford Hills,100,HM Valley-Wingdale,825,825
+46,29,46,Beacon,29,Philipse Manor,825,825
+105,115,105,Mt Vernon East ,115,Port Chester,400,400
+83,176,83,Chappaqua,176,Tenmile River,1275,1275
+86,101,86,Katonah,101,Dover Plains,825,825
+18,46,18,Yonkers,46,Beacon,1300,1300
+59,84,59,Woodlawn,84,Mount Kisco,800,800
+78,97,78,Valhalla,97,Patterson,825,825
+79,62,79,Mount Pleasant,62,Mt Vernon West,500,500
+30,20,30,Scarborough,20,Greystone,500,500
+84,177,84,Mount Kisco,177,Wassaic,1000,1000
+90,71,90,Croton Falls,71,Scarsdale,775,775
+42,31,42,Garrison,31,Ossining,675,675
+101,80,101,Dover Plains,80,Hawthorne,1200,1200
+27,51,27,Tarrytown,51,Poughkeepsie,1200,1200
+79,98,79,Mount Pleasant,98,Pawling,825,825
+39,25,39,Peekskill,25,Irvington,600,600
+11,43,11,Marble Hill,43,Cold Spring,1150,1150
+71,94,71,Scarsdale,94,Southeast,775,775
+91,72,91,Brewster,72,Hartsdale,775,775
+23,17,23,Dobbs Ferry,17,Ludlow,300,300
+83,68,83,Chappaqua,68,Crestwood,500,500
+72,58,72,Hartsdale,58,Williams Bridge,425,425
+4,40,4,Harlem-125th St.,40,Manitou,2000,1500
+24,18,24,Ardsley-on-Hudson,18,Yonkers,300,300
+64,54,64,Fleetwood,54,Melrose,300,300
+16,14,16,Riverdale,14,Spuyten Duyvil,300,300
+66,100,66,Tuckahoe,100,HM Valley-Wingdale,1525,1525
+46,42,46,Beacon,42,Garrison,425,425
+86,78,86,Katonah,78,Valhalla,300,300
+78,74,78,Valhalla,74,White Plains,300,300
+89,83,89,Purdy's,83,Chappaqua,675,675
+55,90,55,Tremont,90,Croton Falls,1150,1150
+101,57,101,Dover Plains,57,Botanical Garden,1675,1675
+59,97,59,Woodlawn,97,Patterson,1450,1450
+19,24,19,Glenwood,24,Ardsley-on-Hudson,300,300
+11,20,11,Marble Hill,20,Greystone,300,300
+98,88,98,Pawling,88,Goldens Bridge,675,675
+30,33,30,Scarborough,33,Croton-Harmon,300,300
+90,84,90,Croton Falls,84,Mount Kisco,300,300
+94,54,94,Southeast,54,Melrose,1150,1150
+20,25,20,Greystone,25,Irvington,300,300
+65,176,65,Bronxville,176,Tenmile River,1600,1600
+112,108,112,Harrison,108,New Rochelle,300,300
+4,17,4,Harlem-125th St.,17,Ludlow,1150,875
+177,88,177,Wassaic,88,Goldens Bridge,1000,1000
+23,30,23,Dobbs Ferry,30,Scarborough,300,300
+1,11,1,Grand Central,11,Marble Hill,975,725
+74,81,74,White Plains,81,Pleasantville,300,300
+85,90,85,Bedford Hills,90,Croton Falls,300,300
+46,19,46,Beacon,19,Glenwood,1300,1300
+86,55,86,Katonah,55,Tremont,800,800
+97,64,97,Patterson,64,Fleetwood,1300,1300
+49,24,49,New Hamburg,24,Ardsley-on-Hudson,1150,1150
+108,110,108,New Rochelle,110,Larchmont,300,300
+86,91,86,Katonah,91,Brewster,300,300
+59,74,59,Woodlawn,74,White Plains,425,425
+19,1,19,Glenwood,1,Grand Central,1150,875
+97,100,97,Patterson,100,HM Valley-Wingdale,425,425
+98,65,98,Pawling,65,Bronxville,1300,1300
+30,10,30,Scarborough,10,University Heights,575,575
+90,61,90,Croton Falls,61,Wakefield,1150,1150
+19,37,19,Glenwood,37,Cortlandt,725,725
+11,33,11,Marble Hill,33,Croton-Harmon,575,575
+71,84,71,Scarsdale,84,Mount Kisco,600,600
+31,11,31,Ossining,11,Marble Hill,575,575
+177,65,177,Wassaic,65,Bronxville,1600,1600
+83,58,83,Chappaqua,58,Williams Bridge,575,575
+81,97,81,Pleasantville,97,Patterson,825,825
+622,43,622,Yankees-E153 St.,43,Cold Spring,1150,1150
+37,27,37,Cortlandt,27,Tarrytown,300,300
+16,4,16,Riverdale,4,Harlem-125th St.,975,725
+49,1,49,New Hamburg,1,Grand Central,2300,1750
+14,43,14,Spuyten Duyvil,43,Cold Spring,1150,1150
+74,94,74,White Plains,94,Southeast,775,775
+66,90,66,Tuckahoe,90,Croton Falls,875,875
+86,68,86,Katonah,68,Crestwood,725,725
+4,115,4,Harlem-125th St.,115,Port Chester,1375,1025
+78,64,78,Valhalla,64,Fleetwood,500,500
+49,37,49,New Hamburg,37,Cortlandt,675,675
+55,80,55,Tremont,80,Hawthorne,575,575
+27,18,27,Tarrytown,18,Yonkers,500,500
+18,49,18,Yonkers,49,New Hamburg,1300,1300
+100,88,100,HM Valley-Wingdale,88,Goldens Bridge,825,825
+19,14,19,Glenwood,14,Spuyten Duyvil,300,300
+79,65,79,Mount Pleasant,65,Bronxville,500,500
+11,10,11,Marble Hill,10,University Heights,300,300
+30,23,30,Scarborough,23,Dobbs Ferry,300,300
+71,61,71,Scarsdale,61,Wakefield,425,425
+176,83,176,Tenmile River,83,Chappaqua,1275,1275
+25,30,25,Irvington,30,Scarborough,300,300
+622,20,622,Yankees-E153 St.,20,Greystone,300,300
+62,97,62,Mt Vernon West,97,Patterson,1300,1300
+22,24,22,Hastings-on-Hudson,24,Ardsley-on-Hudson,300,300
+14,20,14,Spuyten Duyvil,20,Greystone,300,300
+74,71,74,White Plains,71,Scarsdale,300,300
+85,80,85,Bedford Hills,80,Hawthorne,300,300
+46,9,46,Beacon,9,Morris Heights,1450,1450
+37,40,37,Cortlandt,40,Manitou,300,300
+97,54,97,Patterson,54,Melrose,1450,1450
+49,14,49,New Hamburg,14,Spuyten Duyvil,1450,1450
+55,57,55,Tremont,57,Botanical Garden,300,300
+1,86,1,Grand Central,86,Katonah,1750,1325
+80,1,80,Hawthorne,1,Grand Central,1475,1125
+59,64,59,Woodlawn,64,Fleetwood,300,300
+99,100,99,Appalachian Trail,100,HM Valley-Wingdale,425,425
+98,55,98,Pawling,55,Tremont,1450,1450
+42,11,42,Garrison,11,Marble Hill,1150,1150
+4,622,4,Harlem-125th St.,622,Yankees-E153 St.,975,725
+100,101,100,HM Valley-Wingdale,101,Dover Plains,300,300
+11,23,11,Marble Hill,23,Dobbs Ferry,425,425
+111,110,111,Mamaroneck,110,Larchmont,300,300
+177,55,177,Wassaic,55,Tremont,1800,1800
+10,27,10,University Heights,27,Tarrytown,575,575
+62,74,62,Mt Vernon West,74,White Plains,300,300
+25,43,25,Irvington,43,Cold Spring,775,775
+622,33,622,Yankees-E153 St.,33,Croton-Harmon,575,575
+85,57,85,Bedford Hills,57,Botanical Garden,800,800
+98,176,98,Pawling,176,Tenmile River,450,450
+37,17,37,Cortlandt,17,Ludlow,725,725
+22,37,22,Hastings-on-Hudson,37,Cortlandt,600,600
+68,4,68,Crestwood,4,Harlem-125th St.,1150,875
+14,33,14,Spuyten Duyvil,33,Croton-Harmon,575,575
+74,84,74,White Plains,84,Mount Kisco,600,600
+66,80,66,Tuckahoe,80,Hawthorne,500,500
+86,58,86,Katonah,58,Williams Bridge,800,800
+4,105,4,Harlem-125th St.,105,Mt Vernon East ,1125,850
+78,54,78,Valhalla,54,Melrose,575,575
+177,176,177,Wassaic,176,Tenmile River,300,300
+1,99,1,Grand Central,99,Appalachian Trail,2300,1750
+40,27,40,Manitou,27,Tarrytown,675,675
+19,4,19,Glenwood,4,Harlem-125th St.,1150,875
+100,78,100,HM Valley-Wingdale,78,Valhalla,1200,1200
+58,81,58,Williams Bridge,81,Pleasantville,575,575
+61,86,61,Wakefield,86,Katonah,800,800
+80,99,80,Hawthorne,99,Appalachian Trail,825,825
+81,64,81,Pleasantville,64,Fleetwood,500,500
+33,24,33,Croton-Harmon,24,Ardsley-on-Hudson,300,300
+25,20,25,Irvington,20,Greystone,300,300
+622,10,622,Yankees-E153 St.,10,University Heights,300,300
+10,40,10,University Heights,40,Manitou,1150,1150
+22,14,22,Hastings-on-Hudson,14,Spuyten Duyvil,425,425
+81,100,81,Pleasantville,100,HM Valley-Wingdale,1200,1200
+54,83,54,Melrose,83,Chappaqua,575,575
+14,10,14,Spuyten Duyvil,10,University Heights,300,300
+74,61,74,White Plains,61,Wakefield,425,425
+66,57,66,Tuckahoe,57,Botanical Garden,300,300
+37,30,37,Cortlandt,30,Scarborough,300,300
+49,4,49,New Hamburg,4,Harlem-125th St.,2300,1750
+1,76,1,Grand Central,76,North White Plains,1275,975
+88,81,88,Goldens Bridge,81,Pleasantville,300,300
+18,16,18,Yonkers,16,Riverdale,300,300
+59,54,59,Woodlawn,54,Melrose,300,300
+100,55,100,HM Valley-Wingdale,55,Tremont,1675,1675
+99,90,99,Appalachian Trail,90,Croton Falls,425,425
+65,97,65,Bronxville,97,Patterson,1300,1300
+29,31,29,Philipse Manor,31,Ossining,300,300
+80,76,80,Hawthorne,76,North White Plains,300,300
+100,91,100,HM Valley-Wingdale,91,Brewster,650,650
+33,1,33,Croton-Harmon,1,Grand Central,1475,1125
+58,94,58,Williams Bridge,94,Southeast,1150,1150
+10,17,10,University Heights,17,Ludlow,300,300
+61,99,61,Wakefield,99,Appalachian Trail,1450,1450
+176,86,176,Tenmile River,86,Katonah,1000,1000
+62,64,62,Mt Vernon West,64,Fleetwood,300,300
+33,37,33,Croton-Harmon,37,Cortlandt,300,300
+25,33,25,Irvington,33,Croton-Harmon,300,300
+622,23,622,Yankees-E153 St.,23,Dobbs Ferry,425,425
+84,88,84,Mount Kisco,88,Goldens Bridge,300,300
+22,27,22,Hastings-on-Hudson,27,Tarrytown,300,300
+14,23,14,Spuyten Duyvil,23,Dobbs Ferry,425,425
+114,110,114,Rye,110,Larchmont,375,375
+65,74,65,Bronxville,74,White Plains,300,300
+56,105,56,Fordham,105,Mt Vernon East ,300,300
+76,83,76,North White Plains,83,Chappaqua,300,300
+9,30,9,Morris Heights,30,Scarborough,575,575
+1,89,1,Grand Central,89,Purdy's,2000,1500
+88,94,88,Goldens Bridge,94,Southeast,300,300
+40,17,40,Manitou,17,Ludlow,875,875
+100,68,100,HM Valley-Wingdale,68,Crestwood,1525,1525
+58,71,58,Williams Bridge,71,Scarsdale,425,425
+61,76,61,Wakefield,76,North White Plains,425,425
+37,622,37,Cortlandt,622,Yankees-E153 St.,800,800
+81,54,81,Pleasantville,54,Melrose,575,575
+80,89,80,Hawthorne,89,Purdy's,675,675
+33,14,33,Croton-Harmon,14,Spuyten Duyvil,575,575
+25,10,25,Irvington,10,University Heights,425,425
+64,1,64,Fleetwood,1,Grand Central,1150,875
+10,30,10,University Heights,30,Scarborough,575,575
+51,31,51,Poughkeepsie,31,Ossining,1200,1200
+83,100,83,Chappaqua,100,HM Valley-Wingdale,1200,1200
+22,4,22,Hastings-on-Hudson,4,Harlem-125th St.,1275,975
+4,72,4,Harlem-125th St.,72,Hartsdale,1275,975
+72,90,72,Hartsdale,90,Croton Falls,775,775
+84,101,84,Mount Kisco,101,Dover Plains,825,825
+16,46,16,Riverdale,46,Beacon,1450,1450
+101,4,101,Dover Plains,4,Harlem-125th St.,2575,1925
+1,66,1,Grand Central,66,Tuckahoe,1150,875
+88,71,88,Goldens Bridge,71,Scarsdale,600,600
+99,80,99,Appalachian Trail,80,Hawthorne,825,825
+57,83,57,Botanical Garden,83,Chappaqua,575,575
+9,43,9,Morris Heights,43,Cold Spring,1150,1150
+94,1,94,Southeast,1,Grand Central,2000,1500
+40,30,40,Manitou,30,Scarborough,675,675
+80,66,80,Hawthorne,66,Tuckahoe,500,500
+58,84,58,Williams Bridge,84,Mount Kisco,800,800
+91,81,91,Brewster,81,Pleasantville,675,675
+61,89,61,Wakefield,89,Purdy's,1150,1150
+62,54,62,Mt Vernon West,54,Melrose,300,300
+176,76,176,Tenmile River,76,North White Plains,1475,1475
+94,86,94,Southeast,86,Katonah,300,300
+4,49,4,Harlem-125th St.,49,New Hamburg,2300,1750
+24,27,24,Ardsley-on-Hudson,27,Tarrytown,300,300
+43,40,43,Cold Spring,40,Manitou,300,300
+84,78,84,Mount Kisco,78,Valhalla,300,300
+1,43,1,Grand Central,43,Cold Spring,2000,1500
+99,57,99,Appalachian Trail,57,Botanical Garden,1450,1450
+4,85,4,Harlem-125th St.,85,Bedford Hills,1750,1325
+64,99,64,Fleetwood,99,Appalachian Trail,1300,1300
+65,64,65,Bronxville,64,Fleetwood,300,300
+19,622,19,Glenwood,622,Yankees-E153 St.,300,300
+17,24,17,Ludlow,24,Ardsley-on-Hudson,300,300
+9,20,9,Morris Heights,20,Greystone,300,300
+88,84,88,Goldens Bridge,84,Mount Kisco,300,300
+100,58,100,HM Valley-Wingdale,58,Williams Bridge,1675,1675
+98,97,98,Pawling,97,Patterson,300,300
+58,61,58,Williams Bridge,61,Wakefield,300,300
+61,66,61,Wakefield,66,Tuckahoe,300,300
+80,79,80,Hawthorne,79,Mount Pleasant,300,300
+33,4,33,Croton-Harmon,4,Harlem-125th St.,1475,1125
+66,1,66,Tuckahoe,1,Grand Central,1150,875
+31,43,31,Ossining,43,Cold Spring,675,675
+91,94,91,Brewster,94,Southeast,300,300
+177,97,177,Wassaic,97,Patterson,450,450
+23,39,23,Dobbs Ferry,39,Peekskill,600,600
+83,90,83,Chappaqua,90,Croton Falls,675,675
+43,17,43,Cold Spring,17,Ludlow,875,875
+84,55,84,Mount Kisco,55,Tremont,800,800
+94,99,94,Southeast,99,Appalachian Trail,425,425
+49,622,49,New Hamburg,622,Yankees-E153 St.,1450,1450
+4,62,4,Harlem-125th St.,62,Mt Vernon West,1150,875
+72,80,72,Hartsdale,80,Hawthorne,300,300
+105,114,105,Mt Vernon East ,114,Rye,400,400
+24,40,24,Ardsley-on-Hudson,40,Manitou,775,775
+64,76,64,Fleetwood,76,North White Plains,300,300
+56,72,56,Fordham,72,Hartsdale,425,425
+17,1,17,Ludlow,1,Grand Central,1150,875
+84,91,84,Mount Kisco,91,Brewster,300,300
+1,56,1,Grand Central,56,Fordham,975,725
+88,61,88,Goldens Bridge,61,Wakefield,800,800
+86,100,86,Katonah,100,HM Valley-Wingdale,825,825
+56,108,56,Fordham,108,New Rochelle,300,300
+17,37,17,Ludlow,37,Cortlandt,725,725
+76,86,76,North White Plains,86,Katonah,600,600
+9,33,9,Morris Heights,33,Croton-Harmon,575,575
+84,176,84,Mount Kisco,176,Tenmile River,1000,1000
+29,11,29,Philipse Manor,11,Marble Hill,575,575
+80,56,80,Hawthorne,56,Fordham,575,575
+19,46,19,Glenwood,46,Beacon,1300,1300
+79,97,79,Mount Pleasant,97,Patterson,825,825
+39,24,39,Peekskill,24,Ardsley-on-Hudson,600,600
+91,71,91,Brewster,71,Scarsdale,775,775
+1,177,1,Grand Central,177,Wassaic,2725,2025
+94,76,94,Southeast,76,North White Plains,775,775
+72,57,72,Hartsdale,57,Botanical Garden,425,425
+4,39,4,Harlem-125th St.,39,Peekskill,1750,1325
+24,17,24,Ardsley-on-Hudson,17,Ludlow,300,300
+97,1,97,Patterson,1,Grand Central,2300,1750
+43,30,43,Cold Spring,30,Scarborough,675,675
+84,68,84,Mount Kisco,68,Crestwood,725,725
+55,4,55,Tremont,4,Harlem-125th St.,975,725
+80,177,80,Hawthorne,177,Wassaic,1275,1275
+1,33,1,Grand Central,33,Croton-Harmon,1475,1125
+64,89,64,Fleetwood,89,Purdy's,875,875
+65,54,65,Bronxville,54,Melrose,300,300
+16,49,16,Riverdale,49,New Hamburg,1450,1450
+17,14,17,Ludlow,14,Spuyten Duyvil,300,300
+56,85,56,Fordham,85,Bedford Hills,800,800
+49,46,49,New Hamburg,46,Beacon,300,300
+9,10,9,Morris Heights,10,University Heights,300,300
+68,59,68,Crestwood,59,Woodlawn,300,300
+79,74,79,Mount Pleasant,74,White Plains,300,300
+90,83,90,Croton Falls,83,Chappaqua,675,675
+42,43,42,Garrison,43,Cold Spring,300,300
+61,56,61,Wakefield,56,Fordham,300,300
+22,622,22,Hastings-on-Hudson,622,Yankees-E153 St.,425,425
+20,24,20,Greystone,24,Ardsley-on-Hudson,300,300
+39,37,39,Peekskill,37,Cortlandt,300,300
+85,4,85,Bedford Hills,4,Harlem-125th St.,1750,1325
+31,33,31,Ossining,33,Croton-Harmon,300,300
+91,84,91,Brewster,84,Mount Kisco,300,300
+51,11,51,Poughkeepsie,11,Marble Hill,1675,1675
+23,29,23,Dobbs Ferry,29,Philipse Manor,300,300
+83,80,83,Chappaqua,80,Hawthorne,300,300
+115,112,115,Port Chester,112,Harrison,375,375
+94,89,94,Southeast,89,Purdy's,300,300
+1,10,1,Grand Central,10,University Heights,975,725
+78,1,78,Valhalla,1,Grand Central,1475,1125
+24,30,24,Ardsley-on-Hudson,30,Scarborough,300,300
+64,66,64,Fleetwood,66,Tuckahoe,300,300
+56,62,56,Fordham,62,Mt Vernon West,300,300
+61,177,61,Wakefield,177,Wassaic,1800,1800
+1,46,1,Grand Central,46,Beacon,2300,1750
+86,90,86,Katonah,90,Croton Falls,300,300
+78,86,78,Valhalla,86,Katonah,300,300
+97,99,97,Patterson,99,Appalachian Trail,300,300
+98,64,98,Pawling,64,Fleetwood,1300,1300
+68,72,68,Crestwood,72,Hartsdale,300,300
+115,4,115,Port Chester,4,Harlem-125th St.,1375,1025
+42,20,42,Garrison,20,Greystone,875,875
+27,40,27,Tarrytown,40,Manitou,675,675
+20,1,20,Greystone,1,Grand Central,1150,875
+39,14,39,Peekskill,14,Spuyten Duyvil,800,800
+98,100,98,Pawling,100,HM Valley-Wingdale,425,425
+71,83,71,Scarsdale,83,Chappaqua,300,300
+31,10,31,Ossining,10,University Heights,575,575
+91,61,91,Brewster,61,Wakefield,1150,1150
+83,57,83,Chappaqua,57,Botanical Garden,575,575
+108,1,108,New Rochelle,1,Grand Central,1125,850
+94,66,94,Southeast,66,Tuckahoe,875,875
+20,37,20,Greystone,37,Cortlandt,725,725
+66,4,66,Tuckahoe,4,Harlem-125th St.,1150,875
+4,29,4,Harlem-125th St.,29,Philipse Manor,1475,1125
+177,100,177,Wassaic,100,HM Valley-Wingdale,300,300
+23,42,23,Dobbs Ferry,42,Garrison,775,775
+43,20,43,Cold Spring,20,Greystone,875,875
+84,58,84,Mount Kisco,58,Williams Bridge,800,800
+1,23,1,Grand Central,23,Dobbs Ferry,1275,975
+46,31,46,Beacon,31,Ossining,825,825
+64,79,64,Fleetwood,79,Mount Pleasant,500,500
+17,4,17,Ludlow,4,Harlem-125th St.,1150,875
+97,76,97,Patterson,76,North White Plains,1150,1150
+27,17,27,Tarrytown,17,Ludlow,500,500
+59,86,59,Woodlawn,86,Katonah,800,800
+78,99,78,Valhalla,99,Appalachian Trail,825,825
+79,64,79,Mount Pleasant,64,Fleetwood,500,500
+33,622,33,Croton-Harmon,622,Yankees-E153 St.,575,575
+30,22,30,Scarborough,22,Hastings-on-Hudson,300,300
+42,33,42,Garrison,33,Croton-Harmon,675,675
+19,49,19,Glenwood,49,New Hamburg,1300,1300
+20,14,20,Greystone,14,Spuyten Duyvil,300,300
+39,27,39,Peekskill,27,Tarrytown,300,300
+31,23,31,Ossining,23,Dobbs Ferry,300,300
+91,74,91,Brewster,74,White Plains,775,775
+23,19,23,Dobbs Ferry,19,Glenwood,300,300
+51,1,51,Poughkeepsie,1,Grand Central,2575,1925
+94,79,94,Southeast,79,Mount Pleasant,675,675
+64,56,64,Fleetwood,56,Fordham,300,300
+37,39,37,Cortlandt,39,Peekskill,300,300
+86,80,86,Katonah,80,Hawthorne,300,300
+18,25,18,Yonkers,25,Irvington,300,300
+78,76,78,Valhalla,76,North White Plains,300,300
+97,89,97,Patterson,89,Purdy's,425,425
+98,54,98,Pawling,54,Melrose,1450,1450
+89,85,89,Purdy's,85,Bedford Hills,300,300
+42,10,42,Garrison,10,University Heights,1150,1150
+101,59,101,Dover Plains,59,Woodlawn,1675,1675
+81,1,81,Pleasantville,1,Grand Central,1475,1125
+27,30,27,Tarrytown,30,Scarborough,300,300
+59,99,59,Woodlawn,99,Appalachian Trail,1450,1450
+39,4,39,Peekskill,4,Harlem-125th St.,1750,1325
+11,22,11,Marble Hill,22,Hastings-on-Hudson,425,425
+64,177,64,Fleetwood,177,Wassaic,1600,1600
+90,86,90,Croton Falls,86,Katonah,300,300
+177,54,177,Wassaic,54,Melrose,1800,1800
+94,56,94,Southeast,56,Fordham,1150,1150
+33,46,33,Croton-Harmon,46,Beacon,825,825
+112,110,112,Harrison,110,Larchmont,300,300
+4,19,4,Harlem-125th St.,19,Glenwood,1150,875
+177,90,177,Wassaic,90,Croton Falls,750,750
+74,83,74,White Plains,83,Chappaqua,300,300
+66,79,66,Tuckahoe,79,Mount Pleasant,500,500
+86,57,86,Katonah,57,Botanical Garden,800,800
+111,1,111,Mamaroneck,1,Grand Central,1275,975
+56,65,56,Fordham,65,Bronxville,300,300
+97,66,97,Patterson,66,Tuckahoe,1300,1300
+89,62,89,Purdy's,62,Mt Vernon West,875,875
+94,177,94,Southeast,177,Wassaic,750,750
+1,98,1,Grand Central,98,Pawling,2300,1750
+59,76,59,Woodlawn,76,North White Plains,425,425
+78,89,78,Valhalla,89,Purdy's,675,675
+79,54,79,Mount Pleasant,54,Melrose,575,575
+89,98,89,Purdy's,98,Pawling,425,425
+42,23,42,Garrison,23,Dobbs Ferry,775,775
+101,72,101,Dover Plains,72,Hartsdale,1375,1375
+62,1,62,Mt Vernon West,1,Grand Central,1150,875
+20,4,20,Greystone,4,Harlem-125th St.,1150,875
+23,9,23,Dobbs Ferry,9,Morris Heights,425,425
+62,86,62,Mt Vernon West,86,Katonah,725,725
+81,99,81,Pleasantville,99,Appalachian Trail,825,825
+99,4,99,Appalachian Trail,4,Harlem-125th St.,2300,1750
+37,29,37,Cortlandt,29,Philipse Manor,300,300
+22,49,22,Hastings-on-Hudson,49,New Hamburg,1150,1150
+78,66,78,Valhalla,66,Tuckahoe,500,500
+97,79,97,Patterson,79,Mount Pleasant,825,825
+1,111,1,Grand Central,111,Mamaroneck,1275,975
+27,20,27,Tarrytown,20,Greystone,500,500
+40,39,40,Manitou,39,Peekskill,300,300
+59,89,59,Woodlawn,89,Purdy's,1150,1150
+19,16,19,Glenwood,16,Riverdale,300,300
+100,90,100,HM Valley-Wingdale,90,Croton Falls,650,650
+30,25,30,Scarborough,25,Irvington,300,300
+61,98,61,Wakefield,98,Pawling,1450,1450
+176,85,176,Tenmile River,85,Bedford Hills,1000,1000
+81,76,81,Pleasantville,76,North White Plains,300,300
+622,22,622,Yankees-E153 St.,22,Hastings-on-Hudson,425,425
+4,9,4,Harlem-125th St.,9,Morris Heights,975,725
+115,105,115,Port Chester,105,Mt Vernon East ,400,400
+62,99,62,Mt Vernon West,99,Appalachian Trail,1300,1300
+14,22,14,Spuyten Duyvil,22,Hastings-on-Hudson,425,425
+46,11,46,Beacon,11,Marble Hill,1450,1450
+4,94,4,Harlem-125th St.,94,Southeast,2000,1500
+37,42,37,Cortlandt,42,Garrison,300,300
+97,56,97,Patterson,56,Fordham,1450,1450
+49,16,49,New Hamburg,16,Riverdale,1450,1450
+55,59,55,Tremont,59,Woodlawn,300,300
+1,88,1,Grand Central,88,Goldens Bridge,1750,1325
+59,66,59,Woodlawn,66,Tuckahoe,300,300
+29,43,29,Philipse Manor,43,Cold Spring,675,675
+80,88,80,Hawthorne,88,Goldens Bridge,300,300
+114,1,114,Rye,1,Grand Central,1375,1025
+111,112,111,Mamaroneck,112,Harrison,300,300
+72,4,72,Hartsdale,4,Harlem-125th St.,1275,975
+97,177,97,Patterson,177,Wassaic,450,450
+177,57,177,Wassaic,57,Botanical Garden,1800,1800
+10,29,10,University Heights,29,Philipse Manor,575,575
+176,98,176,Tenmile River,98,Pawling,450,450
+62,76,62,Mt Vernon West,76,North White Plains,300,300
+81,89,81,Pleasantville,89,Purdy's,675,675
+54,72,54,Melrose,72,Hartsdale,425,425
+33,49,33,Croton-Harmon,49,New Hamburg,825,825
+85,59,85,Bedford Hills,59,Woodlawn,800,800
+37,19,37,Cortlandt,19,Glenwood,725,725
+65,1,65,Bronxville,1,Grand Central,1150,875
+84,100,84,Mount Kisco,100,HM Valley-Wingdale,825,825
+22,39,22,Hastings-on-Hudson,39,Peekskill,600,600
+78,56,78,Valhalla,56,Fordham,575,575
+89,65,89,Purdy's,65,Bronxville,875,875
+17,46,17,Ludlow,46,Beacon,1300,1300
+39,622,39,Peekskill,622,Yankees-E153 St.,800,800
+9,42,9,Morris Heights,42,Garrison,1150,1150
+55,72,55,Tremont,72,Hartsdale,425,425
+29,20,29,Philipse Manor,20,Greystone,500,500
+1,101,1,Grand Central,101,Dover Plains,2575,1925
+40,29,40,Manitou,29,Philipse Manor,675,675
+100,80,100,HM Valley-Wingdale,80,Hawthorne,1200,1200
+58,83,58,Williams Bridge,83,Chappaqua,575,575
+61,88,61,Wakefield,88,Goldens Bridge,800,800
+80,101,80,Hawthorne,101,Dover Plains,1200,1200
+81,66,81,Pleasantville,66,Tuckahoe,500,500
+25,22,25,Irvington,22,Hastings-on-Hudson,300,300
+78,177,78,Valhalla,177,Wassaic,1275,1275
+10,42,10,University Heights,42,Garrison,1150,1150
+51,43,51,Poughkeepsie,43,Cold Spring,650,650
+62,89,62,Mt Vernon West,89,Purdy's,875,875
+108,56,108,New Rochelle,56,Fordham,300,300
+22,16,22,Hastings-on-Hudson,16,Riverdale,425,425
+54,85,54,Melrose,85,Bedford Hills,800,800
+66,59,66,Tuckahoe,59,Woodlawn,300,300
+85,72,85,Bedford Hills,72,Hartsdale,600,600
+4,84,4,Harlem-125th St.,84,Mount Kisco,1750,1325
+1,78,1,Grand Central,78,Valhalla,1475,1125
+88,83,88,Goldens Bridge,83,Chappaqua,300,300
+59,56,59,Woodlawn,56,Fordham,300,300
+100,57,100,HM Valley-Wingdale,57,Botanical Garden,1675,1675
+65,99,65,Bronxville,99,Appalachian Trail,1300,1300
+20,622,20,Greystone,622,Yankees-E153 St.,300,300
+83,4,83,Chappaqua,4,Harlem-125th St.,1475,1125
+29,33,29,Philipse Manor,33,Croton-Harmon,300,300
+61,65,61,Wakefield,65,Bronxville,300,300
+80,78,80,Hawthorne,78,Valhalla,300,300
+40,42,40,Manitou,42,Garrison,300,300
+10,19,10,University Heights,19,Glenwood,300,300
+110,106,110,Larchmont,106,Pelham,300,300
+61,101,61,Wakefield,101,Dover Plains,1675,1675
+176,88,176,Tenmile River,88,Goldens Bridge,1000,1000
+62,66,62,Mt Vernon West,66,Tuckahoe,300,300
+81,79,81,Pleasantville,79,Mount Pleasant,300,300
+54,62,54,Melrose,62,Mt Vernon West,300,300
+59,177,59,Woodlawn,177,Wassaic,1800,1800
+37,9,37,Cortlandt,9,Morris Heights,800,800
+24,39,24,Ardsley-on-Hudson,39,Peekskill,600,600
+84,90,84,Mount Kisco,90,Croton Falls,300,300
+14,25,14,Spuyten Duyvil,25,Irvington,425,425
+114,112,114,Rye,112,Harrison,375,375
+1,55,1,Grand Central,55,Tremont,975,725
+106,108,106,Pelham,108,New Rochelle,300,300
+4,97,4,Harlem-125th St.,97,Patterson,2300,1750
+65,76,65,Bronxville,76,North White Plains,300,300
+76,85,76,North White Plains,85,Bedford Hills,600,600
+68,81,68,Crestwood,81,Pleasantville,500,500
+29,10,29,Philipse Manor,10,University Heights,575,575
+1,91,1,Grand Central,91,Brewster,2000,1500
+40,19,40,Manitou,19,Glenwood,875,875
+80,55,80,Hawthorne,55,Tremont,575,575
+61,78,61,Wakefield,78,Valhalla,575,575
+176,65,176,Tenmile River,65,Bronxville,1600,1600
+1,176,1,Grand Central,176,Tenmile River,2725,2025
+81,56,81,Pleasantville,56,Fordham,575,575
+80,91,80,Hawthorne,91,Brewster,675,675
+33,16,33,Croton-Harmon,16,Riverdale,575,575
+20,46,20,Greystone,46,Beacon,1300,1300
+51,33,51,Poughkeepsie,33,Croton-Harmon,1200,1200
+23,51,23,Dobbs Ferry,51,Poughkeepsie,1375,1375
+43,29,43,Cold Spring,29,Philipse Manor,675,675
+4,74,4,Harlem-125th St.,74,White Plains,1275,975
+64,88,64,Fleetwood,88,Goldens Bridge,725,725
+98,1,98,Pawling,1,Grand Central,2300,1750
+76,62,76,North White Plains,62,Mt Vernon West,300,300
+81,177,81,Pleasantville,177,Wassaic,1275,1275
+1,68,1,Grand Central,68,Crestwood,1150,875
+65,89,65,Bronxville,89,Purdy's,875,875
+111,56,111,Mamaroneck,56,Fordham,425,425
+17,49,17,Ludlow,49,New Hamburg,1300,1300
+57,85,57,Botanical Garden,85,Bedford Hills,800,800
+177,1,177,Wassaic,1,Grand Central,2725,2025
+76,98,76,North White Plains,98,Pawling,1150,1150
+68,94,68,Crestwood,94,Southeast,875,875
+29,23,29,Philipse Manor,23,Dobbs Ferry,300,300
+61,55,61,Wakefield,55,Tremont,300,300
+80,68,80,Hawthorne,68,Crestwood,500,500
+10,9,10,University Heights,9,Morris Heights,300,300
+91,83,91,Brewster,83,Chappaqua,675,675
+83,79,83,Chappaqua,79,Mount Pleasant,300,300
+62,56,62,Mt Vernon West,56,Fordham,300,300
+94,88,94,Southeast,88,Goldens Bridge,300,300
+86,4,86,Katonah,4,Harlem-125th St.,1750,1325
+4,51,4,Harlem-125th St.,51,Poughkeepsie,2575,1925
+51,46,51,Poughkeepsie,46,Beacon,425,425
+24,29,24,Ardsley-on-Hudson,29,Philipse Manor,300,300
+43,42,43,Cold Spring,42,Garrison,300,300
+84,80,84,Mount Kisco,80,Hawthorne,300,300
+16,25,16,Riverdale,25,Irvington,425,425
+61,176,61,Wakefield,176,Tenmile River,1800,1800
+99,59,99,Appalachian Trail,59,Woodlawn,1450,1450
+79,1,79,Mount Pleasant,1,Grand Central,1475,1125
+64,101,64,Fleetwood,101,Dover Plains,1525,1525
+65,66,65,Bronxville,66,Tuckahoe,300,300
+56,97,56,Fordham,97,Patterson,1450,1450
+57,62,57,Botanical Garden,62,Mt Vernon West,300,300
+9,22,9,Morris Heights,22,Hastings-on-Hudson,425,425
+62,177,62,Mt Vernon West,177,Wassaic,1600,1600
+68,71,68,Crestwood,71,Scarsdale,300,300
+40,9,40,Manitou,9,Morris Heights,1150,1150
+79,86,79,Mount Pleasant,86,Katonah,300,300
+98,99,98,Pawling,99,Appalachian Trail,300,300
+61,68,61,Wakefield,68,Crestwood,300,300
+176,55,176,Tenmile River,55,Tremont,1800,1800
+39,49,39,Peekskill,49,New Hamburg,675,675
+51,23,51,Poughkeepsie,23,Dobbs Ferry,1375,1375
+177,99,177,Wassaic,99,Appalachian Trail,450,450
+43,19,43,Cold Spring,19,Glenwood,875,875
+84,57,84,Mount Kisco,57,Botanical Garden,800,800
+94,101,94,Southeast,101,Dover Plains,650,650
+1,22,1,Grand Central,22,Hastings-on-Hudson,1275,975
+4,64,4,Harlem-125th St.,64,Fleetwood,1150,875
+24,42,24,Ardsley-on-Hudson,42,Garrison,775,775
+64,78,64,Fleetwood,78,Valhalla,500,500
+56,74,56,Fordham,74,White Plains,425,425
+1,58,1,Grand Central,58,Williams Bridge,975,725
+99,72,99,Appalachian Trail,72,Hartsdale,1150,1150
+65,79,65,Bronxville,79,Mount Pleasant,500,500
+56,110,56,Fordham,110,Larchmont,425,425
+98,76,98,Pawling,76,North White Plains,1150,1150
+68,84,68,Crestwood,84,Mount Kisco,725,725
+101,81,101,Dover Plains,81,Pleasantville,1200,1200
+80,58,80,Hawthorne,58,Williams Bridge,575,575
+79,99,79,Mount Pleasant,99,Appalachian Trail,825,825
+31,22,31,Ossining,22,Hastings-on-Hudson,300,300
+94,78,94,Southeast,78,Valhalla,675,675
+114,56,114,Rye,56,Fordham,500,500
+20,49,20,Greystone,49,New Hamburg,1300,1300
+72,59,72,Hartsdale,59,Woodlawn,425,425
+24,19,24,Ardsley-on-Hudson,19,Glenwood,300,300
+64,55,64,Fleetwood,55,Tremont,300,300
+46,43,46,Beacon,43,Cold Spring,425,425
+64,91,64,Fleetwood,91,Brewster,875,875
+65,56,65,Bronxville,56,Fordham,300,300
+17,16,17,Ludlow,16,Riverdale,300,300
+97,88,97,Patterson,88,Goldens Bridge,675,675
+76,65,76,North White Plains,65,Bronxville,300,300
+68,61,68,Crestwood,61,Wakefield,300,300
+27,29,27,Tarrytown,29,Philipse Manor,300,300
+59,98,59,Woodlawn,98,Pawling,1450,1450
+79,76,79,Mount Pleasant,76,North White Plains,300,300
+98,89,98,Pawling,89,Purdy's,425,425
+71,72,71,Scarsdale,72,Hartsdale,300,300
+90,85,90,Croton Falls,85,Bedford Hills,300,300
+61,58,61,Wakefield,58,Williams Bridge,300,300
+101,94,101,Dover Plains,94,Southeast,650,650
+94,55,94,Southeast,55,Tremont,1150,1150
+65,177,65,Bronxville,177,Wassaic,1600,1600
+4,18,4,Harlem-125th St.,18,Yonkers,1150,875
+91,86,91,Brewster,86,Katonah,300,300
+177,89,177,Wassaic,89,Purdy's,750,750
+23,31,23,Dobbs Ferry,31,Ossining,300,300
+43,9,43,Cold Spring,9,Morris Heights,1150,1150
+115,114,115,Port Chester,114,Rye,300,300
+94,91,94,Southeast,91,Brewster,300,300
+4,54,4,Harlem-125th St.,54,Melrose,975,725
+105,106,105,Mt Vernon East ,106,Pelham,300,300
+37,51,37,Cortlandt,51,Poughkeepsie,825,825
+64,68,64,Fleetwood,68,Crestwood,300,300
+56,64,56,Fordham,64,Fleetwood,300,300
+108,111,108,New Rochelle,111,Mamaroneck,300,300
+94,176,94,Southeast,176,Tenmile River,750,750
+78,88,78,Valhalla,88,Goldens Bridge,300,300
+112,1,112,Harrison,1,Grand Central,1275,975
+57,65,57,Botanical Garden,65,Bronxville,300,300
+98,66,98,Pawling,66,Tuckahoe,1300,1300
+97,101,97,Patterson,101,Dover Plains,425,425
+89,97,89,Purdy's,97,Patterson,425,425
+90,62,90,Croton Falls,62,Mt Vernon West,875,875
+42,22,42,Garrison,22,Hastings-on-Hudson,775,775
+101,71,101,Dover Plains,71,Scarsdale,1375,1375
+27,42,27,Tarrytown,42,Garrison,675,675
+79,89,79,Mount Pleasant,89,Purdy's,675,675
+39,16,39,Peekskill,16,Riverdale,800,800
+71,85,71,Scarsdale,85,Bedford Hills,600,600
+90,98,90,Croton Falls,98,Pawling,425,425
+177,66,177,Wassaic,66,Tuckahoe,1600,1600
+83,59,83,Chappaqua,59,Woodlawn,575,575
+94,68,94,Southeast,68,Crestwood,875,875
+4,31,4,Harlem-125th St.,31,Ossining,1475,1125
+24,9,24,Ardsley-on-Hudson,9,Morris Heights,425,425
+1,25,1,Grand Central,25,Irvington,1275,975
+66,91,66,Tuckahoe,91,Brewster,875,875
+100,4,100,HM Valley-Wingdale,4,Harlem-125th St.,2575,1925
+46,33,46,Beacon,33,Croton-Harmon,825,825
+97,78,97,Patterson,78,Valhalla,825,825
+76,55,76,North White Plains,55,Tremont,425,425
+89,74,89,Purdy's,74,White Plains,775,775
+55,81,55,Tremont,81,Pleasantville,575,575
+27,19,27,Tarrytown,19,Glenwood,500,500
+59,88,59,Woodlawn,88,Goldens Bridge,800,800
+78,101,78,Valhalla,101,Dover Plains,1200,1200
+79,66,79,Mount Pleasant,66,Tuckahoe,500,500
+98,79,98,Pawling,79,Mount Pleasant,825,825
+30,24,30,Scarborough,24,Ardsley-on-Hudson,300,300
+71,62,71,Scarsdale,62,Mt Vernon West,300,300
+101,84,101,Dover Plains,84,Mount Kisco,825,825
+19,51,19,Glenwood,51,Poughkeepsie,1525,1525
+20,16,20,Greystone,16,Riverdale,300,300
+31,25,31,Ossining,25,Irvington,300,300
+177,79,177,Wassaic,79,Mount Pleasant,1275,1275
+76,176,76,North White Plains,176,Tenmile River,1475,1475
+83,72,83,Chappaqua,72,Hartsdale,300,300
+62,98,62,Mt Vernon West,98,Pawling,1300,1300
+72,62,72,Hartsdale,62,Mt Vernon West,300,300
+85,81,85,Bedford Hills,81,Pleasantville,300,300
+46,10,46,Beacon,10,University Heights,1450,1450
+64,58,64,Fleetwood,58,Williams Bridge,300,300
+56,54,56,Fordham,54,Melrose,300,300
+18,27,18,Yonkers,27,Tarrytown,500,500
+59,65,59,Woodlawn,65,Bronxville,300,300
+97,91,97,Patterson,91,Brewster,425,425
+98,56,98,Pawling,56,Fordham,1450,1450
+30,1,30,Scarborough,1,Grand Central,1475,1125
+55,94,55,Tremont,94,Southeast,1150,1150
+101,61,101,Dover Plains,61,Wakefield,1675,1675
+59,101,59,Woodlawn,101,Dover Plains,1675,1675
+11,24,11,Marble Hill,24,Ardsley-on-Hudson,425,425
+30,37,30,Scarborough,37,Cortlandt,300,300
+177,56,177,Wassaic,56,Fordham,1800,1800
+94,58,94,Southeast,58,Williams Bridge,1150,1150
+176,97,176,Tenmile River,97,Patterson,450,450
+81,88,81,Pleasantville,88,Goldens Bridge,300,300
+98,177,98,Pawling,177,Wassaic,450,450
+37,18,37,Cortlandt,18,Yonkers,725,725
+74,85,74,White Plains,85,Bedford Hills,600,600
+66,81,66,Tuckahoe,81,Pleasantville,500,500
+85,94,85,Bedford Hills,94,Southeast,300,300
+46,23,46,Beacon,23,Dobbs Ferry,1150,1150
+86,59,86,Katonah,59,Woodlawn,800,800
+78,55,78,Valhalla,55,Tremont,575,575
+97,68,97,Patterson,68,Crestwood,1300,1300
+89,64,89,Purdy's,64,Fleetwood,875,875
+55,71,55,Tremont,71,Scarsdale,425,425
+1,100,1,Grand Central,100,HM Valley-Wingdale,2575,1925
+27,9,27,Tarrytown,9,Morris Heights,575,575
+18,40,18,Yonkers,40,Manitou,875,875
+59,78,59,Woodlawn,78,Valhalla,575,575
+78,91,78,Valhalla,91,Brewster,675,675
+79,56,79,Mount Pleasant,56,Fordham,575,575
+11,1,11,Marble Hill,1,Grand Central,975,725
+30,14,30,Scarborough,14,Spuyten Duyvil,575,575
+90,65,90,Croton Falls,65,Bronxville,875,875
+101,74,101,Dover Plains,74,White Plains,1375,1375
+80,100,80,Hawthorne,100,HM Valley-Wingdale,1200,1200
+33,25,33,Croton-Harmon,25,Irvington,300,300
+78,176,78,Valhalla,176,Tenmile River,1275,1275
+23,11,23,Dobbs Ferry,11,Marble Hill,425,425
+62,88,62,Mt Vernon West,88,Goldens Bridge,725,725
+81,101,81,Pleasantville,101,Dover Plains,1200,1200
+54,84,54,Melrose,84,Mount Kisco,800,800
+74,62,74,White Plains,62,Mt Vernon West,300,300
+79,177,79,Mount Pleasant,177,Wassaic,1275,1275
+85,71,85,Bedford Hills,71,Scarsdale,600,600
+37,31,37,Cortlandt,31,Ossining,300,300
+22,51,22,Hastings-on-Hudson,51,Poughkeepsie,1375,1375
+74,98,74,White Plains,98,Pawling,1150,1150
+66,94,66,Tuckahoe,94,Southeast,875,875
diff --git a/src/main/resources/fares/nyc/mta/express_bus_routes.csv b/src/main/resources/fares/nyc/mta/express_bus_routes.csv
new file mode 100644
index 00000000..81595c9a
--- /dev/null
+++ b/src/main/resources/fares/nyc/mta/express_bus_routes.csv
@@ -0,0 +1,80 @@
+agency_id,route_id
+MTABC,BM1
+MTABC,BM2
+MTABC,BM3
+MTABC,BM4
+MTABC,BM5
+MTABC,BXM1
+MTABC,BXM10
+MTABC,BXM11
+MTABC,BXM18
+MTABC,BXM2
+MTABC,BXM3
+MTABC,BXM4
+MTABC,BXM6
+MTABC,BXM7
+MTABC,BXM8
+MTABC,BXM9
+MTA NYCT,SIM1
+MTA NYCT,SIM1C
+MTA NYCT,SIM2
+MTA NYCT,SIM3
+MTA NYCT,SIM3C
+MTA NYCT,SIM4
+MTA NYCT,SIM4X
+MTA NYCT,SIM4C
+MTA NYCT,SIM5
+MTA NYCT,SIM6
+MTA NYCT,SIM7
+MTA NYCT,SIM8
+MTA NYCT,SIM8X
+MTA NYCT,SIM9
+MTA NYCT,SIM10
+MTA NYCT,SIM11
+MTA NYCT,SIM15
+MTA NYCT,SIM22
+MTA NYCT,SIM23
+MTA NYCT,SIM24
+MTA NYCT,SIM25
+MTA NYCT,SIM26
+MTA NYCT,SIM30
+MTA NYCT,SIM31
+MTA NYCT,SIM32
+MTA NYCT,SIM33
+MTA NYCT,SIM33C
+MTA NYCT,SIM34
+MTA NYCT,SIM35
+MTA NYCT,X27
+MTA NYCT,X28
+MTA NYCT,X37
+MTA NYCT,X38
+MTA NYCT,X63
+MTA NYCT,X64
+MTA NYCT,X68
+MTABC,QM1
+MTABC,QM10
+MTABC,QM11
+MTABC,QM12
+MTABC,QM15
+MTABC,QM16
+MTABC,QM17
+MTABC,QM18
+MTABC,QM2
+MTABC,QM20
+MTABC,QM21
+MTABC,QM24
+MTABC,QM25
+MTABC,QM3
+MTABC,QM31
+MTABC,QM32
+MTABC,QM34
+MTABC,QM35
+MTABC,QM36
+MTABC,QM4
+MTABC,QM40
+MTABC,QM42
+MTABC,QM44
+MTABC,QM5
+MTABC,QM6
+MTABC,QM7
+MTABC,QM8
diff --git a/src/main/resources/fares/nyc/mta/subway_transfers.csv b/src/main/resources/fares/nyc/mta/subway_transfers.csv
new file mode 100644
index 00000000..c0dcca61
--- /dev/null
+++ b/src/main/resources/fares/nyc/mta/subway_transfers.csv
@@ -0,0 +1,549 @@
+fare_area_id,stop_id
+nyct_subway_103_st_ind_8_av,nyct_subway_A18N
+nyct_subway_103_st_ind_8_av,nyct_subway_A18S
+nyct_subway_103_st_irt_lex_av,nyct_subway_624N
+nyct_subway_103_st_irt_lex_av,nyct_subway_624S
+nyct_subway_104_st_bmt_jamaica,nyct_subway_J14N
+nyct_subway_104_st_bmt_jamaica,nyct_subway_J14S
+nyct_subway_121_st,nyct_subway_J12N
+nyct_subway_121_st,nyct_subway_J12S
+nyct_subway_125_st_ind_8av,nyct_subway_A15N
+nyct_subway_125_st_ind_8av,nyct_subway_A15S
+nyct_subway_125th_st_irt_lex_av,nyct_subway_621N
+nyct_subway_125th_st_irt_lex_av,nyct_subway_621S
+nyct_subway_138_st,nyct_subway_416N
+nyct_subway_138_st,nyct_subway_416S
+nyct_subway_14th_st_6-7_av,nyct_subway_L02N
+nyct_subway_14th_st_6-7_av,nyct_subway_L02S
+nyct_subway_14th_st_6-7_av,nyct_subway_D19N
+nyct_subway_14th_st_6-7_av,nyct_subway_D19S
+nyct_subway_14th_st_6-7_av,nyct_subway_132N
+nyct_subway_14th_st_6-7_av,nyct_subway_132S
+nyct_subway_14th_st_8_av,nyct_subway_L01N
+nyct_subway_14th_st_8_av,nyct_subway_L01S
+nyct_subway_14th_st_8_av,nyct_subway_A31N
+nyct_subway_14th_st_8_av,nyct_subway_A31S
+nyct_subway_unsq,nyct_subway_635N
+nyct_subway_unsq,nyct_subway_635S
+nyct_subway_unsq,nyct_subway_R20N
+nyct_subway_unsq,nyct_subway_R20S
+nyct_subway_unsq,nyct_subway_L03N
+nyct_subway_unsq,nyct_subway_L03S
+nyct_subway_145_st_ind,nyct_subway_A12N
+nyct_subway_145_st_ind,nyct_subway_A12S
+nyct_subway_145_st_ind,nyct_subway_D13N
+nyct_subway_145_st_ind,nyct_subway_D13S
+nyct_subway_149_st_grand_concourse,nyct_subway_222N
+nyct_subway_149_st_grand_concourse,nyct_subway_222S
+nyct_subway_149_st_grand_concourse,nyct_subway_415N
+nyct_subway_149_st_grand_concourse,nyct_subway_415S
+nyct_subway_15_st_prospect_park,nyct_subway_F25N
+nyct_subway_15_st_prospect_park,nyct_subway_F25S
+nyct_subway_155_st_ind_8_av,nyct_subway_A11N
+nyct_subway_155_st_ind_8_av,nyct_subway_A11S
+nyct_subway_155_st_ind_concourse,nyct_subway_D12N
+nyct_subway_155_st_ind_concourse,nyct_subway_D12S
+nyct_subway_161_st_yankee_stadium,nyct_subway_414N
+nyct_subway_161_st_yankee_stadium,nyct_subway_414S
+nyct_subway_161_st_yankee_stadium,nyct_subway_D11N
+nyct_subway_161_st_yankee_stadium,nyct_subway_D11S
+nyct_subway_167_st_ind_concourse,nyct_subway_D10N
+nyct_subway_167_st_ind_concourse,nyct_subway_D10S
+nyct_subway_168_st,nyct_subway_A09N
+nyct_subway_168_st,nyct_subway_A09S
+nyct_subway_168_st,nyct_subway_112N
+nyct_subway_168_st,nyct_subway_112S
+nyct_subway_169_st,nyct_subway_F02N
+nyct_subway_169_st,nyct_subway_F02S
+nyct_subway_170_st_ind_concourse,nyct_subway_D09N
+nyct_subway_170_st_ind_concourse,nyct_subway_D09S
+nyct_subway_174_175_sts,nyct_subway_D08N
+nyct_subway_174_175_sts,nyct_subway_D08S
+nyct_subway_18_av_ind_culver,nyct_subway_F30N
+nyct_subway_18_av_ind_culver,nyct_subway_F30S
+nyct_subway_18_av_bmt_sea_beach,nyct_subway_N05N
+nyct_subway_18_av_bmt_sea_beach,nyct_subway_N05S
+nyct_subway_182_183_sts,nyct_subway_D06N
+nyct_subway_182_183_sts,nyct_subway_D06S
+nyct_subway_2_av,nyct_subway_F14N
+nyct_subway_2_av,nyct_subway_F14S
+nyct_subway_20_av_bmt_sea_beach_line,nyct_subway_N06N
+nyct_subway_20_av_bmt_sea_beach_line,nyct_subway_N06S
+nyct_subway_21_st_queensbridge,nyct_subway_B04N
+nyct_subway_21_st_queensbridge,nyct_subway_B04S
+nyct_subway_219_st,nyct_subway_207N
+nyct_subway_219_st,nyct_subway_207S
+nyct_subway_225_st,nyct_subway_206N
+nyct_subway_225_st,nyct_subway_206S
+nyct_subway_23rd_st_ind_eighth_av,nyct_subway_A30N
+nyct_subway_23rd_st_ind_eighth_av,nyct_subway_A30S
+nyct_subway_233_st,nyct_subway_205N
+nyct_subway_233_st,nyct_subway_205S
+nyct_subway_3_av_138_st,nyct_subway_619N
+nyct_subway_3_av_138_st,nyct_subway_619S
+nyct_subway_30_av,nyct_subway_R04N
+nyct_subway_30_av,nyct_subway_R04S
+nyct_subway_34_st_herald_sq,nyct_subway_D17N
+nyct_subway_34_st_herald_sq,nyct_subway_D17S
+nyct_subway_34_st_herald_sq,nyct_subway_R17N
+nyct_subway_34_st_herald_sq,nyct_subway_R17S
+nyct_subway_34_st_11_av,nyct_subway_726N
+nyct_subway_34_st_11_av,nyct_subway_726S
+nyct_subway_34_st_irt_7_av,nyct_subway_128N
+nyct_subway_34_st_irt_7_av,nyct_subway_128S
+nyct_subway_34_st_ind_8_av,nyct_subway_A28N
+nyct_subway_34_st_ind_8_av,nyct_subway_A28S
+nyct_subway_36 Av,nyct_subway_R06N
+nyct_subway_36 Av,nyct_subway_R06S
+nyct_subway_36_st_bmt_4_av,nyct_subway_R36N
+nyct_subway_36_st_bmt_4_av,nyct_subway_R36S
+nyct_subway_39_av,nyct_subway_R08N
+nyct_subway_39_av,nyct_subway_R08S
+nyct_subway_4_av_9_st,nyct_subway_F23N
+nyct_subway_4_av_9_st,nyct_subway_F23S
+nyct_subway_4_av_9_st,nyct_subway_R33N
+nyct_subway_4_av_9_st,nyct_subway_R33S
+nyct_subway_42_st_5_av,nyct_subway_D16N
+nyct_subway_42_st_5_av,nyct_subway_D16S
+nyct_subway_42_st_5_av,nyct_subway_724N
+nyct_subway_42_st_5_av,nyct_subway_724S
+nyct_subway_times_sq_42_st_pabt,nyct_subway_A27N
+nyct_subway_times_sq_42_st_pabt,nyct_subway_A27S
+nyct_subway_times_sq_42_st_pabt,nyct_subway_127N
+nyct_subway_times_sq_42_st_pabt,nyct_subway_127S
+nyct_subway_times_sq_42_st_pabt,nyct_subway_725N
+nyct_subway_times_sq_42_st_pabt,nyct_subway_725S
+nyct_subway_times_sq_42_st_pabt,nyct_subway_902N
+nyct_subway_times_sq_42_st_pabt,nyct_subway_902S
+nyct_subway_times_sq_42_st_pabt,nyct_subway_R16N
+nyct_subway_times_sq_42_st_pabt,nyct_subway_R16S
+nyct_subway_45_st,nyct_subway_R39N
+nyct_subway_45_st,nyct_subway_R39S
+nyct_subway_47_50_st_rockefeller,nyct_subway_D15N
+nyct_subway_47_50_st_rockefeller,nyct_subway_D15S
+nyct_subway_5_av_53_st,nyct_subway_F12N
+nyct_subway_5_av_53_st,nyct_subway_F12S
+nyct_subway_5_av_59_st,nyct_subway_R13N
+nyct_subway_5_av_59_st,nyct_subway_R13S
+nyct_subway_51_st_lexington,nyct_subway_630N
+nyct_subway_51_st_lexington,nyct_subway_630S
+nyct_subway_51_st_lexington,nyct_subway_F11N
+nyct_subway_51_st_lexington,nyct_subway_F11S
+nyct_subway_53_st,nyct_subway_R40N
+nyct_subway_53_st,nyct_subway_R40S
+nyct_subway_57_st,nyct_subway_B10N
+nyct_subway_57_st,nyct_subway_B10S
+nyct_subway_57_st_7av,nyct_subway_R14N
+nyct_subway_57_st_7av,nyct_subway_R14S
+nyct_subway_lex_av_59_st_63_st,nyct_subway_629N
+nyct_subway_lex_av_59_st_63_st,nyct_subway_629S
+nyct_subway_lex_av_59_st_63_st,nyct_subway_B08N
+nyct_subway_lex_av_59_st_63_st,nyct_subway_B08S
+nyct_subway_lex_av_59_st_63_st,nyct_subway_R11N
+nyct_subway_lex_av_59_st_63_st,nyct_subway_R11S
+nyct_subway_59_st,nyct_subway_R41N
+nyct_subway_59_st,nyct_subway_R41S
+nyct_subway_59_st_columbus_circle,nyct_subway_125N
+nyct_subway_59_st_columbus_circle,nyct_subway_125S
+nyct_subway_59_st_columbus_circle,nyct_subway_A24N
+nyct_subway_59_st_columbus_circle,nyct_subway_A24S
+nyct_subway_63_dr,nyct_subway_G10N
+nyct_subway_63_dr,nyct_subway_G10S
+nyct_subway_65_st,nyct_subway_G15N
+nyct_subway_65_st,nyct_subway_G15S
+nyct_subway_66_st,nyct_subway_124N
+nyct_subway_66_st,nyct_subway_124S
+nyct_subway_67_av,nyct_subway_G09S
+nyct_subway_67_av,nyct_subway_G09N
+nyct_subway_68_st,nyct_subway_628N
+nyct_subway_68_st,nyct_subway_628S
+nyct_subway_7_av_bmt_brighton,nyct_subway_D25N
+nyct_subway_7_av_bmt_brighton,nyct_subway_D25S
+nyct_subway_7_av_ind_6_av,nyct_subway_D14N
+nyct_subway_7_av_ind_6_av,nyct_subway_D14S
+nyct_subway_7_av_culver,nyct_subway_F24N
+nyct_subway_7_av_culver,nyct_subway_F24S
+nyct_subway_72_st_irt_broadway,nyct_subway_123N
+nyct_subway_72_st_irt_broadway,nyct_subway_123S
+nyct_subway_72_st_ind_8_av,nyct_subway_A22N
+nyct_subway_72_st_ind_8_av,nyct_subway_A22S
+nyct_subway_72_st_2_av,nyct_subway_Q03N
+nyct_subway_72_st_2_av,nyct_subway_Q03S
+nyct_subway_75_st,nyct_subway_J17N
+nyct_subway_75_st,nyct_subway_J17S
+nyct_subway_8_av_bmt_sea,nyct_subway_N02N
+nyct_subway_8_av_bmt_sea,nyct_subway_N02S
+nyct_subway_81_st_ind_8_av,nyct_subway_A21N
+nyct_subway_81_st_ind_8_av,nyct_subway_A21S
+nyct_subway_86_st_ind_8_av,nyct_subway_A20N
+nyct_subway_86_st_ind_8_av,nyct_subway_A20S
+nyct_subway_86_st_bmt_sea,nyct_subway_N10N
+nyct_subway_86_st_bmt_sea,nyct_subway_N10S
+nyct_subway_86_st_2_av,nyct_subway_Q04N
+nyct_subway_86_st_2_av,nyct_subway_Q04S
+nyct_subway_96_st_irt_broadway,nyct_subway_120N
+nyct_subway_96_st_irt_broadway,nyct_subway_120S
+nyct_subway_96_st_ind_8_av,nyct_subway_A19N
+nyct_subway_96_st_ind_8_av,nyct_subway_A19S
+nyct_subway_96_st_2_av,nyct_subway_Q05N
+nyct_subway_96_st_2_av,nyct_subway_Q05S
+nyct_subway_alabama_av,nyct_subway_J24N
+nyct_subway_alabama_av,nyct_subway_J24S
+nyct_subway_allerton_av,nyct_subway_210N
+nyct_subway_allerton_av,nyct_subway_210S
+nyct_subway_astoria_ditmars_blvd,nyct_subway_R01N
+nyct_subway_astoria_ditmars_blvd,nyct_subway_R01S
+nyct_subway_astoria_blvd,nyct_subway_R03N
+nyct_subway_astoria_blvd,nyct_subway_R03S
+nyct_subway_atlantic_av_barclays,nyct_subway_235N
+nyct_subway_atlantic_av_barclays,nyct_subway_235S
+nyct_subway_atlantic_av_barclays,nyct_subway_D24N
+nyct_subway_atlantic_av_barclays,nyct_subway_D24S
+nyct_subway_atlantic_av_barclays,nyct_subway_R31N
+nyct_subway_atlantic_av_barclays,nyct_subway_R31S
+nyct_subway_avenue_i_ind_culver,nyct_subway_F31N
+nyct_subway_avenue_i_ind_culver,nyct_subway_F31S
+nyct_subway_avenue_n_ind_culver,nyct_subway_F33N
+nyct_subway_avenue_n_ind_culver,nyct_subway_F33S
+nyct_subway_avenue_p_ind_culver,nyct_subway_F34N
+nyct_subway_avenue_p_ind_culver,nyct_subway_F34S
+nyct_subway_avenue_u_ind_culver,nyct_subway_F36N
+nyct_subway_avenue_u_ind_culver,nyct_subway_F36S
+nyct_subway_avenue_u_bmt_sea,nyct_subway_N09N
+nyct_subway_avenue_u_bmt_sea,nyct_subway_N09S
+nyct_subway_avenue_x_ind_culver,nyct_subway_F38N
+nyct_subway_avenue_x_ind_culver,nyct_subway_F38S
+nyct_subway_bay_pkwy_bmt_sea,nyct_subway_N07N
+nyct_subway_bay_pkwy_bmt_sea,nyct_subway_N07S
+nyct_subway_bay_pkwy_ind_culver,nyct_subway_F32N
+nyct_subway_bay_pkwy_ind_culver,nyct_subway_F32S
+nyct_subway_bedford_pk_ind_concourse,nyct_subway_D03N
+nyct_subway_bedford_pk_ind_concourse,nyct_subway_D03S
+nyct_subway_broadway_lafayette_bleecker,nyct_subway_637N
+nyct_subway_broadway_lafayette_bleecker,nyct_subway_637S
+nyct_subway_broadway_lafayette_bleecker,nyct_subway_D21N
+nyct_subway_broadway_lafayette_bleecker,nyct_subway_D21S
+nyct_subway_borough_hall_court_st,nyct_subway_232N
+nyct_subway_borough_hall_court_st,nyct_subway_232S
+nyct_subway_borough_hall_court_st,nyct_subway_423N
+nyct_subway_borough_hall_court_st,nyct_subway_423S
+nyct_subway_borough_hall_court_st,nyct_subway_R28N
+nyct_subway_borough_hall_court_st,nyct_subway_R28S
+nyct_subway_bowery,nyct_subway_M19N
+nyct_subway_bowery,nyct_subway_M19S
+nyct_subway_bowling_green,nyct_subway_420N
+nyct_subway_bowling_green,nyct_subway_420S
+nyct_subway_brighton_beach,nyct_subway_D40N
+nyct_subway_brighton_beach,nyct_subway_D40S
+nyct_subway_broad_channel,nyct_subway_H04N
+nyct_subway_broad_channel,nyct_subway_H04S
+nyct_subway_broad_st,nyct_subway_M23N
+nyct_subway_broad_st,nyct_subway_M23S
+nyct_subway_broadway_ind_crosstown,nyct_subway_G30N
+nyct_subway_broadway_ind_crosstown,nyct_subway_G30S
+nyct_subway_broadway_bmt_astoria,nyct_subway_R05N
+nyct_subway_broadway_bmt_astoria,nyct_subway_R05S
+nyct_subway_broadway_jct,nyct_subway_A51N
+nyct_subway_broadway_jct,nyct_subway_A51S
+nyct_subway_broadway_jct,nyct_subway_J27N
+nyct_subway_broadway_jct,nyct_subway_J27S
+nyct_subway_broadway_jct,nyct_subway_L22N
+nyct_subway_broadway_jct,nyct_subway_L22S
+nyct_subway_bronx_park_east,nyct_subway_212N
+nyct_subway_bronx_park_east,nyct_subway_212S
+nyct_subway_brooklyn_br_chambers_st,nyct_subway_640N
+nyct_subway_brooklyn_br_chambers_st,nyct_subway_640S
+nyct_subway_brooklyn_br_chambers_st,nyct_subway_M21N
+nyct_subway_brooklyn_br_chambers_st,nyct_subway_M21S
+nyct_subway_buhre_av,nyct_subway_602N
+nyct_subway_buhre_av,nyct_subway_602S
+nyct_subway_burke_av,nyct_subway_209N
+nyct_subway_burke_av,nyct_subway_209S
+nyct_subway_canal_st_ind_8_av,nyct_subway_A34N
+nyct_subway_canal_st_ind_8_av,nyct_subway_A34S
+nyct_subway_canal_st_chinatown,nyct_subway_639N
+nyct_subway_canal_st_chinatown,nyct_subway_639S
+nyct_subway_canal_st_chinatown,nyct_subway_M20N
+nyct_subway_canal_st_chinatown,nyct_subway_M20S
+nyct_subway_canal_st_chinatown,nyct_subway_Q01N
+nyct_subway_canal_st_chinatown,nyct_subway_Q01S
+nyct_subway_canal_st_chinatown,nyct_subway_R23N
+nyct_subway_canal_st_chinatown,nyct_subway_R23S
+nyct_subway_carroll_st,nyct_subway_F21N
+nyct_subway_carroll_st,nyct_subway_F21S
+nyct_subway_castle_hill_av,nyct_subway_607N
+nyct_subway_castle_hill_av,nyct_subway_607S
+nyct_subway_cathedral_pkwy_110_st_ind_8_av,nyct_subway_A17N
+nyct_subway_cathedral_pkwy_110_st_ind_8_av,nyct_subway_A17S
+nyct_subway_central_park_north_110_st,nyct_subway_227N
+nyct_subway_central_park_north_110_st,nyct_subway_227S
+nyct_subway_chambers_st_irt_broadway,nyct_subway_137N
+nyct_subway_chambers_st_irt_broadway,nyct_subway_137S
+nyct_subway_chambers_wtc_park_pl_cortlandt,nyct_subway_A36N
+nyct_subway_chambers_wtc_park_pl_cortlandt,nyct_subway_A36S
+nyct_subway_chambers_wtc_park_pl_cortlandt,nyct_subway_E01N
+nyct_subway_chambers_wtc_park_pl_cortlandt,nyct_subway_E01S
+nyct_subway_chambers_wtc_park_pl_cortlandt,nyct_subway_228N
+nyct_subway_chambers_wtc_park_pl_cortlandt,nyct_subway_228S
+nyct_subway_chambers_wtc_park_pl_cortlandt,nyct_subway_R25N
+nyct_subway_chambers_wtc_park_pl_cortlandt,nyct_subway_R25S
+nyct_subway_chauncey_st,nyct_subway_J28N
+nyct_subway_chauncey_st,nyct_subway_J28S
+nyct_subway_church_av_bmt_brighton,nyct_subway_D28N
+nyct_subway_church_av_bmt_brighton,nyct_subway_D28S
+nyct_subway_church_av_ind_culver,nyct_subway_F27N
+nyct_subway_church_av_ind_culver,nyct_subway_F27S
+nyct_subway_city_hall,nyct_subway_R24N
+nyct_subway_city_hall,nyct_subway_R24S
+nyct_subway_clark_st,nyct_subway_231N
+nyct_subway_clark_st,nyct_subway_231S
+nyct_subway_clinton_washington,nyct_subway_G35N
+nyct_subway_clinton_washington,nyct_subway_G35S
+nyct_subway_coney_island,nyct_subway_D43N
+nyct_subway_coney_island,nyct_subway_D43S
+nyct_subway_court_sq,nyct_subway_719N
+nyct_subway_court_sq,nyct_subway_719S
+nyct_subway_court_sq,nyct_subway_F09N
+nyct_subway_court_sq,nyct_subway_F09S
+nyct_subway_court_sq,nyct_subway_G22N
+nyct_subway_court_sq,nyct_subway_G22S
+nyct_subway_crescent_st,nyct_subway_J20N
+nyct_subway_crescent_st,nyct_subway_J20S
+nyct_subway_crown_hts_utica_av,nyct_subway_250N
+nyct_subway_crown_hts_utica_av,nyct_subway_250S
+nyct_subway_dekalb_av,nyct_subway_R30N
+nyct_subway_dekalb_av,nyct_subway_R30S
+nyct_subway_delancey_st,nyct_subway_F15N
+nyct_subway_delancey_st,nyct_subway_F15S
+nyct_subway_delancey_st,nyct_subway_M18N
+nyct_subway_delancey_st,nyct_subway_M18S
+nyct_subway_ditmas_av,nyct_subway_F29N
+nyct_subway_ditmas_av,nyct_subway_F29S
+nyct_subway_dyckman_st_irt_broadway,nyct_subway_109N
+nyct_subway_dyckman_st_irt_broadway,nyct_subway_109S
+nyct_subway_dyckman_st_ind_8_av,nyct_subway_A03N
+nyct_subway_dyckman_st_ind_8_av,nyct_subway_A03S
+nyct_subway_e_180_st,nyct_subway_213N
+nyct_subway_e_180_st,nyct_subway_213S
+nyct_subway_east_broadway,nyct_subway_F16N
+nyct_subway_east_broadway,nyct_subway_F16S
+nyct_subway_eastchester_dyre,nyct_subway_501N
+nyct_subway_eastchester_dyre,nyct_subway_501S
+nyct_subway_eastern_pkwy,nyct_subway_238N
+nyct_subway_eastern_pkwy,nyct_subway_238S
+nyct_subway_elder_av,nyct_subway_611N
+nyct_subway_elder_av,nyct_subway_611S
+nyct_subway_elmhurst_av,nyct_subway_G13N
+nyct_subway_elmhurst_av,nyct_subway_G13S
+nyct_subway_euclid_av,nyct_subway_A55N
+nyct_subway_euclid_av,nyct_subway_A55S
+nyct_subway_flatbush_av,nyct_subway_247N
+nyct_subway_flatbush_av,nyct_subway_247S
+nyct_subway_flushing_main_st,nyct_subway_701N
+nyct_subway_flushing_main_st,nyct_subway_701S
+nyct_subway_flushing_av,nyct_subway_M12N
+nyct_subway_flushing_av,nyct_subway_M12S
+nyct_subway_fordham_rd,nyct_subway_D05N
+nyct_subway_fordham_rd,nyct_subway_D05S
+nyct_subway_forest_hills_71_av,nyct_subway_G08N
+nyct_subway_forest_hills_71_av,nyct_subway_G08S
+nyct_subway_fort_hamilton_pkwy_ind_culver,nyct_subway_F26N
+nyct_subway_fort_hamilton_pkwy_ind_culver,nyct_subway_F26S
+nyct_subway_fort_hamilton_pkwy_bmt_sea,nyct_subway_N03N
+nyct_subway_fort_hamilton_pkwy_bmt_sea,nyct_subway_N03S
+nyct_subway_franklin_av_botanic_garden,nyct_subway_239N
+nyct_subway_franklin_av_botanic_garden,nyct_subway_239S
+nyct_subway_franklin_av_botanic_garden,nyct_subway_S04N
+nyct_subway_franklin_av_botanic_garden,nyct_subway_S04S
+nyct_subway_franklin_av_fulton_st,nyct_subway_A45N
+nyct_subway_franklin_av_fulton_st,nyct_subway_A45S
+nyct_subway_franklin_av_fulton_st,nyct_subway_S01N
+nyct_subway_franklin_av_fulton_st,nyct_subway_S01S
+nyct_subway_fulton_st,nyct_subway_229N
+nyct_subway_fulton_st,nyct_subway_229S
+nyct_subway_fulton_st,nyct_subway_418N
+nyct_subway_fulton_st,nyct_subway_418S
+nyct_subway_fulton_st,nyct_subway_A38N
+nyct_subway_fulton_st,nyct_subway_A38S
+nyct_subway_fulton_st,nyct_subway_M22N
+nyct_subway_fulton_st,nyct_subway_M22S
+nyct_subway_gates_av,nyct_subway_J30N
+nyct_subway_gates_av,nyct_subway_J30S
+nyct_subway_grand_army_plaza,nyct_subway_237N
+nyct_subway_grand_army_plaza,nyct_subway_237S
+nyct_subway_grand_av_newtown,nyct_subway_G12N
+nyct_subway_grand_av_newtown,nyct_subway_G12S
+nyct_subway_grand_central,nyct_subway_631N
+nyct_subway_grand_central,nyct_subway_631S
+nyct_subway_grand_central,nyct_subway_723N
+nyct_subway_grand_central,nyct_subway_723S
+nyct_subway_grand_central,nyct_subway_901N
+nyct_subway_grand_central,nyct_subway_901S
+nyct_subway_grand_st,nyct_subway_D22N
+nyct_subway_grand_st,nyct_subway_D22S
+nyct_subway_gun_hill_rd_irt_white_plains,nyct_subway_208N
+nyct_subway_gun_hill_rd_irt_white_plains,nyct_subway_208S
+nyct_subway_gun_hill_rd_irt_dyre_av,nyct_subway_503N
+nyct_subway_gun_hill_rd_irt_dyre_av,nyct_subway_503S
+nyct_subway_hewes_st,nyct_subway_M14N
+nyct_subway_hewes_st,nyct_subway_M14S
+nyct_subway_high_st,nyct_subway_A40N
+nyct_subway_high_st,nyct_subway_A40S
+nyct_subway_hoyt_schermerhorn_sts,nyct_subway_A42N
+nyct_subway_hoyt_schermerhorn_sts,nyct_subway_A42S
+nyct_subway_hunters_point_av,nyct_subway_720N
+nyct_subway_hunters_point_av,nyct_subway_720S
+nyct_subway_hunts_point_av,nyct_subway_613N
+nyct_subway_hunts_point_av,nyct_subway_613S
+nyct_subway_intervale_av,nyct_subway_218N
+nyct_subway_intervale_av,nyct_subway_218S
+nyct_subway_jackson_hts_roosevelt_av_74_st,nyct_subway_G14N
+nyct_subway_jackson_hts_roosevelt_av_74_st,nyct_subway_G14S
+nyct_subway_jackson_hts_roosevelt_av_74_st,nyct_subway_710N
+nyct_subway_jackson_hts_roosevelt_av_74_st,nyct_subway_710S
+nyct_subway_jamaica_179_st,nyct_subway_F01N
+nyct_subway_jamaica_179_st,nyct_subway_F01S
+nyct_subway_jamaica_center,nyct_subway_G05N
+nyct_subway_jamaica_center,nyct_subway_G05S
+nyct_subway_jay_st_metrotech,nyct_subway_A41N
+nyct_subway_jay_st_metrotech,nyct_subway_A41S
+nyct_subway_jay_st_metrotech,nyct_subway_R29N
+nyct_subway_jay_st_metrotech,nyct_subway_R29S
+nyct_subway_junction_blvd,nyct_subway_707N
+nyct_subway_junction_blvd,nyct_subway_707S
+nyct_subway_junius_st_livonia,nyct_subway_254N
+nyct_subway_junius_st_livonia,nyct_subway_254S,
+nyct_subway_junius_st_livonia,nyct_subway_L26N,
+nyct_subway_junius_st_livonia,nyct_subway_L26S,
+nyct_subway_kew_gardens_union_tpke,nyct_subway_F06N
+nyct_subway_kew_gardens_union_tpke,nyct_subway_F06S
+nyct_subway_kings_hwy_bmt_brighton,nyct_subway_D35N
+nyct_subway_kings_hwy_bmt_brighton,nyct_subway_D35S
+nyct_subway_kings_hwy_ind_culver,nyct_subway_F35N
+nyct_subway_kings_hwy_ind_culver,nyct_subway_F35S
+nyct_subway_kings_hwy_bmt_sea,nyct_subway_N08N
+nyct_subway_kings_hwy_bmt_sea,nyct_subway_N08S
+nyct_subway_kingsbridge_rd_ind_concourse,nyct_subway_D04N
+nyct_subway_kingsbridge_rd_ind_concourse,nyct_subway_D04S
+nyct_subway_kingston_av_irt_eastern,nyct_subway_249N
+nyct_subway_kingston_av_irt_eastern,nyct_subway_249S
+nyct_subway_liberty_av,nyct_subway_A52N
+nyct_subway_liberty_av,nyct_subway_A52S
+nyct_subway_lorimer_st_metropolitan_av,nyct_subway_L10N
+nyct_subway_lorimer_st_metropolitan_av,nyct_subway_L10S
+nyct_subway_lorimer_st_metropolitan_av,nyct_subway_G29N
+nyct_subway_lorimer_st_metropolitan_av,nyct_subway_G29S
+nyct_subway_lorimer_st_bmt_jamaica,nyct_subway_M13N
+nyct_subway_lorimer_st_bmt_jamaica,nyct_subway_M13S
+nyct_subway_mets_willets_point,nyct_subway_702N
+nyct_subway_mets_willets_point,nyct_subway_702S
+nyct_subway_middletown_rd,nyct_subway_603N
+nyct_subway_middletown_rd,nyct_subway_603S
+nyct_subway_morris_park,nyct_subway_505N
+nyct_subway_morris_park,nyct_subway_505S
+nyct_subway_myrtle_wyckoff_avs,nyct_subway_L17N
+nyct_subway_myrtle_wyckoff_avs,nyct_subway_L17S
+nyct_subway_myrtle_wyckoff_avs,nyct_subway_M08N
+nyct_subway_myrtle_wyckoff_avs,nyct_subway_M08S
+nyct_subway_myrtle_av,nyct_subway_M11N
+nyct_subway_myrtle_av,nyct_subway_M11S
+nyct_subway_neptune_av,nyct_subway_F39N
+nyct_subway_neptune_av,nyct_subway_F39S
+nyct_subway_nereid_av,nyct_subway_204N
+nyct_subway_nereid_av,nyct_subway_204S
+nyct_subway_nevins_st,nyct_subway_234N
+nyct_subway_nevins_st,nyct_subway_234S
+nyct_subway_new_lots_av,nyct_subway_257N
+nyct_subway_new_lots_av,nyct_subway_257S
+nyct_subway_62_st_new_utrecht,nyct_subway_N04N
+nyct_subway_62_st_new_utrecht,nyct_subway_N04S
+nyct_subway_62_st_new_utrecht,nyct_subway_B16N
+nyct_subway_62_st_new_utrecht,nyct_subway_B16S
+nyct_subway_newkirk_plaza,nyct_subway_D31N
+nyct_subway_newkirk_plaza,nyct_subway_D31S
+nyct_subway_nostrand_av_irt_eastern,nyct_subway_A46N
+nyct_subway_nostrand_av_irt_eastern,nyct_subway_A46S
+nyct_subway_parkchester,nyct_subway_608N
+nyct_subway_parkchester,nyct_subway_608S
+nyct_subway_parsons_blvd,nyct_subway_F03N
+nyct_subway_parsons_blvd,nyct_subway_F03S
+nyct_subway_pelham_bay_park,nyct_subway_601N
+nyct_subway_pelham_bay_park,nyct_subway_601S
+nyct_subway_pelham_pkwy_irt_white_plains,nyct_subway_211N
+nyct_subway_pelham_pkwy_irt_white_plains,nyct_subway_211S
+nyct_subway_pelham_pkwy_irt_dyre,nyct_subway_504N
+nyct_subway_pelham_pkwy_irt_dyre,nyct_subway_504S
+nyct_subway_pennsylvania_av,nyct_subway_255N
+nyct_subway_pennsylvania_av,nyct_subway_255S
+nyct_subway_president_st,nyct_subway_241N
+nyct_subway_president_st,nyct_subway_241S
+nyct_subway_prospect_park,nyct_subway_D26N
+nyct_subway_prospect_park,nyct_subway_D26S
+nyct_subway_queens_plaza,nyct_subway_G21N
+nyct_subway_queens_plaza,nyct_subway_G21S
+nyct_subway_queensboro_plaza,nyct_subway_718N
+nyct_subway_queensboro_plaza,nyct_subway_718S
+nyct_subway_queensboro_plaza,nyct_subway_R09N
+nyct_subway_queensboro_plaza,nyct_subway_R09S
+nyct_subway_rockaway_av_irt_new_lots,nyct_subway_253N
+nyct_subway_rockaway_av_irt_new_lots,nyct_subway_253S
+nyct_subway_rockaway_av_ind_fulton,nyct_subway_A50N
+nyct_subway_rockaway_av_ind_fulton,nyct_subway_A50S
+nyct_subway_roosevelt_island,nyct_subway_B06N
+nyct_subway_roosevelt_island,nyct_subway_B06S
+nyct_subway_saratoga_av,nyct_subway_252N
+nyct_subway_saratoga_av,nyct_subway_252S
+nyct_subway_sheepshead_bay,nyct_subway_D39N
+nyct_subway_sheepshead_bay,nyct_subway_D39S
+nyct_subway_smith_9_sts,nyct_subway_F22N
+nyct_subway_smith_9_sts,nyct_subway_F22S
+nyct_subway_spring_st_ind_8_av,nyct_subway_A33N
+nyct_subway_spring_st_ind_8_av,nyct_subway_A33S
+nyct_subway_steinway_st,nyct_subway_G19N
+nyct_subway_steinway_st,nyct_subway_G19S
+nyct_subway_sterling_st,nyct_subway_242N
+nyct_subway_sterling_st,nyct_subway_242S
+nyct_subway_sutphin_blvd_ind_queens,nyct_subway_F04N
+nyct_subway_sutphin_blvd_ind_queens,nyct_subway_F04S
+nyct_subway_sutphin_blvd_archer_av,nyct_subway_G06N
+nyct_subway_sutphin_blvd_archer_av,nyct_subway_G06S
+nyct_subway_sutter_av,nyct_subway_251N
+nyct_subway_sutter_av,nyct_subway_251S
+nyct_subway_tremont_av,nyct_subway_D07N
+nyct_subway_tremont_av,nyct_subway_D07S
+nyct_subway_utica_av,nyct_subway_A48N
+nyct_subway_utica_av,nyct_subway_A48S
+nyct_subway_van_siclen_av_bmt_jamaica,nyct_subway_J23N
+nyct_subway_van_siclen_av_bmt_jamaica,nyct_subway_J23S
+nyct_subway_van_siclen_av_ind_fulton,nyct_subway_A53N
+nyct_subway_van_siclen_av_ind_fulton,nyct_subway_A53S
+nyct_subway_van_siclen_av_irt_eastern,nyct_subway_256N
+nyct_subway_van_siclen_av_irt_eastern,nyct_subway_256S
+nyct_subway_w_4_st,nyct_subway_A32N
+nyct_subway_w_4_st,nyct_subway_A32S
+nyct_subway_w_4_st,nyct_subway_D20N
+nyct_subway_w_4_st,nyct_subway_D20S
+nyct_subway_w_8_st,nyct_subway_D42N
+nyct_subway_w_8_st,nyct_subway_D42S
+nyct_subway_wall_st_irt_lexington_av,nyct_subway_419N
+nyct_subway_wall_st_irt_lexington_av,nyct_subway_419S
+nyct_subway_wall_st_irt_broadway,nyct_subway_230N
+nyct_subway_wall_st_irt_broadway,nyct_subway_230S
+nyct_subway_west_farms_sq,nyct_subway_214N
+nyct_subway_west_farms_sq,nyct_subway_214S
+nyct_subway_westchester_sq,nyct_subway_604N
+nyct_subway_westchester_sq,nyct_subway_604S
+nyct_subway_whitehall_st_south_ferry,nyct_subway_R27N
+nyct_subway_whitehall_st_south_ferry,nyct_subway_R27S
+nyct_subway_whitehall_st_south_ferry,nyct_subway_142N
+nyct_subway_whitehall_st_south_ferry,nyct_subway_142S
+nyct_subway_woodhaven_blvd_bmt_jamaica,nyct_subway_J15N
+nyct_subway_woodhaven_blvd_bmt_jamaica,nyct_subway_J15S
+nyct_subway_woodhaven_blvd_ind_queens,nyct_subway_G11N
+nyct_subway_woodhaven_blvd_ind_queens,nyct_subway_G11S
+nyct_subway_woodside,nyct_subway_712N
+nyct_subway_woodside,nyct_subway_712S
+nyct_subway_york_st,nyct_subway_F18N
+nyct_subway_york_st,nyct_subway_F18S
+nyct_subway_zerega_av,nyct_subway_606N
+nyct_subway_zerega_av,nyct_subway_606S
diff --git a/src/test/java/com/conveyal/r5/analyst/decay/TestDecayFunctions.java b/src/test/java/com/conveyal/r5/analyst/decay/TestDecayFunctions.java
new file mode 100644
index 00000000..4e13b045
--- /dev/null
+++ b/src/test/java/com/conveyal/r5/analyst/decay/TestDecayFunctions.java
@@ -0,0 +1,112 @@
+package com.conveyal.r5.analyst.decay;
+
+import com.google.common.primitives.Doubles;
+import gnu.trove.list.TDoubleList;
+import gnu.trove.list.array.TDoubleArrayList;
+import junit.framework.TestCase;
+import org.apache.commons.math3.util.FastMath;
+import org.junit.Test;
+
+import static com.conveyal.r5.analyst.decay.DecayFunction.FOUR_HOURS_IN_SECONDS;
+import static com.conveyal.r5.analyst.decay.DecayFunction.TWO_HOURS_IN_SECONDS;
+import static com.conveyal.r5.analyst.decay.DecayFunction.ZERO_EPSILON;
+import static com.google.common.base.Preconditions.checkState;
+
+public class TestDecayFunctions extends TestCase {
+
+ private static final int TEN_MINUTES_IN_SECONDS = 10 * 60;
+
+ @Test
+ public void testStepFunction () {
+ DecayFunction stepFunction = new StepDecayFunction();
+ testFunctionCharacteristics(stepFunction);
+ }
+
+ @Test
+ public void testLogisticDecay () {
+ for (int standardDeviationMinutes = 1; standardDeviationMinutes < 20; standardDeviationMinutes++) {
+ LogisticDecayFunction function = new LogisticDecayFunction();
+ function.standardDeviationMinutes = standardDeviationMinutes;
+ testFunctionCharacteristics(function);
+ }
+ }
+
+ @Test
+ public void testLinearDecay () {
+ for (int widthMinutes = 0; widthMinutes <= 20; widthMinutes++) {
+ LinearDecayFunction function = new LinearDecayFunction();
+ function.widthMinutes = widthMinutes;
+ testFunctionCharacteristics(function);
+ }
+ }
+
+ @Test
+ public void testExponentialDecay () {
+ ExponentialDecayFunction movableFunction = new ExponentialDecayFunction();
+ testFunctionCharacteristics(movableFunction);
+ // printFunctionValues(movableFunction);
+ FixedExponentialDecayFunction fixedFunction = new FixedExponentialDecayFunction();
+ // Set constant for a half life of 10 minutes (in seconds)
+ fixedFunction.decayConstant = FastMath.log(0.5) / TEN_MINUTES_IN_SECONDS;
+ testFunctionCharacteristics(fixedFunction);
+ for (int t = 0; t < 120; t++) {
+ int travelTimeSeconds = t * 60;
+ assertEquals(
+ "Fixed function should produce values identical to those for a half-life of 10 minutes.",
+ movableFunction.computeWeight(TEN_MINUTES_IN_SECONDS, travelTimeSeconds),
+ fixedFunction.computeWeight(0, travelTimeSeconds),
+ 0.0001
+ );
+ }
+ }
+
+ /**
+ * This method can be called from within a test to print out a table of function values, which can be plotted
+ * as a visual sanity check.
+ */
+ public void printFunctionValues(DecayFunction function) {
+ for (int cutoffMinutes = 5; cutoffMinutes <= 25; cutoffMinutes += 5) {
+ TDoubleList row = new TDoubleArrayList();
+ row.add(cutoffMinutes);
+ int cutoffSeconds = cutoffMinutes * 60;
+ for (int travelTimeMinutes = 0; travelTimeMinutes <= 120; travelTimeMinutes += 1) {
+ int travelTimeSeconds = travelTimeMinutes * 60;
+ row.add(function.computeWeight(cutoffSeconds, travelTimeSeconds));
+ }
+ System.out.println(Doubles.join(",", row.toArray()));
+ }
+ }
+
+ /**
+ * Check that:
+ * For every cutoff, as travel times increase, weights decrease.
+ * All weights returned are in the range [0...1].
+ * The function properly identifies its zero point.
+ */
+ private static void testFunctionCharacteristics (DecayFunction function) {
+ function.prepare();
+ for (int cutoffMinutes = 0; cutoffMinutes < 120; cutoffMinutes++) {
+ int cutoffSeconds = cutoffMinutes * 60;
+ // First, check that the function is monotonically decreasing and all outputs are in range.
+ double prevWeight = Double.POSITIVE_INFINITY;
+ for (int s = 0; s <= TWO_HOURS_IN_SECONDS; s += 1) {
+ double weight = function.computeWeight(cutoffSeconds, s);
+ checkState(weight >= 0, "Weight output must be non-negative.");
+ checkState(weight <= 1, "Weight output must not exceed one.");
+ checkState(weight <= prevWeight, "Weight function must be monotonically decreasing.");
+ prevWeight = weight;
+ }
+ // Next, check that the function correctly identifies the point where it approaches zero.
+ int zero = function.reachesZeroAt(cutoffSeconds);
+ checkState(zero >= 0, "Decay function zero point must be zero or positive, but was {}.", zero);
+ checkState(zero < FOUR_HOURS_IN_SECONDS, "Decay function zero point must be less than four hours.");
+ checkState(zero >= cutoffSeconds, "Zero point should be at or above cutoff.");
+ double zeroValue = Math.abs(function.computeWeight(cutoffSeconds, zero));
+ checkState(zeroValue < ZERO_EPSILON, "Decay function output for zero point must be close to zero.");
+ double almostZeroValue = Math.abs(function.computeWeight(cutoffSeconds, zero - 1));
+ // If we check that they exceed epsilon, then functions that return a precise zero point can fail the test.
+ checkState(almostZeroValue > 0, "Values left of zero point must be above zero.");
+ }
+ }
+
+}