22200159812012-10TimeDynamic simulation periods are specified in Time's definition. This is usually a list of numbers or labels, typically in some unit of time (days, weeks, months, etc.). Use the ÒDynamic()Ó function in your variables to perform dynamic simulation.Sequence( 0, 23.99, 0.2 )2,450,279,476,409LogComposite traffic v. 1.3 - Health and costs in the Helsinki metropolitan areaThis model is a decision analysis in a poorly studied area, trip aggregation, and it studies decisions of two different stakeholders, the passenger and the society. In composite traffic, a centralised system collects the information on all trips online, aggregates the trips with the same origin and destination into public vehicles with eight or four seats, and sends the travel instructions to the passengers' mobile phones. We show here that in an urban area with one million inhabitants, this system could reduce environmental and other pressures of car traffic typically by 50-70 %, would attract about half of the car passengers, and within a broad operational range needs no public subsidies. Composite traffic gives a new level of freedom in urban decision-making towards solving the problems of urban traffic.
The model is built using Analytica 3.0(TM) program that utilises a graphical interface for creating probabilistic (Monte Carlo) models. A free browser can be downloaded from the Analytica web site http://www.lumina.com . The file format for the models is XML, and therefore the code can also be viewed with a regular web browser.
In this material, we present the main views of the graphical model and describe several modules in more detail. The model consists of two parts: a deterministic trip aggregation model that produces the output tables used in decision analysis. The calculation of the results takes several days and therefore they are stored as static tables in the module 'Static nodes'. In the second part the aggregation results are combined with cost functions, emission factors and other uncertain and/or varying variables using probabilistic (Monte Carlo) simulation. This part of the model is readily available for detailed examination, and several input values can be changed and explored using the Analytica Browser. Note, however, that the model (depending on dimensions used) easily requires more than 1 GB of RAM memory.jtue (Jouni Tuomisto)7. Novta 2002 13:32jtue20. heita 2006 12:2748,241,61,31,796,642,212,10,87,476,467Arial, 130,Model Composite_traffic_v_,2,2,0,1,N:\Huippuyksikko\Tutkimus\R79_CompositeTraffic2\Mallit\Composite_traffic_1_3_4.ANA81,1,1,0,2,1,4900,6400,72,40,7,450,720From088,64,180,121,0,0,1,0,0,0,72,0,1FromComposite traffic reduces pressures typically by 50-70%1656,512,152,4465535,65532,19661Composite_traffic_rePersonal car traffic causes problems in urban city centresTraffic congestion in urban areas is rapidly becoming the most important obstacle for town development. In addition traffic is causing major environmental, health, and economical problems. On the other hand it is vital for the functions of the modern society.Pressure224,128,148,462,102,90,476,357There are several reasons why many people are not willing to use public transportation.Many people driving cars are not willing to use public transportation. This may be due to poor connections, difficult timing, uncomfort of changing etc.Pressure224,232,160,522,50,301,476,372Traffic is a major source of fine particles, which kill 300000 people/a in EuropePressure;
Effect368,504,156,552,102,90,476,414Steve Pye and Paul Watkiss: CAFE CBA: Baseline analysis 2000 to 2020. AEAT/ED51014/ Baseline Issue 2.
<a href= "http://www.iiasa.ac.at/docs/HOTP/Mar05/cafe-cba-baseline-results.pdf" >Click</a>CO2 emissions must be reduced to prevent climate changeState;
Effect224,336,156,48Private car is a very inefficient way of transporting people. Its superiority is based on flexibility, not efficiency. Therefore, systems that are both flexible and efficient must be developed.Pressure224,472,176,80Driving forceOther_actions368,176,148,24PressureOther_actions;
Driving_force368,232,148,24[Constant Co2_emissions_must_b]StatePressure368,288,148,24ExposureState368,344,148,24EffectExposure368,400,148,24[Constant Traffic_is_major_sou]The marginal cost of car is low given the passenger already owns one. An alternative must be efficient enough to compete with thisOther_actions;
Effect656,232,168,6465535,31131,19661Composite traffic gives new freedom and flexibility to decision-makers in urban policy-makingThe maybe most important effect (and the most difficult to model) comes from the increased degree of freedom in urban policy-making.
Some examples of the possible changes:
The pressures towards enlarging road infrastructure are relieved, giving resources to other possible targets.
Car limits in e.g. historical city centres can be implemented without disrupting peoples' possibilities to move freely in the city.
Public transportation can be provided in areas where sparse population or poor urban planning hamper efficient bus service.
It will become cheaper to implement technical measures to reduce emissions with a smaller, intensively used fleet.
Many families can give up the second, and sometimes even the first car, when most trips can be performed without an own vehicle.
Reduced pressures to buy an own car decrease problems of car-owning to city infrastructure.
Elderly, disabled, and young people get more freedom to move around.
Parents don't need to drive their children so much.
The need for driving drunk reduces.
The connection between the freedom to move and car ownership is loosened.
Emission reduction techniques are more economic, as there are fewer vehicles that drive more. Even expensive solutions such as hydrogen or electricity may become profitable. The question of mileage per tank is not an issue with composite vehicles, which makes it easier to use electricity.Composite_traffic_re504,512,168,482,379,84,520,38665535,65532,19661Personal transport is necessary in urban areas. The question is how to organise the transport with minimal harmDriving_force364,84,168,55Actionktluser8. maata 2005 6:3048,24504,232,148,241,76,97,743,564,17With composite traffic
1. the service and flexibility is comparable to the car
2. most pressures reduce by 50-70% but driver salary costs are high
3. ca. 50 % of passengers found it attractive
4. system can start in a small way and expand laterWe found out that with composite traffic
1. most trips are direct; 40% involve one change
2. most pressures reduce by 50-70% but driver salary costs are high
3. ca. 50 % of passengers found it cheaper
4. day-time traffic does not need subsidiescomposite_traffic_dummy680,304,192,922,512,136,476,38165535,65532,19661We studied
1. how effectively trips can be combined
2. what the various costs of each option are
3. what is the variation of perceived costs among passengers
4. what incentives are needed to reach targetsWe studied
1. how effectively trips can be combined
2. what are the various costs of each option
3. what is the variation of perceived costs among passengers
4. what incentives are needed to reach targetscomposite_traffic_dummy680,104,188,891,1,1,1,1,1,0,,1,2,102,90,476,473Composite trafficjtue24. Febta 2005 15:2448,24504,160,148,241,73,160,729,328,17100,1,1,1,2,9,2970,2100,152,53,21,627,60045-60% composite fraction is optimalThe best alternative for society is about 45-60% of current car traffic to change to composite traffic. The fraction is relative to the area of guarantee but is still rather robust. With evening trips, composite traffic is better only at high guarantee. In contrast, during night composite traffic is not competitive, and it is always more expensive than car traffic. However, the availability of composite traffic around the clock is an important factor when car-owners are considering not to buy a new car at all. This pheniomenon is not modelled here, but it is probably important. If composite traffic is subvented during nights, the overall societal costs are still well in favor of composite traffic. This is because night trips are not numerous and can easily be subsidised.Societal_cost584,64,148,382,102,90,476,452[Alias A45_60__composite_f2]65535,65532,19661Composite traffic reduces pressures typically by 50-70%We show here that in an urban area with one million inhabitants, this system could reduce environmental and other pressures of car traffic typically by 50-70 %, would attract about half of the car passengers, and within a broad operational range needs no public subsidies. Composite traffic gives a new level of freedom in urban decision-making towards solving the problems of urban traffic.Table_1_pressures352,80,152,442,131,221,476,279[Alias Composite_traffic_r1]65535,65532,19661Trip aggregationThis module calculates the actual trips, modes of transportation, and delays during trips and vehicle transfers. It also calculates the kilometres traveled by each type of vehicle and number of vehicles needed.
The composite traffic trips are allocated into different vehicles. The following hierarchy is used in allocation. If the criterion is fulfilled, that number of passengers is allocated, and the rest will go to the next criterion. The criteria are used for a group of trips that has the same origin, destination, and time. Time resolution is 12 min. Origin and destination are described as '129-areas' used for city authorities in Helsinki metropolitan area. The 129 areas have on average 7300 inhabitants (0, 25%, 50%, 75%, and 100% percentiles are 0, 3400, 6800, 10300, and 28300, respectively).
1) Use an 8-seat vehicle if there are enough passengers to get it full.
2) Use a 4-seat vehicle if there are enough passengers to get it full.
Divide the trips into two parts so that the passengers change vehicle in the most busy point along the route. Then,
3) Use an 8-seat vehicle if there are enough passengers to get it full.
4) Use a 4-seat vehicle if there are enough passengers to get it full.
5) Use a 4-seat vehicle for all remaining trips.
The criterion is checked at the actual arrival time at the transfer point, i.e. the model takes into account the different travel times between areas.
The following outputs are calculated:
Number of passenger trips by mode (car or composite traffic)
Number of passenger trips by vehicle type. Note that in this output, the trip that includes a transfer is calculated twice.
Vehicle kilometres driven
Parking lots needed for the vehicles that are used
Average vehicle numbers per hour for the 30 most busy links at 8.00-9.00 in the morning
Number of vehicles needed
Waiting time due to traffic jams and waiting for composite vehicle to arrive.
The outputs of each scenario are indexed (when relevant) by period (day, evening, night); zone (Helsinki downtown, other centre, suburb), length of trip (less or more than 5 km), and vehicle type (8-seat or 4-seat vehicle with of without transfer, or car).jtue6. helta 2003 18:5548,24304,232,148,241,216,457,650,341,172,102,90,476,45167,1,1,0,1,1,2794,1728,0Vehicle typesTable(Self,Vehicle)(
'Minibus (d)','Minibus (d)','Minibus (d)','Minibus (d)','Minibus (d)','Minibus (d)','Minibus (d)','Minibus (d)','Minibus (d)','Minibus (d)','Minibus (d)','Minibus (d)','Minibus (d)','Minibus (d)','Minibus (d)','Minibus (d)','Minibus (d)','Minibus (d)',
'Minibus (d)','Minibus (d)','Minibus (d)','Minibus (d)','Minibus (d)','Car (d)','Car (d)','Car (d)','Car (d)','Minibus (d)','Minibus (d)','Minibus (d)','Minibus (d)','Minibus (d)','Car (d)','Car (d)','Car (d)','Car (d)',
'Minibus (d)','Minibus (d)','Minibus (d)','Minibus (d)','Minibus (d)','Minibus (d)','Car (d)','Car (d)','Car (d)','Minibus (d)','Minibus (d)','Minibus (d)','Minibus (d)','Minibus (d)','Minibus (d)','Car (d)','Car (d)','Car (d)'
)[1,2,3]56,248,148,242,531,17,416,394,0,MIDM2,40,50,416,413,0,MIDM52425,39321,65535[Vehicle_types,Vehicle][Vehicle_types,Vehicle]Old partsktluser30. kesta 2006 1:2048,24624,376,148,241,0,1,1,1,1,0,,0,1,40,0,170,454,17Choose guarYou can choose which guarantee level(s) is (are) calculated. If you choose All, you will get a more thorough result, but it will take more memory and computation time, especially if 'Choose comp' or 'Choose period' are also All.Choice(Guar,0,True)48,56,148,162,-2,232,476,224[Formnode Choose_guar1]52425,39321,65535['item 1']Choose compYou can choose which composite fraction(s) is (are) calculated. If you choose All, you will get a more thorough result, but it will take more memory and computation time, especially if 'Choose guar' or 'Choose period' are also All.Choice(Car_fr,0,True)48,24,148,162,40,50,416,382,0,DEFA[Formnode Choose_comp1]52425,39321,65535['item 1']var v:= Transfer_point;
var b:= 24 {All_trips[Mode1='Composite']};
var h:= 0;
var y:= 1;
var out:= 0;
var yy:= if findintext('d',vehicle_noch)=1 then 1 else 0;
yy:= if evaluate(selecttext(vehicle_noch,2))<= Scenario_input[input_var='Max size'] and evaluate(selecttext(vehicle_noch,2))>= Scenario_input[input_var='Min direct load'] then yy else 0;
yy:= subset(yy);
while y<=size(yy) do (
var s:= evaluate(selecttext(slice(yy,y),2));
h:= mod(b,s);
out:= if ('d'&s)=Vehicle_noch then b-h else out;
b:= h;
y:= y+1);
y:= 1;
yy:= if findintext('c',vehicle_noch)=1 then 1 else 0;
yy:= if evaluate(selecttext(vehicle_noch,2))<= Scenario_input[input_var='Max size'] then yy else 0;
yy:= subset(yy);
while y<=size(yy) do (
var s:= evaluate(selecttext(slice(yy,y),2));
h:= mod(b,s);
out:= if ('c'&s)=Vehicle_noch then b-h else out;
b:= h;
y:= y+1);
out96,48,148,242,530,13,476,4722,37,31,416,418,0,MIDMWaitingminCalculates the waiting time for composite traffic. First, we calculate the number of vehicles running between each points at each time. This is calculated for short (< 5 km) and long trips separately. We assume that the vehicles run at relatively regular intervals, and then the expected waiting time is half of the time difference between the vehicles. Then we sum over areas and aggregate over time, and calculate the trip-number-weighted waiting time.var c:= trips[vehicle_noch=vehicle];
c:= if c=null then 0 else c;
var a:= ceil(c/vehicle_size);
var n:= drop_points[area1=from]/Sqrt(a);
var k:= vehicle_size;
a:= if a>0 then n*(1-((n-1)/n)^k)*drop_length[area1=from] else 0;
a:= if findintext('c',vehicle)>0 then ceil(time_unit*60/2)+a else a;
72,136,148,242,2,11,460,451,0,MIDMGraphtool:0
Distresol:10
Diststeps:1
Cdfresol:5
Cdfsteps:1
Symbolsize:6
Baroverlap:0
Linestyle:1
Frame:1
Grid:1
Ticks:1
Mesh:1
Scales:1
Rotation:45
Tilt:0
Depth:70
Frameauto:1
Showkey:1
Xminimum:0
Xmaximum:1
Yminimum:0
Ymaximum:1
Zminimum:0
Zmaximum:1
Xintervals:0
Yintervals:0
Includexzero:0
Includeyzero:0
Includezzero:0
Statsselect:[1,1,1,1,1,0,0,0]
Probindex:[0.05,0.25,0.5,0.75,0.95]
[Time,To1]WaitingminCalculates the waiting time for composite traffic. First, we calculate the number of vehicles running between each points at each time. This is calculated for short (< 5 km) and long trips separately. We assume that the vehicles run at relatively regular intervals, and then the expected waiting time is half of the time difference between the vehicles. Then we sum over areas and aggregate over time, and calculate the trip-number-weighted waiting time.var c:= trips[vehicle_noch=vehicle];
c:= if c=null then 0 else c;
var a:=Waiting3;
var e:= for x:= waiting_time do (
var d:= if round(a)=x then c else 0;
d:= trips_by_type(aggr_period(d));
d= aggr_zone(aggr_length(d)));
sum(e*waiting_time,waiting_time)/sum(e,waiting_time)72,192,148,242,527,114,476,3332,54,129,460,451,0,MIDMGraphtool:0
Distresol:10
Diststeps:1
Cdfresol:5
Cdfsteps:1
Symbolsize:6
Baroverlap:0
Linestyle:1
Frame:1
Grid:1
Ticks:1
Mesh:1
Scales:1
Rotation:45
Tilt:0
Depth:70
Frameauto:1
Showkey:1
Xminimum:0
Xmaximum:1
Yminimum:0
Ymaximum:1
Zminimum:0
Zmaximum:1
Xintervals:0
Yintervals:0
Includexzero:0
Includeyzero:0
Includezzero:0
Statsselect:[1,1,1,1,1,0,0,0]
Probindex:[0.05,0.25,0.5,0.75,0.95]
[Zone,Period]var c:= trips[vehicle_noch=vehicle];
c:= if c=null then 0 else c;
var per:= if time>=6 and time<20 then slice(period,1) else
if time>=20 and time<24 then slice(period,2) else
slice(period,3);
var zon:= zones[area1=to1]*zones[area1=from];
zon:= if zon>4 then 3 else if zon=4 then 2 else zon;
var type:= vehicle_types[vehicle_types= Scenario_input[input_var= 'Vehicle types']];
var len:= array(length,[0,1]);
len:= if distances < 5 then 1-len else len;
var x:= 1;
var d:=0;
while x<=size(time) do (
var y:= 1;
while y<=size(from) do (
{var ab:= slice(slice(waiting3,time,x),from,y)*slice(len,from,y);
ab:= if round(ab)=waiting_time then slice(slice(c,time,x),from,y) else 0;
ab:= if period=slice(per,x) and zone=slice(zon,from,y) then ab else 0;
d:= d+ab;}
y:= y+1);
x:=x+1);
d{trips_by_type(d);
e:= aggr_zone(aggr_length(e));}
{sum(e*waiting_time,waiting_time)/sum(e,waiting_time)}72,256,148,242,19,102,476,5212,610,91,416,303,0,MIDM(a)Vehicles by typeAggregates the vehicle index into vehicle_type index. The input parameter a must be indexed by either vehicle or vehicle_noch.var type:= vehicle_types[vehicle_types= Scenario_input[input_var= 'Vehicle types']];
type:= type[vehicle=vehicle_noch];
{a:= if size(a)=size(sum(a,vehicle_noch)) then a else a[vehicle_noch=vehicle];
a:= if a=null then 0 else a;}
var siz:= if vehicle_noch='Noch' then 1 else vehicle_size[vehicle=vehicle_noch];
a:= if vehicle_noch='Noch' then 0 else ceil(a/siz);
for x:= vehicle_type do (
a:= if type=x then a else 0;
sum(a,vehicle_noch))48,24,148,202,102,90,476,416a(a)Vehicles by typeAggregates the vehicle index into vehicle_type index. The input parameter a must be indexed by either vehicle or vehicle_noch.var type:= vehicle_types[vehicle_types= Scenario_input[input_var= 'Vehicle types']];
a:= if size(a)=size(sum(a,vehicle_noch)) then a else a[vehicle_noch=vehicle];
a:= if a=null then 0 else a;
a:= ceil(a/vehicle_size);
a:= if type=vehicle_type then a else 0;
sum(a,vehicle)48,24,148,20avar type:= vehicle_types[vehicle_types= Scenario_input[input_var= 'Vehicle types']];
var a:= va4;
{a:= if size(a)=size(sum(a,vehicle_noch)) then a else a[vehicle_noch=vehicle];
a:= if a=null then 0 else a;}
var siz:= if vehicle_noch='Noch' then 1 else vehicle_size[vehicle=vehicle_noch];
a:= if vehicle_noch='Noch' then 0 else ceil(a/siz);
for x:= vehicle_type do (
a:= if type=x then a else 0;
sum(a,vehicle_noch))48,88,148,24[To1,From]if vehicle_noch='d9' then from*to1*time*0 else 1/348,24,148,24[To1,From]var type:= vehicle_types[vehicle_types= Scenario_input[input_var= 'Vehicle types']];
type:= type[vehicle=vehicle_noch];
var a:= va4;
{a:= if size(a)=size(sum(a,vehicle_noch)) then a else a[vehicle_noch=vehicle];
a:= if a=null then 0 else a;
var siz:= if vehicle_noch='Noch' then 1 else vehicle_size[vehicle=vehicle_noch];
a:= if vehicle_noch='Noch' then 0 else ceil(a/siz);}
{var x:= 1;
while x<=size(vehicle_type) do (
a:= if type=slice(vehicle_type,x) then a else 0;
sum(a,vehicle_noch))}
for x:= vehicle_type do (
a:= if type=x then a else 0;
sum(a,vehicle_noch))48,152,148,242,154,123,416,303,0,MIDM[To1,From]WaitingminCalculates the waiting time for composite traffic. First, we calculate the number of vehicles running between each points at each time. This is calculated for short (< 5 km) and long trips separately. We assume that the vehicles run at relatively regular intervals, and then the expected waiting time is half of the time difference between the vehicles. Then we sum over areas and aggregate over time, and calculate the trip-number-weighted waiting time.var siz:= if vehicle_noch='Noch' then 1 else vehicle_size[vehicle=vehicle_noch];
var a:= sum(vehicle_by_type,vehicle_type);
a:= drop_points[area1=from]/Sqrt(a);
a:= if a=inf then 0 else a;
a:= a*(1-((a-1)/a)^siz)*drop_length[area1=from];
var b:= if findintext('c',vehicle_noch)=1 then time_unit*60/2 else 0;
a:= (a+b)*trips;
a:= trips_by_type(aggr_zone(aggr_length(aggr_period(a))));
a/composite_trips48,24,148,242,2,11,460,451,0,MIDMGraphtool:0
Distresol:10
Diststeps:1
Cdfresol:5
Cdfsteps:1
Symbolsize:6
Baroverlap:0
Linestyle:1
Frame:1
Grid:1
Ticks:1
Mesh:1
Scales:1
Rotation:45
Tilt:0
Depth:70
Frameauto:1
Showkey:1
Xminimum:0
Xmaximum:1
Yminimum:0
Ymaximum:1
Zminimum:0
Zmaximum:1
Xintervals:0
Yintervals:0
Includexzero:0
Includeyzero:0
Includezzero:0
Statsselect:[1,1,1,1,1,0,0,0]
Probindex:[0.05,0.25,0.5,0.75,0.95]
[To1,From]11.7.2006 Jouni Tuomisto
Ennen oli tmminen hieno yhteenveto, mutta sitten keksin paljon yksinkertaisemman, ja muistitarve romahti.
var e:= for x:= waiting_time do (
var d:= if round(a)=x then c else 0;
d:= trips_by_type(aggr_period(d));
d:= aggr_zone(aggr_length(d)));
sum(e*waiting_time,waiting_time)/sum(e,waiting_time)
13.7.2006 Jouni Tuomisto
Silti muistia kului liikaa tll koodilla:
{var siz:= if vehicle_noch='Noch' then 1 else vehicle_size[vehicle=vehicle_noch];
var a:= if vehicle_noch='Noch' then 0 else trips;
a:= ceil(a/siz);
var n:= drop_points[area1=from]/Sqrt(a);
a:= if a>0 then n*(1-((n-1)/n)^siz)*drop_length[area1=from] else 0;
a:= if findintext('c',vehicle_noch)=1 then ceil(time_unit*60/2)+a else a;
a:= trips_by_type(aggr_zone(aggr_length(aggr_period(a*trips))));
a/composite_trips}{missing ')'}
Yritin siis viel viilata sujuvammaksi, mutta ei pse mihinkn siit, ett tss pit pyritt taulua jonka ulottuvuudet ovat from*to1*time*vehicle_noch. Pitmll Vehicle_nochin mahdollisimman lyhyen sstetn tietysti muistia.
Flexible frindex b:= Scenario_description[input_var=''];
unique(b,b)48,24,148,12Scenarios output# or #/hA set of scenarios organised along two indexes:
Guar is the level of composite traffic guarantee. This means that trips within a certain area will be organised by composite travel, while areas outside this guarantee remain without the service. The point in using this index is to explore whether composite traffic can be started with low profile and expanded geographically as more people start using it.
Comp_fr is the fraction of trips that were previously performed by personal car but are performed by composite traffic in the scenario.var a:= Scenario_data[vehicle_noch=vehicle];
var b:= Scenario_description;
a:= if b[input_var='Composite fraction']=Car_fr then a else 0;
a:= if b[input_var='Guarantee level']=guar then a else 0;
a:= if Car_fr=0 then a[guar=7] else a;
a:= a[guar=choose_guar];
a:= if Car_fr=0 and output1='Waiting' then 0 else a;
a:= a[Car_fr=choose_comp];
a:= if b[input_var='Flexible fraction']=choose_flexible then a else 0;
a:= if b[input_var='No-change fraction']=choose_nochange then a else 0;
a:= if b[input_var='Large guarantee?']='Yes' then
(if large='Yes' then a else 0) else (if large='No' then a else 0);
a:= a[large=choose_large];
a:= sum(a,Scen_ind);
a512,48,148,242,18,41,837,433,0,MIDMGraphtool:0
Distresol:10
Diststeps:1
Cdfresol:5
Cdfsteps:1
Symbolsize:6
Baroverlap:0
Linestyle:10
Frame:1
Grid:1
Ticks:1
Mesh:1
Scales:1
Rotation:45
Tilt:0
Depth:70
Frameauto:1
Showkey:1
Xminimum:5
Xmaximum:15
Yminimum:0
Ymaximum:1M
Zminimum:1
Zmaximum:6
Xintervals:0
Yintervals:0
Includexzero:0
Includeyzero:0
Includezzero:0
Statsselect:[1, 1, 1, 1, 1, 0, 0, 0]
Probindex:[5%, 25%, 50%, 75%, 95%]
Arial, 5[Output1,Vehicle]Choose periodYou can choose which period(s) is (are) calculated. If you choose All, you will get a more thorough result, but it will take more memory and computation time, especially if 'Choose guar' or 'Choose comp' are also All.Choice(Period,1,True)48,24,148,16[Formnode Choose_period1]52425,39321,65535['item 1']Link_teko2var a:= max(distances,To1);
link_teko;
a48,24,148,242,216,156,476,4362,104,114,302,484,0,MIDM[From,Mode1]Bus distanceskmThe length of each origin-destination trip.var a:= if findintext(Bus_links,bus_routes&' ')>0 then link_length1[links_1=bus_links] else 0;
a:= sum(a,Bus_links.b);
a + in_area_distance[area1=From] + in_area_distance[area1=To1]48,24,148,242,499,259,476,3412,27,18,883,552,0,MIDM[To1,From]Delaytime unitsTravel time between two city areas. It includes the time that is spent in the composite vehicle when it drives within the origin or destination area picking up or dropping off other passengers. However, the travel times of composite vehicles and car are estimated to be so close to each other that the same value is used for both. (In any case, the resolution is 12 min anyway).ceil(Distances[mode1='Car']/Traffic_speed/time_unit)168,184,148,242,262,247,476,3242,414,130,694,363,0,MIDM[From,To1]Vehicle sizepassengersSize of vehicles that is used to allocate passengers into vehicles. For cars, the average number of passengers is 1.345 (See Car occupancy). A slightly higher number is used here, because with low volumes (1-4 passengers) the need of cars is overestimated if the actual number is used. Even if the higher number overcompensates this and causes bias, it is in favour of personal cars.Table(Vehicle)(
9,8,7,6,5,4,3,2,1,9,8,7,6,5,4,3,2,1)56,144,148,241,1,1,1,1,1,0,,0,2,9,108,476,4062,88,98,416,398,0,MIDM52425,39321,65535[Hellman, 2004 54 /id]
Tripstrips/time unitThe composite traffic trips are allocated into different vehicles. The following hierarchy is used in allocation. If the criterion is fulfilled, that number of passengers is allocated, and the rest will go to the next criterion. The criteria are used for a group of trips that has the same origin, destination, and time.
1) Use an 8-seat vehicle if there are enough passengers to get it full.
2) Use a 4-seat vehicle if there are enough passengers to get it full.
Divide the trips into two parts so that the passenger changes vehicle in the most busy point along the route. Then,
3) Use an 8-seat vehicle if there are enough passengers to get it full.
4) Use a 4-seat vehicle if there are enough passengers to get it full.
5) Use a 4-seat vehicle for all the remaining trips.
The criterion is checked at the actual arrival time at a transfer point, i.e. the model takes into account the different travel times between areas.var v:= Transfer_point;
var b:= All_trips[Mode1='Composite'];
var h:= 0;
var y:= 1;
var out:= 0;
var yy:= if findintext('d',vehicle_noch)=1 then 1 else 0;
yy:= if evaluate(selecttext(vehicle_noch,2))<= Scenario_input[input_var='Max size'] and evaluate(selecttext(vehicle_noch,2))>= Scenario_input[input_var='Min direct load'] then yy else 0;
yy:= subset(yy);
while y<=size(yy) do (
var s:= evaluate(selecttext(slice(yy,y),2));
h:= mod(b,s);
out:= if ('d'&s)=Vehicle_noch then b-h else out;
b:= h;
y:= y+1);
var noch:= round(b*scenario_input[input_var='No-change fraction']);
b:= b-noch;
var changed:= b;
var a:= From&','&To1;
var j:= if v=a then b else 0;
b:= b-j;
a:= ','&To1;
{laskee alkumatkan matkasuoritteen}
var d:= for x[]:= a do (
var c:= (if findintext(From&x,v)>0 then b else 0);
c:= sum(c,To1) );
{siirt matkasuoritetta alkumatkan viipeen verran.}
var e:= selecttext(v,6,9);
e:= for x[]:= evaluate(e) do delay[To1=x];
b:= time_shift(b,e);
{laskee loppumatkan matkasuoritteen}
a:= From&',';
b:= for x[]:= a do (
var c:= (if findintext(x&To1,v)>0 then b else 0);
c:= sum(c,From) );
b:= j+d+b;
b:= b+noch;
y:= 1;
yy:= if findintext('c',vehicle_noch)=1 then 1 else 0;
yy:= if evaluate(selecttext(vehicle_noch,2))<= Scenario_input[input_var='Max size'] then yy else 0;
yy:= subset(yy);
while y<=size(yy) do (
var s:= evaluate(selecttext(slice(yy,y),2));
h:= mod(b,s);
out:= if ('c'&s)=Vehicle_noch then b-h else out;
b:= h;
y:= y+1);
if Vehicle_noch='Noch' then noch else out280,104,148,242,460,19,476,6072,25,71,468,508,0,MIDMGraphtool:0
Distresol:10
Diststeps:1
Cdfresol:5
Cdfsteps:1
Symbolsize:6
Baroverlap:0
Linestyle:1
Frame:1
Grid:1
Ticks:1
Mesh:1
Scales:1
Rotation:45
Tilt:0
Depth:70
Frameauto:1
Showkey:1
Xminimum:0
Xmaximum:1
Yminimum:0
Ymaximum:1
Zminimum:0
Zmaximum:1
Xintervals:0
Yintervals:0
Includexzero:0
Includeyzero:0
Includezzero:0
Statsselect:[1,1,1,1,1,0,0,0]
Probindex:[0.05,0.25,0.5,0.75,0.95]
[Time,To1][Index Mista]Total vehicle needvehiclesTotal number of vehicles needed to run the system. It is assumed that cars can be used in a similar way as composite vehicles, i.e. that if a car is parked, anyone can take and use it. This is of course unrealistic, but the bias is in the favour of car travelling. In addition, this number is not used for the final car need calculations.var a:= cumulative_balance;
var driving:= -sum(a,from);
a:= a-min(a,time);
a:= sum(a,from)+driving;
max(a,time)392,248,148,242,518,118,476,3052,15,21,372,159,0,MIDM[Time,Vehicle][Index Travel_type]Areal vehicle peakvehiclesThe highest number of vehicles during the observation period in each area. This excludes vehicles that are driving through the area. This is a proxy of parking lot need in the area. For practical reasons, the numbers are aggregated into zone level.
It is assumed that cars can be used in a similar way as composite vehicles, i.e. that if a car is parked, anyone can take and use it. This is of course unrealistic, but the bias underestimates the parking lot need in favour of car travelling. It is also assumed that composite vehicles and cars use separate parking areas. In this way the beforementioned bias does not affect the estimate for composite traffic.var a:= cumulative_balance;
a:= max(a,time)-min(a,time);
aggr_zone(a)392,312,148,242,25,35,476,4602,8,6,365,180,0,MIDM[Zone,Vehicle_type][Index Region2]36,1,1,0,1,9,6798,4744,7Link intensityvehicles/hThe average number of vehicles per hour driving along a link for the 30 most busy links at 8.00-9.00 in the morning. Note that each street consists of two links going to opposite directions.average(link_intensity_per_name,link_intensity_per_name.link)512,376,148,242,385,178,476,3842,12,422,360,163,0,MIDMBasic rankingThe 30 most busy links based on the scenario with cars only.index Top30:= 1..30;
var b:= trips_per_link_BAU;
b:= b[From=Floor(Link/10000),To1=(Link-Floor(Link/10000)*10000)];
b:= sortindex(-b,Link);
var a:= 1..size(Top30);
a:=slice(b,a);
slice(a,Top30)280,376,148,242,457,82,476,4212,735,44,226,642,0,MIDM[To1,From]1,I,4,2,0,0Link intensity per namevehicles/hThe number of vehicles per hour driving along a link for the 30 most busy links at 8.00-9.00 in the morning. The result is indexed by the names of the areas that are connected by the particular link.var d:= basic_ranking;
var mist:= floor(d/10000);
var mihi:= d-floor(d/10000)*10000;
var a:= Vehicles_per_link;
a:= a[From=mist,To1=mihi];
d:= area_name[area1=floor(d/10000)]&' - '&area_name[area1=d-floor(d/10000)*10000];
index link:= d;
var c:=cumulate(1,link);
slice(a,a.top30,c)392,376,148,242,129,54,476,5662,46,12,824,709,0,MIDM[Vehicle,Link][Index Travel_type]Transfer intensitypassengers/dThe number of transfers (changing composite vehicle in the middle of a trip) in each area.var a:= if vehicle_noch='Noch' then 0 else Trips;
a:= sum(a,vehicle_noch);
a:= sum(a-all_trips[Mode1='Composite'],time);
var fro:= sum(a,To1);
var to:= sum(a,from);
fro+to[to1=from]168,32,148,242,109,186,476,4252,781,43,296,405,0,MIDM[To1,From]Trips per hourtrips/hTotal number of trips travelled per hour in the whole area.var a:= Trips[vehicle_noch=vehicle];
a:= sum(sum(a,From),To1)/time_unit;
a168,104,148,242,517,83,476,4102,25,49,676,547,0,MIDMGraphtool:0
Distresol:10
Diststeps:1
Cdfresol:5
Cdfsteps:1
Symbolsize:6
Baroverlap:0
Linestyle:10
Frame:1
Grid:1
Ticks:1
Mesh:1
Scales:1
Rotation:45
Tilt:0
Depth:70
Frameauto:1
Showkey:1
Xminimum:0
Xmaximum:1
Yminimum:0
Ymaximum:7.25M
Zminimum:1
Zmaximum:2
Xintervals:0
Yintervals:0
Includexzero:0
Includeyzero:0
Includezzero:0
Statsselect:[1,1,1,1,1,0,0,0]
Probindex:[0.05,0.25,0.5,0.75,0.95]
Arial, 8[Vehicle,Time]Cumulative balancevehiclesCumulative net balance of vehicles and its development in time. This could take into account the compensative gap filling, i.e. if there is shortage of composite vehicles, empty vehicles are transported into the area. However, in the current version, it is assumed that empty vehicles are not transported. Because of this, there must be enough vehicles in each area so that it will not run out of them at any time of the day.dynamic(0,Cumulative_balance[time-1]+Vehicle_balance)280,248,148,242,102,90,476,3692,178,119,756,399,0,MIDM[Time,From][Index From]Vehicle balancevehicles/time unitNumber of vehicles coming to and leaving each area, i.e. the net balance of the area for each time point. Assumes 1.5 trips per private car. Assumes that all gasoline cars are private cars.var b:= vehicle_by_type;
b:= if vehicle_type='Car (g)' then ceil(all_trips[mode1='Car']/1.5) else b;
var a:= time_shift(b,delay+1);
a:= sum(a,From);
a:= a[To1=From];
a:= -sum(b,To1)+a;
a280,184,148,242,62,35,476,6492,248,12,694,438,0,MIDM[Time,From][Index From]Vehicles per linkvehicles/hThe number of vehicles in each link. Assumes 1.5 trips per private car. Assumes that all gasoline cars are private cars.var v:= Route_matrix;
var a:= From&','&To1;
index e:= Sequence(8,8.99,time_unit);
var g:= vehicle_by_type;
g:= if vehicle_type='Car (g)' then ceil(all_trips[mode1='Car']/1.5) else g;
g:= sum(g[time=e],e);
{laskee matkasuoritteen joka linkille erikseen}
var d:= for x[]:= a do (
var c:= (if findintext(x,v)>0 then g else 0);
c:= sum(sum(c,From),To1) );
d168,312,148,242,425,58,476,5282,96,75,797,552,0,MIDM[To1,From]Trips per link BAUtrips/hVehicles per link in a scenario with cars only. This is used to rank the links according to their vehicle intensities.var v:= Route_matrix;
var a:= From&','&To1;
index e:= sequence(8,8.99,time_unit);
var f:= sum(sum(adjusted_trip_rate[time=e],e),mode1);
for x[]:= a do (
var c:= (if findintext(x,v)>0 then f else 0);
c:= sum(sum(c,From),To1) )168,376,148,242,102,90,476,3542,74,10,797,552,0,MIDM[To1,From]Vehicle kmkm/time unitNumber of vehicle kilometres driven during each time unit. Assumes 1.5 trips per private car. Assumes that all gasoline cars are private cars.var a:= vehicle_by_type;
a:= if vehicle_type='Car (g)' then ceil(all_trips[mode1='Car']/1.5) else a;
a:= aggr_period(a);
a:= a*distances;
a:= aggr_zone(aggr_length(a));
a[mode1='Composite']280,304,148,242,368,50,476,4452,249,118,591,469,0,MIDM[Zone,Period][Sysvar Time]88,1,1,0,2,9,4744,6798,7WaitingminCalculates the waiting time for composite traffic. First, we calculate the number of vehicles running between each points at each time. This is calculated for short (< 5 km) and long trips separately. We assume that the vehicles run at relatively regular intervals, and then the expected waiting time is half of the time difference between the vehicles. Then we sum over areas and aggregate over time, and calculate the trip-number-weighted waiting time.var siz:= if vehicle_noch='Noch' then 1 else vehicle_size[vehicle=vehicle_noch];
index a:= (4..max(drop_points*5))/5;
a:= drop_points[area1=from]/Sqrt(a);
a:= if a=inf then 0 else a;
a:= a*(1-((a-1)/a)^siz)*drop_length[area1=from];
a:= a +(if findintext('c',vehicle_noch)=1 then time_unit*60/2 else 0);
a:= if vehicle_noch='Noch' then 0 else a;
var n:= sum(vehicle_by_type,vehicle_type);
n:= drop_points[area1=from]/Sqrt(n);
n:= if n=inf then 0.8 else round(n*5)/5;
a:= a[.a=n]*trips;
a:= trips_by_type(aggr_zone(aggr_length(aggr_period(a))));
a/composite_trips512,144,148,242,493,24,474,6012,2,11,470,460,0,MIDMGraphtool:0
Distresol:10
Diststeps:1
Cdfresol:5
Cdfsteps:1
Symbolsize:6
Baroverlap:0
Linestyle:1
Frame:1
Grid:1
Ticks:1
Mesh:1
Scales:1
Rotation:45
Tilt:0
Depth:70
Frameauto:1
Showkey:1
Xminimum:0
Xmaximum:1
Yminimum:0
Ymaximum:1
Zminimum:0
Zmaximum:1
Xintervals:0
Yintervals:0
Includexzero:0
Includeyzero:0
Includezzero:0
Statsselect:[1,1,1,1,1,0,0,0]
Probindex:[0.05,0.25,0.5,0.75,0.95]
[Zone,Period][Index Vehicle]11.7.2006 Jouni Tuomisto
Ennen oli tmminen hieno yhteenveto, mutta sitten keksin paljon yksinkertaisemman, ja muistitarve romahti.
var e:= for x:= waiting_time do (
var d:= if round(a)=x then c else 0;
d:= trips_by_type(aggr_period(d));
d:= aggr_zone(aggr_length(d)));
sum(e*waiting_time,waiting_time)/sum(e,waiting_time)
13.7.2006 Jouni Tuomisto
Silti muistia kului liikaa tll koodilla:
{var siz:= if vehicle_noch='Noch' then 1 else vehicle_size[vehicle=vehicle_noch];
var a:= if vehicle_noch='Noch' then 0 else trips;
a:= ceil(a/siz);
var n:= drop_points[area1=from]/Sqrt(a);
a:= if a>0 then n*(1-((n-1)/n)^siz)*drop_length[area1=from] else 0;
a:= if findintext('c',vehicle_noch)=1 then ceil(time_unit*60/2)+a else a;
a:= trips_by_type(aggr_zone(aggr_length(aggr_period(a*trips))));
a/composite_trips}{missing ')'}
Yritin siis viel viilata sujuvammaksi, mutta ei pse mihinkn siit, ett tss pit pyritt taulua jonka ulottuvuudet ovat from*to1*time*vehicle_noch. Pitmll Vehicle_nochin mahdollisimman lyhyen sstetn tietysti muistia.
Waiting timeA dummy index1..20512,176,148,12ZonesThe areas are classified into three categories: 1) downtown (downtown of Helsinki), 2) centre (other major centres within the Metropolitan area), and 3) suburb (all other areas).Table(Area1)(
1,1,1,1,2,2,2,2,2,2,2,2,3,3,2,3,2,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,2,3,3,3,3,2,2,3,3,3,3,3,3,3,2,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,2,3,3,3,3,3,3,3,2,3,2,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,0)632,32,148,242,782,11,215,614,0,MIDM52425,39321,65535All trips2tripsTotal composite and car trips classified into zones and periods. This is the number of original trips, which is divided into car and composite trips. Compare Trips.v by zone.var a:= aggr_period(All_trips);
var c:= array(length,[0,1]);
c:= if distances < 5 then 1-c else c;
aggr_zone(a*c)568,312,148,242,403,72,476,3712,253,263,718,295,0,MIDM[Zone,Period]OutputsThe combined result of various variables using the basic assumptions. This output is copied to the module 'Static nodes' and subsequently used as the basis for cost calculations.var a:= array(zone,[total_vehicle_need,0,0]);
var b:= array(zone,[link_intensity,0,0]);
a:= array(period,[areal_vehicle_peak,b,a]);
a:= array(length,[a,0]);
b:= all_trips2;
b:= array(vehicle_type,[
slice(b,mode1,1),
slice(b,mode1,2),
slice(b,mode1,3)]);
array(output1, [composite_trips,b,nochange_trips,vehicle_km,a,waiting])512,248,148,242,12,136,476,3332,11,4,487,220,0,MIDM[Alias Bau_scenario_output1]Graphtool:0
Distresol:10
Diststeps:1
Cdfresol:5
Cdfsteps:1
Symbolsize:6
Baroverlap:0
Linestyle:1
Frame:1
Grid:1
Ticks:1
Mesh:1
Scales:1
Rotation:45
Tilt:0
Depth:70
Frameauto:1
Showkey:1
Xminimum:0
Xmaximum:1
Yminimum:0
Ymaximum:1
Zminimum:0
Zmaximum:1
Xintervals:0
Yintervals:0
Includexzero:0
Includeyzero:0
Includezzero:0
Statsselect:[1,1,1,1,1,0,0,0]
Probindex:[0.05,0.25,0.5,0.75,0.95]
[Zone,Period][Index Length]LengthThe length of the trip classified as short (< 5 km) and long.['< 5 km','>= 5 km']280,336,148,12Composite tripstripsTotal composite and car trips classified into zones and periods. This is indexed by different vehicle types based on the modelled allocation. Note that this number is greater than Trips.m by zone, because here all trips with transfer are calculated as two separate trips.var a:= aggr_period(trips);
a:= trips_by_type(a);
a:= aggr_length(a);
aggr_zone(a)392,184,148,242,102,90,476,3882,43,123,450,295,0,MIDM[Zone,Period](a)Trips by typeAggregates the vehicle index into vehicle_type index. The input parameter a must be indexed by either vehicle or vehicle_noch.var type:= vehicle_types[vehicle_types= Scenario_input[input_var= 'Vehicle types']];
type:= type[vehicle=vehicle_noch];
{a:= if size(a)=size(sum(a,vehicle_noch)) then a else a[vehicle_noch=vehicle];
a:= if a=null then 0 else a;}
a:= if vehicle_noch='Noch' then 0 else a;
for x:= vehicle_type do (
var b:= if type=x then a else 0;
sum(b,vehicle_noch))632,168,148,122,372,20,476,352a(param1)Aggr zoneAggregates geographical location based on the following rules:
If trip is within downtown, it is Downtown.
If trip is within downtown or centre, it is Centre.
If trip goes to suburb, it is Suburb. Param1 must contain To1, From, or both, and this function will aggragate those two indices.if size(param1)/size(from)/size(to1)=size(sum(sum(param1,from),to1)) then
var a:= zones[area1=to1]*zones[area1=from];
a:= if a>4 then 3 else if a=4 then 2 else a;
a:= if zone=a then param1 else 0;
a:= sum(sum(a,from),to1)
else
var b:= param1[from=to1];
var a:= zones[area1=to1];
a:= if zone=a then b else 0;
a:= sum(a,to1)632,72,148,122,16,127,476,428param1Nochange tripsWe assume here that Noch-trips are performed with the vehicle in the first row of Vehicle_noch index. Actually, it is not known, which type of vehicles are used for noch-trips, but this is not a problem unless Nochange fraction is not 0. And even then it is a minor thing.var a:= aggr_zone(aggr_length(trips_aggr_period));
a:= if findintext('c',vehicle_noch)>0 then 0 else a;
a:= a+array(vehicle_noch,[a[vehicle_noch='Noch']]);
a:= trips_by_type(a);
392,104,148,242,40,50,684,303,0,MIDM[Zone,Period](param1)Aggr lengthvar c:= array(length,[0,1]);
c:= if distances[mode1='Car'] < 5 then 1-c else c;
param1*c632,200,148,12param1Drop pointsarea1*0+scenario_input[input_var='Drop points/area']624,120,148,2465535,52427,65534Drop lengtharea1*0+1512,88,148,242,496,250,476,22465535,52427,65534Vehicle by typevar type:= vehicle_types[vehicle_types= Scenario_input[input_var= 'Vehicle types']];
type:= type[vehicle=vehicle_noch];
var siz:= if vehicle_noch='Noch' then 1 else vehicle_size[vehicle=vehicle_noch];
var a:= if vehicle_noch='Noch' then 0 else ceil(trips/siz);
for x:= vehicle_type do (
a:= if type=x then a else 0;
sum(a,vehicle_noch))168,248,148,242,102,90,476,3362,65,48,416,303,0,MIDM[To1,From]var a:= if vehicle_noch='' then 1 else 1;
trips_by_type(a)640,256,148,24[Vehicle_type,Vehicle_noch]Trips aggr periodaggr_period(trips)288,40,148,24[To1,From]var a:= aggr_period(waiting);
a:= trips_by_type(aggr_zone(aggr_length(a)));
a/composite_trips424,48,148,242,119,212,416,303,0,MIDM[To1,From]sum(sum(sum(trips)))512,32,148,242,136,146,416,333,0,MIDM[Index Vehicle_noch]sum(sum(sum(adjusted_trip_rate)))72,56,148,242,136,146,416,333,0,MIDM[Index To1]CostsThis module calculates various pressures of different traffic scenarios. The estimates are based on Outputs node (which has been calculated beforehand due to slow calculations) and the numbers are stored in Static nodes). The outputs of each scenario are indexed (when relevant) by period (day, evening, night); zone (Helsinki downtown, other centre, suburb), length of trip (less or more than 5 km), and vehicle type (8-seat or 4-seat vehicle with of without transfer, or car).
Costs are separately calculated for the passenger and the society. Some costs affect these stakeholders differently, such as fine particle and carbon dioxide emissions: they are calculated as societal costs only, not as costs to a passenger.
The following endpoints are considered (see Table 1):
Fraction of composite trips without change (%)
Vehicles needed (number)
Parking places need (number)
Average vehicle flow on the 30 most busy roads (vehicles/h at 8.00-9.00 AM)
Fine particle (<2.5 µm of diameter) emissions (kg per day)
Carbon dioxide emissions (ton per day)
Driver salaries (thousand e per day)
Vehicle capital and operational costs (thousand e per day)
Time cost (thousand e per day)
Average car trip cost to passenger (e per trip)
Expected composite trip cost to passenger (e per trip)
The following costs are taken into account for passenger (P) or societal (S) costs:
Vehicle capital cost (P+S)
Driver salary cost (P+S)
Driving cost (fuel) (P+S)
Parking (parking fees for individual drivers) (P)
Parking land (opportunity cost of reserving land to parking purposes) (P+S)
Emissions (fine particles and carbon dioxide causing health and climate change effects, respectively (S)
Time for waiting composite vahicles, time spent in traffic jams (P+S)
Accidents (an option only, not used in the current model)
Ticket (profit for composite service provider) (P)
The module has a submodule Cost elements. It contains the detailed descriptions of the unit costs and other input variables that are used to calculate the pressures of each scenario. The values used are dependent on the stakeholder. For example, the car price is the price that a random new car would cost, and it has therefore large uncertainty. On the other hand, the price of a 4-seat composite vehicle is the average price a taxi-style car would cost in Finland, and the confidence intervals are narrower because there is no individual uncertainty. This is because the price of an individual car affects the costs of individual car trips, while the cost of composite trip is dependent on the total cost of vehicles.
Variation between individuals has been separately estimated for three variables: how passengers evaluate the capital costs of owning a car; how passengers are willing to pay for either the right to drive themselves or to not need to drive; and how many passengers are traveling together.jtue6. syyta 2004 13:4648,24424,232,148,241,200,9,598,470,17Scenarios output# or #/hA set of scenarios organised along two indexes:
Guar is the level of composite traffic guarantee. This means that trips within a certain area will be organised by composite travel, while areas outside this guarantee remain without the service. The point in using this index is to explore whether composite traffic can be started with low profile and expanded geographically as more people start using it.
Comp_fr is the fraction of trips that were previously performed by personal car but are performed by composite traffic in the scenario.var a:= Scenario_data;
var b:= Scenario_description;
a:= if b[input_var='Car fraction']=Car_fr then a else 0;
a:= if Car_fr=1 then a[guar=7] else a;
a:= if Car_fr=1 and output1='Waiting' then 0 else a;
a:= if b[input_var='Public fraction']=public_fr then a else 0;
a:= if b[input_var='Guarantee level']=guar then a else 0;
a:= if b[input_var='Large guarantee?']=large then a else 0;
a:= if b[input_var='Public level']=public_level then a else 0;
a:= if b[input_var='No-change fraction']=nochange_fr then a else 0;
a:= if b[input_var='Max size']=max_size then a else 0;
a:= if b[input_var='Min direct load']=min_direct then a else 0;
a:= if b[input_var='Vehicle types']=veh_types then a else 0;
a:= if b[input_var='Drop points/area']=drop then a else 0;
a:= sum(a,Scen_ind);
a:= if a=null then 0 else a;
a:= if size(car_fr)=1 then sum(a,car_fr) else a;
a:= if size(guar)=1 then sum(a,guar) else a;
a:= if size(public_fr)=1 then sum(a,public_fr) else a;
a:= if size(large)=1 then sum(a,large) else a;
a:= if size(public_level)=1 then sum(a,public_level) else a;
a:= if size(nochange_fr)=1 then sum(a,nochange_fr) else a;
a:= if size(max_size)=1 then sum(a,max_size) else a;
a:= if size(min_direct)=1 then sum(a,min_direct) else a;
a:= if size(veh_types)=1 then sum(a,veh_types) else a;
a:= if size(drop)=1 then sum(a,drop) else a;176,56,148,242,499,5,476,6202,18,41,643,419,0,MIDMGraphtool:0
Distresol:10
Diststeps:1
Cdfresol:5
Cdfsteps:1
Symbolsize:6
Baroverlap:0
Linestyle:10
Frame:1
Grid:1
Ticks:1
Mesh:1
Scales:1
Rotation:45
Tilt:0
Depth:70
Frameauto:1
Showkey:1
Xminimum:5
Xmaximum:15
Yminimum:0
Ymaximum:1M
Zminimum:1
Zmaximum:6
Xintervals:0
Yintervals:0
Includexzero:0
Includeyzero:0
Includezzero:0
Statsselect:[1, 1, 1, 1, 1, 0, 0, 0]
Probindex:[5%, 25%, 50%, 75%, 95%]
Arial, 5[Car_fr,Period][Index Vehicle]Transport coste/dThe total cost (per day) of various cost elements calculated for each vehicle type separately.var park:= if Vehicle='Car' then sum(Car_parking_cost,zone) else 0;
var land:= sum(Parking_land_cost,zone);
var emiss:= sum(Emission_cost,emission);
{var tim:= sum(time_cost,time_cost.i);}
array(cost_structure,[Vehicle_cost,Driver_cost,Driving_cost,park,land, emiss,time_cost,acc_costs,0])304,232,148,242,535,61,476,6242,14,49,754,524,0,MEANGraphtool:0
Distresol:10
Diststeps:1
Cdfresol:5
Cdfsteps:1
Symbolsize:6
Baroverlap:0
Linestyle:10
Frame:1
Grid:1
Ticks:1
Mesh:1
Scales:1
Rotation:45
Tilt:0
Depth:70
Frameauto:1
Showkey:1
Xminimum:0
Xmaximum:1
Yminimum:0
Ymaximum:7.25M
Zminimum:1
Zmaximum:2
Xintervals:0
Yintervals:0
Includexzero:0
Includeyzero:0
Includezzero:0
Statsselect:[1, 1, 1, 1, 1, 0, 0, 0]
Probindex:[5%, 25%, 50%, 75%, 95%]
Arial, 6[Cost_structure,Vehicle][Index Length][0,0,0,0]Cost structureThe various costs that are included in the model. The details of each cost are described in the respective node in the 'Detailed costs' module. Accidents are omitted, although there is a placeholder.['Vehicle','Driver','Driving','Parking','Parking land','Emissions','Time','Accidents','Ticket']304,264,152,122,102,90,476,4662,15,262,416,303,0,MIDMCost per tripe/tripThe costs calculated per trip. These numbers are not yet weighted by stakeholder-specific weights (Cost strength), and therefore eg. the driver costs for car trips is high (the assumption is that all car drivers get full salary).var a:= transport_cost[vehicle='Car'];
a:= array(mode1,[a,sum(transport_cost,vehicle)-a]);
var b:= trips_per_period;
a:= if cost_structure='Vehicle' or cost_structure='Parking land' then sum(a,period)/sum(b,period) else a/b;
{a:= a[period=choose_period];}
a:= if cost_structure='Ticket' and Mode1='Composite' then ticket-group_subvention else a;
304,312,148,242,52,74,476,4362,165,80,756,459,0,MEAN[Car_fr,Cost_structure]1,D,4,2,0,0[Index Length][0,0,0,0]Car capital valuationThe variation of how much an individual values the capital costs of the personal car when estimating the costs of a single trip. If the person needs the car only for trips within the composite traffic area, the valuation might be 1. However, the car is often needed for other purposes also such as longer trips (value: <1), and some people like to own a car in any case (value: 0).ktluser24. lokta 2004 12:48ktluser28. lokta 2004 23:3148,2456,320,148,241,1,1,1,1,1,0,0,0,01,103,163,-1291,294,17Arial, 13Cap variabfractionEach row represents one possibility for the distribution of individual valuations in the population. Probability distributions are used to represent this variation within population.Table(Self)(
Uniform(0,1),Triangular(0,0,1),Bernoulli(0.2))[1,2,3]56,32,148,242,376,89,476,2802,252,12,416,303,0,MIDM2,280,290,465,303,1,PDFP65535,52427,65534Based on author judgement, as there is no data available.Cap uncertThe uncertainty between several valuation distributions on the population level.Probtable(Self)(
(1/3),(1/3),(1/3))56,96,148,242,144,331,416,303,0,MIDM2,248,258,416,303,0,SAMP52425,39321,65535[1,2,3]Based on author judgement, as there is no data available.CapfractionThe aggregate of the car capital variation and uncertainty.Cap_variab_2[Cap_variab=Cap_uncert]56,160,148,242,247,96,476,4202,83,220,416,303,1,CDFPCap variationfractileThe fractile of the sample within the population.average(sample(Cap_variab_2),cap_variab)168,32,148,242,199,80,476,2242,510,212,416,303,1,CDFP[Run,Cap_variab]9.5.2005 Jouni Tuomisto
Vanha syntaksi, ennen kuin keksin miten epvarmuus ja vaihtelu erotetaan:
var a:= rank(cap_variab,run)/samplesize;
a[Cap_variab=Cap_uncert]Cap variab 2var a:= cap_variab[run=sortindex(cap_variab,run)];
var b:= uniform(0,1);
a[run=sortindex(b,run)]168,96,148,242,576,48,377,441,0,SAMPGraphtool:0
Distresol:10
Diststeps:1
Cdfresol:5
Cdfsteps:1
Symbolsize:6
Baroverlap:0
Linestyle:10
Frame:1
Grid:1
Ticks:1
Mesh:1
Scales:1
Rotation:45
Tilt:0
Depth:70
Frameauto:1
Showkey:1
Xminimum:0
Xmaximum:100
Yminimum:0
Ymaximum:1
Zminimum:1
Zmaximum:3
Xintervals:0
Yintervals:0
Includexzero:0
Includeyzero:0
Includezzero:0
Statsselect:[1,1,1,1,1,0,0,0]
Probindex:[0.05,0.25,0.5,0.75,0.95]
Arial, 8[Cap_variab,Run]Willingness to driveThe price that the passenger is willing to pay to be able to drive the vehicle him/herself compared with the situation where the composite driver drives the vehicle. Note that for car passengers, the question is not about driving but being a passenger in a car or in a composite vehicle.
There are also cases where the car driver is not traveling but only chauffeuring passengers that do not have driver's license. The willingness to drive is probably low in these cases, but we were very modest in these estimates.
There exists no data about this variable, because it is about a comparison between the current and a hypothetical situation. Author judgement is therefore used.ktluser24. lokta 2004 12:4848,2456,376,148,241,1,1,1,1,1,0,0,0,01,263,92,-1590,333,17Arial, 13Drive variabfractionWillingness to drive. This is expressed as fraction of composite driver's salary. Each row represents one possibility for the distribution of individual valuations in the population. Probability distributions are used to represent this variation within population.Table(Self)(
Uniform(-0.3,0),Triangular(-0.1,0,0.3),Uniform(-0.2,0.2))[1,2,3]64,40,148,242,102,90,476,4052,79,219,457,274,0,MIDM2,152,162,416,303,1,PDFP65535,52427,65534Based on author judgement, as there is no data available.Drive uncertThe uncertainty between several valuation distributions on the population level.Probtable(Self)(
(1/3),(1/3),(1/3))64,104,148,242,248,258,416,303,0,SAMP52425,39321,65535[1,2,3]Based on author judgement, as there is no data available.DrivefractionThe aggregate of the willingness to drive variation and uncertainty. It is expressed as a fraction of composite driver's salary.Drive_variab_2[Drive_variab=Drive_uncert]64,168,148,242,366,255,416,303,1,CDFPDrive variationfractileThe fractile of the sample within the population.average(sample(drive_variab_2),drive_variab)176,40,148,242,104,69,476,2242,120,130,416,303,1,CDFP[Run,Cap_variab]Drive variab 2var a:= drive_variab[run=sortindex(drive_variab,run)];
var b:= uniform(0,1);
a[run=sortindex(b,run)]176,104,148,242,576,48,377,441,0,SAMPGraphtool:0
Distresol:10
Diststeps:1
Cdfresol:5
Cdfsteps:1
Symbolsize:6
Baroverlap:0
Linestyle:10
Frame:1
Grid:1
Ticks:1
Mesh:1
Scales:1
Rotation:45
Tilt:0
Depth:70
Frameauto:1
Showkey:1
Xminimum:0
Xmaximum:100
Yminimum:0
Ymaximum:1
Zminimum:1
Zmaximum:3
Xintervals:0
Yintervals:0
Includexzero:0
Includeyzero:0
Includezzero:0
Statsselect:[1,1,1,1,1,0,0,0]
Probindex:[0.05,0.25,0.5,0.75,0.95]
Arial, 8[Cap_variab,Run]Trips per periodtrips/periodNumber of trips per periodvar a:= scenarios_output[output1='All trips'];
a:= array(mode1,[
slice(a,vehicle_type,1),
slice(a,vehicle_type,2),
slice(a,vehicle_type,3)])
{a:= if Mode1='Composite' then a else 0;
a:= if Vehicle='Car' then (if Mode1='Car' then a[Mode1='Composite'] else 0) else a;
a:= sum(a,Vehicle);
a}344,80,148,242,102,90,476,2572,20,201,446,428,0,MIDM[Length,Car_fr][Index Length]Cost to stakeholdere/tripThe cost per trip for a random individual passenger. These values have been weighted by the stakeholder-specific weights (Cost strength).
The costs are first calculated for an average trip from total costs and total numbers of trips. The costs of individual car trips depend on the number of passengers. Therefore, the average cost is multiplied by the average number of passengers and divided by the number of passengers in the particular case we are looking at.var a:= mean(Group_size)/sample(Group_size);
a:= if cost_structure <>'Time' and Mode1='Car' then a else 1;
a:= a*cost_per_trip;
a:= if isnan(a) then 0 else a;
a:= a*cost_strength;
sum(a,cost_structure)304,376,148,242,468,14,515,5902,133,66,833,363,0,MEANGraphtool:0
Distresol:10
Diststeps:1
Cdfresol:5
Cdfsteps:1
Symbolsize:6
Baroverlap:0
Linestyle:10
Frame:1
Grid:1
Ticks:1
Mesh:1
Scales:1
Rotation:45
Tilt:0
Depth:70
Frameauto:1
Showkey:1
Xminimum:0
Xmaximum:100
Yminimum:0
Ymaximum:9
Zminimum:1
Zmaximum:2
Xintervals:0
Yintervals:0
Includexzero:0
Includeyzero:0
Includezzero:0
Statsselect:[1,1,1,1,1,0,0,0]
Probindex:[0.05,0.25,0.5,0.75,0.95]
Arial, 2[Stakeholder,Mode1][Index Cost_structure][0,0,0,0]StakeholderThere are three different stakeholders:
'Passenger' is a random sample of passengers who have chosen the personal car in the business-as-usual scenario, and may choose between car and composite traffic in other scenarios.
'Society' the community that is responsible for the well-being of citizens in the metropolitan area. It also has the ability to pay subsidies to public transportation. Societal costs include other costs than passenger costs, such as health effects of air pollution, and opportunity costs of parking space.
'Bus company', the composite traffic service provider, is a simple stakeholder and does not therefore show up in the stakeholder index. Its only interest (in the model) is to get a reasonable profit ('Ticket' cost) from each composite trip (in addition to covering direct costs).['Passenger','Society']176,408,148,12Cost elementsThis module contains the detailed descriptions of the unit costs and other input variables that are used to calculate the pressures of each scenario. The values used are dependent on the context. For example, the car price is the price that a random new car would cost, and it has therefore large uncertainty. On the other hand, the price of a 4-seat composite vehicle is the average price a taxi-style car would cost in Finland, and the confidence intervals are narrower because there is no individual uncertainty. This is because the price of an individual car affects the costs of individual car trips, while the cost of a composite trip is dependent on the total cost of vehicles to the service provider.ktluser3. marta 2004 16:3748,24176,312,148,241,484,14,321,505,17[Alias Cost_elements1]Emission factorg/kmFine particle and carbon dioxide unit emissions for average vehicles. Fine particle emissions are taken from the Lipasto model using average (mixed gasoline and diesel) values for personal car and diesel EURO3 (applied since 2000) values for composite vahicles. For CO2, typical emissions of a new car were used based on the Finnish Vehicle Administration AKE. The following vehicles are used as typical examples of the class:
8-seat vehicle: Toyota Hiace 2.5 D4D 100 4 door long DX bus
4-seat vehicle: Toyota Corolla 2.0 90 D4D Linea Terra 5 door Hatchback (diesel)
Car: Toyota Corolla 1.6 VVT-i Linea Terra 5ov Hatchback (gasoline)Table(Vehicle_type,Emission)(
(0.1*Triangular(0.3,1,1.7)),(232*Triangular(0.9,1,1.1)),
(0.1*Triangular(0.3,1,1.7)),(153*Triangular(0.9,1,1.1)),
(0.047*Triangular(0,1,2)),(168*Triangular(0.9,1,1.1))
)472,368,148,242,45,51,618,6232,545,214,416,303,0,MIDM2,56,66,416,303,0,MEAN65535,52427,65534[Emission,Vehicle_type][Emission,Vehicle_type][0,0,0,0]http://lipasto.vtt.fi/yksikkopaastot/henkiloautotkeskimaarin.htm
Pkaupunkiseudun julkaisusarja B1999: 5. Vaihtoehtoisten polttoaineiden kyttmahdollisuudet joukkoliikentess Pkaupunkiseudulla. Taulukko 3, Keskusta ja esikaupunki.
Autorekisterikeskus AKE: Uuden auton kulutustiedot. EKOAKE, huhtikuu 2003.Emission['PM','CO2']472,400,148,12Vehicle pricee/vehiclePrice of a new vehicle. Note that the interpretation is slightly different with different vehicles.
The car price is the price that a random new car would cost, and it has therefore large uncertainty. The price of a composite vehicle is the average price of a taxi-style car in Finland, and the confidence intervals are narrower because there is no individual uncertainty. This is because the price of an individual car affects the costs of individual car trips, while the cost of a composite trip is dependent on the total cost of vehicles to the service provider.var a:= 39.52K*Triangular(0.75,1,1.25);
var b:= 22.6K*Triangular(0.75,1,1.25);
var c:= lognormal(19.1K,1.5);
a:= array(Vehicle_type,[a,b,c]);
{a[vehicle_type=vehicle_types]}56,24,148,242,102,90,476,3752,22,50,416,303,0,MIDM2,68,58,839,549,0,MIDM65535,52427,65534Graphtool:0
Distresol:10
Diststeps:1
Cdfresol:5
Cdfsteps:1
Symbolsize:6
Baroverlap:0
Linestyle:1
Frame:1
Grid:1
Ticks:1
Mesh:1
Scales:1
Rotation:45
Tilt:0
Depth:70
Frameauto:1
Showkey:1
Xminimum:-20K
Xmaximum:80K
Yminimum:-1u
Ymaximum:1u
Zminimum:1
Zmaximum:6
Xintervals:0
Yintervals:0
Includexzero:0
Includeyzero:0
Includezzero:0
Statsselect:[1,1,1,1,1,0,0,0]
Probindex:[0.05,0.25,0.5,0.75,0.95]
[0,0,0,0]Vehicle lifetimeaExpected operation time of a new vehicle.var a:= 7*Triangular(0.75,1,1.25);
var b:= 5*Triangular(0.75,1,1.25);
var c:= 9*Triangular(0.7,1,1.3);
a:= array(Vehicle_type,[a,b,c]);
{a[vehicle_type=vehicle_types]}184,88,148,242,102,90,476,4842,14,383,416,303,0,MIDM65535,52427,65534Fuel consumptionl/kmFuel consumption of a vehicle. It is assumed that composite vehicles use diesel fuel and cars use gasoline. The values are based on standardised European consumption values of a new car.var a:= (8.7/100)*Triangular(0.75,1,1.25);
var b:= (5.7/100)*Triangular(0.75,1,1.25);
var c:= (8/100)*Triangular(0.5,1,1.5);
a:= array(Vehicle_type,[a,b,c]);
{a[vehicle_type=vehicle_types]}56,168,148,242,454,28,476,4552,425,410,416,303,0,MIDM2,152,162,416,303,0,MIDM65535,52427,65534[0,0,0,0]Fuel pricee/lDiesel price for composite vehicles; gasoline price for cars. The values are based on rough follow-up of retail prices in Finland in fall 2004 - summer 2005.var a:= 0.95*triangular(0.8,1,1.2);
var b:= 1.22*triangular(0.8,1,1.2);
array(Vehicle_type,[a,a,b])56,216,148,242,102,90,476,5292,481,182,416,246,0,MIDM2,264,175,697,402,0,MIDM65535,52427,65534[0,0,1,0]St1 gas station, Kuopio keskusta, 6.9.2004.Driver salarye/hMonthly salary and social security costs (35 %), and scaled to one hour assuming 160 hours of work per month. The salary is based on that of bus drivers in municipality-owned bus companies.var a:= 2313/160*1.35;
normal(a,a*0.18)192,32,148,242,102,90,476,4682,411,332,416,303,0,CONF65535,52427,65534[0,0,0,0]Statistics Finland 2005 <a href= "http://statfin.stat.fi/StatWeb/start.asp?LA=en&lp=home&DM=SLEN" >Click</a>Parking spacee/d/parking spaceCost of a parking space to the society due to the opportunity loss of the land, and maintenance costs.var va1:= 1.05^30;
var a:= 20*3000;
a:= (a-a/va1)*va1;
a:= a/30/365;
a/2*lognormal(1,1.3)192,272,148,242,102,90,476,3282,40,50,416,303,0,MIDM65535,52427,65534[0,0,0,0]Emission unit coste/kgAssumptions: Primary fine particle emissions of 24290 kg/a caused 12.5 deaths in a risk assessment study in Helsinki (Tainio et al, 2005). We here use the distribution of deaths per emission derived from that study. The value of a statistical life is 0.98-2 Me (Watkiss et al., 2005). The official value for road economy calculations is 201.879 e/kg (LVM, 2003). This value is within the range derived from Tainio, but clearly lower than the mean.
CO2 emission price comes from the emission trade market. According to Helsingin Sanomat (7 May, 2005), it was 18 e/ton in 5 Apr, 2005, although it had been lower during previous months. In July, it was approaching 30 e/ton according to Taloussanomat. The official value for road economy calculations is 32 e/ton (LVM, 2003), which is within the range used here.var a:= Pm_unit_lethality;
array(Emission, [a*uniform(0.98M,2M), uniform(5,40)/1000])192,216,148,242,73,7,548,6452,466,127,416,303,0,MIDM2,54,148,672,472,1,PDFP65535,52427,65534Graphtool:0
Distresol:10
Diststeps:1
Cdfresol:5
Cdfsteps:1
Symbolsize:6
Baroverlap:0
Linestyle:1
Frame:1
Grid:1
Ticks:1
Mesh:1
Scales:1
Rotation:45
Tilt:0
Depth:70
Frameauto:1
Showkey:1
Xminimum:0
Xmaximum:1
Yminimum:0
Ymaximum:1
Zminimum:0
Zmaximum:1
Xintervals:0
Yintervals:0
Includexzero:0
Includeyzero:0
Includezzero:0
Statsselect:[1,1,1,1,1,0,0,0]
Probindex:[0.05,0.25,0.5,0.75,0.95]
[0,0,0,0]Tainio, M., Tuomisto, J.T., Hnninen, O., Aarnio, P., Koistinen, K.J., Jantunen, M.J., and Pekkanen J. Health effects caused by primary particulate matter (PM2.5) emitted from buses in the Helsinki Metropolitan Area, Finland. Risk Analysis, Vol. 25, No.1, 2005. pp. 151-160.
{[Tainio, 2005 96 /id]}
<a href="http://www.blackwell-synergy.com/links/doi/10.1111/j.0272-4332.2005.00574.x/abs/">Link to publisher</a>
{[Watkiss, 2005]} <a href="http://europa.eu.int/comm/environment/air/cafe/activities/cba_baseline_results2000_2020.pdf">Click</a>
{[LVM, 2003]} <a href="http://www.mintc.fi/www/sivut/dokumentit/julkaisu/mietinnot/2003/b292003.pdf">Click</a>Trips per cartrips/d/carNumber of trips per car per day, i.e. the cumulative number of passenger that use the car during the day. This value is used to calculate the need of cars.uniform(4,10)312,88,148,2465535,52427,65534Tickete/tripThe income the service provider wants to get from composite traffic users in addition to the price of the direct costs (vehicle, fuel, driver, and parking costs).Uniform( 0.2, 0.6 )312,160,148,2465535,52427,65534Group sizepassengersSize of group traveling together for a random passenger.var a:= Car_occupancy*occupancy;
a:= a/sum(a,occupancy);
chancedist(a,occupancy,occupancy)192,328,148,242,355,136,476,3442,445,95,416,473,0,MEAN65535,52427,65534OccupancyAn index for the number of passengers in a personal car.1..556,360,148,12Rush delayh, fractionDelay that is caused by increased link intensity. The node contains two values. Delay is the average time of delay due to traffic jams during daytime. Reduction is the relative reduction to 'Link intensity' (average vehicle flow on the 30 most busy roads at 8.00-9.00 AM) that is needed to reduce the delay to 0 min.Table(Self)(
(Triangular(0,0,10)/60),0.3)['Delay','Reduction']312,32,148,242,102,90,476,3862,592,87,416,303,0,MIDM2,40,50,416,303,0,SAMP65535,52427,65534[Rush_delay,Run][0,0,0,0]Parking pricee/tripThe cost of 30 min parking in zones 1, 2, 3 in Helsinki. It is assumed that each car trip involves 30 min of parking during daytime, while during evening and night, the parking is free. Also daytime parking at home is included in these estimates, although it is difficult to valuate. In any case, it is common to pay at least 5-10 euro per month for a parking place (or more for a garage), which is 15-30 cents per day. Due to the uncertainties, the confidence intervals are large.Table(Period,Zone)(
((2.4*0.5)*Triangular(0,1,2)),((1.2*0.5)*Triangular(0,1,2)),((0.6*0.5)*Triangular(0,1,2)),
0,0,0,
0,0,0
)312,272,148,242,102,90,476,3922,336,267,416,303,0,MIDM2,232,242,416,303,0,MIDM65535,52427,65534[Period,Zone][Period,Zone][0,0,0,0]Accidentscases/aThe number of injuries and deaths in traffic accidents in Vantaa, Espoo, and Helsinki, respectively. It is assumed that the number of 2002 or 2003 statistics is the expectation. Poisson distribution is used to describe the uncertainty.
Taulukko 1-1 Liikenneonnettomuudet Vantaalla v. 2002
Yhteens Hvo Ovo Loukkaantui Kuoli
Auto-onnettomuus 570 100 470 155 5
Moottoripyronnettomuus 23 15 8 13 2
Mopo-onnettomuus 14 6 8 7 0
Polkupyronnettomuus 47 37 10 40 0
Jalankulkijaonnettomuus 33 29 4 31 0
Yhteens tieliikenne 687 187 500 246 7
Raideliikenne (jk) 8 8 - 1 7
Hvo= henkilvahinkoon johtanut onn.
Ovo= omaisuusvahinkoon johtanut onn.
LIIKENNEONNETTOMUUDET VUONNA 2003
Pelti rytisi Espoon alueella viime vuonna yhteens 434 kertaa. Henkilvahinko-onnettomuuksia oli 135, niiss kuoli 3 ja loukkaantui 159 henkil. Edelliseen vuoteen verrattuna liikenneonnettomuuksien mr kntyi hienoiseen laskuun. Vuonna 2002 tilastoitiin 538 onnettomuutta. Liikenneonnettomuustiedot on koottu poliisille ilmoitetuista onnettomuustapauksista.
Onnettomuuskustannukset
Liikenneonnettomuudet aiheuttivat Helsingiss vuonna
2003 yhteens 244 miljoonan euron yhteiskunnalliset
kustannukset. Henkilvahinkoihin johtaneiden onnettomuuksien
osuus oli 213 miljoonaa euroa. Laskelma perustuu
liikenne- ja viestintministerin hyvksymiin liikenneonnettomuuksien
yksikkkustannuksiin vuodelta
2000. Kustannuksissa ovat mukana onnettomuuksien
aiheuttamat reaalitaloudelliset menetykset ja ns. hyvinvoinnin
menetys. Taloudellisia kustannuksia ovat sairaanhoitokulut,
uhrin tyn menetys, ajoneuvovahingot
sek muut aineelliset vahingot.Table(Self)(
Poisson(((246+159)+724)),Poisson(((7+3)+16)))['Injuries','Deaths']312,408,148,242,82,80,500,5002,578,153,416,303,0,MIDM2,136,146,416,303,0,STAT65535,52427,65534Graphtool:0
Distresol:10
Diststeps:1
Cdfresol:5
Cdfsteps:1
Symbolsize:6
Baroverlap:0
Linestyle:1
Frame:1
Grid:1
Ticks:1
Mesh:1
Scales:1
Rotation:45
Tilt:0
Depth:70
Frameauto:1
Showkey:1
Xminimum:0
Xmaximum:1
Yminimum:0
Ymaximum:1
Zminimum:0
Zmaximum:1
Xintervals:0
Yintervals:0
Includexzero:0
Includeyzero:0
Includezzero:0
Statsselect:[1,1,1,1,1,0,0,0]
Probindex:[0.05,0.25,0.5,0.75,0.95]
[0,0,0,1]Liikenneonnettomuudet Vantaalla 2002. C21:2003. Vantaan kaupunki, Vantaa 2003. <a href="http://www.vantaa.fi/i_liitetiedosto.asp?path=1;135;137;221;1761;1827;7348;7349">Internet PDF</a>
Liikenneonnettomuudet Helsingiss vuonna 2003. <a href="http://www.hel.fi/ksv/hela/Kaupunkisuunnittelulautakunta/Esityslistat/liitteet/041670240.pdf">Internet file</a>
Espoon kaupunki, liikenneturvallisuus. <a href="http://www.espoo.fi/xsl_taso2_alasivuilla.asp?path=1;606;607;4214;7808">Internet page</a>
http://www.tieh.fi/liikenneturvallisuus/lion04.pdf
Accident costse/dThe societal costs of traffic accidents were 227 million euro in Helsinki in 2004. For the whole metropolitan area, this is more than 1 million euro per day. The numbers are scaled up from Helsinki to the metropolitan area based on the numbers of injured people in accidents. The uncertainty is based on the standard deviation of the variable Accidents (deaths), which is ca. 20% of the mean.
The accident cost number for Helsinki is scaled up by the number of injuries in the whole Helsinki Metropolitan Area (for data and references, see Accidents).
"Onnettomuuskustannukset
Liikenneonnettomuudet aiheuttivat Helsingiss vuonna
2003 yhteens 244 miljoonan euron yhteiskunnalliset
kustannukset. Henkilvahinkoihin johtaneiden onnettomuuksien
osuus oli 213 miljoonaa euroa. Laskelma perustuu
liikenne- ja viestintministerin hyvksymiin liikenneonnettomuuksien
yksikkkustannuksiin vuodelta
2000. Kustannuksissa ovat mukana onnettomuuksien
aiheuttamat reaalitaloudelliset menetykset ja ns. hyvinvoinnin
menetys. Taloudellisia kustannuksia ovat sairaanhoitokulut,
uhrin tyn menetys, ajoneuvovahingot
sek muut aineelliset vahingot."var a:= 227M*((246+159+724)/724)/365;
normal(a,a/5)312,328,148,242,511,78,500,5442,26,124,416,303,1,PDFP65535,52427,65534[0,0,0,0]Liikenneonnettomuudet Helsingiss vuonna 2003. <a href="http://www.hel.fi/ksv/hela/Kaupunkisuunnittelulautakunta/Esityslistat/liitteet/041670240.pdf">Internet file</a>
Liikenneonnettomuudet Helsingiss vuonna 2004. <a href="http://www.hel.fi/ksv/Mita_suunnitellaan/Liikenne/tilastoja/liikenneonnettomuudet2004.pdf"> Internet file </a>
http://www.ytv.fi/FIN/seutu_ymparistotietoja/liikkuminen/onnettomuudet/etusivu.htmCars should also have variationThe costs of car have large individual variation. This might be an important factor in the comparison of car and composite traffic. This is not currently done but could be considered in the future versions of the model.Fuel_consumption;
Vehicle_lifetime;
Vehicle_price;
0464,48,148,29The costs are calculated for a passenger who has a car in the household and is trying to decide between the car and composite trafficThe costs are calculated for a passenger who has a car in the household and is trying to decide between the car and composite traffic.vehicle_price464,160,168,721,1,1,1,1,1,0,,1,2,102,90,476,427[Alias The_costs_are_calcu1]Time unit coste/hThe cost of time spent waiting for a composite vehicle or in traffic jam.Triangular( 0, 5.9, 11.8 )['Delay','Reduction','Cost']312,216,148,242,102,90,476,3012,199,277,416,303,0,MIDM65535,52427,65534Group subventione/tripThis subvention is given to passengers that travel in groups with more than one person. The idea is that the subsidy is an amount (uncertain to the decision-maker) which is given to everyone in the group except the first one. In this way, the total group subsidy increases with the size of the group (just like the efficiency of car travelling increases with more passengers). We assume here that the groups are identical in both car and composite modes.var a:= uniform(0,2);
a:= a*(sample(Group_size)-1)/sample(Group_size);
if subsidise_groups_='Yes' then a else 0192,408,148,242,144,229,512,3262,136,146,416,303,0,MIDM65535,52427,65534[Run,Subsidise_groups_]Subsidise groups?Personal car becomes more efficient if there are several passengers. To attract groups to use the composite traffic, it is possible to subsidise groups so that there is a certain reduction in the ticket price. This node determines whether group subsidies are considered in the model or not. In the default model, this variable is set to No.Choice(Self,2)56,408,148,242,102,90,476,342[Formnode Subsidise_groups_1]['Yes','No']Car occupancyfractionProportion of cars with different number of passengers. The last number is divided into occupancy '4' and '5' based on author judgement. The original data is from streets entering downtown Helsinki during a weekday (from 6.00 to 21.00) in May.
driver 72.0 %
driver+1 passenger 23.3 %
driver+2 passengers 3.3 %
driver+ at least 3 passenger 1.4 %var a:= array(occupancy,[0.72,0.233,0.033,0.01,0.004]);
a56,328,148,242,102,90,476,3452,445,95,416,473,0,MIDM65535,52427,65534Car maintenancee/kmMaintenance costs (service, tyres, oil etc.). This is based on Autoliitto's report 'Costs of car 2004'. Insurance and use tax are excluded, as like capital costs, there may be other reasons to own the car, and then these would be sunken costs.
Original values assuming an old car with the original price 20000 e, 20000 km/a of driving (e/a):
Maintenance 844
Tyres 320
total 1164/20000 = 0.0582 e/kmTriangular( 0.03, 0.058, 0.086 )56,272,148,242,210,329,416,303,0,MEAN65535,52427,65534PM unit lethalitydeaths/kgAssumptions: Primary fine particle emissions of 24290 kg/a caused 12.5 deaths in a risk assessment study in Helsinki (Tainio et al, 2005). We use the distribution of deaths per emission derived from that study.var a:= fractiles([
-7.223e-004,
5.640e-006,
4.228e-005,
5.987e-005,
8.013e-005,
1.150e-004,
2.037e-004,
2.939e-004,
3.598e-004,
4.132e-004,
4.640e-004,
5.139e-004,
5.662e-004,
6.233e-004,
6.854e-004,
7.577e-004,
8.441e-004,
9.519e-004,
1.093e-003,
1.314e-003,
2.805e-003]);
a192,160,148,242,102,90,476,4282,466,127,416,303,0,MIDM2,54,148,672,472,1,PDFP65535,52427,65534Graphtool:0
Distresol:10
Diststeps:1
Cdfresol:5
Cdfsteps:1
Symbolsize:6
Baroverlap:0
Linestyle:1
Frame:1
Grid:1
Ticks:1
Mesh:1
Scales:1
Rotation:45
Tilt:0
Depth:70
Frameauto:1
Showkey:1
Xminimum:0
Xmaximum:1
Yminimum:0
Ymaximum:1
Zminimum:0
Zmaximum:1
Xintervals:0
Yintervals:0
Includexzero:0
Includeyzero:0
Includezzero:0
Statsselect:[1,1,1,1,1,0,0,0]
Probindex:[0.05,0.25,0.5,0.75,0.95]
[0,0,0,0]Tainio, M., Tuomisto, J.T., Hnninen, O., Aarnio, P., Koistinen, K.J., Jantunen, M.J., and Pekkanen J. Health effects caused by primary particulate matter (PM2.5) emitted from buses in the Helsinki Metropolitan Area, Finland. Risk Analysis, Vol. 25, No.1, 2005. pp. 151-160.
{[Tainio, 2005 96 /id]}
<a href="http://www.blackwell-synergy.com/links/doi/10.1111/j.0272-4332.2005.00574.x/abs/">Link to publisher</a>Bus ticket priceARVO
Henkilkohtaiset ja haltijakohtaiset matkakortit
Kaikilla arvolipuilla voi vaihtaa lipun voimassaoloaikana. Liput ovat voimassa
¥ Helsingin sisisill matkoilla 60 minuuttia
¥ seutumatkoilla sek Espoon, Kauniaisten ja Vantaan sisisill matkoilla 80 minuuttia.
SEUTU
Aikuinen Lapsi
¥ arvolippu 2,90 1,45
¥ pivarvolippu ma-pe 9-14 2,70
¥ yarvolippu ma-su 2-4.30 4,00
HELSINGIN SISINEN
Aikuinen Lapsi
¥ arvolippu 1,70 0,70
¥ pivarvolippu ma-pe 9-14 1,40
¥ yarvolippu ma-su 2-4.30 2,50
¥ arvolippu, raitiovaunu 1,28
________________________________
Matkakorttiyksikn toimintamenot vuonna 2005
ovat noin 4,2 milj. euroa, mik on hieman
vhemmn kuin edellisvuonna.
__________________________________
YTV:n matkakorttijrjestelmn piiriss on 800.000 matkakortin kyttj pkaupunkiseudulla. Pivittin jrjestelm kytetn yli miljoonan matkan tekemiseen.
4.2M/1M/365448,272,148,242,325,106,476,38465535,52427,65534<a href="http://www.ytv.fi/matkakortti/mitamaksaa.html">Ticket prices (in Finnish)</a>
<a href="http://www.ytv.fi/yleis/asiak/poutakirjat/04015347.HTM"> Total costs of the travel card system (matkakortti)</a>
<a href="http://www.ytv.fi/liikenne/ajank/uutinen.php?id=2774">Total trip volumes using travel card</a>Car frThe fraction of trips that were previously performed by personal car but are performed by composite traffic in the scenario.index b:= Scenario_description[input_var='Car fraction'];
unique(b,b)264,88,144,122,460,148,476,4162,236,315,416,303,0,MIDM[0,0,0,0]GuarThe level of composite traffic guarantee. This means that trips within certain areas will be organised by composite travel, while areas outside this guarantee remain without the service. The point in using this index is to explore whether composite traffic can be started with low profile and expanded geographically as more people start using it.index b:= Scenario_description[input_var='Guarantee level'];
unique(b,b)176,88,148,122,102,90,476,3532,623,192,416,303,0,MIDM[0,0,0,1]Detailed costsDetailed costs and pressures. See each individual node for a full description.ktluser24. marta 2004 0:0048,24176,232,148,241,736,17,486,441,17Emissionkg/dTotal emissions based on kilometres driven. The unit emissions are based on standard values.vehicle_km_s*Emission_factor/100064,192,148,162,218,232,476,2242,43,56,717,317,0,MIDM[Car_fr,Period][Index Travel_type]Driver needpersonsThe number of full-time drivers needed in the composite traffic. This is based on the kilometres driven and an 8-hour working day. It is assumed that there is no waiting for drivers. This assumption probably causes underestimation of the true number.var a:= Scenarios_output[output1='Vehicle km'];
a:= slice(a,region,1);
ceil(a/traffic_speed/8)176,296,148,162,102,90,476,2862,19,38,868,392,1,MIDM[Car_fr,Period][Index Travel_type]Cars neededvehiclesFor composite vehicles, this comes directly from traffic optimising; for cars, it is simply the number of trips divided by the average number of trips per car per day. For cars, the amount needed is difficult to estimate, because most cars are needed also for trips beyond the area modelled here. Therefore, even if some trips are performed by composite traffic, it is possible that the number of cars needed remains the same but the number of trips per car decreases.var a:= trips_per_period[mode1='Car']/trips_per_car;
a:= sum(sum(sum(a,length),zone),period);
if vehicle_type='Car (g)' then a else vehicles_needed_s
{var a:= Trips_per_period[mode1='Car']/Trips_per_car;
var b:= trips_per_period[Mode1='Composite'];
b:= b/sum(b,length);
b:= b*sum(sum(scenarios_output[output1='Vehicles'],zone),length);
b:= if Vehicle_type='Car (g)' then a else b;
if periods=1 then b else 0}64,32,148,162,470,127,477,4942,127,473,438,264,0,MIDM[Car_fr,Public_fr][Index Length]Car parking coste/dIt is assumed that each car trip involves parking. However, composite traffic does not pay anything in parking meters. Instead, they have to pay for the land. This cost is calculated as Parking land cost.sum(trips_per_period[mode1='Car']*parking_price,length)176,128,148,162,77,296,476,4022,63,548,602,242,0,MIDM[Period,Zone]Emission coste/dFine particles are assumed to cause 10 deaths per 17 ton emission, a result from buses in Helsinki (1). CO2 costs are based on the estimated costs of CO2 in the greenhouse gas emission market. The true health and environmental costs are probably clearly higher than the price of the emission market.emission1*Emission_unit_cost176,192,148,162,102,90,476,3922,301,50,639,305,0,MIDM[Car_fr,Emission][Index Travel_type]Parking land coste/dCost of parking land. It is assumed that for composite vehicles, there is a fixed amount of reserved parking places. The cost is equal to the societal cost of the land use. This cost is allocated to short and long trips based on the number of trips.parking_s*parking_space
{var a:= scenarios_output;
var b:= a[output1='All trips'];
b:= b/sum(b,length);
a:= sum(slice(a[output1='Park rush veh'],period,2),length);
a*Parking_space*b}176,160,148,162,541,90,476,2852,457,12,555,416,0,MIDM[Zone,Car_fr][Index Length]Taxi accident rate"The accident risk of taxies (related to kilometres driven) is 40 percent lower than that of regular drivers. However, the accident density is 10.4 accidents per year per 100 cars, is double the number for private drivers."
.6344,48,148,2465535,52427,65534Ammattiliikenteen turvallisuuden kehittminen. LINTU-projektin osaraportti 12. Research report 566/2000. VTT 2000, Espoo. <a href="http://www.vtt.fi/rte/projects/srs/raportit/lintu_osa12_ammattiliik.pdf">Internet PDF</a>
Acc costse/dWe assume that half of the accidents are attributable to personal car traffic, while the other half is attributable to other traffic modes (walking, cycling, public transportation). In addition, the accident risk is proportional to the change in traffic volume, but there is uncertainty about the slope. The expected value is that when traffic volume decreases 10%, accident risk decreases 5%; but it could vary between 0% and 10%.
It is likely that these two assumptions underestimate rather than overestimate the benefit of composite traffic, but we were careful not to exaggerate the benefits. The guidelines for road projects #REF# assume that accidents are proportional to the traffic volume.var a:= sum(scenarios_output,zone);
a:= a[output1='Vehicle km'];
var b:= sum(sum(sum(a,vehicle),length),period);
b:= (1-b/b[Car_fr=0])*triangular(0,0.5,1);
b:= (1-b)*accident_costs*0.5;
a:= a/sum(sum(sum(a,vehicle),length),period);
b*a464,104,148,242,523,131,476,4332,52,9,714,303,0,MIDM[Period,Car_fr][Index Length][0,0,0,0]Acc numA draft node. Not used in the model.var a:= sum(scenarios_output,zone);
a:= a[output1='Vehicle km'];
var b:= sum(sum(sum(a,vehicle),length),period);
b:= (1-b/b[Car_fr=0])*triangular(0,0.5,1);
(1-b)*accidents*0.5464,48,148,242,60,131,476,4522,15,97,354,363,0,MIDM[Accidents,Car_fr][0,0,0,0]Rush BAUvehicles/hThe average number of vehicles per hour driving along a link for the 30 most busy links at 8.00-9.00 in the morning. These numbers are for business-as-usual scenario where there is no composite traffic.rush_s[car_fr=1, public_fr=1, guar=7]
{var c:= Scenario_description[input_var='Car fraction'];
var g:= Scenario_description[input_var='Guarantee level'];
a:= if c=1 and g=7 then a else 0;
sum(sum(sum(a,Scen_ind),zone),length)}64,256,148,162,403,80,476,5272,26,211,355,321,0,MIDMGraphtool:0
Distresol:10
Diststeps:1
Cdfresol:5
Cdfsteps:1
Symbolsize:6
Baroverlap:0
Linestyle:10
Frame:1
Grid:1
Ticks:1
Mesh:1
Scales:1
Rotation:45
Tilt:0
Depth:70
Frameauto:1
Showkey:1
Xminimum:5
Xmaximum:15
Yminimum:0
Ymaximum:1M
Zminimum:1
Zmaximum:6
Xintervals:0
Yintervals:0
Includexzero:0
Includeyzero:0
Includezzero:0
Statsselect:[1, 1, 1, 1, 1, 0, 0, 0]
Probindex:[5%, 25%, 50%, 75%, 95%]
Arial, 5[Vehicle_type,Public_fr]Vehicle coste/dCapital costs of the vehicle. It is assumed here that each vehicle is bought new and driven until the end of the vehicle's lifetime. In reality, of course many cars change owners during their lifetime, and this causes variation between individual car-owners about how much their way of owning a car really causes capital costs. However, this source of variation was excluded for simpilicity. This choice can be defended with an argument that those car-owners who spend most on the capital costs, i.e. buy the most expensive cars or sell them when they are still rather new, are likely to count a smaller fraction of the capital cost of the car when comparing different modes of transport.cars_needed*vehicle_price/vehicle_lifetime/365176,32,148,16[Public_fr,Car_fr]Time coste/dTime costs has two parts: the cost of delays due to traffic jams; and the cost of waiting for composite vehicles. The traffic jam cost includes only the direct costs of actual delays. However, a likely much bigger cost is the need to reserve extra time because of the risk of a traffic jam. If this was included, the costs for both car and composite passengers would be smaller especially with high volumes of composite traffic.var a:= waiting_s/60*composite_trips_s*time_unit_cost;
a:= if vehicle_type='Car (g)' then 0 else a;
var c:= sum(rush_s,vehicle_type)/sum(rush_bau,vehicle_type);
c:= 1-min([(1-c)/rush_delay[rush_delay='Reduction'],1]);
c:= if period=' 6.00-20.00' then c else 0;
c:= c*scenarios_output[output1='All trips'] {trips_per_period}*rush_delay[rush_delay='Delay']*time_unit_cost;
index i:= ['Passengers in traffic jam','Waiting a composite vehicle'];
{c:= fillindex(c);}
c
{c:= array(i,[a,c]);}
{index i:= ['Passengers in traffic jam','Waiting a composite vehicle'];
var a:= sum(scenarios_output,zone);
var b:= a[output1='Waiting']/60*a[output1='Trips'];
b:= if Vehicle='Car' then 0 else b*time_unit_cost;
var c:= a[output1='Link intensity',length='< 5 km'];
c:= sum(c,Vehicle)/rush_bau;
c:= 1-min([(1-c)/rush_delay[rush_delay='Reduction'],1]);
var d:= a[output1='Trips'];
d:= if periods=1 then d else 0;
d:= d*rush_delay[rush_delay='Delay']*c*time_unit_cost;
d:= array(i,[d,b]);
sum(d,d.i)}176,256,148,162,30,65,476,5262,27,559,634,303,0,MIDM[Car_fr,Public_fr][]Driver coste/dSalary and social security costs of the composite vehicle drivers. We assume that the drivers are paid only when driving, not when waiting for passengers. Although this might slightly underestimate the costs, this is a common practice among hired taxi drivers, who don't own the vehicle.vehicle_km_s*driver_salary/traffic_speed176,64,148,162,12,43,433,355,0,MIDM[Period,Car_fr][Index Vehicle]Driving coste/dCosts due to fuel and maintenance.vehicle_km_s*(fuel_price*fuel_consumption+car_maintenance)176,96,148,16[Period,Public_fr]PM lethalitye/dFine particles are assumed to cause 10 deaths per 17 ton emission, a result from buses in Helsinki (1). CO2 costs are based on the estimated costs of CO2 in the greenhouse gas emission market. The true health and environmental costs are probably clearly higher than the price of the emission market.emission1[emission='PM']*Pm_unit_lethality176,224,148,162,431,209,476,2242,301,50,639,305,0,MIDM[Car_fr,Length]Emission coste/dThis version calculates emission costs per drive for a 10-km drive.
Fine particles are assumed to cause 10 deaths per 17 ton emission, a result from buses in Helsinki (1). CO2 costs are based on the estimated costs of CO2 in the greenhouse gas emission market. The true health and environmental costs are probably clearly higher than the price of the emission market.var a:= 10*Emission_factor/1000*Emission_unit_cost;
sum(a,emission)320,176,148,162,301,50,262,305,0,MIDM[Vehicle,Emission]Vehicle coste/driveThis version calculates the capital costs per trip assuming that each car takes 15 drives per day.
Capital costs of the vehicle. It is assumed here that each vehicle is bought new and driven until the end of the vehicle's lifetime. In reality, of course many cars change owners during their lifetime, and this causes variation between individual car-owners about how much their way of owning a car really causes capital costs. However, this source of variation was excluded for simpilicity. This choice can be defended with an argument that those car-owners who spend most on the capital costs, i.e. buy the most expensive cars or sell them when they are still rather new, are likely to count a smaller fraction of the capital cost of the car when comparing different modes of transport.vehicle_price/vehicle_lifetime/365/15320,112,148,162,340,200,476,3122,82,146,654,409,0,MIDM[Vehicle,Car_fr]Driving coste/driveCosts due to fuel and maintenance for a 10-km drive.10*(fuel_price*fuel_consumption+car_maintenance)320,144,148,16[Period,Vehicle]Four-passenger drivee/tripCost per trip of vehicle-dependent costs (=vehicle price, driving, emissions). The numbers are compared with the largest vehicle type.var a:= array(cost_structure,[Vehicle_cost1,0,Driving_cost1,0,0,Emission_cost1,0,0,0]);
a:= sum(a,cost_structure)/4;
a/a[vehicle='Bus no change']320,224,148,242,674,6,336,558,0,MEAN[Vehicle_type,Vehicle][Index Cost_structure][0,0,1,0](a)Fillindexvar b:= indexnames(a);
a:= if sum(findintext('Length',b))>0 then a else if length='< 5 km' then a else 0;
a:= if sum(findintext('Vehicle_type',b))>0 then a else if Vehicle_type='Minibus (d)' then a else 0;
a:= if sum(findintext('Zone',b))>0 then a else if zone=1 then a else 0;
a:= if sum(findintext('Period',b))>0 then a else if Period=' 6.00-20.00' then a else 0;
a320,312,148,242,102,90,476,326afillindex(rush_bau)208,352,148,242,234,553,416,303,0,MIDM[Length,Vehicle_type]Stakeholders: Passenger Society
(Bus company)There are three different stakeholders: Passenger, society, and bus company (which does not show up in the stakeholder index). See Stakeholder for more details.cost_to_stakeholder392,448,152,361,1,1,1,1,1,0,,1,2,245,4,476,458Cost strengthThe stakeholder-specific weights that are given to different cost types. The weight is 1 always with the following exceptions:
- Car capital costs may be <1 because the owner may need the car for other purposes than the trips considered here.
- Willingness to drive (Driver costs for car drivers) may be positive or negative depending on how the the driving is valuated.
- 'Parking' is zero for composite traffic and society, because 'Parking land' cost is then calculated.
- 'Parking land ' is zero for car passengers, because 'Parking' is then calculated.
- 'Emission costs' and 'Accidents' are not calculated for passengers because they harm people in general, not any individual specifically.
- 'Ticket' cost is calculated only for composite traffic passengers. It is not relevant for cars; and from the societal point of view, it is only a money transfer from the passenger to the service provider.Table(Cost_structure,Mode1,Stakeholder)(
Cap,1,
1,1,
0,0,
(-Drive),(-Drive),
1,1,
0,0,
1,1,
1,1,
0,0,
1,1,
0,0,
0,0,
0,0,
1,1,
0,0,
0,1,
0,1,
0,0,
1,1,
1,1,
0,0,
0,1,
0,1,
0,0,
0,0,
1,0,
0,0
)176,376,148,242,102,90,476,3552,61,68,416,303,0,MIDM2,211,203,671,281,0,CONF[Stakeholder,Cost_structure][0,0,0,0]Costs not included:
Street infrastructure
City planning
Recreational values Secondary health effectsWe were careful not to unrealistically exaggerate the benefits of the composite traffic. On the contrary, we excluded several clear but not easily quantifiable benefits: Reduced road traffic volumes save road management and infrastructure. City planning gets more freedom when the vehicle volumes decrease. This also improves the recreational values of the area. There may be an increase in walking and cycling, if the dependence on car is relieved. This may have positive secondary health effects in the population.transport_cost480,232,168,521,1,1,1,1,1,0,,1,[Alias Costs_not_included_1]The costs are calculated for a passenger who has a car in the household and is trying to decide between the car and composite traffic1176,512,168,721,1,1,1,1,1,0,,1,The_costs_are_calculAdditional benefits of composite traffic:
Mass transit feeder
Quiet bus service replacement
Efficiency by correlationReplacement of quiet bus routes with composite traffic would probably improve service and reduce costs at the same time. Composite traffic is probably an efficient feeder for high-volume transport modes such as buses and metro. We assumed that the trips are uncorrelated in time (given the total volume at each time point). However, in reality a large proportion of trips is clustered: they are directed to or from particular places such as schools, offices, ballparks, and supermarkets at specific times. With composite vehicles, it results in more efficient trip aggregation; with cars, it results in local traffic jams.transport_cost488,80,180,522,72,347,476,224Nochange frindex b:= Scenario_description[input_var='No-change fraction'];
unique(b,b)176,112,148,12index b:= Scenario_description[input_var='Large guarantee?'];
unique(b,b)176,136,048,121,1,1,1,1,1,0,0,0,0Public frThe fraction of trips that were previously performed by personal car but are performed by composite traffic in the scenario.index b:= Scenario_description[input_var='Public fraction'];
unique(b,b)264,112,144,122,236,315,416,303,0,MIDMMax sizeThe fraction of trips that were previously performed by personal car but are performed by composite traffic in the scenario.index b:= Scenario_description[input_var='Max size'];
unique(b,b)264,160,144,122,236,315,416,303,0,MIDMMin directThe fraction of trips that were previously performed by personal car but are performed by composite traffic in the scenario.index b:= Scenario_description[input_var='Min direct load'];
unique(b,b)264,184,144,122,236,315,416,303,0,MIDMVeh typesThe fraction of trips that were previously performed by personal car but are performed by composite traffic in the scenario.index b:= Scenario_description[input_var='Vehicle types'];
unique(b,b)176,160,148,122,236,315,416,303,0,MIDMDropThe fraction of trips that were previously performed by personal car but are performed by composite traffic in the scenario.index b:= Scenario_description[input_var='Drop points/area'];
unique(b,b)264,136,144,122,236,315,416,303,0,MIDMPublic levelThe fraction of trips that were previously performed by personal car but are performed by composite traffic in the scenario.index b:= Scenario_description[input_var='Public level'];
unique(b,b)176,184,148,122,236,315,416,303,0,MIDMComposite trips sslice(Scenarios_output,output1,1)344,32,148,24[Public_fr,Car_fr]Nochange trips sslice(Scenarios_output,output1,3)344,128,148,24[Public_fr,Car_fr]Vehicle km sslice(Scenarios_output,output1,4)344,176,148,24[Public_fr,Car_fr]Vehicles needed ssum(sum(slice(slice(Scenarios_output,output1,5),period,3),length),zone)376,224,148,24[Public_fr,Car_fr]Parking ssum(slice(slice(Scenarios_output,output1,5),period,1),length)376,272,148,242,120,130,416,303,0,MIDM[Public_fr,Car_fr]Rush ssum(sum(slice(slice(Scenarios_output,output1,5),period,2),length),zone)376,320,148,242,40,50,456,304,0,MIDM[Public_fr,Car_fr]Waiting sslice(Scenarios_output,output1,6)376,368,148,24[Public_fr,Car_fr]VOI and importance analysisValue of information analyses, studies on variation in the population, and other analyses on the results.jtuomistTue, Mar 27, 2001 11:26jtue12. Aprta 2005 16:3548,24544,232,048,291,1,1,1,1,1,0,0,0,01,72,18,176,523,1794,1,1,0,2,9,4744,6798,7Fig 2 Tripstrips/hFig 1 in the main text. Trips by vehicle type as a function of time when the fraction of composite trips is 50% of the current personal car trips. In this graph, you can also view other composite fractions than 0.5 when guar is set to 7, and other other levels of guarantee when composite fraction is set to 0.5.var a:= Trips1_0;
var b:= Scenario_description;
a:= if b[input_var='Composite fraction']=Car_fr then a else 0;
a:= if b[input_var='Guarantee level']=guar then a else 0;
a:= if Car_fr=0 then a[guar=7] else a;
a:= a[guar=choose_guar];
a:= a[Car_fr=choose_comp];
a:= if b[input_var='Flexible fraction']=choose_flexible then a else 0;
a:= if b[input_var='No-change fraction']=choose_nochange then a else 0;
a:= if b[input_var='Large guarantee?']='Yes' then
(if large='Yes' then a else 0) else (if large='No' then a else 0);
a:= a[large=choose_large];
a:= sum(a,Scen_ind);
a*array(vehicle,[1,0.5,1,0.5,0.5,1])544,96,148,242,493,4,476,5902,161,13,835,589,1,MIDM[Formnode Figure_3]Graphtool:0
Distresol:10
Diststeps:1
Cdfresol:5
Cdfsteps:1
Symbolsize:6
Baroverlap:0
Linestyle:10
Frame:1
Grid:1
Ticks:1
Mesh:1
Scales:1
Rotation:45
Tilt:0
Depth:70
Frameauto:1
Showkey:1
Xminimum:5
Xmaximum:15
Yminimum:0
Ymaximum:1M
Zminimum:1
Zmaximum:6
Xintervals:0
Yintervals:0
Includexzero:0
Includeyzero:0
Includezzero:0
Statsselect:[1, 1, 1, 1, 1, 0, 0, 0]
Probindex:[5%, 25%, 50%, 75%, 95%]
Arial, 5[Time_stat,Vehicle]EndpointEndpoints or pressures estimated.['Fraction of composite trips without change (%)','Vehicles needed (number)','Parking places needed (number)','Average vehicle flow on the 30 most busy roads (vehicles/h at 8.00-9.00 AM)','Injuries due to accidents (cases per year)','Deaths due to accidents (cases per year)','Deaths due to fine particles (cases per year)','Fine particle (<2.5 µm of diameter) emissions (kg per day)','Carbon dioxide emissions (ton per day)','Driver salaries (thousand e per day)','Vehicle capital and operational costs (thousand e per day)','Time cost (thousand e per day)','Average car trip cost to passenger (e per trip)','Average composite trip cost to passenger (e per trip)']664,128,148,122,17,81,625,3722,-3,30,512,303,0,MIDMTable 1 PressuresTable 1 in the Main text of the article. To retrieve the same table, 'Choose guar' should be set to 7, 'Choose comp' to All, and 'Choose period' to All.
Footnotes:
Mean (90% confidence interval when applicable).
If a passenger requests a trip without a transfer, the additional price to him/her will be 3 - 6 euro/trip during daytime. This cost is due to reduced efficiency in trip aggregation.
The number of vehicles and parking places is theoretical and involves the modelled trips only; a car owner may need the car for trips outside Helsinki even if he/she uses composite traffic. The true number of cars in the area was 346 400 in 2001. (1)
The current ticket prices for buses, metro, and trams are 1.70 e per trip in Helsinki and 2.90 e per trip between communities in the Helsinki metropolitan area. Note that the car trip and composite trip costs include time costs.var d:= sum(sum(sum(scenarios_output,zone),period),length);
d:= d[Car_fr=i];
var a:= d[output1='Trips by vehicle'];
a:= (slice(a,vehicle,1)+slice(a,vehicle,3)) +sum(sum(sum(no_change_trips[Car_fr=i],period),length),zone);
a:= a/d[output1='Trips',vehicle='Bus no change']*100;
var b:= sum(d[output1='Vehicles'],vehicle);
var c:= sum(d[output1='Parking lot'],vehicle);
d:= sum(d[output1='Link intensity'],vehicle);
a:= rounding(a,3);
b:= rounding(b,3);
c:= rounding(c,3);
d:= rounding(d,3);
var e:= tm(sample(acc_num[accidents='Injuries']));
var f:= tm(sample(acc_num[accidents='Deaths']));
var g:= tm(sample(pm_lethality)*365);
var h:= tm(sample(emission1[emission='PM']));
var i:= tm(sample(emission1[emission='CO2'])/1000);
var j:= tm((if Vehicle='Car' then 0 else sample(driver_cost))/1k);
var k:= tm(sample(vehicle_cost[guar=7])/1k+sample(driving_cost)/1k);
var l:= tm(sample(time_cost)/1k);
var x:= tm(sample(Cost_passenger));
var m:= (x[Mode1='Car']);
var n:= (x[Mode1='Composite']);
array(endpoint,[a,b,c,d,e,f,g,h,i,j,k,l,m,n])664,96,148,242,439,7,545,6212,357,353,682,303,0,MIDM2,5,2,990,352,0,MIDM[Formnode Table_4]Graphtool:0
Distresol:10
Diststeps:1
Cdfresol:5
Cdfsteps:1
Symbolsize:6
Baroverlap:0
Linestyle:1
Frame:1
Grid:1
Ticks:1
Mesh:1
Scales:1
Rotation:45
Tilt:0
Depth:70
Frameauto:1
Showkey:1
Xminimum:0
Xmaximum:1
Yminimum:0
Ymaximum:1
Zminimum:0
Zmaximum:1
Xintervals:0
Yintervals:0
Includexzero:0
Includeyzero:0
Includezzero:0
Statsselect:[1,1,1,1,1,0,0,0]
Probindex:[0.05,0.25,0.5,0.75,0.95]
[I,Endpoint]1,D,4,2,0,085,1,1,0,2,9,4744,6798,7YTV: Liikkumisen nykytila (The Present-day Traffic Situation) PJS B 2001:10 <a hfref="http://www.ytv.fi/liikenne/julk/nykytila.pdf">PDF file</a>Uncertain inputsA list of uncertain variables used in the model. This list is used to analyse the role of each variable by e.g. value-of-information analysis or importance analysis. The variables with 'V:' are not uncertain but describe variability within the population. Note that the last variable 'Blank' is NOT included in the model and therefore whatever significance is attached to this variable, is just a random effect.Table(Uncertain_var)(
Vehicle_price[Vehicle='Car'],Vehicle_lifetime[Vehicle='Car'],Fuel_price[Vehicle='Car'],Car_maintenance,Driver_salary,Rush_delay[Rush_delay='Delay'],Time_unit_cost,Trips_per_car,Emission_factor[Vehicle='Car', Emission='PM'],Emission_unit_cost[Emission='PM'],Sum(Sum(Sum(Accident_costs,Period),Vehicle),Length),Cap_uncert,Drive_uncert,Group_subvention,Group_size,Cap_variation,Drive_variation,Uniform(0,1))['Pollutant levels in fish feed after lower limits (S+P)','Salmon consumption after feed limits (S+P)','Does omega-3 help CHD patients or everyone? (S)','Dose-response of health benefit (S)','Highest omega-3 dose with health benefit (S)','Current average consumption of salmon (S)','Fraction of farmed from total salmon use (S)','Omega3 content in salmon (S)','Consider pollutant or net health effect? (P)','Dieldrin concentration in farmed salmon (S)','Toxaphene concentration in farmed salmon (S)','PCB concentration in farmed salmon (S)','Farmed salmon use after recommendation (S)','Lower limits for pollutants in fish feed? (P)','Recommend restricted farmed salmon consumption? (P)']408,56,148,241,1,1,1,1,1,0,0,0,02,541,193,476,2752,525,42,465,461,0,MIDM2,148,242,582,361,0,MIDM52425,39321,65535[Self,Self]Uncertain varA list of uncertain variables used in the model.['Car price','Car lifetime','Fuel price','Vehicle maintenance','Driver salary','Delay due to rush','Unit cost of time','Trips per car','Car fine particle emission','Fine particle unit cost','Accident costs','Car capital','Willingness to drive','Group subvention','V: Car occupancy','V: Car capital','V: Willingness to drive','Blank']408,88,148,121,1,1,1,1,1,0,0,0,02,123,124,476,4692,351,356,688,342,0,MIDM2,168,178,582,361,0,MIDM[Self,Self]Subventione/dDirect costs occurring to the society if it subsidises the composite traffic ticket prices so much that the target level of composite fraction is reached, i.e. that that fraction of population thinks that composite traffic is equally or more economic for them than car traffic.var a:= Expected_total_varia[stakeholder='Passenger'];
a:= Linearinterp(a.i,a, choose_comp,a.i);
(a+mean(group_subvention))*trips_per_period[{period=choose_period,} Mode1='Composite']288,208,148,242,102,90,476,4752,336,56,550,289,1,MIDMGraphtool:0
Distresol:10
Diststeps:1
Cdfresol:5
Cdfsteps:1
Symbolsize:6
Baroverlap:0
Linestyle:10
Frame:1
Grid:1
Ticks:1
Mesh:1
Scales:1
Rotation:45
Tilt:0
Depth:70
Frameauto:1
Showkey:1
Xminimum:1
Xmaximum:14
Yminimum:-100K
Ymaximum:909.4K
Zminimum:1
Zmaximum:2
Xintervals:0
Yintervals:0
Includexzero:0
Includeyzero:0
Includezzero:0
Statsselect:[1,1,1,1,1,0,0,0]
Probindex:[0.05,0.25,0.5,0.75,0.95]
Arial, 8[Car_fr,Length][Index Length]Cost variatione/tripThis node is a combination of variables that represent variation, not uncertainty. In other words, all variation between the Monte Carlo iterations are due to variation within the population. (However, there are actually two variables, namely Cap_uncert and Drive_uncert that represent uncertainty of capital cost of car and willingness to drive, respectively. It would be tricky to separate these from variation, and therefore this discrepancy is allowed.)var a:= mean(Group_size)/sample(Group_size);
a:= if cost_structure <>'Time' and Mode1='Car' then a else 1;
a:= a*mid(cost_per_trip);
a:= if isnan(a) then 0 else a;
a:= a*cost_strength_variability;
a:= sum(a,cost_structure);
{a:= a[stakeholder='Passenger',length='>= 5 km'];
a[Mode1='Composite']-a[Mode1='Car']}168,136,148,242,424,37,476,5842,0,8,394,483,0,SAMP[Mode1,Run]Expected total variatione/tripCost difference of composite and car trips shown as the expectation. The X axis shows the fractiles of the total variation within the population. See also 'Expected variations'. These lines are used in Figure 2 of the main text. See 'Figure 2'.var a:= cost_variation[Mode1='Composite']-cost_variation[Mode1='Car'];
a:= variation1(a,Cost,9);
var b:= a[.varia=1/9]+(a[.varia=1/9]-a[.varia=2/9])/2;
var c:= a[.varia=9/9]+(a[.varia=9/9]-a[.varia=8/9])/2;
index i:= [0,1/18,3/18,5/18,7/18,9/18,11/18,13/18,15/18,17/18,1];
array(i,[b,a[.varia=1/9],a[.varia=2/9],a[.varia=3/9],a[.varia=4/9],a[.varia=5/9],a[.varia=6/9],a[.varia=7/9],a[.varia=8/9],a[.varia=9/9],c])288,136,148,242,102,90,476,3402,94,158,860,436,0,MIDMGraphtool:0
Distresol:10
Diststeps:1
Cdfresol:5
Cdfsteps:1
Symbolsize:6
Baroverlap:0
Linestyle:1
Frame:1
Grid:1
Ticks:1
Mesh:1
Scales:1
Rotation:45
Tilt:0
Depth:70
Frameauto:1
Showkey:1
Xminimum:0
Xmaximum:1
Yminimum:-4
Ymaximum:4
Zminimum:0.1111
Zmaximum:1
Xintervals:0
Yintervals:0
Includexzero:0
Includeyzero:0
Includezzero:0
Statsselect:[1,1,1,1,1,0,0,0]
Probindex:[0.05,0.25,0.5,0.75,0.95]
[0,0,0,0]ClassesThe number of classes in the value-of-information analysis. This is a technical parametre only, and it should be large enough. However, the samplesize should be at least 100 times larger than this to avoid random noise.17528,280,148,122,102,90,476,40552425,39321,65535VariationfractileTotal variation expressed as fractiles. See 'Cost variation'.var a:= sample(cost_variation);
a:= a[Mode1='Composite']-a[Mode1='Car'];
a:= rank(a,run)/samplesize;
slice(a[guar=7,Car_fr=0.5, stakeholder='Passenger'], period,1)168,88,148,122,102,90,476,3352,142,191,670,314,1,SAMP[Run,Length]1,D,4,2,0,0Passenger VOIe/tripValue of information analysis for the input variables with the passenger decision between composite and car traffic. The analysis calculates the expected benefit for the passenger when the uncertainty of a variable is resolved.var a:= sample(cost__variation[stakeholder='Passenger']);
a:= sum(a*sum(trip_fraction,mode1),length);
Voi(a,Mode1,uncertain_inputs,uncertain_var,Classes)408,208,148,242,68,266,476,2842,28,44,735,480,0,MIDMGraphtool:0
Distresol:10
Diststeps:1
Cdfresol:5
Cdfsteps:1
Symbolsize:6
Baroverlap:0
Linestyle:1
Frame:1
Grid:1
Ticks:1
Mesh:1
Scales:1
Rotation:45
Tilt:0
Depth:70
Frameauto:1
Showkey:1
Xminimum:1
Xmaximum:20
Yminimum:-0.3
Ymaximum:0
Zminimum:1
Zmaximum:1
Xintervals:0
Yintervals:0
Includexzero:0
Includeyzero:0
Includezzero:0
Statsselect:[1,1,1,1,1,0,0,0]
Probindex:[0.05,0.25,0.5,0.75,0.95]
1,F,4,3,0,0[Index Comp_fr]Societal coste/dTotal societal costs including subsidies.var a:= cost_to_stakeholder[stakeholder='Society'];
a:= a*trips_per_period{[period=choose_period]};
if mode1='Composite' then a+subvention else a288,280,148,242,104,11,736,486,0,MEAN[Car_fr,Mode1][Index Length][0,0,0,0]Societal VOI 0-100e/dValue of information analysis for the input variables with the societal decision about the target level of composite fraction. Each level involves a particular amount of subsidies to composite traffic to reach the target. The analysis calculates the expected benefit for the society when the uncertainty of a variable is resolved.var a:= sum(sum(sample(Societal_cost__varia),length),mode1);
a:= if Car_fr=1 then a[Car_fr=0.9] else a;
Voi(a,Car_fr,uncertain_inputs,uncertain_var,classes)408,408,148,242,506,97,476,3102,18,41,377,506,0,MIDMGraphtool:0
Distresol:10
Diststeps:1
Cdfresol:5
Cdfsteps:1
Symbolsize:6
Baroverlap:0
Linestyle:9
Frame:1
Grid:1
Ticks:1
Mesh:1
Scales:1
Rotation:45
Tilt:0
Depth:70
Frameauto:1
Showkey:1
Xminimum:1
Xmaximum:3
Yminimum:-70K
Ymaximum:0
Zminimum:1
Zmaximum:12
Xintervals:0
Yintervals:0
Includexzero:0
Includeyzero:0
Includezzero:0
Statsselect:[1,1,1,1,1,0,0,0]
Probindex:[0.05,0.25,0.5,0.75,0.95]
Arial, 6Fig 5A Societal costse/dFigure 3 top panel of the main text.
Marginal societal costs of traffic (composite+car) as a function of the fraction that composite replaces personal car trips (composite fraction). Top: Societal costs (excluding subsidies for composite traffic) during different periods of day.
To reproduce the figure in the article, set
Choose comp = All
Choose guar = 7
Choose period = All
Subsidise groups? = No
Choose large = No
Choose_nochange = 0
Uncertainty options: Sample size 5000, random seed = 98, Median Latin Hypercube
Warning: This will require > 1 MB of system memoryvar a:= sum(sum(Societal_cost,mode1)-subvention,length);
a-a[Car_fr=0]288,352,148,292,521,109,476,2712,277,24,326,548,0,MEAN[Formnode Figure_3_top2][Car_fr,Period][0,0,0,0]Fig 5B Subsidiese/dFigure 3 middle panel of the main text.
Marginal societal costs of traffic (composite+car) as a function of the fraction that composite replaces personal car trips (composite fraction). Middle: Subsidies to ticket prices needed to reach the target fraction of composite traffic (i.e., to make that fraction of current car passengers to favour composite traffic). For comparison, the current subsidies to public transportation in Helsinki area are on the range of 380 000 e per day.
The public transport subsidies in Helsinki, Espoo (incl Kauniainen), and Vantaa were 93.30, 25.95, and 19.49 million euro in 2003, which is approximately 380 000 euro per day for the whole area.
To reproduce the figure in the article, set
Choose comp = All
Choose guar = 7
Choose period = All
Subsidise groups? = No
Choose large = No
Choose_nochange = 0
Uncertainty options: Sample size 5000, random seed = 98, Median Latin Hypercube
Warning: This will require > 1 MB of system memoryvar a:= sum(subvention,length);
a168,208,148,242,120,77,476,2242,62,10,324,463,0,MIDM[Formnode Figure_3_middle2]Graphtool:0
Distresol:10
Diststeps:1
Cdfresol:5
Cdfsteps:1
Symbolsize:6
Baroverlap:0
Linestyle:10
Frame:1
Grid:1
Ticks:1
Mesh:1
Scales:1
Rotation:45
Tilt:0
Depth:70
Frameauto:1
Showkey:1
Xminimum:0
Xmaximum:1
Yminimum:-100K
Ymaximum:100K
Zminimum:1
Zmaximum:7
Xintervals:0
Yintervals:0
Includexzero:0
Includeyzero:0
Includezzero:0
Statsselect:[1,1,1,1,1,0,0,0]
Probindex:[0.05,0.25,0.5,0.75,0.95]
Arial, 6[Car_fr,Period][Index Period][Rosenberg, 2005 55 /id]
<a href="http://www.mintc.fi/oliver/upl471-Julkaisuja_2_2005.pdf">PDF file</a>Fig 5C Expandinge/dFigure 3 bottom panel of the main text.
Marginal societal costs of traffic (composite+car) as a function of the fraction that composite replaces personal car trips (composite fraction). Bottom: Societal costs (including subsidies) during daytime with increasing areal coverage of composite traffic (starting from the most densely populated areas). Both origin and destination must be in the covered area. The legend shows the number of inhabitants living in the covered area.
(To see the legend, calculate Population_guaranteed.)
To reproduce the figure in the article, set
Choose comp = All
Choose guar = All
Choose period = 6.00-20.00
Subsidise groups? = No
Choose large = No
Choose_nochange = 0
Uncertainty options: Sample size 5000, random seed = 98, Median Latin Hypercube
Warning: This will require > 1 MB of system memoryvar a:= Societal_cost;
a:= a-a[Car_fr=0];
sum(sum(a,length),mode1);168,352,148,242,411,30,476,3572,558,40,290,520,1,MEAN[Formnode Figure_3_bottom2]Graphtool:0
Distresol:10
Diststeps:1
Cdfresol:5
Cdfsteps:1
Symbolsize:6
Baroverlap:0
Linestyle:10
Frame:1
Grid:1
Ticks:1
Mesh:1
Scales:1
Rotation:45
Tilt:0
Depth:70
Frameauto:1
Showkey:1
Xminimum:0
Xmaximum:1
Yminimum:-1.2M
Ymaximum:200K
Zminimum:1
Zmaximum:1
Xintervals:0
Yintervals:0
Includexzero:0
Includeyzero:0
Includezzero:0
Statsselect:[1,1,1,1,1,0,0,0]
Probindex:[0.05,0.25,0.5,0.75,0.95]
Arial, 2[Car_fr,Guar][0,0,0,0]Fig 4 Cost variatione/tripFigure 2 in the main text. Individual variation in the cost of a composite trip compared with a personal car trip for an individual passenger. The estimates include daytime trips with 50% composite fraction scenario. The trips are divided into two groups based on length. The variation between individuals is shown on X axis, with people most in favour of composite traffic on left. The expected values across individuals are shown as lines, and the dots represent the uncertainty of the value.
Note that the lines of expectations are shown in another node, 'Expected total variation'.
To reproduce the figure in the article, set
Choose comp = 0.5
Choose guar = 7
Choose period = 6.00-20.00
Subsidise groups? = No
Choose large = No
Choose_nochange = 0
Uncertainty options: Sample size 1000, random seed = 98, Median Latin Hypercubeslice(Cost[guar=7,Car_fr=0.5,stakeholder='Passenger'],period,1)168,56,148,242,102,90,476,3852,159,34,670,538,1,SAMP[Formnode Figure_6]Graphtool:0
Distresol:10
Diststeps:1
Cdfresol:5
Cdfsteps:1
Symbolsize:4
Baroverlap:0
Linestyle:4
Frame:1
Grid:1
Ticks:1
Mesh:1
Scales:1
Rotation:45
Tilt:0
Depth:70
Frameauto:1
Showkey:1
Xminimum:0
Xmaximum:1
Yminimum:-4
Ymaximum:3
Zminimum:1
Zmaximum:2
Xintervals:0
Yintervals:0
Includexzero:0
Includeyzero:0
Includezzero:0
Statsselect:[1,1,1,1,1,0,0,0]
Probindex:[0.05,0.25,0.5,0.75,0.95]
Arial, 2[Run,Length]Variation[0,0,0,0]Coste/trip The cost difference of the composite and car trips for the passenger (negative values: composite traffic is more beneficial).var a:= sample(cost_to_stakeholder{[stakeholder='Passenger']});
a:= a[Mode1='Composite']-a[Mode1='Car'];
a288,56,148,242,77,76,476,3252,8,10,285,422,0,MEANGraphtool:0
Distresol:10
Diststeps:1
Cdfresol:5
Cdfsteps:1
Symbolsize:6
Baroverlap:0
Linestyle:10
Frame:1
Grid:1
Ticks:1
Mesh:1
Scales:1
Rotation:45
Tilt:0
Depth:70
Frameauto:1
Showkey:1
Xminimum:0
Xmaximum:1
Yminimum:-4
Ymaximum:10
Zminimum:1
Zmaximum:7
Xintervals:0
Yintervals:0
Includexzero:0
Includeyzero:0
Includezzero:0
Statsselect:[1, 1, 1, 1, 1, 0, 0, 0]
Probindex:[5%, 25%, 50%, 75%, 95%]
Arial, 5[Length,Car_fr][0,0,0,0]Single passenger VOIe/tripSame as 'Passenger VOI' except that the value of information is estimated for the subgroup that travels alone.var a:= sample(cost__variation[stakeholder='Passenger']);
a:= sum(a*sum(trip_fraction,mode1),length);
a:= if sample(Group_size)=1 then a else 0;
Voi(a,Mode1,uncertain_inputs,uncertain_var,Classes)408,280,152,242,15,127,476,2242,393,95,352,473,0,MIDMGraphtool:0
Distresol:10
Diststeps:1
Cdfresol:5
Cdfsteps:1
Symbolsize:6
Baroverlap:0
Linestyle:1
Frame:1
Grid:1
Ticks:1
Mesh:1
Scales:1
Rotation:45
Tilt:0
Depth:70
Frameauto:1
Showkey:1
Xminimum:0
Xmaximum:1
Yminimum:0
Ymaximum:1
Zminimum:0
Zmaximum:1
Xintervals:0
Yintervals:0
Includexzero:0
Includeyzero:0
Includezzero:0
Statsselect:[1,1,1,1,1,0,0,0]
Probindex:[0.05,0.25,0.5,0.75,0.95]
1,F,4,3,0,0[Index Comp_fr]The highest VOI is in willingness to driveThe highest VOI is in willingness to drive, when 'Car occupancy' is standardised to 1; otherwise the variation of 'Car occupancy' drives the VOI analysis.single_passenger_voi664,240,148,3865535,65532,19661Composite traffic is more attractive to those with long (>= 5 km) tripsComposite traffic is more attractive to those with long (>= 5 km trips).Fig_4_cost_variation56,56,152,48[Alias Composite_traffic_i1]65535,65532,19661Cost \variationcost_to_stakeholder-(Cost_variation-mean(cost_variation))408,136,148,242,122,153,476,5672,257,61,680,471,1,SAMPGraphtool:0
Distresol:10
Diststeps:1
Cdfresol:5
Cdfsteps:1
Symbolsize:4
Baroverlap:0
Linestyle:4
Frame:1
Grid:1
Ticks:1
Mesh:1
Scales:1
Rotation:45
Tilt:0
Depth:70
Frameauto:1
Showkey:1
Xminimum:0
Xmaximum:1000
Yminimum:-3
Ymaximum:3
Zminimum:1
Zmaximum:2
Xintervals:0
Yintervals:0
Includexzero:0
Includeyzero:0
Includezzero:0
Statsselect:[1, 1, 1, 1, 1, 0, 0, 0]
Probindex:[5%, 25%, 50%, 75%, 95%]
Arial, 8[Run,Length]VariationSocietal cost \variatione/dTotal societal costs including subsidies. Here we exclude the variation so that the VOI is calculated based on uncertainty only.var a:= Cost_variation-mean(cost_variation);
a:= cost_to_stakeholder-a;
a:= a[stakeholder='Society'];
a:= a*trips_per_period{[period=choose_period]};
if mode1='Composite' then a+subvention else a408,344,148,242,542,125,476,2242,154,69,736,486,1,MEANGraphtool:0
Distresol:10
Diststeps:1
Cdfresol:5
Cdfsteps:1
Symbolsize:6
Baroverlap:0
Linestyle:10
Frame:1
Grid:1
Ticks:1
Mesh:1
Scales:1
Rotation:45
Tilt:0
Depth:70
Frameauto:1
Showkey:1
Xminimum:1
Xmaximum:14
Yminimum:0
Ymaximum:600K
Zminimum:1
Zmaximum:1
Xintervals:0
Yintervals:0
Includexzero:0
Includeyzero:0
Includezzero:0
Statsselect:[1,1,1,1,1,0,0,0]
Probindex:[0.05,0.25,0.5,0.75,0.95]
Arial, 8[Car_fr,Undefined][Index Length][0,0,0,0]Other partsktluser10. touta 2005 21:2848,24664,32,148,241,0,0,1,1,1,0,,0,1,483,26,517,528,17Trips by vehicle typetrips/dNumber of trips per day by vehicle type. Set guar to 7 to view the trips as a function of composite fraction. Set comp fr to 0.5 to view the trips as a function of guarantee level.sum(Fig_2_trips,time_stat)*time_unit312,400,148,242,102,90,476,3452,13,28,811,629,1,MIDMGraphtool:0
Distresol:10
Diststeps:1
Cdfresol:5
Cdfsteps:1
Symbolsize:6
Baroverlap:0
Linestyle:10
Frame:1
Grid:1
Ticks:1
Mesh:1
Scales:1
Rotation:45
Tilt:0
Depth:70
Frameauto:1
Showkey:1
Xminimum:1
Xmaximum:7
Yminimum:0
Ymaximum:100K
Zminimum:1
Zmaximum:6
Xintervals:0
Yintervals:0
Includexzero:0
Includeyzero:0
Includezzero:0
Statsselect:[1,1,1,1,1,0,0,0]
Probindex:[0.05,0.25,0.5,0.75,0.95]
Arial, 5Fig1 flexiblevar a:= slice(time_stat,time_stat,ceil(rank(time_stat)/2)*2-1);
index tim:= sequence(0,max(time_stat),time_unit*2);
sum((if tim=a then Fig_2_trips else 0),time_stat)/2312,344,148,242,320,289,476,2242,7,15,469,587,1,MIDMCost.passengere/tripCosts per trip to the passenger.var b:= cost__variation;
var a:= (sum(sum(trips_per_period,length),period));
a:= trips_per_period/a;
a:= sum(sum(a*b,length),period);
a[stakeholder='Passenger']176,360,148,242,641,24,476,5622,132,15,788,516,1,MEAN[Car_fr,Mode1][Index Cost_structure][0,0,0,0]Fig 3 Cost by sourcee/tripThe cost per trip for a random individual passenger. These values have been weighted by the stakeholder-specific weights (Cost strength).
The costs are first calculated for an average trip from total costs and total numbers of trips. The costs of individual car trips depend on the number of passengers. Therefore, the average cost is multiplied by the average number of passengers and divided by the number of passengers in the particular case we are looking at.var a:= mean(Group_size)/sample(Group_size);
a:= if cost_structure <>'Time' and Mode1='Car' then a else 1;
a:= a*cost_per_trip[Car_fr=0.5,guar=7];
a:= if isnan(a) then 0 else a;
a:= a*cost_strength;
var b:= trips_per_period[Car_fr=0.5, guar=7];
b:= b/(sum(sum(b,length),period));
sum(sum(a*b,length),period);176,480,152,242,589,137,476,4562,61,3,833,348,1,MEAN[Formnode Cost_by_type_to_sta1]Graphtool:0
Distresol:10
Diststeps:1
Cdfresol:5
Cdfsteps:1
Symbolsize:6
Baroverlap:0
Linestyle:9
Frame:1
Grid:1
Ticks:1
Mesh:1
Scales:1
Rotation:45
Tilt:0
Depth:70
Frameauto:1
Showkey:1
Xminimum:0
Xmaximum:10
Yminimum:0
Ymaximum:0.6
Zminimum:1
Zmaximum:2
Xintervals:0
Yintervals:0
Includexzero:0
Includeyzero:0
Includezzero:0
Statsselect:[1,1,1,1,1,0,0,0]
Probindex:[0.05,0.95]
Arial, 2[Cost_structure,Mode1][Index Cost_structure][0,0,0,0]Trip fractionvar a:= trips_per_period/sum(sum(trips_per_period,length),mode1);
a{[period=choose_period]}176,208,148,242,18,307,416,303,0,MIDM[Mode1,Length][Index Length]No-change trips# or #/hA set of scenarios organised along two indexes:
Guar is the level of composite traffic guarantee. This means that trips within a certain area will be organised by composite travel, while areas outside this guarantee remain without the service. The point in using this index is to explore whether composite traffic can be started with low profile and expanded geographically as more people start using it.
Comp_fr is the fraction of trips that were previously performed by personal car but are performed by composite traffic in the scenario.scenarios_output[output1='Nochange trips']
{var a:= scen1_0;
a:= a[vehicle_noch='No-change',output1='Trips by vehicle'];
var b:= Scenarios1_0;
a:= if b[input_var='Flexible fraction']=flexible_fr then a else 0;
a:= a[flexible_fr=choose_flexible];
a:= if b[input_var='No-change fraction']=nochange_fr then a else 0;
a:= a[nochange_fr=choose_nochange];
a:= if b[input_var='Large guarantee?']='Yes' then
(if large='Yes' then a else 0) else (if large='No' then a else 0);
a:= a[large=choose_large];
a:= if b[input_var='Composite fraction']=Car_fr then a else 0;
a:= if b[input_var='Guarantee level']=guar then a else 0;
a:= sum(a,scenario1_0);
a:= if Car_fr=0 then a[guar=7] else a;
a:= a[Car_fr=choose_comp];
a:= a[guar=choose_guar];
a[period=choose_period]}56,424,148,242,462,53,476,5172,69,383,591,222,0,MIDMGraphtool:0
Distresol:10
Diststeps:1
Cdfresol:5
Cdfsteps:1
Symbolsize:6
Baroverlap:0
Linestyle:10
Frame:1
Grid:1
Ticks:1
Mesh:1
Scales:1
Rotation:45
Tilt:0
Depth:70
Frameauto:1
Showkey:1
Xminimum:5
Xmaximum:15
Yminimum:0
Ymaximum:1M
Zminimum:1
Zmaximum:6
Xintervals:0
Yintervals:0
Includexzero:0
Includeyzero:0
Includezzero:0
Statsselect:[1, 1, 1, 1, 1, 0, 0, 0]
Probindex:[5%, 25%, 50%, 75%, 95%]
Arial, 5[Length,Zone]No-change coste/tripCalculates the additional cost to those passengers that want a direct trip even if there is not a full vehicle available. First, the additional cost per trip of having these trips in the system is calculated. This is multiplied by the total number of trips to get the total additional cost per day. This is divided by the number of these special-service trips. Taken together, everyone must pay the price shown with No-change fraction=0, and the No-change cost is added to this price to cover the additional costs.var a:= cost_passenger-cost_passenger[nochange_fr=0];
a:= a[mode1='Composite'];
a:= a*sum(trips_per_period[{period=choose_period,}mode1='Composite'],length);
var b:= sum(sum(no_change_trips,length),zone);
a/b176,424,148,242,102,90,485,4302,281,258,643,324,0,MEAN[Car_fr,Period][Index Cost_structure]Cost strength variabilityThe same as Cost strength, except that this node only contains the variability, not uncertainty.
The stakeholder-specific weights that are given to different cost types. The weight is 1 always with the following exceptions:
- Car capital costs may be <1 because the owner may need the car for other purposes than the trips considered here.
- Willingness to drive (Driver costs for car drivers) may be positive or negative depending on how the the driving is valuated.
- 'Parking' is zero for composite traffic and society, because 'Parking land' cost is then calculated.
- 'Parking land ' is zero for car passengers, because 'Parking' is then calculated.
- 'Emission costs' and 'Accidents' are not calculated for passengers because they harm people in general, not any individual specifically.
- 'Ticket' cost is calculated only for composite traffic passengers. It is not relevant for cars; and from the societal point of view, it is only a money transfer from the passenger to the service provider.Table(Cost_structure,Mode1,Stakeholder)(
Cap_variation,Cap_variation,
1,1,
0,0,
(-Drive_variation),(-Drive_variation),
1,1,
0,0,
1,1,
1,1,
0,0,
1,0,
0,0,
0,0,
0,1,
1,1,
0,0,
0,1,
0,1,
0,0,
1,1,
1,1,
0,0,
0,1,
0,1,
0,0,
0,0,
1,0,
0,0
)312,456,148,242,102,90,476,4222,61,68,416,303,0,MIDM2,564,215,350,281,0,MEAN[Mode1,Cost_structure][Mode1,Cost_structure]Most of the VOI (esp. car occupancy) is actually in variables known to the passengerMost of the VOI (esp. car occupancy) is actually in variables known to the passenger.passenger_voi_and_voc456,208,148,6365535,65532,19661Most of the VOI is actually VOC=value of consensusMost of the VOI is actually VOC=value of consensus. This means that VOI is calculated for an input variable that is not actually unknown, but it reflects true variability in the population. Therefore the reduction of the spread of this variable does not mean that uncertainty is decreased. It means that the variability is decreased, i.e. that the population is approaching consensus.Societal_voi_and_voc336,128,148,4665535,65532,19661Outcome ImportanceSpearman rImportance analysis of the uncertain input variables. It is a Spearman rank correlation between the input variables and the outcome ('Cost').Abs( RankCorrel( Uncertain_inputs,Cost) )64,120,148,241,1,1,1,1,1,0,0,0,02,127,41,402,453,0,MIDM[Length,Uncertain_var]UncertaintiesfractileUncertain input variables standardised as fractiles.rank(uncertain_inputs,run)/samplesize64,72,148,122,97,189,665,420,0,SAMP[Run,Uncertain_var]Expected variationse/tripCost difference of composite and car trips shown as the expectation. The X axis shows the fractiles of one uncertain variable. If there is a trend, this varible has a large impact on the cost difference. See also 'Cost by uncertainty'.variation1(uncertain_inputs,Cost,9)64,240,148,242,116,222,476,2242,12,12,607,474,1,MIDM[Car_fr,Uncertain_var]Costs \car occupancye/tripAn alternative way of calculating costs given a certain input variable ('Car occupancy' in this case).var classes:= 100;
index varia:= 1..classes;
var c:= getfract(Group_size,varia/classes);
average(for x[]:= c do (whatif(Costs__cap,Group_size,x)),varia)176,304,148,242,45,0,833,212,1,SAMPGraphtool:0
Distresol:10
Diststeps:1
Cdfresol:5
Cdfsteps:1
Symbolsize:6
Baroverlap:0
Linestyle:10
Frame:1
Grid:1
Ticks:1
Mesh:1
Scales:1
Rotation:45
Tilt:0
Depth:70
Frameauto:1
Showkey:1
Xminimum:0
Xmaximum:100
Yminimum:-4
Ymaximum:4
Zminimum:1
Zmaximum:1
Xintervals:0
Yintervals:0
Includexzero:0
Includeyzero:0
Includezzero:0
Statsselect:[1, 1, 1, 1, 1, 0, 0, 0]
Probindex:[5%, 25%, 50%, 75%, 95%]
Arial, 6Costs \cape/tripAn alternative way of calculating costs given a certain input variable ('Cap' in this case).var classes:= 100;
index varia:= 1..classes;
var c:= getfract(cap,varia/classes);
average(for x[]:= c do (whatif(Cost,cap,x)),varia)64,304,148,242,47,207,833,237,1,SAMPGraphtool:0
Distresol:10
Diststeps:1
Cdfresol:5
Cdfsteps:1
Symbolsize:6
Baroverlap:0
Linestyle:10
Frame:1
Grid:1
Ticks:1
Mesh:1
Scales:1
Rotation:45
Tilt:0
Depth:70
Frameauto:1
Showkey:1
Xminimum:0
Xmaximum:100
Yminimum:-4
Ymaximum:4
Zminimum:1
Zmaximum:1
Xintervals:0
Yintervals:0
Includexzero:0
Includeyzero:0
Includezzero:0
Statsselect:[1, 1, 1, 1, 1, 0, 0, 0]
Probindex:[5%, 25%, 50%, 75%, 95%]
Arial, 6Cost by uncertaintye/tripCost difference of composite and car trips shown as a scatter plot. The X axis shows the fractiles of one uncertain variable. If there is a trend, this varible has a large impact on the cost difference.Cost64,40,148,242,82,65,830,529,1,SAMPGraphtool:0
Distresol:10
Diststeps:1
Cdfresol:5
Cdfsteps:1
Symbolsize:4
Baroverlap:0
Linestyle:4
Frame:1
Grid:1
Ticks:1
Mesh:1
Scales:1
Rotation:45
Tilt:0
Depth:70
Frameauto:1
Showkey:1
Xminimum:0
Xmaximum:1
Yminimum:-2.5
Ymaximum:2.5
Zminimum:1
Zmaximum:1
Xintervals:0
Yintervals:0
Includexzero:0
Includeyzero:0
Includezzero:0
Statsselect:[1, 1, 1, 1, 1, 0, 0, 0]
Probindex:[5%, 25%, 50%, 75%, 95%]
Arial, 6[Run,Undefined]UncertaintiesS Costs \car occupancye/tripAn alternative way of calculating costs given a certain input variable ('Car occupancy' in this case).var classes:= 100;
index varia:= 1..classes;
var c:= getfract(Group_size,varia/classes);
average(for x[]:= c do (whatif(societal_cost,Group_size,x)),varia)64,184,148,242,45,0,833,212,1,SAMPGraphtool:0
Distresol:10
Diststeps:1
Cdfresol:5
Cdfsteps:1
Symbolsize:6
Baroverlap:0
Linestyle:10
Frame:1
Grid:1
Ticks:1
Mesh:1
Scales:1
Rotation:45
Tilt:0
Depth:70
Frameauto:1
Showkey:1
Xminimum:0
Xmaximum:100
Yminimum:-4
Ymaximum:4
Zminimum:1
Zmaximum:1
Xintervals:0
Yintervals:0
Includexzero:0
Includeyzero:0
Includezzero:0
Statsselect:[1, 1, 1, 1, 1, 0, 0, 0]
Probindex:[5%, 25%, 50%, 75%, 95%]
Arial, 6Cost classifiedvar x:= 9;
var a:= sample(cost_variation);
a:= a[stakeholder='Passenger'];
a:= a[mode1='Composite']-a[mode1='Car'];
index vari:= sequence(1/x,1,1/x);
var in:= ceil(rank(a,run)*x/samplesize)/x;
a:= if in=Vari then a else 0;
176,40,148,24[Run,Car_fr]Classified passenger VOIThe iterations are classified into 9 groups based on variability, and these groups are calculated separately. This is reasonable, because there is no point in calculating a common VOI for two individuals, who are on opposite extremes of the variation according to favourness of composite traffic. However, both Passenger VOI and Single passenger VOI are doing this (except that the latter matches for the most important variating variable).var a:= array(Mode1,[sample(Cost_classified)*9,0]);
a:= sum(a*sum(trip_fraction,mode1),length);
Voi(a,Mode1,uncertain_inputs,uncertain_var,Classes)336,40,152,242,389,72,366,497,0,MIDMSocietal VOI and VOCe/dValue of information analysis for the input variables with the societal decision about the target level of composite fraction. Each level involves a particular amount of subsidies to composite traffic to reach the target. The analysis calculates the expected benefit for the society when the uncertainty of a variable is resolved.var a:= sum(sum(sample(Societal_cost),length),mode1);
a:= if Car_fr=1 then a[Car_fr=0.9] else a;
Voi(a,Car_fr,uncertain_inputs,uncertain_var,classes)176,128,148,242,581,43,377,506,0,MIDMGraphtool:0
Distresol:10
Diststeps:1
Cdfresol:5
Cdfsteps:1
Symbolsize:6
Baroverlap:0
Linestyle:9
Frame:1
Grid:1
Ticks:1
Mesh:1
Scales:1
Rotation:45
Tilt:0
Depth:70
Frameauto:1
Showkey:1
Xminimum:1
Xmaximum:17
Yminimum:-225K
Ymaximum:0
Zminimum:1
Zmaximum:2
Xintervals:0
Yintervals:0
Includexzero:0
Includeyzero:0
Includezzero:0
Statsselect:[1,1,1,1,1,0,0,0]
Probindex:[0.05,0.25,0.5,0.75,0.95]
Arial, 6Passenger VOI and VOCe/tripValue of information analysis for the input variables with the passenger decision between composite and car traffic. The analysis calculates the expected benefit for the passenger when the uncertainty of a variable is resolved.var a:= sample(cost[stakeholder='Passenger']);
a:= sum(a*sum(trip_fraction,mode1),length);
a:= array(mode1,[a,0]);
Voi(a,Mode1,uncertain_inputs,uncertain_var,Classes){missing ')'}312,208,148,242,482,80,398,480,0,MIDMGraphtool:0
Distresol:10
Diststeps:1
Cdfresol:5
Cdfsteps:1
Symbolsize:6
Baroverlap:0
Linestyle:1
Frame:1
Grid:1
Ticks:1
Mesh:1
Scales:1
Rotation:45
Tilt:0
Depth:70
Frameauto:1
Showkey:1
Xminimum:0
Xmaximum:1
Yminimum:0
Ymaximum:1
Zminimum:0
Zmaximum:1
Xintervals:0
Yintervals:0
Includexzero:0
Includeyzero:0
Includezzero:0
Statsselect:[1,1,1,1,1,0,0,0]
Probindex:[0.05,0.25,0.5,0.75,0.95]
1,F,4,3,0,0Cost \variationvar a:= cost_variation[Mode1='Composite']-cost_variation[Mode1='Car'];
a:= rank(a,run)/samplesize;
var b:= expected_total_varia;
a:= Linearinterp(b.i,b, a,b.i);
cost-a424,344,148,242,102,90,476,3752,257,61,680,471,1,SAMPGraphtool:0
Distresol:10
Diststeps:1
Cdfresol:5
Cdfsteps:1
Symbolsize:4
Baroverlap:0
Linestyle:4
Frame:1
Grid:1
Ticks:1
Mesh:1
Scales:1
Rotation:45
Tilt:0
Depth:70
Frameauto:1
Showkey:1
Xminimum:0
Xmaximum:1000
Yminimum:-3
Ymaximum:3
Zminimum:1
Zmaximum:2
Xintervals:0
Yintervals:0
Includexzero:0
Includeyzero:0
Includezzero:0
Statsselect:[1, 1, 1, 1, 1, 0, 0, 0]
Probindex:[5%, 25%, 50%, 75%, 95%]
Arial, 8[Run,Length]Total societal VOI is 30000 euro/d, which implies robust conclusionsFor the societal question whether to subsidise composite traffic at 50 % composite fraction or not at all, the total value of resolving all uncertainty is only about 30 000 e per day, and the value for every single variable was zero. This means that the conclusion is robust and that even if the truth about a variable were found out to be the most unfavourable to the composite traffic, the optimal decision would still be the same.Societal_voi_0_or_50648,408,152,442,102,90,475,224[Alias Total_societal__voi1]65535,65532,19661Fig 6A Passenger VOIpassenger_voi528,208,148,292,17,59,799,413,0,MIDM[Formnode Fig_6a_passenger_vo1]Graphtool:0
Distresol:10
Diststeps:1
Cdfresol:5
Cdfsteps:1
Symbolsize:6
Baroverlap:0
Linestyle:9
Frame:1
Grid:1
Ticks:1
Mesh:1
Scales:1
Rotation:45
Tilt:0
Depth:70
Frameauto:1
Showkey:1
Xminimum:1
Xmaximum:3
Yminimum:-70K
Ymaximum:0
Zminimum:1
Zmaximum:12
Xintervals:0
Yintervals:0
Includexzero:0
Includeyzero:0
Includezzero:0
Statsselect:[1,1,1,1,1,0,0,0]
Probindex:[0.05,0.25,0.5,0.75,0.95]
Fig 6B Societal VOISocietal_voi_0_100288,408,148,242,563,94,416,435,0,MIDM[Formnode Fig_6b_societal_voi1]Societal VOI 0 or 50e/dValue of information analysis for the input variables with the societal decision about the target level of composite fraction. Each level involves a particular amount of subsidies to composite traffic to reach the target. The analysis calculates the expected benefit for the society when the uncertainty of a variable is resolved.var a:= sum(sum(sample(Societal_cost__varia),length),mode1);
index comp:= [0,0.5];
a:= a[Car_fr=comp];
Voi(a,comp,uncertain_inputs,uncertain_var,classes)528,408,148,242,18,41,377,506,0,MIDMGraphtool:0
Distresol:10
Diststeps:1
Cdfresol:5
Cdfsteps:1
Symbolsize:6
Baroverlap:0
Linestyle:9
Frame:1
Grid:1
Ticks:1
Mesh:1
Scales:1
Rotation:45
Tilt:0
Depth:70
Frameauto:1
Showkey:1
Xminimum:1
Xmaximum:3
Yminimum:-70K
Ymaximum:0
Zminimum:1
Zmaximum:12
Xintervals:0
Yintervals:0
Includexzero:0
Includeyzero:0
Includezzero:0
Statsselect:[1,1,1,1,1,0,0,0]
Probindex:[0.05,0.25,0.5,0.75,0.95]
Arial, 6(a:probtype)Tma:= if size(a)=size(sum(a,length)) then a else sum(a,length);
a:= if size(a)=size(sum(a,vehicle)) then a else sum(a,vehicle);
a:= if size(a)=size(sum(a,period)) then a else sum(a,period);
a:= rounding(mean(a),3)&' ('& rounding(Getfract(a,0.05),3)&'-'& rounding(getfract(a,0.95),3)&')';
a:= if a='NAN (NAN-NAN)' then '' else a;
a:= a;
a[Car_fr=i]664,176,148,122,7,86,476,512ai[0,0.25,0.5,0.75,1]664,152,148,12Trip dataThis module calculates the trip rate for each origin-destination pair (129^2 pairs) and for each time point (12 min intervals resulting in 120 time points) based on trip data from three separate hours (morning rush, midday, afternoon rush) and time activity (based on diaries) in traffic along 24 hours.
The total number of trips equals the number of car trips in Helsinki area on a working day in 2000. All scenarios have the same street strucure and number of trips with a particular origin, destination, and time. The trips are divided into car trips and composite trips differently in each scenario based on two variables. Composite fraction is the percentage of the trips that are handled by composite traffic; the remaining trips are handled by personal cars. Guaranteed area defines the area where composite traffic is provided (i.e. the area where you are guaranteed to get a composite vehicle if you want one). The default assumption is that both the origin AND the destination must be in the guaranteed area, but it is also easy to evaluate scenarios where the guarantee covers all trips in the Helsinki area as long as either the origin OR the destination is in the guaranteed area.
The model calculates the expected number of trips for each origin-destination-time cell, and picks one random number from Poisson distributioin based on the expectation. After that, the model is deterministic all the way to Outputs node.jtue26. Junta 2003 12:49jtue18. elota 2004 18:1248,24184,232,148,241,1,1,1,1,1,0,0,0,01,146,3,436,418,172,244,212,476,362Arial, 13(param1, param2; suurind, pienind:indextype;indtieto)Si_piA function used to divide aggragate data into its disaggregate units based on weighting factors.var a:=sum((if indtieto=Suurind then param2 else 0), pienind);
a:= sum((if indtieto=suurind then a else 0), suurind);
a:= param2/a;
a:= if indtieto=suurind then param1*a else 0;
sum(a, suurind)512,24,148,122,36,83,476,372param1,param2,suurind,pienind,indtietoPlace1The place where the trip ends.copyindex(Place)512,112,148,122,120,130,416,303,0,MIDMPlaceThe place where the trip origines/ends. Workplace is a trip to/from the workplace; business is a work-related trip outside the workplace.['Home','Workplace','Business','School','Other']512,88,148,122,704,209,476,464Unadjusted trip ratetrips/time unitCalculates the traffic volume for each time point of the day. First, the matrix is selected based on the Base_time Name column, and then the numbers are scaled as the proportion of the traffic activity per each hour and the peak hour for which the matrix was calculated.var c:= Select_trip_matrix;
c:= c[area1=From,area2=To1];
c:= if c=null then 0 else c;
c:= cubicinterp(hour,c,time,hour)168,96,148,242,454,141,476,3582,10,136,678,514,0,MIDMGraphtool:0
Distresol:10
Diststeps:1
Cdfresol:5
Cdfsteps:1
Symbolsize:6
Baroverlap:0
Linestyle:10
Frame:1
Grid:1
Ticks:1
Mesh:1
Scales:1
Rotation:45
Tilt:0
Depth:70
Frameauto:1
Showkey:1
Xminimum:0
Xmaximum:25
Yminimum:0
Ymaximum:180
Zminimum:1001
Zmaximum:1012
Xintervals:0
Yintervals:0
Includexzero:0
Includeyzero:0
Includezzero:0
Statsselect:[1, 1, 1, 1, 1, 0, 0, 0]
Probindex:[5%, 25%, 50%, 75%, 95%]
Arial, 6[Time,From][To1,From]All tripstrips/time unitCalculates number of individuals in the composite traffic and in car traffic for each route and time. Composite traffic may be restricted by area or by the fraction of trips that switch from car traffic to composite traffic.var a:= adjusted_trip_rate;
a:= if isnan(a) then 100u else a;
a:= if a=0 then 100u else a;
a:= slice(sample(Poisson(a)),run,1);
var g:= Scenario_input[input_var='Guarantee level'];
var car:= Scenario_input[input_var='Car fraction'];
var pub:= Scenario_input[input_var='Public fraction']*Public_matrix;
var b:= guaranteed_areas;
var c:= From&'';
b:= if findintext(c,Regions) then b else 0;
b:= sum(b,Region);
b:= b[guarantee=g];
b:= if Scenario_input[input_var='Large guarantee?']='Yes' then b+b[From=To1] else b*b[From=To1];
b:= if b>0 then 1 else 0;
car:= slice(sample(binomial(a[mode1='Car'],b*car)),run,1);
pub:= slice(sample(binomial(a[mode1='Public'],b*pub)),run,1);
array(Mode1,[car,sum(a,mode1)-car-pub,pub]);
288,176,148,242,544,169,476,4932,78,1,435,468,0,MIDM[Time,From][Index Mista]Flowpassengers/time unitPassenger flow at each point. This is a sum of people who start, continue or end their trip from or to here.var a:= From&'';
var c:= sum(All_trips[Mode1='Composite'],time);
for x[]:= a do (
var b:= (if findintext(x,Route_matrix)>0 then c else 0);
sum(sum(b,From),To1) )400,176,148,242,17,204,476,3162,142,149,654,249,0,MIDM[To1,From]Transfer pointThe most busy point along the trip. In a case where there is no direct composite vehicle driving from the origin to the destination, the passenger is dropped at this point, and the latter part of the trip is organised separately.index etappi:= 1..max(max((textlength(route_matrix)+1)/5,From),To1);
var a:= sum(Flow,To1);
var b:= '0*'&Route_matrix&'*0';
b:= for x[]:= b do slice(splittext(x,','),etappi);
var c:= a[From=evaluate(b)];
var d:= if istext(c) or isnumber(c) then c else 0;
c:= argmax(d,etappi);
c:= if max(d,etappi)=0 or c=1 then '' else b[etappi=c]&',';
From&','&c&To1400,240,148,242,504,112,476,5132,43,10,972,486,0,MIDM[To1,From]GuaranteeA dummy index.[1,2,3,4,5,6,7]288,272,148,122,102,90,476,5332,104,114,416,494,0,MIDMGuaranteed areasGuarantee means that any trip within the specified region is organised by the composite traffic, if wanted. 1=guarantee, 0=no guarantee. The default assumption is that both the origin AND the destination must be in the guaranteed area, but it is also easy to evaluate scenarios where the guarantee covers all trips in the Helsinki area as long as either the origin OR the destination is in the guaranteed area.Table(Guarantee,Region)(
0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,1,0,1,0,0,0,0,
0,0,0,0,0,0,0,0,1,1,1,0,0,0,0,
0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,
0,0,1,1,0,0,0,0,1,1,1,1,1,1,1,
0,0,1,1,0,1,0,1,1,1,1,1,1,1,1,
1,1,1,1,1,1,1,1,1,1,1,1,1,1,1
)288,240,148,242,102,90,476,4342,354,113,582,448,0,MIDM2,49,233,589,346,0,MIDM52425,39321,65535[Guarantee,Region][Guarantee,Region]Scenario inputInput variable values for base case scenario. If Large guarantee? is 'Yes', then it is assumed that the guarantee covers the whole area, if the origin OR the destination of the trip are in the guaranteed area. Otherwise, both O and D must be in the covered area.Table(Input_var)(
0.5,1,7,0,100,0,8,4,2,8)['Composite fraction','Guarantee level','Lim']288,96,148,242,120,315,416,303,0,MIDM52425,39321,65535[Scenario_input,Scenario]Input varIndex for variables that may affect the number of composite traffic trips.['Car fraction','Public fraction','Guarantee level','Large guarantee?','Public level','No-change fraction','Max size','Min direct load','Vehicle types','Drop points/area']288,128,148,122,102,90,476,320Adjusted trip ratetrips/time unitCalculates the traffic volume for each time point of the day. Adjusting is taken into account to yield results where the population in an area is not much different after the day.var g:= unadjusted_trip_rate;
{index x:= copyindex(From);
var b:= 0;
var c:= 0;
var e:= 0;
var a:= sum(Unadjusted_trip_rate,time);
b:= sum(a,From);
b:= b[To1=From];
c:= sum(a,To1);
c:= (b-c)*a/sum(a,To1);
e:= if c<0 then -c else 0;
c:= if c<0 then 0 else c;
e:= e[From=x,To1=From];
e:= e[x=To1];
a:= c+e;
var g:= if time>7 and time<19 then 1 else 0;
g:= g/sum(g,time);
g:= Unadjusted_trip_rate+a*g;}
g:= g/sum(sum(sum(g,from),to1),time)*total_trips;
{var h:= if rank(time)/2 = floor(rank(time)/2) then g *scenario_input[input_var='Flexible fraction'] else 0;
var i:= h[time=time+time_unit] ;
i:= if i=null then 0 else i;
g:= g+i-h;
if isnan(g) then 0 else g}168,176,148,242,320,0,476,6082,14,239,993,392,0,MIDMGraphtool:0
Distresol:10
Diststeps:1
Cdfresol:5
Cdfsteps:1
Symbolsize:6
Baroverlap:0
Linestyle:1
Frame:1
Grid:1
Ticks:1
Mesh:1
Scales:1
Rotation:45
Tilt:0
Depth:70
Frameauto:1
Showkey:1
Xminimum:0
Xmaximum:1
Yminimum:0
Ymaximum:1
Zminimum:0
Zmaximum:1
Xintervals:0
Yintervals:0
Includexzero:0
Includeyzero:0
Includezzero:0
Statsselect:[1,1,1,1,1,0,0,0]
Probindex:[0.05,0.25,0.5,0.75,0.95]
[Time,From][Time,From]13.7.2006 Jouni Tuomisto
Poistin Felxible fractionin toiminnasta, koska sit en ole koskaan tarvinnut, ja toteutustapa tuntuu nyt huonolta. Ehk koodinkin voisi poistaa kokonaan, mutten sit viel tee.Total tripstripsTotal number of trips travelled in a personal car in Helsinki Metropolitan area during a working day. The total number of trips is 2.9 million, and 44% of them are by personal cars.
Trips by traffic mode on weekday in the Helsinki metropolitan area in 2000.
Total trips 2.9 million
22 % Walking
7 % Cycling
16 % Bus
3 % Tram
3 % Train
4 % Metro
34 % Personal car (driver)
10 % Personal car (passenger) and taxi2.9M*array(mode1,[0.44,0,0.16+0.03+0.04])56,176,148,242,102,90,476,4782,40,50,416,303,0,MIDM65535,52427,65534YTV: Helsingin seudun nykytila (The Current State of Helsinki Region) PJS B 2002:1 <a hfref="http://www.ytv.fi/seutukeh/pks/pks2025/nykytila.pdf">PDF file</a>PopulationinhabitantsPopulation of the Helsinki Metropolitan Area by area in 2003.Table(Area1)(
389,10.248K,8215,882,6768,4157,11.62K,761,2407,3401,13.137K,14.569K,8705,6832,4746,0,3542,2284,15.89K,7028,11.8K,6825,3344,5755,10.28K,19K,9940,7288,12.956K,12.983K,10.358K,4523,8375,12.656K,5284,8470,13.653K,6422,8695,3549,8782,4169,11.435K,10.766K,2122,5480,7962,11.615K,10.91K,7636,5795,3710,16.146K,9493,8819,8331,11.226K,4023,8631,28.283K,5951,8259,16.458K,13.495K,12,829,9,3235,9228,6191,3145,7835,8819,16.405K,14.91K,6105,8003,15.762K,14.608K,2209,2888,12.29K,7692,3475,8069,2237,5239,8905,9199,8253,15.238K,5847,5934,1845,4671,549,3999,572,3579,9299,6466,18.695K,14.052K,2140,4118,2619,112,3145,3465,215,47,1807,10.396K,4301,11.36K,4840,2895,1346,3723,8338,2620,5403,3375,9873,12.478K,3167,4698,14.244K,9899,0)56,240,148,242,388,82,476,4592,415,198,416,481,0,MIDM2,510,11,258,615,0,MIDM65535,52427,65534[Index Area1]Seutu-CD '03. YTV (The Helsinki Metropolitan Area Council), Helsinki, 2004.Population guaranteedinhabitantsNumber of inhabitants in the area in which the composite traffic operates.var b:= guaranteed_areas;
var c:= From&'';
b:= if findintext(c,Regions) then b else 0;
{b:= sum(b,Region);}
b:= if b>0 then population[area1=from] else 0;
sum(b,from)168,240,148,242,480,131,476,4402,202,71,609,369,0,MIDM[Guarantee,Region][Index Region]Areal surfacearbitraryThe areal surface of each area. (A rough classification).Table(Region)(
7,4,3,2.5,5,2,3,1,1,1,1,1,1,2,3)56,304,148,242,541,153,416,352,0,MIDM2,526,136,416,386,0,MIDM65535,52427,65534Based on rough estimates with a map on scale 1:40000.Population densityarbitraryPopulation density in each area. (A rough classification.)var c:= From&'';
var b:= if findintext(c,Regions) then 1 else 0;
b:= if b>0 then population[area1=from] else 0;
sum(b,from)/areal_surface168,304,148,242,481,162,476,4002,93,219,954,423,0,MIDM[From,Region]Modelled trip rateTrip matrix is sthe same as in Tuomisto and Tainio, 2005.jtue13. Febta 2003 16:03ktluser25. touta 2005 12:3048,24168,32,148,241,1,1,1,1,1,0,0,0,01,46,136,331,408,17Arial, 13Trips municipality1000 tips/dOne-way trips from one municipality to another.Table(Municipality,Municipality1)(
223,(365/2),(130/2),(95/2),
(365/2),332,(103/2),(117/2),
(130/2),(103/2),320,(49/2),
(95/2),(117/2),(49/2),179
)56,64,148,242,422,91,476,5131,77,139,758,383,0,MIDM2,52,332,708,188,0,MIDM65535,52427,65534[Self,Municipality1][Municipality,Municipality1][Index Suuralue]YTV: Liikkumisen nykytila. Pkaupunkiseudun julkaisusarja B 2001:10. Fig 6. <a href="http://www.ytv.fi/NR/rdonlyres/F6B8A4F8-C394-4972-A1DE-C64E2B69EE6D/0/nykytila_B2001_10.pdf>PDF file</a>Trips place1000 trips/dOne-way trips from one place to another (such as home, work etc).Table(Place,Place1)(
29,(642/2),(67/2),(283/2),(1315/2),
(642/2),4,(71/2),(9/2),(184/2),
(67/2),(71/2),21,(1/2),(21/2),
(283/2),(9/2),(1/2),2,(50/2),
(1315/2),(184/2),(21/2),(50/2),193
)56,176,148,242,402,104,476,6032,44,37,504,196,0,MIDM65535,52427,65534[Place,Place1][Place,Place1][Index Kohde]YTV: Liikkumisen nykytila. Pkaupunkiseudun julkaisusarja B 2001:10. Fig 7. <a href="http://www.ytv.fi/NR/rdonlyres/F6B8A4F8-C394-4972-A1DE-C64E2B69EE6D/0/nykytila_B2001_10.pdf>PDF file</a>Trips place&modefractionThe distribution of trips among transportation modes.Table(Place,Place1,Mode2)(
0.34,0.19,0.46,0.01,
0.15,0.39,0.46,0,
0.34,0.19,0.46,0.01,
0.42,0.42,0.15,0.01,
0.34,0.19,0.46,0.01,
0.15,0.39,0.46,0,
0.25,0.24,0.5,0.01,
0.25,0.24,0.5,0.01,
0.25,0.24,0.5,0.01,
0.25,0.24,0.5,0.01,
0.34,0.19,0.46,0.01,
0.25,0.24,0.5,0.01,
0.25,0.24,0.5,0.01,
0.25,0.24,0.5,0.01,
0.25,0.24,0.5,0.01,
0.42,0.42,0.15,0.01,
0.25,0.24,0.5,0.01,
0.25,0.24,0.5,0.01,
0.25,0.24,0.5,0.01,
0.25,0.24,0.5,0.01,
0.34,0.19,0.46,0.01,
0.25,0.24,0.5,0.01,
0.25,0.24,0.5,0.01,
0.25,0.24,0.5,0.01,
0.25,0.24,0.5,0.01
)64,288,148,242,377,111,476,4411,494,125,416,303,0,MIDM2,27,185,456,199,0,MIDM65535,52427,65534[Mode2,Place1][Place,Place1][Index Kohde]YTV: Liikkumisen nykytila. Pkaupunkiseudun julkaisusarja B 2001:10. Fig 8. <a href="http://www.ytv.fi/NR/rdonlyres/F6B8A4F8-C394-4972-A1DE-C64E2B69EE6D/0/nykytila_B2001_10.pdf>PDF file</a>Trips munic&modetrips/d/inhNumber of trips per inhabitant of each transportation mode in different municipalities. These data are not used in the model.Table(Municipality,Mode2)(
1.31,1.1,0.93,0.03,
0.89,1.01,1.34,0.03,
0.92,0.72,2.03,0.03,
0.92,0.73,1.67,0.05
)64,368,148,242,491,162,476,5511,136,146,595,314,0,MIDM2,30,208,649,187,0,MIDM65535,52427,65534[Mode2,Self][Municipality,Mode2][Index Suuralue]YTV: Liikkumisen nykytila. Pkaupunkiseudun julkaisusarja B 2001:10. Fig 9. <a href="http://www.ytv.fi/NR/rdonlyres/F6B8A4F8-C394-4972-A1DE-C64E2B69EE6D/0/nykytila_B2001_10.pdf>PDF file</a>Fraction pub tr municfractionThe fraction of public transportation in municipalities. These data are not used in the model.Table(Municipality,Municipality1)(
0.64,0.59,0.5,0.57,
0.59,0.33,0.24,0.21,
0.5,0.24,0.22,0.14,
0.57,0.21,0.14,0.23
)64,424,148,242,102,90,476,4711,200,210,666,291,0,MIDM1,200,210,752,301,1,MIDM65535,52427,65534[Self,Municipality1][Self,Municipality1]YTV: Liikkumisen nykytila. Pkaupunkiseudun julkaisusarja B 2001:10. Fig 6. <a href="http://www.ytv.fi/NR/rdonlyres/F6B8A4F8-C394-4972-A1DE-C64E2B69EE6D/0/nykytila_B2001_10.pdf>PDF file</a>Place weight by hourA rough weighting of different trips along the day. The purpose of this node is to take into account the fact that residences and workplaces are located differently in the area, and therefore the different trips occur unevenly in time and space.var a:= table(Time_of_day)(0.1,0.3,1,0.1,0.1);
var c:= table(Time_of_day)(1,0.3,0.2,0.1,0.1);
a:= (if Place='Workplace' or Place='Business' then a else if Place1='Workplace' or Place1='Business' then c else 1);
a:= a[Time_of_day=Time_of_day_by_hour];
a/sum(a,hour)512,96,148,242,534,55,476,5702,400,26,509,574,0,MIDM52425,39321,65535[Place1,Hour][Index Tunti]MunicipalityMunicipalities in the Helsinki metropolitan area. Helsinki is divided into two parts; Kauniainen is together with Espoo.['Helsinki, downtown','Helsinki, suburbs','Espoo, Kauniainen','Vantaa']56,96,148,122,243,104,476,4372,17,221,416,303,0,MIDMMunicipality1The same as Municipality; this index is used as the destination.copyindex(Municipality)56,120,148,122,451,144,476,4212,72,82,416,303,0,MIDMModeThe modes of transportation.['Kevyt liikenne','Joukkoliikenne','Henkilauto','Muu']64,320,148,122,102,90,476,446Time of dayTime of day['Morning','Day','Afternoon','Evening','Night']512,128,148,122,183,445,242,306Time in trafficmin/hTime spent in personal car traffic in Helsinki. Based on personal diaries of adult subjects in Expolis study in 1996-97.Table(hour)(
0.5434,0.3511,0.2547,0.2885,0.1949,0.4356,1.521,4.747,5.118,2.106,1.892,1.663,1.966,1.91,2.608,3.477,6.161,5.567,3.811,2.833,2.158,1.254,0.7295,0.5768)400,240,148,242,161,264,476,4282,136,28,416,569,0,MIDM2,13,59,490,544,1,MIDM65535,52427,65534[Index Tunti]Anu Kousa, Expolis database 12.11.2002.Car tripstrips/dCar trips per day.var a:= Trips_place*Trips_place_mode*1000;
a[Mode2='Henkilauto']176,176,148,242,108,133,476,4622,13,254,489,204,0,MIDM[Place,Place1]Time of day by hourTime of day by hourTable(Hour)(
'Night','Night','Night','Night','Night','Night','Morning','Morning','Morning','Day','Day','Day','Day','Day','Day','Afternoon','Afternoon','Afternoon','Evening','Evening','Evening','Evening','Night','Night')512,32,148,242,18,279,476,2242,488,78,416,538,0,MIDM2,2,17,203,701,0,MIDM52425,39321,65535Inhabitants#Number of inhabitants by district in Jan 1st, 2001.Table(Area1)(
389,10.25K,8215,882,6768,4157,11.62K,761,2407,3401,13.14K,14.57K,8705,6832,4746,10,3542,2284,15.89K,7028,11.8K,6825,3344,5755,10.28K,19K,9940,7288,12.96K,12.98K,10.36K,4523,8375,12.66K,5284,8470,13.65K,6422,8695,3549,8782,4169,11.44K,10.77K,2122,5480,7962,11.62K,10.91K,7636,5795,3710,16.15K,9493,8819,8331,11.23K,4023,8631,28.28K,5951,8259,16.46K,13.5K,12,829,9,3235,9228,6191,3145,7835,8819,16.41K,14.91K,6105,8003,15.76K,14.61K,2209,2888,12.29K,7692,3475,8069,2237,5239,8905,9199,8253,15.24K,5847,5934,1845,4671,549,3999,572,3579,9299,6466,18.7K,14.05K,2140,4118,2619,112,3145,3465,215,47,1807,10.4K,4301,11.36K,4840,2895,1346,3723,8338,2620,5403,3375,9873,12.48K,3167,4698,14.24K,9899,0)400,32,148,242,102,90,476,4922,0,0,184,753,0,MIDM2,489,294,416,303,0,MIDM65535,52427,65534Helsingin kaupungin tietokeskus: Helsingin seudun aluesarjat
www.aluesarjat.fiWorkplaces#The number of workplaces by districtTable(Area1)(
23.89K,28.84K,6227,11.46K,9798,6390,4771,3018,1284,6659,8195,8960,17.77K,4184,12.67K,4232,8797,5226,8561,11.63K,3571,17.04K,2849,3602,3469,9525,2861,2476,3305,5571,17.35K,5016,1728,4239,1053,3709,5964,1673,849,1308,1604,2162,1287,8431,2242,975,720,1853,1668,2334,538,699,1596,1333,7414,1828,1070,7452,1394,3051,893,849,1463,1481,443,1723,4068,9201,6916,2818,6321,3340,1389,2487,7270,1709,690,2794,2389,1237,3399,3463,3694,1581,7038,3254,519,832,1336,1927,2510,4198,4122,309,1681,79,2301,478,1629,3254,2826,7822,5587,2206,1529,504,3285,1814,4254,3928,9509,2633,7034,275,1063,1958,1856,2519,232,1023,346,1808,478,1358,1605,308,2012,3644,794,0)288,32,148,242,102,90,476,5481,248,258,713,303,0,MIDM2,583,35,416,303,1,MIDM65535,52427,65534SeutuCD 02, a CD ROM database about the Helsinki area.Municipality infoThe municipality to which each district belongs.Table(Area1)(
'Helsinki, downtown','Helsinki, downtown','Helsinki, downtown','Helsinki, downtown','Helsinki, downtown','Helsinki, downtown','Helsinki, downtown','Helsinki, downtown','Helsinki, downtown','Helsinki, downtown','Helsinki, downtown','Helsinki, downtown','Helsinki, downtown','Helsinki, downtown','Helsinki, downtown','Helsinki, downtown','Helsinki, downtown','Helsinki, downtown','Helsinki, downtown','Helsinki, downtown','Helsinki, downtown','Helsinki, downtown','Helsinki, downtown','Helsinki, downtown','Helsinki, downtown','Helsinki, downtown','Helsinki, suburbs','Helsinki, suburbs','Helsinki, suburbs','Helsinki, suburbs','Helsinki, suburbs','Helsinki, suburbs','Helsinki, suburbs','Helsinki, suburbs','Helsinki, suburbs','Helsinki, suburbs','Helsinki, suburbs','Helsinki, suburbs','Helsinki, suburbs','Helsinki, suburbs','Helsinki, suburbs','Helsinki, suburbs','Helsinki, suburbs','Helsinki, suburbs','Helsinki, suburbs','Helsinki, suburbs','Helsinki, suburbs','Helsinki, suburbs','Helsinki, suburbs','Helsinki, suburbs','Helsinki, suburbs','Helsinki, suburbs','Helsinki, suburbs','Helsinki, suburbs','Helsinki, suburbs','Helsinki, suburbs','Helsinki, suburbs','Helsinki, suburbs','Helsinki, suburbs','Helsinki, suburbs','Helsinki, suburbs','Helsinki, suburbs','Helsinki, suburbs','Helsinki, suburbs','Helsinki, suburbs','Helsinki, suburbs','Espoo, Kauniainen','Espoo, Kauniainen','Espoo, Kauniainen','Espoo, Kauniainen','Espoo, Kauniainen','Espoo, Kauniainen','Espoo, Kauniainen','Espoo, Kauniainen','Espoo, Kauniainen','Espoo, Kauniainen','Espoo, Kauniainen','Espoo, Kauniainen','Espoo, Kauniainen','Espoo, Kauniainen','Espoo, Kauniainen','Espoo, Kauniainen','Espoo, Kauniainen','Espoo, Kauniainen','Espoo, Kauniainen','Espoo, Kauniainen','Espoo, Kauniainen','Espoo, Kauniainen','Espoo, Kauniainen','Espoo, Kauniainen','Espoo, Kauniainen','Espoo, Kauniainen','Espoo, Kauniainen','Espoo, Kauniainen','Espoo, Kauniainen','Espoo, Kauniainen','Espoo, Kauniainen','Espoo, Kauniainen','Espoo, Kauniainen','Vantaa','Vantaa','Vantaa','Vantaa','Vantaa','Vantaa','Vantaa','Vantaa','Vantaa','Vantaa','Vantaa','Vantaa','Vantaa','Vantaa','Vantaa','Vantaa','Vantaa','Vantaa','Vantaa','Vantaa','Vantaa','Vantaa','Vantaa','Vantaa','Vantaa','Vantaa','Vantaa','Vantaa','Vantaa','Vantaa',0)184,32,148,242,102,90,476,2242,41,173,416,303,0,MIDM52425,39321,65535Trips place munictrips/dCar trips per day by municipality and place. Several weighting factors are used to derive the numbers from the original data.var ap:= array(Place,[Inhabitants, Workplaces, Workplaces, Inhabitants, Inhabitants]);
ap:= sum((if Municipality=Municipality_info then ap else 0),area1);
ap:= ap/sum(ap,Municipality);
var a:= ap*Car_trips;
ap:= ap[Municipality=Municipality1, Place=Place1];
a:= ap*a;
a:= a/sum(sum(a,Place),Place1);
a:= a*Trips_municipality;
a:= a/sum(sum(sum(sum(a, Municipality), Municipality1), Place), Place1);
a*sum(sum(Car_trips,Place),Place1)288,176,148,242,16,104,498,5911,339,342,644,303,0,MIDM2,15,44,784,245,0,MIDM[Place,Place1][Municipality1,Municipality][Index Suuralue]Trips by hourtrips/hTrips by hour from one district to another district.var ap:= array(Place,[Inhabitants, Workplaces, Workplaces, Inhabitants, Workplaces]);
ap:= ap/sum(ap,area1);
var a:= si_pi(Trips_place_munic,ap,Municipality,area1,Municipality_info);
a:= si_pi(a,ap[area1=area2],Municipality1,area2,Municipality_info[area1=area2]);
var va4:= Place_weight_by_hour*Time_in_traffic;
va4:= va4/sum(va4,hour);
a:= a*va4;
a:= a/sum(sum(a,Place),Place1) *sum(sum(sum(a,Place),Place1),hour) *Time_in_traffic/sum(Time_in_traffic,hour);
a:= sum(sum(a,Place),Place1);
array(mode1,[a,0,0])400,176,148,242,38,32,562,6882,554,42,540,493,0,MIDM[Area1,Area2]HLT2005hpax29. Mayta 2006 15:06vkoe31. Mayta 2006 9:4748,2456,32,148,241,1,1,1,1,1,0,0,0,01,40,17,139,361,17Arial, 12Municipality info HLTDefines the municipality each district belongs to.Table(Area1)(
91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,235,49,49,49,49,49,49,49,49,49,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,0)272,208,148,242,102,90,476,2242,473,196,416,303,0,MIDM52425,39321,65535Mista[49,91,92,235]56,176,148,122,40,50,416,303,0,MIDMMihincopyindex(Mista)56,200,148,122,459,182,476,2242,207,465,416,303,0,MIDMKulkutapa['henkiloauto','Joukkoliikenne','Muu']56,248,148,12HLT2004-05Table(Cols,Rows)(
0,0,0,0,0.2,0.2,0.2,0.6,0.6,0.6,0.6,0.8,1,1,1,1,1,1,1.2,1.4,1.6,1.6,1.8,2,2,2,2,2,2,2,2.2,2.4,2.6,2.6,2.6,2.6,3,3,3,3,3,3,3,3.6,3.6,3.6,3.8,3.8,4,4,4,4,4.2,4.4,4.8,4.8,5,5,5,5.2,5.4,5.4,5.6,5.6,5.6,5.6,5.6,5.6,5.6,5.6,5.6,5.6,5.8,5.8,5.8,5.8,5.8,5.8,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6.2,6.2,6.2,6.2,6.2,6.2,6.2,6.2,6.2,6.2,6.2,6.2,6.2,6.2,6.2,6.2,6.4,6.4,6.4,6.4,6.4,6.6,6.6,6.6,6.6,6.6,6.6,6.6,6.6,6.6,6.6,6.6,6.6,6.6,6.6,6.6,6.6,6.6,6.6,6.6,6.6,6.6,6.6,6.6,6.6,6.6,6.6,6.6,6.6,6.6,6.6,6.6,6.6,6.6,6.6,6.6,6.6,6.6,6.6,6.6,6.6,6.6,6.6,6.6,6.6,6.6,6.6,6.6,6.6,6.6,6.6,6.6,6.6,6.6,6.8,6.8,6.8,6.8,6.8,6.8,6.8,6.8,6.8,6.8,6.8,6.8,6.8,6.8,6.8,6.8,6.8,6.8,6.8,6.8,6.8,6.8,6.8,6.8,6.8,6.8,6.8,6.8,6.8,6.8,6.8,6.8,6.8,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7.2,7.2,7.2,7.2,7.2,7.2,7.2,7.2,7.2,7.2,7.2,7.2,7.2,7.2,7.2,7.2,7.2,7.2,7.2,7.2,7.2,7.2,7.2,7.2,7.2,7.2,7.2,7.2,7.2,7.2,7.2,7.2,7.2,7.2,7.2,7.2,7.2,7.2,7.2,7.2,7.2,7.2,7.2,7.2,7.2,7.2,7.2,7.4,7.4,7.4,7.4,7.4,7.4,7.4,7.4,7.4,7.4,7.4,7.4,7.4,7.4,7.4,7.4,7.4,7.4,7.4,7.4,7.4,7.4,7.4,7.4,7.4,7.4,7.4,7.4,7.4,7.4,7.4,7.4,7.6,7.6,7.6,7.6,7.6,7.6,7.6,7.6,7.6,7.6,7.6,7.6,7.6,7.6,7.6,7.6,7.6,7.6,7.6,7.6,7.6,7.6,7.6,7.6,7.6,7.6,7.6,7.6,7.6,7.6,7.6,7.6,7.6,7.6,7.6,7.6,7.6,7.6,7.6,7.6,7.6,7.6,7.6,7.6,7.6,7.6,7.6,7.6,7.6,7.6,7.6,7.6,7.6,7.6,7.6,7.6,7.6,7.6,7.6,7.6,7.6,7.6,7.6,7.6,7.6,7.6,7.6,7.6,7.6,7.6,7.6,7.6,7.6,7.6,7.6,7.6,7.6,7.6,7.6,7.6,7.6,7.6,7.6,7.6,7.6,7.6,7.6,7.6,7.6,7.6,7.6,7.6,7.6,7.6,7.6,7.6,7.6,7.6,7.6,7.6,7.6,7.6,7.6,7.6,7.6,7.6,7.6,7.6,7.6,7.6,7.6,7.6,7.6,7.6,7.6,7.6,7.6,7.6,7.6,7.6,7.6,7.6,7.6,7.6,7.6,7.6,7.6,7.6,7.6,7.6,7.6,7.6,7.6,7.6,7.6,7.6,7.6,7.6,7.6,7.6,7.6,7.6,7.6,7.6,7.6,7.6,7.6,7.6,7.6,7.6,7.6,7.6,7.6,7.6,7.8,7.8,7.8,7.8,7.8,7.8,7.8,7.8,7.8,7.8,7.8,7.8,7.8,7.8,7.8,7.8,7.8,7.8,7.8,7.8,7.8,7.8,7.8,7.8,7.8,7.8,7.8,7.8,7.8,7.8,7.8,7.8,7.8,7.8,7.8,7.8,7.8,7.8,7.8,7.8,7.8,7.8,7.8,7.8,7.8,7.8,7.8,7.8,7.8,7.8,7.8,7.8,7.8,7.8,7.8,7.8,7.8,7.8,7.8,7.8,7.8,7.8,7.8,7.8,7.8,7.8,7.8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8.2,8.2,8.2,8.2,8.2,8.2,8.2,8.2,8.2,8.2,8.2,8.2,8.2,8.2,8.2,8.2,8.2,8.2,8.2,8.2,8.2,8.2,8.2,8.2,8.2,8.2,8.2,8.2,8.2,8.2,8.2,8.2,8.2,8.2,8.2,8.2,8.2,8.4,8.4,8.4,8.4,8.4,8.4,8.4,8.4,8.4,8.4,8.4,8.4,8.6,8.6,8.6,8.6,8.6,8.6,8.6,8.6,8.6,8.6,8.6,8.6,8.6,8.6,8.6,8.6,8.6,8.6,8.6,8.6,8.6,8.6,8.6,8.6,8.6,8.6,8.6,8.6,8.6,8.6,8.6,8.6,8.6,8.6,8.6,8.6,8.6,8.6,8.6,8.6,8.6,8.6,8.6,8.6,8.6,8.6,8.6,8.6,8.6,8.6,8.6,8.6,8.6,8.6,8.6,8.6,8.6,8.6,8.6,8.6,8.6,8.6,8.6,8.6,8.6,8.6,8.6,8.6,8.6,8.6,8.6,8.6,8.6,8.6,8.6,8.6,8.6,8.6,8.6,8.6,8.6,8.6,8.6,8.6,8.6,8.6,8.6,8.6,8.6,8.6,8.6,8.6,8.6,8.6,8.6,8.6,8.6,8.6,8.6,8.8,8.8,8.8,8.8,8.8,8.8,8.8,8.8,8.8,8.8,8.8,8.8,8.8,8.8,8.8,8.8,8.8,8.8,8.8,8.8,8.8,8.8,8.8,8.8,8.8,8.8,8.8,8.8,8.8,8.8,8.8,8.8,8.8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9.2,9.2,9.2,9.2,9.2,9.2,9.2,9.2,9.2,9.2,9.2,9.2,9.2,9.2,9.2,9.2,9.2,9.2,9.2,9.2,9.2,9.2,9.2,9.2,9.4,9.4,9.4,9.4,9.4,9.4,9.4,9.4,9.6,9.6,9.6,9.6,9.6,9.6,9.6,9.6,9.6,9.6,9.6,9.6,9.6,9.6,9.6,9.6,9.6,9.6,9.6,9.6,9.6,9.6,9.6,9.6,9.6,9.6,9.6,9.6,9.6,9.6,9.6,9.6,9.6,9.6,9.6,9.6,9.6,9.6,9.6,9.6,9.6,9.6,9.6,9.6,9.6,9.6,9.6,9.6,9.6,9.6,9.6,9.6,9.6,9.6,9.6,9.6,9.6,9.6,9.6,9.6,9.6,9.6,9.6,9.6,9.6,9.6,9.6,9.6,9.6,9.6,9.6,9.6,9.6,9.6,9.8,9.8,9.8,9.8,9.8,9.8,9.8,9.8,9.8,9.8,9.8,9.8,9.8,9.8,9.8,9.8,9.8,9.8,9.8,9.8,9.8,9.8,9.8,9.8,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10.2,10.2,10.2,10.2,10.2,10.2,10.2,10.2,10.2,10.2,10.2,10.2,10.2,10.2,10.2,10.2,10.2,10.2,10.2,10.4,10.4,10.4,10.4,10.4,10.4,10.4,10.4,10.4,10.4,10.6,10.6,10.6,10.6,10.6,10.6,10.6,10.6,10.6,10.6,10.6,10.6,10.6,10.6,10.6,10.6,10.6,10.6,10.6,10.6,10.6,10.6,10.6,10.6,10.6,10.6,10.6,10.6,10.6,10.6,10.6,10.6,10.6,10.6,10.6,10.6,10.6,10.6,10.6,10.6,10.6,10.6,10.6,10.6,10.6,10.6,10.6,10.6,10.6,10.6,10.6,10.6,10.6,10.6,10.6,10.6,10.6,10.6,10.6,10.6,10.6,10.6,10.6,10.6,10.6,10.6,10.6,10.6,10.6,10.6,10.6,10.6,10.6,10.6,10.6,10.6,10.6,10.6,10.6,10.6,10.6,10.6,10.6,10.6,10.6,10.6,10.6,10.8,10.8,10.8,10.8,10.8,10.8,10.8,10.8,10.8,10.8,10.8,10.8,10.8,10.8,10.8,10.8,10.8,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11.2,11.2,11.2,11.2,11.2,11.2,11.2,11.2,11.2,11.2,11.2,11.2,11.2,11.2,11.2,11.2,11.2,11.2,11.2,11.2,11.2,11.2,11.2,11.4,11.4,11.4,11.4,11.4,11.4,11.4,11.4,11.4,11.4,11.4,11.6,11.6,11.6,11.6,11.6,11.6,11.6,11.6,11.6,11.6,11.6,11.6,11.6,11.6,11.6,11.6,11.6,11.6,11.6,11.6,11.6,11.6,11.6,11.6,11.6,11.6,11.6,11.6,11.6,11.6,11.6,11.6,11.6,11.6,11.6,11.6,11.6,11.6,11.6,11.6,11.6,11.6,11.6,11.6,11.6,11.6,11.6,11.6,11.6,11.6,11.6,11.6,11.6,11.6,11.6,11.6,11.6,11.6,11.6,11.6,11.6,11.6,11.6,11.6,11.6,11.6,11.6,11.6,11.6,11.6,11.6,11.6,11.6,11.6,11.6,11.6,11.6,11.6,11.6,11.6,11.6,11.6,11.6,11.6,11.6,11.6,11.6,11.6,11.6,11.6,11.6,11.6,11.6,11.6,11.8,11.8,11.8,11.8,11.8,11.8,11.8,11.8,11.8,11.8,11.8,11.8,11.8,11.8,11.8,11.8,11.8,11.8,11.8,11.8,11.8,11.8,11.8,11.8,11.8,11.8,11.8,11.8,11.8,11.8,11.8,11.8,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12.2,12.2,12.2,12.2,12.2,12.2,12.2,12.2,12.2,12.2,12.2,12.2,12.2,12.2,12.2,12.2,12.2,12.2,12.2,12.2,12.2,12.2,12.2,12.2,12.2,12.2,12.2,12.2,12.2,12.2,12.2,12.2,12.2,12.2,12.2,12.2,12.2,12.2,12.2,12.4,12.4,12.4,12.4,12.4,12.4,12.4,12.4,12.4,12.4,12.4,12.4,12.4,12.4,12.4,12.4,12.4,12.6,12.6,12.6,12.6,12.6,12.6,12.6,12.6,12.6,12.6,12.6,12.6,12.6,12.6,12.6,12.6,12.6,12.6,12.6,12.6,12.6,12.6,12.6,12.6,12.6,12.6,12.6,12.6,12.6,12.6,12.6,12.6,12.6,12.6,12.6,12.6,12.6,12.6,12.6,12.6,12.6,12.6,12.6,12.6,12.6,12.6,12.6,12.6,12.6,12.6,12.6,12.6,12.6,12.6,12.6,12.6,12.6,12.6,12.6,12.6,12.6,12.6,12.6,12.6,12.6,12.6,12.6,12.6,12.6,12.6,12.6,12.6,12.6,12.6,12.6,12.6,12.6,12.6,12.6,12.6,12.6,12.6,12.6,12.6,12.6,12.6,12.6,12.6,12.6,12.6,12.6,12.6,12.6,12.6,12.6,12.6,12.6,12.6,12.6,12.6,12.6,12.6,12.6,12.6,12.6,12.6,12.8,12.8,12.8,12.8,12.8,12.8,12.8,12.8,12.8,12.8,12.8,12.8,12.8,12.8,12.8,12.8,12.8,12.8,12.8,12.8,12.8,12.8,12.8,12.8,12.8,12.8,12.8,12.8,12.8,12.8,12.8,12.8,12.8,12.8,12.8,12.8,12.8,12.8,12.8,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13.2,13.2,13.2,13.2,13.2,13.2,13.2,13.2,13.2,13.2,13.2,13.2,13.2,13.2,13.2,13.2,13.2,13.2,13.2,13.2,13.2,13.2,13.2,13.2,13.2,13.2,13.2,13.2,13.2,13.2,13.2,13.2,13.2,13.2,13.2,13.2,13.4,13.4,13.4,13.4,13.4,13.4,13.4,13.4,13.4,13.4,13.4,13.4,13.4,13.4,13.6,13.6,13.6,13.6,13.6,13.6,13.6,13.6,13.6,13.6,13.6,13.6,13.6,13.6,13.6,13.6,13.6,13.6,13.6,13.6,13.6,13.6,13.6,13.6,13.6,13.6,13.6,13.6,13.6,13.6,13.6,13.6,13.6,13.6,13.6,13.6,13.6,13.6,13.6,13.6,13.6,13.6,13.6,13.6,13.6,13.6,13.6,13.6,13.6,13.6,13.6,13.6,13.6,13.6,13.6,13.6,13.6,13.6,13.6,13.6,13.6,13.6,13.6,13.6,13.6,13.6,13.6,13.6,13.6,13.6,13.6,13.6,13.6,13.6,13.6,13.6,13.6,13.6,13.6,13.6,13.6,13.6,13.6,13.6,13.6,13.6,13.6,13.6,13.6,13.6,13.6,13.6,13.6,13.6,13.6,13.6,13.8,13.8,13.8,13.8,13.8,13.8,13.8,13.8,13.8,13.8,13.8,13.8,13.8,13.8,13.8,13.8,13.8,13.8,13.8,13.8,13.8,13.8,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14.2,14.2,14.2,14.2,14.2,14.2,14.2,14.2,14.2,14.2,14.2,14.2,14.2,14.2,14.2,14.2,14.2,14.2,14.2,14.2,14.2,14.2,14.2,14.2,14.2,14.2,14.2,14.2,14.2,14.2,14.2,14.2,14.2,14.2,14.2,14.2,14.2,14.2,14.2,14.2,14.2,14.2,14.2,14.2,14.2,14.2,14.2,14.2,14.2,14.2,14.2,14.2,14.2,14.4,14.4,14.4,14.4,14.4,14.4,14.4,14.4,14.4,14.4,14.6,14.6,14.6,14.6,14.6,14.6,14.6,14.6,14.6,14.6,14.6,14.6,14.6,14.6,14.6,14.6,14.6,14.6,14.6,14.6,14.6,14.6,14.6,14.6,14.6,14.6,14.6,14.6,14.6,14.6,14.6,14.6,14.6,14.6,14.6,14.6,14.6,14.6,14.6,14.6,14.6,14.6,14.6,14.6,14.6,14.6,14.6,14.6,14.6,14.6,14.6,14.6,14.6,14.6,14.6,14.6,14.6,14.6,14.6,14.6,14.6,14.6,14.6,14.6,14.6,14.6,14.6,14.6,14.6,14.6,14.6,14.6,14.6,14.6,14.6,14.6,14.6,14.6,14.6,14.6,14.6,14.6,14.6,14.6,14.6,14.6,14.6,14.6,14.6,14.6,14.6,14.6,14.6,14.6,14.6,14.8,14.8,14.8,14.8,14.8,14.8,14.8,14.8,14.8,14.8,14.8,14.8,14.8,14.8,14.8,14.8,14.8,14.8,14.8,14.8,14.8,14.8,14.8,14.8,14.8,14.8,14.8,14.8,14.8,14.8,14.8,14.8,14.8,14.8,14.8,14.8,14.8,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15.2,15.2,15.2,15.2,15.2,15.2,15.2,15.2,15.2,15.2,15.2,15.2,15.2,15.2,15.2,15.2,15.2,15.2,15.2,15.2,15.2,15.2,15.2,15.2,15.2,15.2,15.2,15.2,15.2,15.2,15.2,15.2,15.2,15.2,15.2,15.2,15.2,15.2,15.2,15.2,15.2,15.2,15.2,15.2,15.2,15.2,15.2,15.4,15.4,15.4,15.4,15.4,15.4,15.4,15.4,15.4,15.4,15.4,15.4,15.4,15.4,15.4,15.6,15.6,15.6,15.6,15.6,15.6,15.6,15.6,15.6,15.6,15.6,15.6,15.6,15.6,15.6,15.6,15.6,15.6,15.6,15.6,15.6,15.6,15.6,15.6,15.6,15.6,15.6,15.6,15.6,15.6,15.6,15.6,15.6,15.6,15.6,15.6,15.6,15.6,15.6,15.6,15.6,15.6,15.6,15.6,15.6,15.6,15.6,15.6,15.6,15.6,15.6,15.6,15.6,15.6,15.6,15.6,15.6,15.6,15.6,15.6,15.6,15.6,15.6,15.6,15.6,15.6,15.6,15.6,15.6,15.6,15.6,15.6,15.6,15.6,15.6,15.6,15.6,15.6,15.6,15.6,15.6,15.6,15.6,15.6,15.6,15.6,15.6,15.6,15.6,15.6,15.6,15.6,15.6,15.6,15.6,15.6,15.6,15.6,15.6,15.6,15.6,15.6,15.6,15.6,15.6,15.6,15.6,15.6,15.6,15.6,15.6,15.6,15.6,15.6,15.6,15.6,15.6,15.6,15.6,15.6,15.6,15.6,15.6,15.6,15.6,15.6,15.6,15.6,15.6,15.6,15.6,15.6,15.6,15.6,15.6,15.6,15.6,15.6,15.6,15.6,15.6,15.6,15.6,15.6,15.6,15.6,15.6,15.6,15.6,15.8,15.8,15.8,15.8,15.8,15.8,15.8,15.8,15.8,15.8,15.8,15.8,15.8,15.8,15.8,15.8,15.8,15.8,15.8,15.8,15.8,15.8,15.8,15.8,15.8,15.8,15.8,15.8,15.8,15.8,15.8,15.8,15.8,15.8,15.8,15.8,15.8,15.8,15.8,15.8,15.8,15.8,15.8,15.8,15.8,15.8,15.8,15.8,15.8,15.8,15.8,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16.2,16.2,16.2,16.2,16.2,16.2,16.2,16.2,16.2,16.2,16.2,16.2,16.2,16.2,16.2,16.2,16.2,16.2,16.2,16.2,16.2,16.2,16.2,16.2,16.2,16.2,16.2,16.2,16.2,16.2,16.2,16.2,16.2,16.2,16.2,16.2,16.2,16.2,16.2,16.2,16.2,16.2,16.2,16.2,16.2,16.2,16.2,16.2,16.2,16.2,16.2,16.2,16.2,16.2,16.2,16.2,16.2,16.2,16.4,16.4,16.4,16.4,16.4,16.4,16.4,16.4,16.4,16.4,16.4,16.4,16.4,16.4,16.4,16.4,16.4,16.4,16.4,16.4,16.4,16.4,16.4,16.4,16.6,16.6,16.6,16.6,16.6,16.6,16.6,16.6,16.6,16.6,16.6,16.6,16.6,16.6,16.6,16.6,16.6,16.6,16.6,16.6,16.6,16.6,16.6,16.6,16.6,16.6,16.6,16.6,16.6,16.6,16.6,16.6,16.6,16.6,16.6,16.6,16.6,16.6,16.6,16.6,16.6,16.6,16.6,16.6,16.6,16.6,16.6,16.6,16.6,16.6,16.6,16.6,16.6,16.6,16.6,16.6,16.6,16.6,16.6,16.6,16.6,16.6,16.6,16.6,16.6,16.6,16.6,16.6,16.6,16.6,16.6,16.6,16.6,16.6,16.6,16.6,16.6,16.6,16.6,16.6,16.6,16.6,16.6,16.6,16.6,16.6,16.6,16.6,16.6,16.6,16.6,16.6,16.6,16.6,16.6,16.6,16.6,16.6,16.6,16.6,16.6,16.6,16.6,16.6,16.6,16.6,16.6,16.6,16.6,16.6,16.6,16.6,16.6,16.6,16.6,16.6,16.6,16.6,16.6,16.6,16.6,16.6,16.6,16.6,16.6,16.6,16.6,16.6,16.6,16.6,16.6,16.6,16.6,16.6,16.6,16.6,16.6,16.6,16.6,16.6,16.6,16.6,16.6,16.6,16.6,16.6,16.6,16.8,16.8,16.8,16.8,16.8,16.8,16.8,16.8,16.8,16.8,16.8,16.8,16.8,16.8,16.8,16.8,16.8,16.8,16.8,16.8,16.8,16.8,16.8,16.8,16.8,16.8,16.8,16.8,16.8,16.8,16.8,16.8,16.8,16.8,16.8,16.8,16.8,16.8,16.8,16.8,16.8,16.8,16.8,16.8,16.8,16.8,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17.2,17.2,17.2,17.2,17.2,17.2,17.2,17.2,17.2,17.2,17.2,17.2,17.2,17.2,17.2,17.2,17.2,17.2,17.2,17.2,17.2,17.2,17.2,17.2,17.2,17.2,17.2,17.2,17.2,17.2,17.2,17.2,17.2,17.2,17.2,17.2,17.2,17.2,17.2,17.2,17.2,17.2,17.2,17.2,17.4,17.4,17.4,17.4,17.4,17.4,17.4,17.4,17.4,17.4,17.4,17.4,17.4,17.4,17.4,17.4,17.6,17.6,17.6,17.6,17.6,17.6,17.6,17.6,17.6,17.6,17.6,17.6,17.6,17.6,17.6,17.6,17.6,17.6,17.6,17.6,17.6,17.6,17.6,17.6,17.6,17.6,17.6,17.6,17.6,17.6,17.6,17.6,17.6,17.6,17.6,17.6,17.6,17.6,17.6,17.6,17.6,17.6,17.6,17.6,17.6,17.6,17.6,17.6,17.6,17.6,17.6,17.6,17.6,17.6,17.6,17.6,17.6,17.6,17.6,17.6,17.6,17.6,17.6,17.6,17.6,17.6,17.6,17.6,17.6,17.6,17.6,17.6,17.6,17.6,17.6,17.6,17.6,17.6,17.6,17.6,17.6,17.6,17.6,17.6,17.6,17.6,17.6,17.6,17.6,17.6,17.6,17.6,17.6,17.6,17.6,17.6,17.6,17.6,17.6,17.6,17.6,17.6,17.6,17.6,17.6,17.6,17.6,17.6,17.6,17.6,17.6,17.6,17.6,17.6,17.6,17.6,17.6,17.6,17.6,17.6,17.6,17.6,17.6,17.6,17.6,17.6,17.6,17.8,17.8,17.8,17.8,17.8,17.8,17.8,17.8,17.8,17.8,17.8,17.8,17.8,17.8,17.8,17.8,17.8,17.8,17.8,17.8,17.8,17.8,17.8,17.8,17.8,17.8,17.8,17.8,17.8,17.8,17.8,17.8,17.8,17.8,17.8,17.8,17.8,17.8,17.8,17.8,17.8,17.8,17.8,17.8,17.8,17.8,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18.2,18.2,18.2,18.2,18.2,18.2,18.2,18.2,18.2,18.2,18.2,18.2,18.2,18.2,18.2,18.2,18.2,18.2,18.2,18.2,18.2,18.2,18.2,18.2,18.2,18.2,18.2,18.2,18.2,18.2,18.2,18.2,18.2,18.2,18.2,18.2,18.2,18.2,18.2,18.2,18.2,18.2,18.2,18.2,18.2,18.2,18.2,18.2,18.2,18.4,18.4,18.4,18.4,18.4,18.4,18.4,18.4,18.4,18.4,18.4,18.4,18.4,18.4,18.4,18.6,18.6,18.6,18.6,18.6,18.6,18.6,18.6,18.6,18.6,18.6,18.6,18.6,18.6,18.6,18.6,18.6,18.6,18.6,18.6,18.6,18.6,18.6,18.6,18.6,18.6,18.6,18.6,18.6,18.6,18.6,18.6,18.6,18.6,18.6,18.6,18.6,18.6,18.6,18.6,18.6,18.6,18.6,18.6,18.6,18.6,18.6,18.6,18.6,18.6,18.6,18.6,18.6,18.6,18.6,18.6,18.6,18.6,18.6,18.6,18.6,18.6,18.6,18.6,18.6,18.6,18.6,18.6,18.6,18.6,18.6,18.6,18.6,18.6,18.6,18.6,18.6,18.6,18.6,18.6,18.6,18.6,18.6,18.6,18.6,18.6,18.6,18.6,18.6,18.6,18.6,18.6,18.6,18.6,18.6,18.6,18.6,18.6,18.6,18.6,18.6,18.6,18.6,18.6,18.6,18.6,18.6,18.6,18.6,18.6,18.6,18.6,18.6,18.6,18.6,18.6,18.6,18.6,18.8,18.8,18.8,18.8,18.8,18.8,18.8,18.8,18.8,18.8,18.8,18.8,18.8,18.8,18.8,18.8,18.8,18.8,18.8,18.8,18.8,18.8,18.8,18.8,18.8,18.8,18.8,18.8,18.8,18.8,18.8,18.8,18.8,18.8,18.8,18.8,18.8,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19.2,19.2,19.2,19.2,19.2,19.2,19.2,19.2,19.2,19.2,19.2,19.2,19.2,19.2,19.2,19.2,19.2,19.2,19.2,19.2,19.2,19.2,19.2,19.2,19.2,19.2,19.2,19.2,19.2,19.2,19.2,19.2,19.2,19.2,19.2,19.2,19.2,19.4,19.4,19.4,19.4,19.4,19.4,19.4,19.4,19.4,19.4,19.4,19.4,19.4,19.4,19.4,19.4,19.4,19.4,19.4,19.6,19.6,19.6,19.6,19.6,19.6,19.6,19.6,19.6,19.6,19.6,19.6,19.6,19.6,19.6,19.6,19.6,19.6,19.6,19.6,19.6,19.6,19.6,19.6,19.6,19.6,19.6,19.6,19.6,19.6,19.6,19.6,19.6,19.6,19.6,19.6,19.6,19.6,19.6,19.6,19.6,19.6,19.6,19.6,19.6,19.6,19.6,19.6,19.6,19.6,19.6,19.6,19.6,19.6,19.6,19.6,19.6,19.6,19.6,19.6,19.6,19.6,19.6,19.6,19.6,19.6,19.6,19.6,19.6,19.6,19.6,19.6,19.6,19.6,19.6,19.6,19.6,19.6,19.6,19.6,19.6,19.6,19.6,19.6,19.6,19.6,19.6,19.6,19.6,19.6,19.6,19.6,19.6,19.6,19.6,19.6,19.6,19.6,19.6,19.8,19.8,19.8,19.8,19.8,19.8,19.8,19.8,19.8,19.8,19.8,19.8,19.8,19.8,19.8,19.8,19.8,19.8,19.8,19.8,19.8,19.8,19.8,19.8,19.8,19.8,19.8,19.8,19.8,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20.2,20.2,20.2,20.2,20.2,20.2,20.2,20.2,20.2,20.2,20.2,20.2,20.2,20.2,20.2,20.2,20.2,20.2,20.2,20.2,20.2,20.2,20.2,20.2,20.2,20.2,20.2,20.2,20.2,20.2,20.2,20.2,20.2,20.2,20.2,20.2,20.2,20.2,20.2,20.2,20.2,20.2,20.2,20.4,20.4,20.4,20.4,20.4,20.4,20.4,20.6,20.6,20.6,20.6,20.6,20.6,20.6,20.6,20.6,20.6,20.6,20.6,20.6,20.6,20.6,20.6,20.6,20.6,20.6,20.6,20.6,20.6,20.6,20.6,20.6,20.6,20.6,20.6,20.6,20.6,20.6,20.6,20.6,20.6,20.6,20.6,20.6,20.6,20.6,20.6,20.6,20.6,20.6,20.6,20.6,20.6,20.6,20.6,20.6,20.6,20.6,20.6,20.6,20.6,20.6,20.6,20.6,20.6,20.6,20.6,20.6,20.8,20.8,20.8,20.8,20.8,20.8,20.8,20.8,20.8,20.8,20.8,20.8,20.8,20.8,20.8,20.8,20.8,20.8,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21.2,21.2,21.2,21.2,21.2,21.2,21.2,21.2,21.2,21.2,21.2,21.2,21.2,21.2,21.2,21.2,21.2,21.4,21.4,21.4,21.4,21.4,21.4,21.4,21.4,21.4,21.6,21.6,21.6,21.6,21.6,21.6,21.6,21.6,21.6,21.6,21.6,21.6,21.6,21.6,21.6,21.6,21.6,21.6,21.6,21.6,21.6,21.6,21.6,21.6,21.6,21.6,21.6,21.6,21.6,21.6,21.6,21.6,21.6,21.8,21.8,21.8,21.8,21.8,21.8,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22.2,22.2,22.2,22.2,22.2,22.2,22.2,22.2,22.2,22.4,22.4,22.4,22.4,22.4,22.4,22.6,22.6,22.6,22.6,22.6,22.6,22.6,22.6,22.6,22.6,22.8,22.8,22.8,22.8,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23.2,23.2,23.2,23.4,23.4,23.6,23.6,23.6,23.6,23.6,23.6,23.6,23.6,23.6,23.6,23.6,23.6,23.6,23.6,23.6,23.6,23.6,23.8,23.8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
91,91,91,91,91,49,91,49,91,91,91,49,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,49,91,91,91,91,49,91,91,91,91,91,91,91,91,91,91,91,91,91,91,92,91,91,92,92,91,91,49,92,92,91,49,49,49,91,91,91,91,91,91,92,49,91,91,92,92,92,91,91,49,49,91,91,91,91,92,92,92,92,92,92,92,92,91,91,92,49,49,91,91,91,91,91,91,91,92,92,92,235,49,91,91,92,91,49,49,49,49,49,49,49,49,49,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,92,92,92,92,92,92,92,92,92,92,92,92,49,91,91,91,91,91,92,92,92,49,49,49,49,91,91,91,91,91,91,91,91,91,91,91,91,92,92,92,92,92,92,92,92,235,49,49,49,49,91,91,91,91,49,91,91,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,92,92,92,92,92,92,92,92,235,92,91,91,91,92,49,49,49,49,91,91,91,91,92,92,92,92,92,92,92,92,49,49,49,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,92,92,92,92,92,92,92,92,92,92,92,49,49,49,49,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,92,92,92,91,49,91,92,92,92,92,92,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,49,91,91,91,91,92,92,92,49,49,49,49,49,49,49,91,91,91,91,91,91,91,91,91,91,91,91,91,92,92,92,92,92,92,49,49,49,49,49,49,49,49,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,92,92,92,92,92,92,92,92,92,49,49,49,49,49,49,49,49,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,92,92,92,92,92,92,92,49,49,49,49,49,49,91,91,91,91,91,92,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,235,235,49,49,49,91,91,91,91,92,49,49,49,91,91,91,91,91,91,91,92,91,91,49,49,49,49,49,49,49,91,91,91,91,91,91,91,91,91,91,91,91,91,92,92,92,49,49,49,91,91,91,92,92,92,49,91,92,92,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,235,49,91,49,49,49,49,49,91,91,91,91,91,91,91,91,91,91,92,92,92,49,49,49,49,91,91,91,91,91,91,91,91,91,91,91,235,49,49,49,49,49,49,91,91,91,91,91,91,91,91,91,91,91,49,49,49,49,91,235,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,235,49,49,91,91,91,49,49,91,91,91,91,91,91,49,49,49,91,91,91,91,91,91,91,91,92,92,92,92,49,49,91,91,91,91,91,92,49,49,49,49,49,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,92,92,92,92,92,92,92,92,92,92,49,91,91,91,49,49,91,91,91,91,92,92,92,49,49,49,91,91,91,91,91,91,91,91,91,92,92,92,92,92,92,235,49,91,91,92,235,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,49,49,91,92,49,49,91,91,91,91,49,49,49,91,91,91,91,91,91,91,91,92,92,91,91,91,91,91,91,91,92,91,91,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,235,49,91,49,49,91,91,91,91,91,91,91,92,49,91,91,91,91,91,91,91,92,92,92,91,49,49,91,91,91,91,91,91,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,49,91,91,49,91,91,91,91,91,91,91,49,49,49,91,91,91,91,91,91,91,91,91,92,92,92,49,49,91,91,91,92,92,49,91,91,91,49,49,49,49,49,49,49,49,49,49,49,49,49,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,92,92,92,92,92,92,92,92,92,92,92,92,92,91,92,91,49,49,49,91,91,91,91,91,91,91,91,49,49,49,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,92,92,49,49,91,91,91,91,91,92,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,235,91,49,49,91,91,91,49,49,91,91,91,91,91,91,91,91,91,92,49,49,49,49,49,49,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,92,92,92,49,49,49,49,91,91,91,91,91,91,91,92,49,91,91,91,91,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,91,91,91,92,92,49,91,91,91,91,91,91,91,91,91,92,92,49,49,49,49,49,49,49,49,49,91,91,91,91,91,91,91,91,91,91,92,92,92,92,49,49,49,91,91,91,91,91,91,91,91,91,91,91,91,92,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,91,91,91,49,91,91,91,91,91,91,91,91,91,92,92,92,92,49,49,49,49,49,49,91,91,91,91,91,91,91,91,91,91,91,91,91,91,92,92,49,49,49,49,49,91,91,91,91,91,92,91,91,92,49,49,49,49,49,49,49,49,49,49,49,49,49,49,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,92,92,92,92,92,92,49,49,49,49,49,91,49,49,91,91,91,91,91,91,91,91,91,92,92,49,49,91,91,91,91,91,91,92,92,235,91,49,49,49,91,91,91,91,91,91,91,91,91,92,91,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,235,49,49,91,91,91,92,49,49,49,91,91,91,91,91,91,92,92,92,92,49,49,49,49,49,49,49,49,49,49,49,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,92,92,92,92,92,91,49,49,91,91,91,91,92,92,91,91,49,49,49,49,49,49,49,49,49,49,49,49,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,235,49,49,91,91,49,49,91,91,91,91,91,91,91,92,49,49,49,49,91,91,91,91,91,91,91,91,91,91,91,91,91,91,92,92,92,49,49,49,49,91,91,91,91,91,91,91,91,91,91,92,92,91,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,235,235,235,235,235,49,49,91,91,91,91,91,91,49,49,91,91,91,91,92,49,49,49,49,49,49,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,92,92,92,92,92,92,92,92,92,92,49,91,91,91,91,91,91,91,91,92,92,92,91,92,91,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,91,92,92,49,49,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,92,49,49,49,49,49,49,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,92,92,92,92,92,92,49,49,49,49,91,91,91,91,91,91,92,235,49,49,91,91,91,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,91,49,49,91,91,91,91,91,91,92,49,49,49,91,91,91,91,91,91,91,91,91,91,91,92,91,49,49,49,49,49,49,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,92,92,92,92,92,92,92,92,49,49,91,91,91,91,91,91,91,91,91,91,91,91,92,92,92,49,49,91,91,91,92,92,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,235,92,91,91,91,91,92,92,92,49,49,49,91,91,91,91,91,91,49,49,49,49,49,49,49,49,49,49,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,92,92,92,92,92,92,49,91,91,91,91,91,91,91,92,92,92,92,49,49,91,91,92,92,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,235,235,49,91,91,91,91,91,49,49,49,49,91,91,91,91,91,91,91,92,92,92,49,49,49,49,49,49,49,49,49,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,92,92,92,92,92,49,49,91,91,91,91,91,91,91,91,92,235,49,49,91,91,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,91,91,91,91,49,49,49,49,91,91,91,91,91,91,91,92,92,49,49,49,49,49,49,91,91,91,91,91,91,91,91,91,91,91,91,92,92,92,92,92,92,92,92,92,49,49,49,49,49,91,91,91,91,91,91,91,91,91,91,91,92,92,92,91,92,235,91,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,235,235,49,49,49,49,91,91,49,49,49,49,91,91,91,91,91,91,91,91,91,91,92,92,92,92,49,49,49,49,49,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,92,92,92,92,92,92,49,49,49,49,91,91,91,91,91,91,91,91,91,92,91,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,235,235,235,235,49,49,91,91,92,92,49,91,91,91,91,91,92,92,92,91,49,49,49,49,49,49,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,92,92,49,49,91,91,91,91,91,49,49,91,91,92,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,235,49,91,91,91,49,49,91,91,91,91,91,91,91,91,92,92,92,92,49,49,49,49,49,91,91,91,91,91,91,91,91,91,91,91,91,91,91,92,92,92,92,49,49,91,91,91,91,91,91,91,91,91,92,92,92,91,91,91,91,91,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,235,91,91,91,92,49,49,49,91,91,91,91,91,92,92,49,49,49,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,92,92,92,92,49,91,91,91,91,91,91,92,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,91,91,91,49,49,49,49,91,91,91,91,91,91,91,92,92,92,49,49,49,49,49,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,92,92,92,49,49,91,91,91,91,91,49,49,49,49,49,49,49,49,49,49,49,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,92,92,92,92,92,92,92,92,92,92,92,92,91,49,91,91,91,49,91,91,91,91,91,91,91,91,91,92,92,49,49,91,91,91,92,91,91,91,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,92,92,92,92,92,92,92,235,91,91,91,91,91,91,92,49,49,49,91,91,91,91,91,91,91,92,92,91,91,91,92,92,92,49,49,49,49,49,49,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,92,92,92,92,92,91,91,91,49,91,91,91,91,91,49,49,49,49,49,49,49,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,92,92,92,92,92,92,92,92,91,91,92,92,92,49,91,91,91,49,91,91,91,91,49,49,91,91,91,91,91,91,91,91,91,91,92,91,91,49,49,49,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,92,91,49,91,49,91,49,91,91,91,91,91,91,91,91,91,91,91,91,92,92,92,235,49,92,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,92,
91,91,91,49,91,49,91,49,91,91,91,49,91,91,91,91,91,91,91,49,91,91,91,91,92,91,91,91,91,91,91,49,92,92,91,91,49,49,91,91,91,91,91,49,92,91,91,91,91,91,91,92,91,91,92,91,92,92,91,92,91,91,91,49,91,91,92,91,91,91,91,92,91,91,91,91,91,91,91,92,91,91,91,91,92,91,91,91,49,92,91,91,92,92,91,91,49,91,91,91,91,91,91,92,49,91,91,49,92,91,49,91,92,49,91,49,49,49,91,91,91,91,49,49,91,91,91,91,91,91,92,91,91,91,91,91,91,91,91,91,91,91,49,92,49,91,91,91,49,92,92,92,92,91,92,92,92,92,92,91,91,92,91,91,91,91,92,92,91,49,49,49,91,91,91,91,91,91,91,91,49,91,91,91,91,92,92,92,92,91,92,92,91,49,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,49,49,49,91,49,92,92,91,91,49,49,91,91,91,91,91,49,91,92,92,91,91,91,91,91,91,91,91,91,91,49,91,91,92,91,91,91,91,91,91,91,92,49,91,91,91,91,92,92,49,92,91,91,91,92,49,91,91,91,91,91,91,91,91,49,91,91,235,92,92,92,49,49,235,91,91,91,91,49,91,91,91,91,91,91,91,91,49,91,91,92,92,92,92,91,91,91,92,91,92,92,92,91,91,49,91,91,91,91,91,91,92,91,91,91,91,91,91,91,91,91,91,91,92,91,91,91,91,91,92,92,92,92,91,91,49,91,92,91,49,91,91,91,49,49,49,91,91,91,91,91,92,91,91,49,49,91,49,49,92,49,49,49,49,49,49,91,91,91,91,91,92,49,91,91,91,91,91,91,91,49,91,49,91,91,91,91,91,92,49,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,92,49,91,91,91,91,91,49,91,92,92,92,92,92,92,92,91,92,92,92,92,92,92,92,92,49,91,91,91,91,91,92,92,91,49,49,49,49,49,49,91,91,91,49,91,49,91,91,91,92,49,91,91,49,91,92,92,92,92,49,49,49,49,92,235,49,91,91,91,91,91,91,91,91,92,91,91,91,91,91,91,91,91,91,91,92,92,91,91,91,92,92,92,92,91,49,49,91,49,49,49,49,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,92,92,92,92,92,92,49,49,49,92,91,91,91,91,49,91,91,92,49,49,49,49,92,91,91,91,49,49,49,49,91,49,49,49,91,91,49,49,49,91,91,49,49,49,49,91,49,49,49,49,49,49,49,49,49,91,91,91,91,91,91,91,91,91,49,91,91,91,49,91,91,49,91,91,91,91,91,91,91,91,91,91,91,91,91,92,91,91,91,91,91,91,49,91,91,91,91,91,92,91,91,91,91,91,91,49,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,92,91,91,91,49,49,92,92,92,92,91,91,91,91,92,92,92,92,92,92,92,92,92,92,92,92,92,91,49,91,49,91,91,91,91,91,92,91,91,49,91,49,92,92,91,91,91,91,49,91,49,49,91,91,49,91,49,91,92,91,91,91,91,91,91,91,49,91,91,91,91,49,92,91,49,49,91,91,91,92,91,91,91,91,91,91,49,49,91,49,49,49,91,49,49,92,92,49,49,49,49,49,49,49,49,49,49,91,92,91,91,91,91,91,49,91,91,91,91,91,92,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,92,92,91,91,92,92,92,92,91,92,92,92,92,92,235,49,91,49,91,49,91,49,91,91,91,92,91,91,91,91,91,91,92,92,92,49,92,49,49,91,91,91,49,91,91,91,92,91,91,91,235,49,49,49,49,49,49,91,91,91,92,91,91,91,91,91,91,91,49,49,91,49,91,235,49,49,49,49,49,49,91,91,91,49,91,235,49,49,49,91,49,49,49,49,49,91,49,91,91,91,91,91,91,91,91,91,91,92,92,92,92,91,91,91,92,91,91,91,91,91,91,91,91,49,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,92,92,91,91,91,92,92,92,91,91,92,92,92,92,92,92,92,92,92,92,49,49,49,91,91,91,91,49,91,91,91,91,91,91,49,49,49,91,92,91,91,91,91,91,91,49,92,92,92,49,49,91,91,91,91,91,92,91,91,92,49,49,91,91,92,91,91,91,91,91,91,91,49,91,91,91,91,91,91,91,91,92,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,49,49,91,92,92,92,92,92,92,92,91,91,91,91,49,49,91,91,91,91,92,92,92,49,49,91,91,92,91,91,91,91,91,91,91,92,92,91,92,92,92,235,49,91,91,92,49,49,49,49,49,49,49,49,49,49,91,92,92,91,49,49,49,49,49,49,49,49,49,49,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,49,91,91,49,91,91,92,92,92,92,49,91,91,91,91,91,91,91,49,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,92,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,92,92,91,91,92,92,92,92,92,92,92,92,92,49,92,92,92,92,92,91,92,92,92,92,92,92,92,92,92,92,49,49,91,92,49,49,91,91,91,91,49,49,91,91,91,91,91,91,91,91,91,92,92,91,91,49,91,91,91,91,92,91,91,49,49,91,49,49,49,91,91,49,49,49,49,49,49,49,91,91,91,49,91,91,49,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,92,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,92,92,91,91,91,92,92,92,92,92,92,92,92,49,49,91,49,49,91,91,92,91,91,91,91,92,49,91,91,91,91,91,91,91,92,92,92,91,91,49,91,91,91,91,91,91,49,49,92,49,49,49,49,49,49,91,49,49,92,49,91,49,49,91,49,49,49,49,49,49,49,91,91,91,92,91,91,91,91,91,91,91,91,91,91,91,91,91,49,92,91,91,91,91,91,91,91,91,91,91,91,91,91,49,91,92,91,91,91,91,49,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,92,92,92,92,91,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,49,91,91,49,91,91,91,91,91,91,91,49,91,49,91,91,91,91,91,91,91,91,91,91,92,92,49,49,91,91,91,92,92,91,91,91,91,49,49,49,49,49,91,91,49,49,49,49,49,49,91,91,91,91,91,91,91,91,91,49,91,91,91,91,92,92,91,91,91,91,91,91,49,91,91,91,49,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,49,91,91,92,92,92,92,92,49,92,92,91,91,91,49,91,49,49,91,91,91,91,91,91,91,91,49,49,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,49,92,49,49,91,92,91,91,91,92,49,49,49,49,49,49,49,49,91,49,49,49,91,49,91,91,49,235,92,91,91,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,91,91,92,92,91,91,91,91,91,49,91,91,91,91,49,91,91,91,91,92,92,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,49,91,91,49,91,91,91,92,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,49,92,92,92,92,92,92,92,92,92,92,91,91,91,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,91,92,49,49,91,91,91,49,49,91,91,91,91,91,91,91,91,91,91,49,49,49,49,49,49,91,91,91,91,92,91,91,91,91,91,91,91,91,91,91,91,91,91,92,92,92,91,49,91,49,91,91,91,91,91,91,91,92,49,91,91,91,91,49,49,49,49,49,49,91,49,49,49,49,91,49,49,49,49,49,49,91,91,91,91,91,91,91,91,91,91,91,91,91,91,49,92,92,91,91,91,91,91,92,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,91,91,91,91,92,92,49,91,49,91,91,91,91,91,91,91,92,92,49,49,91,92,49,49,49,49,49,91,91,91,91,91,91,91,91,91,91,92,92,92,92,49,49,49,91,91,91,91,91,91,91,91,91,91,91,91,92,49,49,49,49,49,49,49,49,49,49,49,49,49,235,92,92,91,49,91,49,49,49,49,49,49,49,49,49,49,49,91,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,91,91,91,91,91,91,91,91,91,91,91,91,91,91,49,91,91,91,91,91,91,91,49,49,92,91,91,91,91,49,91,91,92,91,91,91,91,91,49,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,92,92,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,92,92,92,92,91,91,91,91,49,92,92,92,92,92,92,92,92,92,92,91,92,92,92,92,92,92,92,91,91,91,49,91,91,91,91,91,91,91,91,91,92,92,92,49,49,49,91,49,91,49,92,91,91,91,91,91,91,91,91,91,91,91,91,91,92,92,49,91,49,49,49,91,91,91,91,91,49,91,91,92,49,49,92,49,49,49,49,92,49,49,49,49,49,49,91,91,91,49,91,91,91,91,91,49,91,91,91,91,91,49,91,91,91,92,92,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,49,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,92,92,92,92,92,92,49,49,49,49,49,91,49,49,91,91,91,91,92,91,91,91,91,91,92,49,49,91,91,91,91,91,91,92,92,49,91,49,49,49,49,91,91,91,91,91,91,91,91,92,91,49,91,49,92,49,49,49,49,49,91,49,49,49,92,92,91,91,49,91,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,91,91,91,91,91,91,91,91,49,92,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,235,92,91,91,91,91,91,91,91,91,91,91,91,91,49,92,235,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,49,91,91,91,91,92,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,49,49,92,92,92,92,91,91,91,92,92,92,92,92,92,92,92,92,91,92,91,92,92,92,92,92,92,92,92,92,92,92,92,92,92,91,92,91,91,92,92,92,92,92,92,92,92,92,92,92,92,235,49,49,91,91,91,92,235,49,49,91,91,91,91,91,91,92,92,92,92,49,49,49,49,91,91,49,49,49,49,49,91,91,91,91,49,91,91,92,91,91,91,92,91,91,91,91,91,91,91,91,91,91,91,91,91,92,92,92,91,49,49,91,91,91,235,92,92,91,91,91,49,49,91,49,49,49,91,49,49,49,49,91,91,91,91,91,92,49,49,91,91,91,91,91,91,91,92,92,92,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,92,91,91,91,91,91,91,91,91,91,91,91,91,91,92,92,92,91,92,91,92,92,92,92,92,92,92,92,92,91,49,49,92,91,49,49,92,91,92,91,91,91,91,92,49,49,49,49,91,91,91,91,91,91,91,91,91,91,91,91,91,91,92,92,92,49,49,49,49,91,91,91,91,91,91,91,91,91,91,92,91,91,49,49,49,91,49,91,91,49,91,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,91,91,91,91,91,92,92,91,91,91,91,91,91,49,91,91,91,49,91,91,91,91,91,91,49,91,91,91,91,92,92,92,92,235,92,49,91,91,91,91,91,91,91,91,91,91,91,91,92,92,91,91,91,91,91,91,91,91,91,91,91,49,91,91,91,91,91,91,91,91,91,91,49,91,91,91,91,92,92,91,91,91,91,91,91,91,91,91,91,92,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,49,92,92,91,91,91,49,91,92,92,92,92,92,92,92,92,92,92,92,92,91,91,91,92,49,91,91,92,92,92,92,92,92,92,92,92,92,92,91,92,92,92,92,92,92,92,92,92,92,92,92,91,49,235,49,49,49,91,91,91,92,91,91,49,92,91,91,91,91,92,92,91,91,49,49,49,91,91,49,91,91,91,92,92,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,92,92,92,49,92,92,92,92,92,92,91,92,49,91,91,91,91,91,91,92,92,91,92,91,49,49,49,49,92,235,92,92,49,49,49,49,49,91,235,49,49,49,91,49,91,91,91,49,49,91,91,91,91,91,91,91,49,91,91,91,49,91,91,91,91,91,49,91,91,235,92,91,91,91,91,91,91,91,91,91,49,91,92,91,91,91,91,91,91,91,91,91,49,91,91,91,49,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,92,92,91,91,91,91,91,91,92,92,92,92,92,92,92,92,91,91,91,92,92,92,92,92,92,92,92,92,92,91,92,92,49,49,49,91,91,49,91,91,91,49,91,91,91,91,91,91,49,92,91,91,91,92,49,49,49,49,49,49,91,91,91,49,91,91,49,92,91,91,91,92,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,92,92,92,92,92,92,49,49,92,91,91,91,91,91,91,91,92,49,49,49,92,91,91,49,49,49,49,49,91,49,49,49,49,91,49,49,49,91,49,49,91,49,49,49,49,91,49,49,49,49,49,49,49,92,92,92,235,92,92,92,91,91,49,49,49,91,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,91,91,49,91,91,92,91,91,49,91,91,91,91,49,91,49,91,91,49,91,91,91,91,91,91,91,91,49,91,49,91,91,91,49,91,49,91,92,92,92,92,92,91,91,91,91,91,91,92,91,49,91,91,91,91,91,91,91,49,91,91,91,91,91,91,91,91,91,49,91,91,49,91,91,91,91,92,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,49,92,92,92,92,92,92,92,91,91,49,49,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,91,91,91,92,92,92,92,91,92,92,92,92,92,92,92,92,92,91,92,92,92,92,92,92,92,92,92,92,92,49,91,49,91,49,91,91,91,91,92,49,49,49,91,91,91,91,92,92,91,91,91,91,91,92,91,49,49,49,91,91,49,49,91,91,91,92,92,91,91,91,91,91,91,91,91,91,91,91,91,91,92,91,91,91,91,91,91,91,91,49,92,91,92,92,92,92,92,91,49,91,92,91,92,91,91,91,91,91,91,91,91,91,92,92,49,49,91,91,91,92,92,49,49,49,49,49,49,49,91,91,49,49,49,49,49,91,49,49,91,49,49,49,91,91,49,49,49,49,91,91,49,91,91,91,49,91,91,91,49,91,49,91,91,49,91,91,91,49,49,91,91,91,91,49,91,91,91,92,92,92,91,91,91,91,91,91,91,91,91,91,91,91,49,91,91,91,91,91,91,91,49,49,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,92,49,92,92,92,92,92,92,92,92,92,92,92,92,92,235,92,49,91,91,91,92,92,92,49,49,49,91,91,49,91,91,91,91,49,49,49,49,49,49,49,49,49,91,91,91,91,92,92,91,91,49,91,91,91,91,91,91,91,91,91,91,49,92,92,92,92,49,91,91,91,91,91,49,91,92,92,92,92,49,91,92,91,92,49,49,49,49,49,49,91,49,49,49,91,91,49,49,49,91,49,49,49,91,49,49,49,92,91,91,49,91,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,91,91,91,91,91,91,49,91,92,91,49,91,49,91,91,91,91,91,49,91,91,91,49,91,91,91,91,91,91,91,49,49,91,91,49,49,91,91,91,91,92,92,91,91,91,91,91,91,91,91,91,91,91,91,91,92,91,91,91,49,91,91,91,91,91,91,91,49,91,91,91,91,92,91,49,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,92,92,92,92,92,92,92,92,91,91,49,91,91,49,92,92,92,92,92,92,92,92,92,91,91,91,91,91,92,91,91,92,91,92,92,92,92,92,92,92,92,92,92,92,49,49,49,91,91,91,92,91,49,49,49,49,91,49,91,91,91,91,91,91,92,92,49,49,49,49,91,49,91,49,49,91,91,91,91,92,91,91,49,91,91,91,91,49,91,91,91,91,49,92,92,91,49,49,91,91,91,91,91,92,91,91,91,235,49,91,92,91,91,49,49,49,49,49,49,49,49,49,91,91,49,49,49,49,92,235,91,49,91,49,91,49,49,49,49,91,91,91,49,91,91,91,91,91,92,235,91,91,91,91,91,91,91,91,49,91,92,92,91,92,91,91,91,92,91,91,91,49,91,91,91,91,91,91,49,49,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,91,92,91,91,49,91,49,49,91,91,91,91,91,91,91,92,92,49,49,49,49,235,49,91,91,91,92,91,91,91,91,91,91,91,91,91,49,91,92,91,92,92,92,92,49,49,49,91,49,91,92,91,91,91,49,92,91,91,91,91,91,92,92,91,92,49,91,49,49,91,91,49,49,91,49,49,49,49,49,49,49,49,49,49,49,49,91,49,91,91,49,49,49,49,49,49,49,49,49,49,49,49,91,91,91,49,91,91,91,91,91,91,92,92,91,91,91,91,91,91,91,91,49,91,91,91,49,91,91,91,91,49,91,91,91,91,91,91,91,92,91,91,91,91,91,91,91,91,91,91,49,91,91,91,91,91,91,49,91,91,91,91,91,91,91,91,49,92,91,91,91,91,91,92,91,91,92,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,92,92,92,92,91,91,91,91,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,49,235,49,49,49,91,91,91,49,91,91,49,91,91,91,91,91,91,92,91,91,91,92,92,92,92,49,49,49,92,49,91,49,91,91,235,91,91,91,91,91,91,92,92,91,91,91,91,91,91,92,92,92,92,92,92,49,49,49,49,49,91,92,92,91,91,91,91,91,91,91,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,91,91,91,49,91,91,91,91,91,91,49,91,91,91,49,91,91,91,91,92,91,91,91,91,92,49,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,92,92,92,92,92,91,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,49,235,235,235,49,91,91,91,91,92,49,91,91,91,91,91,92,91,92,91,49,49,49,91,49,49,91,91,91,91,91,91,49,92,92,91,91,91,91,91,91,91,91,91,91,91,91,91,91,49,49,91,91,91,91,91,49,49,91,91,92,49,49,49,91,235,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,91,91,91,91,91,91,91,91,91,91,91,92,49,91,49,91,91,91,91,91,91,91,91,91,49,91,91,91,49,91,91,91,91,91,91,91,91,91,91,91,92,92,91,91,91,91,91,91,91,91,92,49,92,91,91,91,91,49,91,91,91,49,49,91,49,49,91,91,91,91,91,92,91,91,92,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,92,92,91,49,49,49,91,91,92,92,92,92,92,92,92,92,92,91,92,92,92,92,92,92,49,235,91,92,91,49,49,91,91,91,92,91,91,91,91,92,92,92,92,49,49,91,91,49,49,91,91,91,91,91,91,91,91,91,91,91,91,91,49,92,91,92,49,49,91,91,91,91,91,91,91,91,91,92,92,92,91,91,92,91,91,49,49,91,49,49,49,49,49,92,49,49,49,49,49,91,49,49,49,235,49,49,49,49,49,49,91,49,91,91,91,91,91,91,91,91,49,91,91,91,91,91,91,92,92,91,91,91,91,91,91,91,91,92,91,91,91,91,91,91,91,91,91,91,91,91,92,92,92,92,92,91,91,92,92,92,92,92,92,91,92,92,92,92,92,91,91,91,91,92,49,49,49,49,91,91,91,91,92,92,49,49,49,49,91,91,91,91,91,92,92,91,91,91,91,91,91,91,91,92,92,92,91,49,91,91,91,91,91,91,92,49,49,91,49,49,91,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,91,91,91,91,91,91,91,91,92,91,91,91,91,91,91,91,91,49,91,91,91,91,92,92,91,91,91,91,92,91,91,91,91,91,91,91,91,91,91,91,92,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,92,92,92,92,91,91,92,92,92,91,91,92,92,92,92,91,92,92,92,92,92,92,92,92,92,91,91,91,91,49,49,49,91,91,91,49,91,91,91,91,92,92,49,49,49,49,49,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,49,92,91,49,91,91,91,91,91,49,49,49,49,49,49,49,49,235,49,49,91,91,91,91,49,91,92,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,92,92,91,91,91,92,92,92,92,92,92,91,49,91,91,91,49,91,49,91,91,91,91,91,91,91,92,92,49,49,91,49,91,92,49,91,91,91,49,91,49,49,49,91,92,49,49,49,49,49,49,49,49,49,91,91,91,49,91,91,91,91,91,92,92,91,91,91,91,91,91,91,91,91,91,49,49,91,92,92,92,91,91,92,91,91,91,91,91,91,49,91,91,91,91,91,91,91,91,92,91,49,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,92,49,92,92,92,92,92,235,91,91,91,91,49,91,92,49,49,49,91,92,91,91,91,91,91,92,92,91,91,91,92,92,92,49,49,92,49,91,49,91,91,91,91,91,91,49,91,91,49,92,91,91,91,91,91,91,91,91,91,91,91,92,91,91,92,92,91,91,91,91,91,91,92,91,91,91,49,91,91,49,49,49,91,49,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,92,91,92,91,91,91,91,92,92,92,92,92,92,92,92,91,91,92,92,49,91,49,91,49,91,91,91,92,92,91,91,91,91,91,91,91,91,91,91,92,92,91,91,49,49,49,91,49,91,92,49,49,91,91,91,91,91,92,91,91,91,91,91,92,91,49,49,91,49,49,91,91,91,91,49,91,91,91,91,91,91,91,92,92,92,91,49,92,91,91,91,91,91,91,91,91,91,91,92,92,91,91,91,92,
'henkiloauto','Muu','henkiloauto','Joukkoliikenne','Muu','Muu','Muu','Muu','Joukkoliikenne','Muu','Muu','Muu','henkiloauto','henkiloauto','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Muu','Joukkoliikenne','Joukkoliikenne','henkiloauto','Muu','Joukkoliikenne','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','henkiloauto','henkiloauto','Joukkoliikenne','Joukkoliikenne','Muu','Muu','henkiloauto','Joukkoliikenne','Muu','Muu','Muu','Muu','henkiloauto','Muu','Muu','Muu','Muu','henkiloauto','Joukkoliikenne','Muu','henkiloauto','Joukkoliikenne','henkiloauto','henkiloauto','Joukkoliikenne','henkiloauto','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','henkiloauto','Joukkoliikenne','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','Muu','Muu','henkiloauto','henkiloauto','Muu','henkiloauto','Muu','henkiloauto','henkiloauto','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','henkiloauto','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Muu','Muu','henkiloauto','henkiloauto','Joukkoliikenne','Muu','Muu','Muu','Muu','Muu','henkiloauto','Joukkoliikenne','henkiloauto','henkiloauto','Joukkoliikenne','henkiloauto','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Muu','Muu','henkiloauto','henkiloauto','henkiloauto','henkiloauto','Joukkoliikenne','Joukkoliikenne','Muu','henkiloauto','Joukkoliikenne','henkiloauto','henkiloauto','henkiloauto','henkiloauto','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Muu','Muu','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Muu','Muu','Muu','Muu','Muu','Muu','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','Joukkoliikenne','Muu','Muu','Muu','Muu','henkiloauto','Joukkoliikenne','henkiloauto','henkiloauto','Joukkoliikenne','Joukkoliikenne','Muu','henkiloauto','henkiloauto','Muu','henkiloauto','Muu','Muu','Muu','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','Joukkoliikenne','Joukkoliikenne','Muu','Muu','Muu','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','Joukkoliikenne','Muu','Muu','Joukkoliikenne','henkiloauto','henkiloauto','Joukkoliikenne','Joukkoliikenne','henkiloauto','henkiloauto','henkiloauto','Joukkoliikenne','henkiloauto','Joukkoliikenne','Joukkoliikenne','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Muu','Muu','Muu','Muu','Muu','Muu','Muu','henkiloauto','henkiloauto','henkiloauto','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Muu','henkiloauto','Joukkoliikenne','Joukkoliikenne','Muu','Muu','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Muu','Joukkoliikenne','Joukkoliikenne','Muu','Muu','henkiloauto','henkiloauto','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Muu','Muu','henkiloauto','henkiloauto','Joukkoliikenne','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Muu','Muu','Muu','henkiloauto','henkiloauto','henkiloauto','henkiloauto','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Muu','Muu','Muu','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','henkiloauto','henkiloauto','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Muu','henkiloauto','henkiloauto','Joukkoliikenne','henkiloauto','Joukkoliikenne','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Muu','Muu','Muu','Muu','Muu','Muu','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Muu','Muu','Muu','Muu','Muu','Muu','henkiloauto','henkiloauto','Joukkoliikenne','Muu','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','Joukkoliikenne','Muu','Muu','Muu','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Muu','Muu','Muu','Muu','henkiloauto','henkiloauto','henkiloauto','Muu','Muu','Muu','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','Joukkoliikenne','Muu','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','Joukkoliikenne','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','Joukkoliikenne','Muu','Muu','henkiloauto','henkiloauto','henkiloauto','henkiloauto','Joukkoliikenne','Muu','Muu','Muu','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','Joukkoliikenne','Joukkoliikenne','Muu','Muu','Muu','Muu','Muu','Muu','Muu','henkiloauto','henkiloauto','Joukkoliikenne','Muu','Muu','Muu','Muu','henkiloauto','henkiloauto','henkiloauto','henkiloauto','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Muu','Muu','Muu','Muu','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','henkiloauto','henkiloauto','henkiloauto','henkiloauto','Joukkoliikenne','henkiloauto','henkiloauto','Muu','Muu','Muu','henkiloauto','Joukkoliikenne','Muu','henkiloauto','henkiloauto','henkiloauto','Joukkoliikenne','Joukkoliikenne','Muu','Muu','Joukkoliikenne','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','Joukkoliikenne','Muu','Muu','Muu','henkiloauto','henkiloauto','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Muu','Muu','Muu','henkiloauto','henkiloauto','Muu','Joukkoliikenne','Muu','Muu','Joukkoliikenne','Joukkoliikenne','Muu','henkiloauto','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','henkiloauto','Joukkoliikenne','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','Joukkoliikenne','Joukkoliikenne','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','henkiloauto','henkiloauto','henkiloauto','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','henkiloauto','henkiloauto','henkiloauto','Muu','Muu','henkiloauto','henkiloauto','henkiloauto','henkiloauto','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Muu','Muu','Muu','Muu','Muu','henkiloauto','henkiloauto','Muu','Muu','henkiloauto','henkiloauto','henkiloauto','henkiloauto','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Muu','Muu','Muu','Muu','henkiloauto','henkiloauto','henkiloauto','henkiloauto','Muu','Muu','Muu','henkiloauto','henkiloauto','henkiloauto','henkiloauto','Joukkoliikenne','Joukkoliikenne','Muu','Muu','Muu','Muu','Muu','henkiloauto','henkiloauto','henkiloauto','Muu','Joukkoliikenne','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Muu','Muu','Muu','Muu','Muu','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','Joukkoliikenne','Joukkoliikenne','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Joukkoliikenne','henkiloauto','Muu','Joukkoliikenne','Muu','Joukkoliikenne','Joukkoliikenne','Muu','Joukkoliikenne','Joukkoliikenne','Muu','Muu','Muu','Muu','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','Joukkoliikenne','Joukkoliikenne','Muu','Muu','Muu','Muu','henkiloauto','henkiloauto','Muu','Muu','Muu','Muu','Joukkoliikenne','Joukkoliikenne','Muu','Joukkoliikenne','Muu','Muu','henkiloauto','henkiloauto','henkiloauto','Muu','Muu','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','Muu','Muu','Muu','Muu','henkiloauto','henkiloauto','Muu','Muu','henkiloauto','Muu','henkiloauto','Muu','Muu','Muu','henkiloauto','henkiloauto','Muu','henkiloauto','Muu','Muu','henkiloauto','henkiloauto','Joukkoliikenne','Joukkoliikenne','Muu','Muu','Muu','Muu','Muu','Joukkoliikenne','Muu','Muu','Muu','Muu','Muu','Muu','henkiloauto','Joukkoliikenne','Muu','henkiloauto','henkiloauto','Muu','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','Joukkoliikenne','Joukkoliikenne','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','henkiloauto','Muu','Muu','Muu','henkiloauto','henkiloauto','Joukkoliikenne','Muu','Muu','Muu','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Muu','Muu','Muu','Muu','henkiloauto','henkiloauto','henkiloauto','henkiloauto','Muu','Muu','Muu','Muu','henkiloauto','Muu','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','Joukkoliikenne','Joukkoliikenne','Muu','Muu','Muu','Muu','Muu','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','Muu','Muu','Muu','Muu','henkiloauto','Muu','Joukkoliikenne','Muu','henkiloauto','henkiloauto','Joukkoliikenne','Muu','Muu','Muu','Muu','Muu','Muu','henkiloauto','henkiloauto','henkiloauto','henkiloauto','Muu','Muu','Muu','Muu','henkiloauto','Muu','Muu','Joukkoliikenne','henkiloauto','Muu','Joukkoliikenne','Muu','Muu','henkiloauto','Joukkoliikenne','Muu','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','Joukkoliikenne','Joukkoliikenne','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','Joukkoliikenne','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','henkiloauto','Joukkoliikenne','Muu','Muu','henkiloauto','Joukkoliikenne','Joukkoliikenne','Muu','Muu','Muu','Muu','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','Joukkoliikenne','Joukkoliikenne','Muu','Muu','Muu','Muu','henkiloauto','henkiloauto','Muu','Muu','henkiloauto','Joukkoliikenne','Muu','Muu','henkiloauto','Joukkoliikenne','henkiloauto','henkiloauto','Muu','Muu','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','Muu','Muu','Muu','Muu','Muu','Muu','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','henkiloauto','henkiloauto','henkiloauto','henkiloauto','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','henkiloauto','henkiloauto','Joukkoliikenne','Muu','Muu','Muu','henkiloauto','henkiloauto','Joukkoliikenne','Joukkoliikenne','Muu','Muu','Muu','Muu','henkiloauto','henkiloauto','Muu','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','Joukkoliikenne','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','henkiloauto','henkiloauto','henkiloauto','Muu','henkiloauto','henkiloauto','Muu','Muu','Muu','Muu','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','henkiloauto','Muu','henkiloauto','Muu','Joukkoliikenne','Muu','Muu','Muu','Muu','henkiloauto','henkiloauto','henkiloauto','Joukkoliikenne','Muu','Muu','Muu','Muu','Muu','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','Muu','henkiloauto','henkiloauto','henkiloauto','henkiloauto','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Joukkoliikenne','Muu','Muu','Joukkoliikenne','henkiloauto','Joukkoliikenne','Muu','henkiloauto','Joukkoliikenne','Joukkoliikenne','Muu','Muu','Muu','Muu','Joukkoliikenne','henkiloauto','henkiloauto','Muu','Muu','Muu','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','Joukkoliikenne','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','henkiloauto','henkiloauto','Muu','Muu','henkiloauto','Muu','Muu','henkiloauto','henkiloauto','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Muu','Muu','henkiloauto','Muu','henkiloauto','henkiloauto','henkiloauto','henkiloauto','Muu','Muu','Muu','Muu','Muu','henkiloauto','henkiloauto','Joukkoliikenne','Muu','Muu','Muu','Muu','Muu','Muu','Muu','henkiloauto','henkiloauto','henkiloauto','Muu','henkiloauto','Muu','Muu','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Muu','Muu','Muu','Muu','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','Joukkoliikenne','Joukkoliikenne','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','henkiloauto','Muu','Muu','henkiloauto','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Muu','Muu','Muu','Muu','Muu','Muu','henkiloauto','Joukkoliikenne','Muu','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','Joukkoliikenne','henkiloauto','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Joukkoliikenne','Muu','henkiloauto','henkiloauto','Muu','Muu','Muu','henkiloauto','henkiloauto','Joukkoliikenne','Muu','Muu','henkiloauto','henkiloauto','Muu','Muu','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','Muu','Muu','Muu','Muu','Muu','Muu','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','henkiloauto','henkiloauto','Muu','Muu','Muu','Muu','henkiloauto','henkiloauto','henkiloauto','henkiloauto','Muu','Joukkoliikenne','henkiloauto','Muu','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','henkiloauto','Muu','henkiloauto','henkiloauto','henkiloauto','Joukkoliikenne','Joukkoliikenne','Muu','Muu','Muu','Muu','Muu','henkiloauto','henkiloauto','henkiloauto','Muu','Muu','henkiloauto','henkiloauto','Joukkoliikenne','Muu','Muu','Muu','Muu','henkiloauto','henkiloauto','Muu','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','henkiloauto','henkiloauto','henkiloauto','Joukkoliikenne','Muu','henkiloauto','henkiloauto','Muu','Muu','henkiloauto','henkiloauto','Joukkoliikenne','Joukkoliikenne','Muu','Muu','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Muu','Muu','Muu','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','henkiloauto','henkiloauto','Muu','Muu','Muu','henkiloauto','henkiloauto','Joukkoliikenne','henkiloauto','henkiloauto','Joukkoliikenne','Joukkoliikenne','henkiloauto','Muu','henkiloauto','Muu','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','Joukkoliikenne','Joukkoliikenne','Muu','Muu','Muu','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','Joukkoliikenne','Joukkoliikenne','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','henkiloauto','Joukkoliikenne','Muu','henkiloauto','Joukkoliikenne','henkiloauto','Muu','henkiloauto','henkiloauto','henkiloauto','Joukkoliikenne','Muu','Muu','Muu','henkiloauto','henkiloauto','henkiloauto','Joukkoliikenne','Muu','henkiloauto','henkiloauto','henkiloauto','henkiloauto','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Joukkoliikenne','Muu','Muu','henkiloauto','henkiloauto','henkiloauto','Muu','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','Joukkoliikenne','Muu','Muu','Muu','henkiloauto','Joukkoliikenne','Muu','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','henkiloauto','henkiloauto','henkiloauto','henkiloauto','Joukkoliikenne','henkiloauto','Muu','henkiloauto','henkiloauto','Joukkoliikenne','Muu','Muu','Muu','henkiloauto','henkiloauto','Joukkoliikenne','Muu','Muu','Muu','Joukkoliikenne','henkiloauto','henkiloauto','Muu','Muu','Muu','Muu','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Muu','Muu','Muu','Muu','Muu','Muu','Muu','henkiloauto','henkiloauto','henkiloauto','henkiloauto','Joukkoliikenne','Joukkoliikenne','Muu','Muu','Muu','Muu','henkiloauto','henkiloauto','henkiloauto','Joukkoliikenne','Joukkoliikenne','Muu','Muu','Muu','Muu','henkiloauto','Muu','Muu','Muu','henkiloauto','Joukkoliikenne','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','Joukkoliikenne','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','henkiloauto','Muu','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Muu','Muu','Muu','Muu','henkiloauto','Joukkoliikenne','Joukkoliikenne','Muu','Muu','Muu','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','henkiloauto','henkiloauto','Muu','Muu','Muu','Muu','henkiloauto','henkiloauto','henkiloauto','Joukkoliikenne','henkiloauto','henkiloauto','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Muu','Joukkoliikenne','Muu','henkiloauto','Muu','henkiloauto','Joukkoliikenne','Joukkoliikenne','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Joukkoliikenne','henkiloauto','Muu','henkiloauto','henkiloauto','Joukkoliikenne','Muu','Muu','Muu','Joukkoliikenne','henkiloauto','henkiloauto','Joukkoliikenne','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','Joukkoliikenne','Muu','Muu','Muu','Muu','henkiloauto','Muu','henkiloauto','henkiloauto','henkiloauto','Joukkoliikenne','Muu','Muu','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Muu','Muu','Muu','Muu','Muu','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','Joukkoliikenne','Muu','Muu','henkiloauto','Joukkoliikenne','henkiloauto','henkiloauto','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Muu','Muu','Muu','Muu','Muu','Muu','Muu','henkiloauto','Muu','Muu','henkiloauto','Muu','henkiloauto','Muu','Muu','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','Joukkoliikenne','Joukkoliikenne','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','Joukkoliikenne','Muu','Muu','Muu','Muu','Muu','Muu','Muu','henkiloauto','henkiloauto','henkiloauto','Muu','Muu','henkiloauto','Joukkoliikenne','Muu','henkiloauto','henkiloauto','henkiloauto','henkiloauto','Joukkoliikenne','Joukkoliikenne','Muu','Muu','Muu','henkiloauto','henkiloauto','henkiloauto','Muu','Muu','Muu','Muu','Muu','Muu','Muu','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','Joukkoliikenne','Joukkoliikenne','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','henkiloauto','henkiloauto','henkiloauto','Muu','Muu','Muu','henkiloauto','henkiloauto','henkiloauto','henkiloauto','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Muu','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','Joukkoliikenne','henkiloauto','Joukkoliikenne','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','henkiloauto','Joukkoliikenne','Muu','henkiloauto','henkiloauto','henkiloauto','henkiloauto','Muu','henkiloauto','henkiloauto','Muu','Muu','henkiloauto','henkiloauto','henkiloauto','henkiloauto','Muu','Muu','Muu','henkiloauto','henkiloauto','Joukkoliikenne','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','Muu','Muu','Muu','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Muu','Muu','Muu','henkiloauto','henkiloauto','henkiloauto','henkiloauto','Muu','henkiloauto','Muu','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','Muu','Muu','henkiloauto','henkiloauto','henkiloauto','Joukkoliikenne','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Muu','Muu','Muu','Muu','Muu','Muu','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','Joukkoliikenne','Muu','Muu','Muu','Muu','Muu','henkiloauto','henkiloauto','Joukkoliikenne','Muu','henkiloauto','henkiloauto','Muu','Muu','henkiloauto','henkiloauto','Joukkoliikenne','Joukkoliikenne','Muu','Muu','Muu','Muu','Muu','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','Muu','henkiloauto','henkiloauto','henkiloauto','henkiloauto','Joukkoliikenne','Muu','Muu','Muu','Muu','Muu','Muu','Muu','henkiloauto','henkiloauto','henkiloauto','henkiloauto','Joukkoliikenne','Muu','Muu','Muu','Muu','henkiloauto','henkiloauto','henkiloauto','henkiloauto','Muu','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','Joukkoliikenne','Muu','Muu','Muu','Joukkoliikenne','Muu','Muu','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','henkiloauto','Muu','henkiloauto','henkiloauto','henkiloauto','henkiloauto','Muu','Muu','henkiloauto','henkiloauto','henkiloauto','Muu','henkiloauto','henkiloauto','henkiloauto','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Muu','Muu','Muu','henkiloauto','henkiloauto','henkiloauto','Muu','henkiloauto','henkiloauto','henkiloauto','henkiloauto','Muu','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Muu','Muu','Muu','Muu','Muu','Muu','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','Muu','henkiloauto','henkiloauto','henkiloauto','Muu','henkiloauto','henkiloauto','henkiloauto','Joukkoliikenne','Muu','Muu','Muu','Muu','Muu','henkiloauto','Muu','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Muu','Muu','Muu','Muu','Muu','Muu','Muu','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','Joukkoliikenne','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','henkiloauto','henkiloauto','Muu','Muu','henkiloauto','Joukkoliikenne','henkiloauto','Joukkoliikenne','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','Joukkoliikenne','Muu','henkiloauto','henkiloauto','Muu','Joukkoliikenne','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','Muu','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','henkiloauto','henkiloauto','henkiloauto','Muu','henkiloauto','henkiloauto','Muu','Muu','Muu','henkiloauto','Muu','henkiloauto','Muu','Joukkoliikenne','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','Joukkoliikenne','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','Joukkoliikenne','Joukkoliikenne','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','henkiloauto','henkiloauto','Joukkoliikenne','Joukkoliikenne','Muu','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','Joukkoliikenne','Muu','Muu','Muu','henkiloauto','Muu','Muu','Muu','henkiloauto','henkiloauto','henkiloauto','Joukkoliikenne','Muu','henkiloauto','henkiloauto','henkiloauto','henkiloauto','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Muu','Muu','Muu','Muu','Muu','henkiloauto','henkiloauto','Joukkoliikenne','Muu','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','Joukkoliikenne','Muu','Muu','Muu','Muu','henkiloauto','henkiloauto','Muu','henkiloauto','henkiloauto','henkiloauto','Muu','Muu','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','Muu','Muu','Muu','Muu','Muu','Muu','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','Joukkoliikenne','Muu','Muu','Muu','Muu','Muu','Muu','henkiloauto','Joukkoliikenne','Muu','Muu','Joukkoliikenne','henkiloauto','henkiloauto','Muu','henkiloauto','henkiloauto','henkiloauto','Muu','Muu','henkiloauto','Muu','henkiloauto','henkiloauto','Muu','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Muu','Muu','Muu','Muu','Muu','Muu','Muu','henkiloauto','henkiloauto','henkiloauto','Muu','henkiloauto','henkiloauto','Joukkoliikenne','Muu','Muu','Muu','Joukkoliikenne','Muu','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Muu','Muu','Muu','Muu','Muu','Muu','Muu','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','henkiloauto','Muu','Muu','henkiloauto','Muu','Muu','Muu','henkiloauto','henkiloauto','henkiloauto','henkiloauto','Muu','Muu','Muu','henkiloauto','Muu','Muu','henkiloauto','henkiloauto','henkiloauto','Muu','Muu','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','henkiloauto','henkiloauto','Muu','henkiloauto','Muu','henkiloauto','Joukkoliikenne','Muu','Muu','Muu','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','Joukkoliikenne','Muu','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','Muu','Muu','Muu','Muu','Muu','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','Joukkoliikenne','Muu','Muu','Muu','Muu','Muu','Muu','henkiloauto','henkiloauto','henkiloauto','Muu','henkiloauto','henkiloauto','Muu','Muu','Joukkoliikenne','Muu','Muu','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','Joukkoliikenne','Joukkoliikenne','Muu','Muu','Muu','Muu','Muu','Muu','Muu','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','henkiloauto','henkiloauto','henkiloauto','Muu','Muu','Muu','Muu','Muu','henkiloauto','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Muu','henkiloauto','henkiloauto','henkiloauto','Muu','henkiloauto','henkiloauto','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Muu','Muu','Muu','Muu','henkiloauto','henkiloauto','Joukkoliikenne','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Muu','Muu','Muu','Muu','henkiloauto','henkiloauto','Joukkoliikenne','Joukkoliikenne','Muu','Joukkoliikenne','henkiloauto','Muu','henkiloauto','henkiloauto','henkiloauto','henkiloauto','Joukkoliikenne','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','Muu','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Muu','Muu','Muu','Muu','Muu','henkiloauto','henkiloauto','Muu','Muu','Muu','Muu','Muu','Muu','Joukkoliikenne','Joukkoliikenne','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','Joukkoliikenne','Muu','Joukkoliikenne','henkiloauto','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','henkiloauto','henkiloauto','henkiloauto','Joukkoliikenne','Muu','Muu','Muu','Muu','Muu','Muu','henkiloauto','Joukkoliikenne','Joukkoliikenne','Muu','henkiloauto','henkiloauto','Joukkoliikenne','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','Joukkoliikenne','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','Muu','henkiloauto','Joukkoliikenne','henkiloauto','henkiloauto','henkiloauto','henkiloauto','Muu','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','henkiloauto','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Muu','henkiloauto','Muu','Muu','Muu','henkiloauto','Muu','Joukkoliikenne','Joukkoliikenne','henkiloauto','henkiloauto','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Joukkoliikenne','Muu','Muu','Muu','Muu','Muu','Muu','Muu','henkiloauto',
1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1
)56,32,148,242,102,90,476,2242,280,23,618,618,0,MIDM2,410,45,443,851,0,MIDM65535,52427,65534[Cols,Rows][Cols,Rows][0,0,1,0]cols['Klo','Mista','Mihin','Kulkutapa','Count']56,64,148,12rows1..569756,88,148,122,40,50,416,303,0,MIDMKlo[0,0.2,0.4,0.6,0.8,1,1.2,1.4,1.6,1.8,2,2.2,2.4,2.6,2.8,3,3.2,3.4,3.6,3.8,4,4.2,4.4,4.6,4.8,5,5.2,5.4,5.6,5.8,6,6.2,6.4,6.6,6.8,7,7.2,7.4,7.6,7.8,8,8.2,8.4,8.6,8.8,9,9.2,9.4,9.6,9.8,10,10.2,10.4,10.6,10.8,11,11.2,11.4,11.6,11.8,12,12.2,12.4,12.6,12.8,13,13.2,13.4,13.6,13.8,14,14.2,14.4,14.6,14.8,15,15.2,15.4,15.6,15.8,16,16.2,16.4,16.6,16.8,17,17.2,17.4,17.6,17.8,18,18.2,18.4,18.6,18.8,19,19.2,19.4,19.6,19.8,20,20.2,20.4,20.6,20.8,21,21.2,21.4,21.6,21.8,22,22.2,22.4,22.6,22.8,23,23.2,23.4,23.6,23.8]56,224,148,122,40,50,416,303,0,MIDMHLT tripsmdtable(Hlt2004_05,rows,cols,[Klo,Mista,Mihin,Kulkutapa])56,144,148,242,30,460,512,3542,11,193,1143,303,0,MIDM[Kulkutapa,Mista]Trip activityvar a:= sum(sum(Hlt_trips,mista),mihin);
a:= if hour = round(klo-0.5) then a else 0;
a:= sum(a,klo);
if a= 0 then 1 else a168,208,148,242,142,53,872,562,0,MIDMGraphtool:0
Distresol:10
Diststeps:1
Cdfresol:5
Cdfsteps:1
Symbolsize:6
Baroverlap:0
Linestyle:10
Frame:1
Grid:1
Ticks:1
Mesh:1
Scales:1
Rotation:45
Tilt:0
Depth:70
Frameauto:3
Showkey:1
Xminimum:0
Xmaximum:24
Yminimum:0
Ymaximum:120
Zminimum:1
Zmaximum:3
Xintervals:0
Yintervals:0
Includexzero:0
Includeyzero:0
Includezzero:0
Statsselect:[1, 1, 1, 1, 1, 0, 0, 0]
Probindex:[5%, 25%, 50%, 75%, 95%]
Arial, 8[Hour,Kulkutapa]HLT trips by hourvar ap:= array(Place,[Inhabitants1, Workplaces1, Workplaces1, Inhabitants1, Workplaces1]);
ap:= ap/sum(ap,area1);{ap on painokerroin}
var a:= si_pi(sum(Hlt_trips,klo),ap,Mista,area1,Municipality_info_hl);
a:= si_pi(a,ap[area1=area2],Mihin,area2,Municipality_info_hl[area1=area2]);
a:= a/sum(sum(a,Place),Place1) *sum(sum(sum(a,Place),Place1),hour) *Trip_activity/sum(Trip_activity,hour);
a:= sum(sum(a,Place),Place1);
array(mode1,[a[kulkutapa='henkiloauto'],0,a[kulkutapa='Joukkoliikenne']])272,144,148,242,527,15,488,8322,45,68,434,442,0,MIDMGraphtool:0
Distresol:10
Diststeps:1
Cdfresol:5
Cdfsteps:1
Symbolsize:6
Baroverlap:0
Linestyle:10
Frame:1
Grid:1
Ticks:1
Mesh:1
Scales:1
Rotation:45
Tilt:0
Depth:70
Frameauto:1
Showkey:1
Xminimum:0
Xmaximum:25
Yminimum:0
Ymaximum:0.0225
Zminimum:1001
Zmaximum:1012
Xintervals:0
Yintervals:0
Includexzero:0
Includeyzero:0
Includezzero:0
Statsselect:[1, 1, 1, 1, 1, 0, 0, 0]
Probindex:[5%, 25%, 50%, 75%, 95%]
Arial, 4[Area2,Area1][Index Reg]4.7.2006 ovh
Kopioitiin trips by hour solmun lhdekoodi thn. Vaihdettiin thn solmun seuraavat:
sipi-funktion parametrit:
trips_place_munic = tpm
ap = inhabitants
municapility = mista
area1 = are1
municipality_info = municipality_2006
municipality1 = mihin
place_weight_by_hour*time_in_traffic = va5
Nelj viimeist rivi jtettiin koodista huomiotta! Toimii!?!
Inhabitants#Number of inhabitants by district in Jan 1st, 2006.Table(Area1)(
389,10.359K,9265,863,6684,4085,10.615K,737,2312,3318,12.916K,14.361K,8483,6736,4381,0,3957,2276,22.81K,6951,11.499K,7173,3489,7768,10.665K,19.295K,9961,7043,12.886K,12.538K,10.192K,4775,8294,12.488K,5325,8550,13.62K,6535,8690,3562,8422,7262,9898,11.8K,2578,5506,8034,11.33K,8478,9898,5500,3777,16.377K,9663,8305,8200,6705,8559,9109,28.318K,5905,7937,17.298K,15.658K,0,848,9,3496,8991,6035,3291,7704,8602,18.143K,15.035K,6043,8159,15.73K,15.057K,3270,2946,12.26K,9069,3512,6902,2673,5133,9313,9204,8457,17.947K,6353,6462,1966,5161,520,5365,606,3577,8545,6294,18.406K,13.634K,2115,4456,2548,105,4014,8113,183,5,1830,10.399K,4266,11.217K,4533,2784,1342,3947,7752,2717,5626,3546,9813,13.455K,3638,4734,13.821K,9499,0)272,72,148,242,0,0,184,753,0,MIDM2,489,294,416,303,0,MIDM65535,52427,65534Helsingin kaupungin tietokeskus: Helsingin seudun aluesarjat
www.aluesarjat.fiWorkplaces#The number of workplaces by districtTable(Area1)(
23.894K,28.844K,6227,11.46K,9798,6390,4771,3018,1284,6659,8195,8960,17.766K,4184,12.672K,4232,8797,5226,8561,11.629K,3571,17.037K,2849,3602,3469,9525,2861,2476,3305,5571,17.35K,5016,1728,4239,1053,3709,5964,1673,849,1308,1604,2162,1287,8431,2242,975,720,1853,1668,2334,538,699,1596,1333,7414,1828,1070,7452,1394,3051,893,849,1463,1481,443,1723,4068,9201,6916,2818,6321,3340,1389,2487,7270,1709,690,2794,2389,1237,3399,3463,3694,1581,7038,3254,519,832,1336,1927,2510,4198,4122,309,1681,79,2301,478,1629,3254,2826,7822,5587,2206,1529,504,3285,1814,4254,3928,9509,2633,7034,275,1063,1958,1856,2519,232,1023,346,1808,478,1358,1605,308,2012,3644,794,0)168,72,148,241,248,258,713,303,0,MIDM2,583,35,416,303,1,MIDM65535,52427,65534SeutuCD 02, a CD ROM database about the Helsinki area.Public matrixvar a:= Scenario_input[Input_var='Public level'];
a:= if a<=Public_trips_per_lin then 1.1 else 0;
a:= if findintext(Bus_links,bus_routes&' ')>0 then a else 1;
a:= product(a,a.b);
if a>1 then 1 else 0400,96,148,242,102,90,476,2902,595,132,416,496,0,MIDM[To1,From]Public trips per linkvehicles/hThe number of vehicles in each link. Assumes 1.5 trips per private car. Assumes that all gasoline cars are private cars.var v:= bus_routes&' ';
var a:= Bus_links{From&','&To1};
index e:= Sequence(8,8.99,time_unit);
var g:= Adjusted_trip_rate[mode1='Public'];
g:= sum(g[time=e],e);
for x[]:= a do (
var c:= (if findintext(x,v)>0 then g else 0);
sum(sum(c,From),To1) )288,32,148,242,546,189,474,3832,582,30,431,552,0,MIDM[To1,From]Select trip matrixChoice(Self,1)56,96,148,2452425,39321,65535[Hlt_trips_by_hour,Trips_by_hour]Other partsContains functions, indexes, and nodes that are used in several modules, and log nodes.jtue2. Aprta 2004 14:1948,2456,144,148,241,0,0,1,1,1,0,,0,1,338,47,232,497,17HourHour of day.Sequence( 0, 23 )296,120,148,121,1,1,1,1,1,0,,0,1,104,114,416,303,0,MIDMVehicle type['Minibus (d)','Car (d)','Car (g)']176,272,148,12Choose flexibleFlexible passengers mean those who are willing to start their trip 12 min earlier to improve the trip aggregation. This increases the volume of the time point (and respectively decreases it in the next time point), which has a positive net effect on trip aggregation.Choice(Flexible_fr,0,True)296,88,148,16[Formnode Choose_flexible1]52425,39321,65535['item 1']Choose largeThe areal coverage of composite traffic can be defined in two ways. First, all requested trips within a certain area will be organised (i.e. both the origin AND the destination are inside the area). Second, all trips in the metropolitan area will be organised, if either the origin OR the destination is inside the area. The latter is denoted 'Large guarantee' in the model. That approach could be used, if an important aim is to reduce the need for an own car by offering a service that can handle most trips for those people who live in the area. The first approach is the default in the model.Choice(Large,0,True)296,56,048,161,1,1,1,1,1,0,0,0,02,102,90,476,282[Formnode Choose_large1]52425,39321,65535['item 1']Choose nochangeYou can choose which nochange fraction(s) is (are) calculated. The number means the fraction of passengers that request a trip without a transfer. If you choose All, you will get a more thorough result, but it will take more memory and computation time, especially if 'Choose guar' or 'Choose period' are also All.Choice(Nochange_fr,0,True)296,24,148,162,46,180,476,369[Formnode Choose_nochange1]52425,39321,65535[Choose_comp,['item 1']]ModeThe transport mode: either personal car or composite traffic.['Car','Composite','Public']176,304,148,121,0,0,1,1,1,0,,0,2,220,199,476,224Trip lengthkmThe lengths of the trips shown as a frequency distribution.var comp:= aggr_period(All_trips);
comp:= comp[Mode1='Composite'];
var car:= comp[Mode1='Car'];
var a:= array(Vehicle,[comp,0,0,0,0,car]);
index length:= 1..50;
for x[]:= length do (
var e:= if round(distances)=x then a else 0;
e:= sum(sum(e,from),to1) )56,88,148,242,102,90,476,4072,55,202,932,513,1,MIDMZoneThe areas are classified into three categories: 1) downtown (downtown of Helsinki), 2) centre (other major centres within the Metropolitan area), and 3) suburb (all other areas).Table(Self)(
1,2,3)['Downtown','Centre','Suburb']56,16,148,122,10,257,476,4052,280,290,416,329,0,MIDM2,414,239,416,303,0,MIDM52425,39321,65535Traffic speedkm/hAverage speed of traffic.4056,312,148,242,93,231,476,32265535,52427,65534VehicleIndex of travel type (vehicle type including the number of changes).['d9','d8','d7','d6','d5','d4','d3','d2','d1','c9','c8','c7','c6','c5','c4','c3','c2','c1']176,216,148,121,1,1,1,1,1,0,,0,2,554,151,476,399General functionsFunctions that are used in several modules of this model, or in several models. It is therefore practical to place them into one module.jtue2. Aprta 2004 14:4748,2456,200,148,241,40,112,-164,340,21(in,out:prob;classes)VariationToistaiseksi Variation1 ei toimi, jos classes on indeksi. Tmn voi koettaa ratkaista siten, ett tehdn isompi indeksi, jossa concatataan kaikki eripituiset varia-indeksit, sortataan suuruusjrjestykseen, ja slicataan pienemmt indeksit siihen. Tmn lisksi tytyy linearinterp-funktiolla luoda puuttuviin kohtiin lukuja, jossa funktio kulkee ntisti. Nyt tt ei ruveta tekemn.for x[]:= classes do (
index varia:= sequence(1/x,1,1/x);
var c:= rank(sample(in),run);
c:= ceil(c*x/samplesize)/x;
var a:= if c=Varia then sample(out) else 0;
var b:= if c=Varia then 1 else 0;
a:= sum(a,run)/sum(b,run);
if isnan(a) then 0 else a )168,208,148,242,57,16,476,648in,out,classes(out:prob;deci:indextype;input:prob;input_ind:indextype;luokkia)VOIVersio 1.index a:= ['Total VOI'];
index variable:= concat(a,input_ind);
for x[]:= luokkia do (
index varia:= sequence(1/x,1,1/x);
var in:= ceil(rank(input,run)*x/samplesize)/x;
var ncuu:= min(mean(sample(out)),deci);
var d:= (if a='Total VOI' then mean(min(sample(out),deci))-ncuu else 0);
var evpi:= if in=Varia then out else 0;
evpi:= sum(min(mean(evpi),deci),varia)-ncuu;
concat(d,evpi,a,input_ind,variable) )56,208,148,242,474,71,476,546out,deci,input,input_ind,luokkiaTime unithTime unit in hours. (Should equal the acceptable waiting time.)1/(size(time)/24)56,96,148,241,1,1,1,1,1,0,,0,52425,39321,65535(Trips,Delay)Time shifttime unitsshifts travels forward and backward in time. This is the way how travel times are taken into account.
Trips = number of trips traveled at each time point.
Delay = Travel time as number of time units. If delay is negative, the result is earlier in time than Trip.
Time_order = a helper variable containing the rank number of each time point.var time_order:= time/time_unit+1;
var a:= Time_order-Delay;
var b:= (if a >max(Time_order,time) or a< min(Time_order,time) then 1 else a);
slice(Trips,time,b)168,96,148,241,1,1,1,1,1,0,,0,2,367,75,476,512Trips,Delay(data)Clean rowsindex in1:= 1..size(data);
var b:= slice(data,in1);
var c:= unique(b,in1);
b:= slice(b,in1,c);
b:= slice(b,in1);
c:= subset(istext(b));
b:= slice(b,in1,c);
index a:= 1..size(b);
slice(b,a)168,32,148,242,102,90,476,389data(d;roa:indextype)index etappi:= 1..max((textlength(d)+1)/5,roa);
index a:= 1..size(d)*2;
var c:= for x[]:= d do slice(Splittext(x,','),Etappi);
c:= (if istext(c) then c else '');
var b:= c[Etappi=1];
var x:=2;
while x<= size(Etappi) do (
b:= (if c[Etappi=x] = '' then b else c[Etappi=x] & ',' & b);
x:= x+1);
c:= concat(d,b,roa,roa,a);
c56,32,148,242,102,90,476,396d,roa(a)Aggr periodvar per:= if time>=6 and time<20 then ' 6.00-20.00' else
if time>=20 and time<24 then '20.00-24.00' else ' 0.00- 6.00';
for x:= period do (
var b:= if per=x then a else 0;
sum(b,time))
{var b:= if time>=6 and time<20 then a else 0;
b:= sum(b,time);
var c:= if time>=20 and time<24 then a else 0;
c:= sum(c,time);
var d:= if time>=24 or time<6 then a else 0;
d:= sum(d,time);
array(period,[b,c,d])}56,152,148,242,253,78,476,384a(in,out:prob;classes)VariationToistaiseksi Variation1 ei toimi, jos classes on indeksi. Tmn voi koettaa ratkaista siten, ett tehdn isompi indeksi, jossa concatataan kaikki eripituiset varia-indeksit, sortataan suuruusjrjestykseen, ja slicataan pienemmt indeksit siihen. Tmn lisksi tytyy linearinterp-funktiolla luoda puuttuviin kohtiin lukuja, jossa funktio kulkee ntisti. Nyt tt ei ruveta tekemn.for x[]:= classes do (
index varia:= sequence(1/x,1,1/x);
var c:= rank(sample(in),run);
c:= ceil(c*x/samplesize)/x;
var a:= if c=Varia then sample(out) else 0;
var b:= if c=Varia then 1 else 0;
a:= sum(a,run)/sum(b,run);
if isnan(a) then 0 else a )168,152,148,24in,out,classes(param1,sigdigits)roundingvar a:= floor(logten(param1));
var b:= param1/10^(a+1-sigdigits);
round(b)*10^(a+1-sigdigits)272,32,148,24param1,sigdigitsProfilingUse this library to see which variables and functions are taking most of the computation time when running your model.
This library requires Analytica Enterprise, or ADE. It will not work for other versions of Analytica.
Here's how to use the library:
1. First run your model, i.e. show (and therefore compute) results for the outputs you are interested in timing.
2. Click Timing "Result" button to show an array showing how long it took to evaluate each variable (in CPU seconds), ordered to show the largest times first.
If you want to time additional calculations, added to existing timings.
3. Make those calculations by showing results for those variables.
4. Click button "Recompute Timings"
5. Click Timing "Result" button again.
If you want to time additional calculations, starting from zero again.
6. Change relevant inputs to cause their dependents to need to be recomputed.
7. Click "Reset Timings" to set to zero.
8. Show results for outputs of interest.
9. Click Timing "Result" again to see new timings.
Lonnie ChrismanSun, Jul 13, 2003 12:18 PMindirectSun, Sep 14, 2003 7:20 AM48,2456,144,148,241,1,1,1,1,1,0,0,0,01,40,155,164,461,212,90,44,476,224(m: TextType)Descendant ObjectsReturns a list including module m and all its descendants, i.e. objects (variables, functions, and modules) contained in m - and in any modules it contains, recursively.VAR res := [m];
VAR c := contains OF (m);
IFONLY IsUndef(c) THEN res
ELSE BEGIN
FOR v := c Do BEGIN
VAR d := Descendant_objects(Identifier OF v);
res := Concat(res, d);
0
END;
res
END
80,176,152,242,97,125,476,394m1(m: TextType)Computation ProfilesecReturns an array of the computation time (in seconds) taken to evaluate each variable (or user-defined function). Results exclude time spent evaluating each variable's inputs. Times are sorted in descending order to show the variables taking the most time at the top. The result is indexed by .objects, a local index containing only those variables with a nonzero computation time.
This function is useful for profiling a computationally intensive model to find where the time is being spent. The time includes all time spent in computing each variable since the model was opened, or since the last call to "Reset Timings".
INDEX allobjs := Descendant_Objects(m);
VAR allTimings := (FOR obj:=allobjs DO EvaluationTime OF (obj));
INDEX UnsortedNodes := Subset(allTimings > 0);
VAR timings := allTimings[allobjs = UnsortedNodes];
INDEX objects := sortIndex(-timings, UnsortedNodes);
timings[UnsortedNodes = objects]200,176,160,242,88,-2,481,571mTiming profileCPU SecReturns an array with the evaluation Time spent in each variable and function./* First, determine which node is the "root" node of the model */
VAR m := Identifier OF (Isin OF Self);
VAR top := WHILE (NOT IsUndef(Isin OF (m)))
DO m := Identifier OF (Isin OF (m));
Computation_profile(top)328,176,148,242,723,11,247,592,0,MIDM[Formnode Whole_model_computat, Formnode Timing_profile1]1,F,10,3,0,0Whole Model Computational Profile1256,40,1124,161,0,0,1,0,0,0,72,0,1Timing_profile(m: TextType)Computation Profile allsecReturns an array of the computation time (in seconds) taken to evaluate each variable (or user-defined function). Results exclude time spent evaluating each variable's inputs. Times are sorted in descending order to show the variables taking the most time at the top. The result is indexed by .objects, a local index containing only those variables with a nonzero computation time.
This function is useful for profiling a computationally intensive model to find where the time is being spent. The time includes all time spent in computing each variable since the model was opened, or since the last call to "Reset Timings".INDEX allobjs := Descendant_Objects(m);
VAR allTimings := (FOR obj:=allobjs DO EvaluationTimeAll OF (obj));
INDEX UnsortedNodes := Subset(allTimings > 0);
VAR timings := allTimings[allobjs = UnsortedNodes];
INDEX objects := sortIndex(-timings, UnsortedNodes);
timings[UnsortedNodes = objects]200,240,160,242,102,90,529,521mTiming profile allCPU SecThis displays the Time spent in each variable and function/* First, determine which node is the "root" node of the model */
VAR m := Identifier OF (Isin OF Self);
VAR top := WHILE (NOT IsUndef(Isin OF (m)))
DO m := Identifier OF (Isin OF (m));
Computation_profile_(top)328,240,148,242,655,142,407,516,0,MIDM1,F,10,3,0,0FromArea number of the origin. Equals the Area 129 coding (plus 1000) by Helsinki Metropolitan Area Council.1001..1016176,80,148,122,518,124,476,424[Formnode From1, Formnode Mista2]ToArea number of the destination. Equals the Area 129 coding (plus 1000) by Helsinki Metropolitan Area Council.copyindex(From)176,104,148,12RegAn index for areal data tables. Transformed to 'From' index.1001..1129176,24,148,122,446,194,476,288Reg1An index for areal data tables. Transformed to 'To' index.1001..1129176,48,148,12Area1The number of area. Equals the Area 129 coding (plus 1000) by Helsinki Metropolitan Area Council.[1001,1002,1003,1004,1005,1006,1007,1008,1009,1010,1011,1012,1013,1014,1015,1016,1017,1018,1019,1020,1021,1022,1023,1024,1025,1026,1027,1028,1029,1030,1031,1032,1033,1034,1035,1036,1037,1038,1039,1040,1041,1042,1043,1044,1045,1046,1047,1048,1049,1050,1051,1052,1053,1054,1055,1056,1057,1058,1059,1060,1061,1062,1063,1064,1065,1066,1067,1068,1069,1070,1071,1072,1073,1074,1075,1076,1077,1078,1079,1080,1081,1082,1083,1084,1085,1086,1087,1088,1089,1090,1091,1092,1093,1094,1095,1096,1097,1098,1099,1100,1101,1102,1103,1104,1105,1106,1107,1108,1109,1110,1111,1112,1113,1114,1115,1116,1117,1118,1119,1120,1121,1122,1123,1124,1125,1126,1127,1128,1129,1130]176,136,148,122,531,226,476,224RegionThe names of the larger regions used in the model.['+Lnsi-Espoo','+Pohjois-Espoo','+Etel-Espoo','+Keski-Espoo','+Lnsi-Vantaa','+Keski-Vantaa','+Pohjois-Vantaa','+It-Vantaa','+Kanta-Helsinki','+Lnsi-Helsinki','+Vanha-Helsinki','+Konalanseutu','+Pakilanseutu','+Malminseutu','+It-Helsinki']176,184,148,122,470,236,476,365Composite traffic dummyThe placeholder for the composite traffic. This is used when an argument is linked to composite traffic in general, and there is no obvious node to which it can be linked.056,256,148,24PeriodsMorning-day, evening, and night are looked at separately.table(period)(1,2,3)56,48,148,122,102,90,476,31452425,39321,65535Vehicle_nochIndex of travel type (vehicle type including the number of changes). This index is the same as Vehicle except that there is an additional row, No-change trips. This is the number of trips that are forced not to be divided into two parts. Note that these trips are included in other rows, and therefore this index must not be summed up.['d9','d8','d4','d3','d2','d1','c9','c8','c4','c3','c2','c1','Noch']176,240,148,121,1,1,1,1,1,0,,0,2,10,126,476,4442,40,50,416,452,0,MIDMTiming profile1176,472,1160,121,0,0,1,0,0,0,72,0,1Timing_profileMista0176,448,1160,121,0,0,1,0,0,0,72,0,1FromSubsidise groups?0172,348,1156,121,0,0,1,0,0,0,72,0,1Subsidise_groups_Choose large0172,372,1156,121,0,0,1,0,0,0,72,0,152425,39321,65535Choose_largeChoose nochange0172,396,1156,121,0,0,1,0,0,0,72,0,152425,39321,65535Choose_nochangeChoose flexible0172,420,1156,121,0,0,1,0,0,0,72,0,152425,39321,65535Choose_flexibleArea2The number of area. Equals the Area 129 coding (plus 1000) by Helsinki Metropolitan Area Council.[1001,1002,1003,1004,1005,1006,1007,1008,1009,1010,1011,1012,1013,1014,1015,1016,1017,1018,1019,1020,1021,1022,1023,1024,1025,1026,1027,1028,1029,1030,1031,1032,1033,1034,1035,1036,1037,1038,1039,1040,1041,1042,1043,1044,1045,1046,1047,1048,1049,1050,1051,1052,1053,1054,1055,1056,1057,1058,1059,1060,1061,1062,1063,1064,1065,1066,1067,1068,1069,1070,1071,1072,1073,1074,1075,1076,1077,1078,1079,1080,1081,1082,1083,1084,1085,1086,1087,1088,1089,1090,1091,1092,1093,1094,1095,1096,1097,1098,1099,1100,1101,1102,1103,1104,1105,1106,1107,1108,1109,1110,1111,1112,1113,1114,1115,1116,1117,1118,1119,1120,1121,1122,1123,1124,1125,1126,1127,1128,1129,1130]176,160,148,12Road dataThis module creates the node Route matrix, which contains the driving instructions from all areas to all other areas. Distances calculates the distances (by road) between the areas.
To make the construction of Route matrix as simple as possible for a new city, the roads are defined in the following way. First, the whole metropolitan are is divided into 15 regions, and these regions are further divided into 129 areas with 7300 inhabitants on average. The 129 areas are standard areas for urban planning, but the regions were formed for this particular purpose. The criteria for forming a region were that they
1) are exclusive and mutually exhaustive
2) are as large as possible without creating very unrealistic routes between areas. Routes are defined in a way that between any two regions, there is only one specific road that is used to cross the region borders (and travel the distance between the regions if they are not neighbours).
It is thus necessary to describe the routes between all areas within each region, and the routes between all regions. However, then it is possible to deduce the detailed routes between two areas that are in different regions using these hierarchical instructions.
The routes are described as lists of areas that are along the road between the origin and destination. The route description needs not be in full detail if the details between two areas are defined in Roads node. A minimum number of existing roads were selected so that the routes in the model would not be very unrealistic. This work was done manually with a map. Note that the absolute numbers of 'Average vehicle flow on the 30 most busy roads' are likely biased upwards because all traffic from smaller streets is packed to the major roads in the model.jtue8. Aprta 2004 14:15jtue19. elota 2004 10:4348,24184,160,148,241,40,17,470,520,172,102,90,476,282Arial, 13R t['Route','Time']176,360,148,12Bus routesThis node creates special bus routes that do not go along the standard route matrix. If there is both a standard and a special route between two areas, the special route will be used.var a:= mirror(Bus_routes_special[r_t='Route'],Bus_routes_special);
var b:= '';
var x:=1;
while x<=size(a) do (
var c:= slice(a,a.a,x);
var d:= findintext(from&'',c);
var e:= findintext(to1&'',c);
b:= if d>0 and e>0 and e>d then Selecttext(c,d,e+3) else b;
x:= x+1);
if b<>'' then b else Bus_matrix_standard288,328,148,242,308,34,476,5752,126,60,792,534,0,MIDM[To1,From]Bus routes specialThis is a list of whole bus routes, i.e. full chains of areas that are covered by the route. This includes also other forms of public transportation, such as trains and trams.Table(Self,R_t)(
'1001,1017,1015,1016,1029,1031,1081,1083,1086,1090,1091,1092,1095','day2/h',
'1001,1015,1017,1016,1029,1030,1034,1032,1102,1103','day2/h',
'1001,1017,1037,1041,1044,1046,1049,1117,1113,1116,1115,1120,1122,1121,1124','day2/h',
'1010,1002,1001,1018,1019,1020,1052,1055,1056,1058,1057,1063,1064','day2/h',
'1010,1002,1001,1018,1019,1020,1052,1055,1056,1058,1059,1060,1062','day2/h',
'1003,1002,1001,1005,1018,1019,1021,1012,1011,1002,1001,1005,1004,1007','day2/h',
'1001,1011,1012,1015,1017,1023,1020,1018,1005','day2/h',
'1003,1002,1011,1012,1013,1027,1028,1031','day2/h',
'1008,1003,1002,1011,1012,1013','day2/h',
'1008,1003,1004,1001,1005,1018,1020,1052,1055','day2/h',
'1007,1003,1004,1002,1001,1005,1018,1019,1021,1017','day2/h',
'1005,1001,1002,1010,1011,1012,1013,1027,1028','day2/h',
'1004,1003,1002,1010,1026','day2/h',
'1020,1021,1017,1015,1016,1036','day2/h',
'1001,1005,1018,1019,1021,1017,1015,1014','day2/h',
'1004,1001,1002,1011,1012,1013','day2/h',
'1002,1011,1012,1013,1014,1029,1031,1032,1033','day2/h',
'1001,1011,1012,1013,1014,1029,1030','day2/h',
'1002,1011,1012,1013,1014,1029,1030,1034','day2/h',
'1004,1001,1002,1011,1012,1013,1014,1029,1030,1034,1035','day2/h',
'1001,1011,1012,1013,1014,1029,1030,1034,1035','day2/h',
'1020,1023,1019,1021,1017,1015,1029,1031','day2/h',
'1018,1019,1021,1022,1017,1025,1036,1037,1030,1031,1032','day2/h',
'1024,1025,1037,1036,1030,1029,1028,1027','day2/h',
'1058,1054,1056,1059,1042,1024,1025,1016,1015,1014,1029,1028','day2/h',
'1058,1054,1056,1055,1052,1020,1023,1021,1017,1015,1012,1013,1027,1028','day2/h',
'1055,1052,1020,1023,1021,1017,1015','day2/h',
'1026,1010,1002,1001,1005,1018,1019,1020,1023,1017,1025,1037,1036,1038,1039','day2/h',
'1001,1005,1018,1020,1023,1024,1042','day2/h',
'1002,1011,1012,1019,1021,1023,1024,1042,1043,1044,1047,1048','day2/h',
'1001,1005,1018,1019,1020,1023,1017,1025,1036,1037,1038,1039,1040,1048','day2/h',
'1001,1005,1018,1019,1020,1023,1024,1042,1043,1041','day2/h',
'1001,1005,1018,1019,1020,1023,1017,1025,1036,1037,1041,1047,1048,1046','day2/h',
'1018,1019,1020,1023,1024,1042,1043,1044,1047,1048,1046,1049','day2/h',
'1018,1019,1020,1023,1024,1042,1043,1045,1044,1047,1046,1049,1050','day2/h',
'1001,1005,1018,1019,1020,1023,1024,1042,1043,1045,1050,1049','day2/h',
'1048,1049,1050','day2/h',
'1001,1005,1018,1019,1020,1023,1024,1042,1051','day2/h',
'1048,1047,1044,1045,1050,1051','day2/h',
'1063,1062,1060,1045,1044','day2/h',
'1055,1056,1042,1043,1041,1044','day2/h',
'1056,1054,1055','day2/h',
'1058,1057,1061','day2/h',
'1055,1054,1057,1058','day2/h',
'1058,1060,1062','day2/h',
'1058,1061,1060','day2/h',
'1002,1010,1067,1068,1070','day2/h',
'1002,1010,1067,1073,1069,1071,1072','day1/h',
'1002,1010,1067,1069,1070,1084,1083','day2/h',
'1002,1010,1067,1069,1071,1070,1072,1085,1090,1089,1093','day2/h',
'1002,1010,1026,1067,1069,1070,1072,1085,1086,1083','day2/h',
'1002,1010,1067,1073,1074,1076,1079,1091','day2/h',
'1001,1011,1012,1013,1027,1068,1069,1070','day2/h',
'1001,1011,1012,1013,1027,1068,1069,1071,1075,1079','day2/h',
'1002,1011,1012,1013,1027,1083','day2/h',
'1001,1011,1012,1013,1014,1029,1031,1081,1083,1082,1100','day2/h',
'1001,1011,1012,1013,1014,1029,1031,1081,1083,1087,1089,1088Õ','day2/h',
'1001,1011,1012,1013,1014,1029,1031,1081,1083,1087,1089,1093,1092,1091','day2/h',
'1001,1011,1012,1013,1014,1029,1030,1031,1032,1100','day2/h',
'1042,1024,1025,1017,1015,1012,1013,1027,1067,1068,1070','day2/h',
'1103,1102,1101,1100,1082,1083,1084,1068,1069,1073','day2/h',
'1044,1041,1037,1036,1038,1035,1030,1034,1032,1082,1083','day2/h',
'1058,1060,1059,1045,1043,1044,1047,1109,1110,1111','day2/h',
'1058,1059,1042,1043,1037,1036,1030,1029,1031,1081,1083,1084,1068,1067,1069,1073','day2/h',
'1068,1069,1073,1074,1075','day2/h',
'1068,1069,1070,1072,1085,1090,1089,1088','day2/h',
'1069,1070,1072,1085,1090,1091,1092,1095','day2/h',
'1069,1071,1075,1079,1091,1092','day2/h',
'1100,1082,1083','day2/h',
'1083,1087,1089,1093','day2/h',
'1083,1087,1089,1093,1092,1091','day2/h',
'1075,1074,1079,1091,1092,1093','day2/h',
'1074,1075,1072,1085,1090,1089,1087,1083','day2/h',
'1076,1077,1078,1079,1091,1092,1093','day2/h',
'1093,1089,1090,1085,1072,1075,1079,1076,1078','day2/h',
'1083,1087,1089,1090,1091','day2/h',
'1102,1103,1107,1110,1109,1112,1049,1113,1115,1122','day2/h',
'1113,1112,1109,1108,1103,1102,1100,1101','day2/h',
'1062,1129,1051,1128,1127,1117,1049,1112,1109,1110,1107,1103,1102','day2/h',
'1062,1129,1051,1128,1127,1117,1118,1116,1113,1112,1110,1109,1111','day2/h',
'1113,1115,1114,1123','day2/h',
'1113,1115,1116,1120,1121,1125','day2/h',
'1113,1115,1122,1124','day2/h',
'1063,1064,1065','day1/h',
'1002,1010,1067,1073,1074,1076,1078,1080,1095,1096','day1/h',
'1001,1011,1012,1013,1014,1029,1031,1032,1082,1101,1104','day1/h',
'1103,1102,1101,1100,1088,1089,1093,1092','day1/h',
'1001,1018,1019,1020,1023,1017,1025,1036,1037,1038,1040,1039,1109,1112,1113,1115,1122','day1/h',
'1001,1018,1019,1020,1023,1017,1025,1036,1037,1038,1040,1109,1112,1114,1115,1122,1120','day1/h',
'1001,1018,1019,1020,1023,1017,1025,1036,1037,1038,1040,1109,1108,1107,1105','day1/h',
'1001,1018,1019,1020,1023,1024,1042,1117,1118,1116,1120,1119','day1/h',
'1111,1110,1109,1038,1034,1032,1083,1085,1092','day1/h',
'1083,1082,1087,1089,1088,1093,1097,1099','day1/h',
'1083,1087,1089,1093,1094','day1/h',
'1083,1082,1087,1089,1088,1093,1097,1099','day1/h',
'1092,1093,1097,1098','day1/h',
'1104,1101,1103,1102','day1/h',
'1088,1100,1101,1102,1103,1105,1106','day1/h',
'1113,1112,1110,1107,1106','day1/h',
'1113,1112,1110,1111,1107,1103,1104,1101,1100,1102','day1/h',
'1100,1101,1102,1103,1108,1109,1110,1111','day1/h',
'1127,1128,1117,1113,1112,1110,1109','day1/h',
'1127,1128,1117,1118,1116,1113','day1/h',
'1113,1115,1122,1121,1119,1126,1125,1124','day1/h',
'1062,1129,1128,1127,11118,1119,1120,1121.1122,1124,1125','day1/h',
'1002,1011,1012,1013,1014,1029,1016,1030,1036,1034,1035','rush2/h',
'1058,1054,1056,1055,1052,1020,1023,1021,1017,1015,1012,1013,1027,1028','rush2/h',
'1001,1005,1018,1019,1020,1023,1024,1042,1043,1041,1047','rush2/h',
'1001,1011,1012,1013,1027,1084,1085,1086','rush2/h',
'1018,1019,1012,1013,1027,1067,1073,1074','rush2/h',
'1017,1015,1012,1013,1027,1067,1073,1074,1076,1077,1078','rush2/h',
'1020,1023,1017,1015,1012,1013,1027,1068,1069,1071,1075','rush2/h',
'1020,1023,1017,1015,1014,1029,1031,1081,1083,1087,1089,1088,1093','rush2/h',
'1018,1019,1020,1023,1017,1025,1037,1036,1038,1034,1035,1102,1103','rush2/h',
'1027,1028,1031,1032,1102,1103','rush2/h',
'1068,1069,1073,1074,1076,1077','rush2/h',
'1083,1082,1087,1086,1085,1075,1074,1076,1078','rush2/h',
'1068,1069,1073,1074,1076,1078','rush2/h',
'1074,1075,1085,1086,1082,1083','rush2/h',
'1100,1082,1083,1084,1068,1069','rush2/h',
'1111,1110,1109,1040,1038,1034,1030,1031,1081,1083,1084,1068,1070,1069,1073','rush1/h',
'1113,1116,1118,1127,1117','rush1/h'
)['item 1','item 2','item 3','item 4','item 5','item 6','item 7','item 8','item 9','item 10','item 11','item 12','item 13','item 14','item 15','item 16','item 17','item 18','item 19','item 20','item 21','item 22','item 23','item 24','item 25','item 26','item 27','item 28','item 29','item 30','item 31','item 32','item 33','item 34','item 35','item 36','item 37','item 38','item 39','item 40','item 41','item 42','item 43','item 44','item 45','item 46','item 47','item 48','item 49','item 50','item 51','item 52','item 53','item 54','item 55','item 56','item 57','item 58','item 59','item 60','item 61','item 62','item 63','item 64','item 65','item 66','item 67','item 68','item 69','item 70','item 71','item 72','item 73','item 74','item 75','item 76','item 77','item 78','item 79','item 80','item 81','item 82','item 83','item 84','item 85','item 86','item 87','item 88','item 89','item 90','item 91','item 92','item 93','item 94','item 95','item 96','item 97','item 98','item 99','item 100','item 101','item 102','item 103','item 104','item 105','item 106','item 107','item 108','item 109','item 110','item 111','item 112','item 113','item 114','item 115','item 116','item 117','item 118','item 119','item 120','item 121','item 122']176,328,148,242,0,0,1024,6672,0,0,1024,667,0,MIDM2,376,52,586,514,0,MIDM65535,52427,65534[R_t,Bus_routes_special][R_t,Bus_routes_special]Bus matrix standardThis node takes all bus routes, checks the route between the two ends, and creates a route matrix of all from-to pairs that are connected with a bus route.
An interesting detail is that mirror function in the first row is for some reason needed although it should not be. This is maybe due to a non-coherent route matrix: route 1007,1003,1002 exists although route 1003,1004,1002 exists as well.var a:= bus_route_ends[r_t='Route'];
a:= mirror(a,Bus_route_ends);
var b:= 0;
var x:=1;
while x<=size(a) do (
var c:= slice(a,a.a,x);
b:= if from=evaluate(Selecttext(c,1,4)) and to1=evaluate(selecttext(c,6,9)) then 1 else b;
x:= x+1);
b:= if b=1 then route_matrix else '';
var e:= for z[]:= from do (
for y[]:= to1 do (
var d:= if Findintext(z&'',b)>0 and Findintext(y&'',b)>0 then 1 else 0;
sum(sum(d))
));
if e>0 then route_matrix
288,264,148,242,507,54,476,5372,349,98,642,529,0,MIDM[To1,From]Bus route endsThis is a list of bus route endstops.Table(Self,R_t)(
'1005,1025','day2/h',
'1003,1025','day2/h',
'1006,1027','day2/h',
'1002,1024','day2/h',
'1010,1022','day2/h',
'1007,1029','day2/h',
'1009,1010','day2/h',
'1009,1001','day2/h',
'1002,1026','day2/h',
'1010,1025','day2/h',
'1001,1036','day2/h',
'1001,1039','day2/h',
'1001,1040','day2/h',
'1026,1037','day2/h',
'1026,1039','day2/h',
'1001,1044','day2/h',
'1044,1049','day2/h',
'1055,1056','day2/h',
'1055,1053','day2/h',
'1063,1064','day2/h',
'1058,1059','day2/h',
'1058,1060','day2/h',
'1058,1062','day2/h',
'1058,1064','day2/h',
'1002,1068','day2/h',
'1002,1073','day2/h',
'1002,1074','day2/h',
'1002,1075','day2/h',
'1002,1079','day2/h',
'1002,1077','day2/h',
'1002,1078','day2/h',
'1001,1097','day2/h',
'1001,1099','day2/h',
'1001,1102','day2/h',
'1001,1103','day2/h',
'1058,1083','day2/h',
'1001,1111','day2/h',
'1001,1124','day2/h',
'1001,1127','day2/h',
'1002,1106','day2/h',
'1069,1075','day2/h',
'1069,1078','day2/h',
'1069,1079','day2/h',
'1082,1085','day2/h',
'1083,1088','day2/h',
'1126,1124','day2/h',
'1055,1052','day1/h',
'1064,1065','day1/h',
'1001,1090','day1/h',
'1001,1092','day1/h',
'1001,1106','day1/h',
'1001,1123','day1/h',
'1001,1125','day1/h',
'1001,1120','day1/h',
'1119,1124','day1/h',
'1002,1099','day1/h',
'1002,1126','day1/h',
'1069,1075','day1/h',
'1083,1073','day1/h',
'1091,1099','day1/h',
'1128,1127','day1/h',
'1102,1106','day1/h',
'1002,1035','rush2/h',
'1058,1031','rush2/h',
'1058,1013','rush2/h',
'1001,1047','rush2/h',
'1042,1070','rush2/h',
'1026,1067','rush2/h',
'1111,1092','rush1/h',
'1091,1094','rush1/h',
'1092,1094','rush1/h',
'1103,1105','rush1/h'
)['item 1','item 2','item 3','item 4','item 5','item 6','item 7','item 8','item 9','item 10','item 11','item 12','item 13','item 14','item 15','item 16','item 17','item 18','item 19','item 20','item 21','item 22','item 23','item 24','item 25','item 26','item 27','item 28','item 29','item 30','item 31','item 32','item 33','item 34','item 35','item 36','item 37','item 38','item 39','item 40','item 41','item 42','item 43','item 44','item 45','item 46','item 47','item 48','item 49','item 50','item 51','item 52','item 53','item 54','item 55','item 56','item 57','item 58','item 59','item 60','item 61','item 62','item 63','item 64','item 65','item 66','item 67','item 68','item 69','item 70','item 71','item 72']176,264,148,242,102,90,476,2242,8,33,416,787,0,MIDM65535,52427,65534[R_t,Bus_route_ends][R_t,Bus_route_ends]Route matrixThe complete route instruction matrix including all relevant information.var a:= Prematrix;
index e:= 1..max(max((textlength(a)+1)/5,From),To1);
var g:= for x[]:= a do slice(splittext(x,','),e);
g:= if g=null then 'tyhj' else g;
var y:= 1;
while y<=size(e)-1 do (
var x:= 1;
while x<= size(Road_mirror) do (
var h:= Road_mirror[.a=x];
var b:= g[.e=y];
var c:= g[.e=y+1];
var d:= findintext(b,h);
var f:= findintext(c,h);
a:= if d>0 and f>0 and f>d then Textreplace(a,b&','&c,selecttext(h,d,f+3),true) else a;
x:=x+1);
y:=y+1);
a288,200,148,242,478,35,476,4802,70,80,784,372,0,MIDM[To1,From]DistanceskmThe length of each origin-destination trip.var a:= if findintext(links_1,route_matrix)>0 then link_length1 else 0;
a:= sum(a,links_1);
var b:= if findintext(Bus_links,bus_routes&' ')>0 then link_length1[links_1=bus_links] else 0;
b:= sum(b,Bus_links.b);
array(mode1, [a,a,b]) + in_area_distance[area1=From] + in_area_distance[area1=To1]400,200,148,242,32,14,476,5212,27,18,883,552,0,MIDM[To1,From]In-area distancekmThe distance that is travelled within an area collecting people before the actual trip to another area starts.
Distances are rough estimates measured with a string and a ruler. This approach was considered exact enough, as the road structure is the same in all scenarios considered.
Note that although not quite realistic, this value is the same for both composite and car traffic.Table(Area1)(
1,1,0.6,0.6,0.6,1,1,0.1,1,1,1,1,1.5,1.5,1,1,0.6,0.6,1,1,0.6,0.6,1,1.5,1.5,2.5,1.5,1.5,1.5,2.5,1.5,1.5,1.5,1.5,2.5,1.5,1.5,1.5,1.5,1,1.5,1.5,1.5,2.5,1.5,1,2.5,1.5,1.5,2.5,1.5,1,4,1.5,1.5,2.5,1.5,1.5,1,2.5,1.5,1.5,1.5,2.5,1.5,0.6,0.6,1.5,1.5,1.5,1.5,2.5,2.5,2.5,2.5,2.5,2.5,1.5,2.5,2.5,0.6,1.5,1.5,1.5,1.5,1,1.5,2.5,2.5,2.5,4,4,4,8,2.5,4,4,4,8,2.5,1.5,2.5,2.5,2.5,4,8,4,1.5,1.5,1.5,1,2.5,1.5,1.5,1.5,1.5,1.5,2.5,2.5,1.5,1.5,2.5,1.5,4,2.5,2.5,4,4,4,0)400,32,148,242,148,93,416,561,0,MIDM65535,52427,65534Data based on a map of Helsinki Metropolitan area (YTV liikenne: Pkaupunkiseudun joukkoliikennekartta 11.8.2002).Area nameThe name of each area.Table(Area1)(
'Kluuvi','Kamppi','Punavuori','Kaartinkaupunki','Kruunuhaka','Katajanokka','Kaivopuisto','Munkkisaari','Ruoholahti','Salmisaari','Etu-Tl','Taka-Tl','Meilahti','Ruskeasuo','Lnsi-Pasila','Pohjois-Pasila','It-Pasila','Hakaniemi','Kallio','Srninen','Alppila','Vallila','Hermanni','Arabianranta','Kpyl','Lauttasaari','Munkkiniemi','Munkkivuori','Etel-Haaga','Pohjois-Haaga','Pitjnmki','Konala','Malminkartano','Kannelmki','Hakuninmaa','Maunula','Patola','Lnsi-Pakila','Palohein','It-Pakila','Pukinmki','Viikki','Pihlajamki','Malmi','Malmin lentokentt','Tapanila','Tapaninvainio','Siltamki','Tapulikaupunki','Puistola','Jakomki','Kulosaari','Laajasalo','Roihuvuori','Herttoniemenranta','Herttoniemi','Puotila','Puotinharju','Myllypuro','Kontula','Vartioharju','Mellunmki','Vuosaari','Kallahti','Niinisaari','Suomenlinna','Keilaniemi','Otaniemi','Tapiola','Pohjois-Tapiola','Niittykumpu','Mankkaa','Westend','Matinkyl','Olari','Iivisniemi','Suvisaaristo','Espoonlahti','Nykki','Saunalahti','Mkkyl','Lintuvaara','Etel-Leppvaara','Laajalahti','Sepnkyl','Kuninkainen','Karakallio','Laaksolahti','Viherlaakso','Kauniainen','Tuomarila','Muurala','Bemble','Nuuksio','Kauklahti','Espoonkartano','Vanhakartano','Ryl','Kalajrvi','Hmeenkyl','Varisto','Myyrmki','Martinlaakso','Petikko','Kivist','Seutula','Viinikkala','Ylst','Pakkala','Veromies','Helsinki airport','Koivuhaka','Tikkurila','Ruskeasanta','Simonkyl','Jokiniemi','Kuninkaala','Hakkila','Pivkumpu','Havukoski','Rekola','Koivukyl','Ilola','Korso','Metsola','Jokivarsi','Sotunki','Hakunila','Lnsimki','Vaihtopiste')512,32,148,242,102,90,476,4522,510,11,258,615,0,MIDM65535,52427,65534Modified names from the Area 129 coding by Helsinki Metropolitan Area Council.A dummy index.[1,2,3,4,5,6,7,8,9,10,11,12,13,14]64,64,148,12A dummy index.[1,2,3,4,5,6,7,8,9,10,11,12,13,14]64,88,148,12RoadsA list of frequently used roads. The purpose of this node is to simplify definitions in nodes Routes outside and routes inside.Table(Self)(
'1078,1076,1074,1073,1067,1010,1002,1001','1093,1085,1084,1028','1104,1032,1029,1028,1027,1013,1011,1002','1105,1103,1102,1035,1034,1030,1014,1012,1001','1123,1112,1109,1040,1025,1022,1020,1001,1002,1010','1125,1127,1128,1045,1042,1024,1025,1016,1014,1029','1062,1061,1058,1054,1055,1052,1020,1018,1001','1095,1093,1097,1104,1103,1107,1110,1109,1117,1128,1129','1067,1068,1084,1083,1032,1034,1038,1040,1041,1043,1045,1060,1058','1080,1078,1076,1074,1073,1067,1068','1096,1095,1093,1094','1090,1085,1084,1083,1082','1088,1087,1083,1084','1042,1041,1047,1048','1042,1043,1044,1046,1049','1052,1055,1054,1058,1057,1063,1065','1059,1060,1062,1065','1026,1010,1002,1001,1005,1006','1008,1003,1004,1001','1008,1003,1004,1005,1006','1032,1029,1014,1016,1025,1024')[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21]288,32,148,242,166,156,470,457,0,MIDM2,104,114,802,486,0,MIDM65535,52427,65534Data based on a map of Helsinki Metropolitan area (YTV liikenne: Pkaupunkiseudun joukkoliikennekartta 11.8.2002).Routes outsideRoutes are defined in a way that between any two regions, there is only one route that is used. This route is described in this node. The route description needs not be in full detail, e.g. if a route between two areas is defined in Roads node, it is enough to define the start and end areas here.Table(In3,In4)(
'+Lnsi-Espoo,1093,1097,+Pohjois-Espoo',0,0,0,0,0,0,0,0,0,0,0,0,0,
'+Lnsi-Espoo,1093,1085,1074,+Etel-Espoo','+Pohjois-Espoo,1097,1093,1085,1074,+Etel-Espoo',0,0,0,0,0,0,0,0,0,0,0,0,
'+Lnsi-Espoo,1093,1085,+Keski-Espoo','+Pohjois-Espoo,1097,1093,1085,+Keski-Espoo','+Etel-Espoo,1068,1084,+Keski-Espoo',0,0,0,0,0,0,0,0,0,0,0,
'+Lnsi-Espoo,1093,1104,+Lnsi-Vantaa','+Pohjois-Espoo,1097,1104,+Lnsi-Vantaa','+Etel-Espoo,1068,1032,1104,+Lnsi-Vantaa','+Keski-Espoo,1084,1032,1104,+Lnsi-Vantaa',0,0,0,0,0,0,0,0,0,0,
'+Lnsi-Espoo,1093,1110,+Keski-Vantaa','+Pohjois-Espoo,1097,1104,1110,+Keski-Vantaa','+Etel-Espoo,1068,1040,1109,+Keski-Vantaa','+Keski-Espoo,1084,1040,1109,+Keski-Vantaa','+Lnsi-Vantaa,1107,1110,+Keski-Vantaa',0,0,0,0,0,0,0,0,0,
'+Lnsi-Espoo,1093,1128,1127,+Pohjois-Vantaa','+Pohjois-Espoo,1097,1128,1127,+Pohjois-Vantaa','+Etel-Espoo,1068,1045,1127,+Pohjois-Vantaa','+Keski-Espoo,1084,1045,1127,+Pohjois-Vantaa','+Lnsi-Vantaa,1107,1128,1127,+Pohjois-Vantaa','+Keski-Vantaa,1109,1128,1127,+Pohjois-Vantaa',0,0,0,0,0,0,0,0,
'+Lnsi-Espoo,1093,1128,+It-Vantaa','+Pohjois-Espoo,1097,1128,+It-Vantaa','+Etel-Espoo,1068,1045,1128,+It-Vantaa','+Keski-Espoo,1084,1045,1128,+It-Vantaa','+Lnsi-Vantaa,1107,1128,+It-Vantaa','+Keski-Vantaa,1109,1117,1128,+It-Vantaa','+Pohjois-Vantaa,1127,1128,+It-Vantaa',0,0,0,0,0,0,0,
'+Lnsi-Espoo,1093,1028,1011,+Kanta-Helsinki','+Pohjois-Espoo,1097,1104,1011,+Kanta-Helsinki','+Etel-Espoo,1067,1010,+Kanta-Helsinki','+Keski-Espoo,1084,1028,1011,+Kanta-Helsinki','+Lnsi-Vantaa,1102,1001,+Kanta-Helsinki','+Keski-Vantaa,1109,1001,+Kanta-Helsinki','+Pohjois-Vantaa,1127,1025,1001,+Kanta-Helsinki','+It-Vantaa,1128,1025,1001,+Kanta-Helsinki',0,0,0,0,0,0,
'+Lnsi-Espoo,1093,1028,+Lnsi-Helsinki','+Pohjois-Espoo,1097,1104,1029,+Lnsi-Helsinki','+Etel-Espoo,1068,1084,1028,+Lnsi-Helsinki','+Keski-Espoo,1084,1028,+Lnsi-Helsinki','+Lnsi-Vantaa,1102,1014,+Lnsi-Helsinki','+Keski-Vantaa,1109,1025,1016,+Lnsi-Helsinki','+Pohjois-Vantaa,1127,1016,+Lnsi-Helsinki','+It-Vantaa,1128,1016,+Lnsi-Helsinki','+Kanta-Helsinki,1001,1012,+Lnsi-Helsinki',0,0,0,0,0,
'+Lnsi-Espoo,1093,1028,1029,1025,+Vanha-Helsinki','+Pohjois-Espoo,1097,1104,1029,1025,+Vanha-Helsinki','+Etel-Espoo,1068,1032,1025,+Vanha-Helsinki','+Keski-Espoo,1084,1028,1029,1025,+Vanha-Helsinki','+Lnsi-Vantaa,1102,1014,1025,+Vanha-Helsinki','+Keski-Vantaa,1109,1025,+Vanha-Helsinki','+Pohjois-Vantaa,1127,1024,+Vanha-Helsinki','+It-Vantaa,1128,1024,+Vanha-Helsinki','+Kanta-Helsinki,1001,1018,+Vanha-Helsinki','+Lnsi-Helsinki,1016,1025,+Vanha-Helsinki',0,0,0,0,
'+Lnsi-Espoo,1093,1084,1032,+Konalanseutu','+Pohjois-Espoo,1097,1104,1032,+Konalanseutu','+Etel-Espoo,1068,1032,+Konalanseutu','+Keski-Espoo,1084,1032,+Konalanseutu','+Lnsi-Vantaa,1102,1035,+Konalanseutu','+Keski-Vantaa,1109,1040,1034,+Konalanseutu','+Pohjois-Vantaa,1127,1045,1034,+Konalanseutu','+It-Vantaa,1128,1045,1034,+Konalanseutu','+Kanta-Helsinki,1001,1030,+Konalanseutu','+Lnsi-Helsinki,1014,1030,+Konalanseutu','+Vanha-Helsinki,1025,1014,1030,+Konalanseutu',0,0,0,
'+Lnsi-Espoo,1093,1084,1032,1038,+Pakilanseutu','+Pohjois-Espoo,1097,1104,1032,1038,+Pakilanseutu','+Etel-Espoo,1068,1038,+Pakilanseutu','+Keski-Espoo,1084,1038,+Pakilanseutu','+Lnsi-Vantaa,1102,1034,1038,+Pakilanseutu','+Keski-Vantaa,1109,1040,+Pakilanseutu','+Pohjois-Vantaa,1127,1045,1040,+Pakilanseutu','+It-Vantaa,1128,1045,1040,+Pakilanseutu','+Kanta-Helsinki,1001,1020,1040,+Pakilanseutu','+Lnsi-Helsinki,1014,1030,1034,1038,+Pakilanseutu','+Vanha-Helsinki,1025,1040,+Pakilanseutu','+Konalanseutu,1034,1038,+Pakilanseutu',0,0,
'+Lnsi-Espoo,1093,1084,1041,+Malminseutu','+Pohjois-Espoo,1097,1104,1032,1041,+Malminseutu','+Etel-Espoo,1068,1041,+Malminseutu','+Keski-Espoo,1084,1041,+Malminseutu','+Lnsi-Vantaa,1102,1034,1041,+Malminseutu','+Keski-Vantaa,1109,1040,1041,+Malminseutu','+Pohjois-Vantaa,1127,1045,+Malminseutu','+It-Vantaa,1128,1045,+Malminseutu','+Kanta-Helsinki,1001,1020,1040,1041,+Malminseutu','+Lnsi-Helsinki,1014,1030,1034,1041,+Malminseutu','+Vanha-Helsinki,1025,1040,1041,+Malminseutu','+Konalanseutu,1034,1041,+Malminseutu','+Pakilanseutu,1040,1041,+Malminseutu',0,
'+Lnsi-Espoo,1093,1084,1045,1060,+It-Helsinki','+Pohjois-Espoo,1097,1104,1032,1045,1060,+It-Helsinki','+Etel-Espoo,1068,1045,1060,+It-Helsinki','+Keski-Espoo,1084,1045,1060,+It-Helsinki','+Lnsi-Vantaa,1102,1034,1045,1060,+It-Helsinki','+Keski-Vantaa,1109,1040,1045,1060,+It-Helsinki','+Pohjois-Vantaa,1127,1045,1060,+It-Helsinki','+It-Vantaa,1128,1045,1060,+It-Helsinki','+Kanta-Helsinki,1001,1020,1052,+It-Helsinki','+Lnsi-Helsinki,1014,1030,1034,1045,1060,+It-Helsinki','+Vanha-Helsinki,1020,1052,+It-Helsinki','+Konalanseutu,1034,1045,1060,+It-Helsinki','+Pakilanseutu,1040,1045,1060,+It-Helsinki','+Malminseutu,1045,1060,+It-Helsinki'
)64,32,148,242,505,193,476,5082,70,2,872,335,0,MIDM2,198,39,805,439,0,MIDM65535,52427,65534[In3,In4][In3,In4]Data based on a map of Helsinki Metropolitan area (YTV liikenne: Pkaupunkiseudun joukkoliikennekartta 11.8.2002).Route listChanges the Routes outside into a one-dimensional list.var c:= if Routes_outside=0 then 0 else 1;
c:= sum(sum(c,in3),in4);
Index a:= 1..c;
Index b:= ['In3','In4','Data'];
var d:= Mdarraytotable(Routes_outside,a,b);
d:= d[.b='Data'];
d64,136,148,242,102,90,476,2972,214,56,537,610,0,MIDMRegion explode'Explodes' the regional route lists in a way that any driving instruction that applies to a region, applies also to all areas within the region.var b:= route_list;
var x:= 1;
while x<= size(Region) do ( {Ky lpi jokainen alue}
var c:= slice(Region,x);
var d:= slice(Regions,x);
var h:= b;
var j:= size(b);
d:= splittext(d,',');
var y:= 1;
while y<= size(b) do ( {Ky lpi jokainen ajo-ohje}
var f:= slice(h,y);
f:= if Istext(f) then f else '';
(if findintext(c,f)>0 then (
f:= textreplace(f,c,d,true); {Korvaa ryhmaluenimet aluenimill}
b:= concat(b,f)) else 0);
y:= y+1);
x:= x+1);
{Tst alkaa vanha Aluerajaytys_b}
index In3:= 1..size(b);
b:= slice(b, In3);
b:= (if findintext('+',b)>0 then null else b); { Hvitetn aluenimet
var c:= unique(b,in3); Romauta kaikki toistuvat rivit
b:= slice(b,in3,c);
b:= slice(b,in3);}
var c:= subset(istext(b)); {Romauta kaikki tyhjt rivit}
b:= slice(b,in3,c);
index in5:= 1..size(b);
b:= slice(b,in5);
{Poista reitist samat toistuvat pisteet
x:=1;
while x<=size(mista) do (
c:= slice(mista,x)&'';
b:= textreplace(b,c&','&c,c,true);
x:=x+1 );
b}64,200,148,242,102,90,476,5902,10,11,474,620,0,MIDMRegionsDescribes the small areas that belong into each larger region. The region names must start with '+'. All areas must be mentioned exactly once. Regions were selected in a way that they are as large as possible without creating very unrealistic routes between areas.Table(Region)(
'1091,1092,1093,1094,1095,1096','1097,1098,1099','1067,1068,1069,1070,1071,1073,1074,1075,1076,1077,1078,1079,1080','1072,1081,1082,1083,1084,1085,1086,1087,1088,1089,1090','1100,1101,1102,1103,1104,1105,1106,1107,1108','1109,1110,1111,1112,1113,1114,1115,1116,1123','1118,1119,1120,1121,1122,1124,1125,1126,1127','1117,1128,1129','1001,1002,1003,1004,1005,1006,1007,1008,1009,1010,1011,1026,1066','1012,1013,1014,1015,1016,1027,1028,1029','1017,1018,1019,1020,1021,1022,1023,1024,1025','1030,1031,1032,1033,1034,1035','1036,1037,1038,1039,1040','1041,1042,1043,1044,1045,1046,1047,1048,1049,1050,1051','1052,1053,1054,1055,1056,1057,1058,1059,1060,1061,1062,1063,1064,1065')64,264,148,242,88,98,771,523,0,MIDM2,20,224,651,394,0,MIDM52425,39321,65535Data based on a map of Helsinki Metropolitan area (YTV liikenne: Pkaupunkiseudun joukkoliikennekartta 11.8.2002).PrematrixThe crude route instruction matrix without the information from Routes inside and Roads nodes.var mirror2:= mirror(region_explode,region_explode.in5);
var a:= mirror2;
a:= evaluate(selecttext(a,1,4))*10000+evaluate(selecttext(a,textlength(a)-3));
index b:=a;
index c:= [1];
index d:= 2..size(Mirror2.a);
var e:= concat(c,d,c,d,b);
e:= slice(Mirror2,Mirror2.a,e);
e:= e[.b=From*10000+To1];
if e=null then From&','&To1 else e176,200,148,242,102,90,476,5862,408,52,759,604,0,MIDM[To1,From]1,I,4,2,0,0Road mirror'Mirrors' the driving instructions in a way that if an instruction applies to 'from A to B', its reverse applies to 'from B to A'.index roa:= 1..size(route_list1)+size(roads);
var a:= concat(roads,route_list1,roads,route_list1.a,roa);
a:= mirror(a,roa);
a:= clean_rows(a);
var c:= for y[]:= a do (
var e:= (if findintext(y,a)>0 then 1 else 0);
e:= sum(e,e.a)-1 );
a:= if c>0 then 0 else a;
clean_rows(a)288,136,148,242,102,90,476,4092,219,-3,563,627,0,MIDMRoutes insideDefines the routes between every two areas within a region. The route description needs not be in full detail, e.g. if a route between two areas is defined in Roads node, it is enough to define the start and end areas here. A minimum number of existing roads were selected so that the routes in the model would not be very unrealistic. This work was done manually with a map.Table(In3,In4,region)(
'1091,1092','1097,1098','1067,1068','1072,1085,1084,1083,1081','1100,1101','1109,1110','1118,1127,1119','1117,1128','1001,1002','1012,1013','1017,1019,1018','1030,1034,1031','1036,1037','1041,1042','1052,1055,1053',
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
'1091,1092,1093','1097,1099','1067,1069','1072,1085,1084,1083,1082','1100,1101,1102','1109,1110,1111','1118,1120','1117,1128,1129','1001,1004,1003','1012,1014','1017,1019','1030,1034,1032','1036,1038','1041,1043','1052,1055,1054',
'1092,1093','1098,1097,1099','1068,1069','1081,1082','1101,1102','1110,1111','1119,1127,1120','1128,1129','1002,1004,1003','1013,1014','1018,1019','1031,1032','1037,1036,1038','1042,1043','1053,1055,1054',
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
'1091,1092,1093,1094',0,'1067,1073,1070','1072,1085,1084,1083','1100,1104,1103','1109,1112','1118,1120,1121','1117,1130','1001,1004','1012,1015','1017,1020','1030,1034,1032,1033','1036,1038,1039','1041,1044','1052,1055',
'1092,1093,1094',0,'1068,1070','1081,1083','1101,1103','1110,1109,1112','1119,1121','1128,1130','1002,1004','1013,1015','1018,1020','1031,1032,1033','1037,1040,1039','1042,1043,1044','1053,1055',
'1093,1094',0,'1069,1070','1082,1083','1102,1103','1111,1112','1120,1121','1129,1130','1003,1004','1014,1016,1015','1019,1020','1032,1033','1038,1039','1043,1044','1054,1055',
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
'1091,1092,1095',0,'1067,1073,1071','1072,1085,1084','1100,1104','1109,1113','1118,1120,1122',0,'1001,1005','1012,1015,1016','1017,1021','1030,1034','1036,1038,1040','1041,1043,1045','1052,1055,1056',
'1092,1095',0,'1068,1070,1071','1081,1083,1084','1101,1104','1110,1109,1113','1119,1121,1122',0,'1002,1001,1005','1013,1015,1016','1018,1019,1021','1031,1034','1037,1040','1042,1045','1053,1055,1056',
'1093,1095',0,'1069,1071','1082,1083,1084','1102,1101,1104','1111,1110,1109,1113','1120,1122',0,'1003,1004,1005','1014,1016','1019,1021','1032,1034','1038,1040','1043,1045','1054,1056',
'1094,1093,1095',0,'1070,1071','1083,1084','1103,1104','1112,1113','1121,1122',0,'1004,1005','1015,1016','1020,1021','1033,1032,1034','1039,1040','1044,1043,1045','1055,1056',
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
'1091,1092,1095,1096',0,'1067,1073','1072,1085','1100,1104,1103,1105','1109,1112,1114','1118,1120,1121,1124',0,'1001,1005,1006','1012,1013,1027','1017,1022','1030,1034,1035',0,'1041,10441046','1052,1055,1054,1058,1057',
'1092,1095,1096',0,'1068,1067,1073','1081,1083,1084,1085','1101,1103,1105','1110,1109,1112,1114','1119,1121,1124',0,'1002,1001,1005,1006','1013,1027','1018,1020,1022','1031,1034,1035',0,'1042,1043,10441046','1053,1055,1054,1058,1057',
'1093,1095,1096',0,'1069,1073','1082,1083,1084,1085','1102,1103,1105','1111,1110,1109,1112,1114','1120,1121,1124',0,'1003,1004,1005,1006','1014,1013,1027','1019,1022','1032,1035',0,'1043,1044,1046','1054,1058,1057',
'1094,1093,1095,1096',0,'1070,1073','1083,1084,1085','1103,1105','1112,1114','1121,1124',0,'1004,1006','1015,1027','1020,1022','1033,1032,1035',0,'1044,1046','1055,1054,1058,1057',
'1095,1096',0,'1071,1073','1084,1085','1104,1103,1105','1113,1114','1122,1121,1124',0,'1005,1006','1016,1015,1013,1027','1021,1022','1034,1035',0,'1045,1044,1046','1056,1054,1058,1057',
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,'1067,1073,1074','1072,1085,1086','1100,1104,1103,1106','1109,1113,1115','1118,1127,1125',0,'1001,1004,1007','1012,1013,1027,1028','1017,1022,1023','1030,1014',0,'1041,1047','1052,1055,1054,1058',
0,0,'1068,1067,1073,1074','1081,1083,1086','1101,1103,1106','1110,1109,1113,1115','1119,1126,1125',0,'1002,1004,1007','1013,1027,1028','1018,1020,1023','1031,1029,1014',0,'1042,1041,1047','1053,1055,1054,1058',
0,0,'1069,1073,1074','1082,1086','1102,1103,1106','1111,1110,1109,1113,1115','1120,1121,1125',0,'1003,1007','1014,1029,1028','1019,1022,1023','1032,1029,1014',0,'1043,1041,1047','1054,1058',
0,0,'1070,1073,1074','1083,1086','1103,1106','1112,1115','1121,1125',0,'1004,1007','1015,1013,1027,1028','1020,1023','1033,1032,1029,1014',0,'1044,1047','1055,1054,1058',
0,0,'1071,1074','1084,1086','1104,1103,1106','1113,1115','1122,1121,1125',0,'1005,1007','1016,1014,1029,1028','1021,1022,1023','1034,1030,1014',0,'1045,1044,1047','1056,1054,1058',
0,0,'1073,1074','1085,1086','1105,1106','1114,1115','1124,1125',0,'1006,1005,1007','1027,1028','1022,1023','1035,1034,1030,1014',0,'1046,1047','1057,1058',
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,'1067,1073,1074,1075','1072,1085,1086,1087','1100,1104,1103,1107','1109,1113,1116','1118,1127,1125,1126',0,'1001,1004,1003,1008','1012,1014,1029','1017,1025,1024',0,0,'1041,1047,1048','1052,1055,1054,1059',
0,0,'1068,1067,1073,1074,1075','1081,1083,1087','1101,1103,1107','1110,1109,1113,1116','1119,1126',0,'1002,1004,1003,1008','1013,1027,1028,1029','1018,1020,1023,1024',0,0,'1042,1041,1047,1048','1053,1055,1054,1059',
0,0,'1069,1073,1074,1075','1082,1087','1102,1107','1111,1110,1109,1113,1116','1120,1121,1125,1126',0,'1003,1008','1014,1029','1019,1022,1023,1024',0,0,'1043,1041,1047,1048','1054,1059',
0,0,'1070,1073,1074,1075','1083,1087','1103,1107','1112,1115,1116','1121,1125,1126',0,'1004,1008','1015,1016,1014,1029','1020,1023,1024',0,0,'1044,1047,1048','1055,1054,1059',
0,0,'1071,1074,1075','1084,1086,1087','1104,1103,1107','1113,1116','1122,1121,1125,1126',0,'1005,1008','1016,1014,1029','1021,1022,1023,1024',0,0,'1045,1044,1047,1048','1056,1059',
0,0,'1073,1074,1075','1085,1086,1087','1105,1103,1107','1114,1115,1116','1124,1125,1126',0,'1006,1008','1027,1028,1029','1022,1023,1024',0,0,'1046,1048','1057,1060,1059',
0,0,'1074,1075','1086,1087','1106,1103,1107','1115,1116','1125,1126',0,'1007,1003,1008','1028,1029','1023,1024',0,0,'1047,1048','1058,1059',
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,'1067,1073,1074,1076','1072,1085,1090,1089,1088','1100,1104,1103,1108','1109,1112,1123','1118,1127',0,'1001,1002,1009',0,'1017,1025',0,0,'1041,1044,1046,1049','1052,1055,1054,1058,1060',
0,0,'1068,1067,1073,1074,1076','1081,1083,1087,1088','1101,1103,1108','1110,1109,1112,1123','1119,1127',0,'1002,1009',0,'1018,1020,1022,1025',0,0,'1042,1043,1044,1046,1049','1053,1055,1054,1058,1060',
0,0,'1069,1073,1074,1076','1082,1087,1088','1102,1108','1111,1110,1109,1112,1123','1120,1127',0,'1003,1009',0,'1019,1022,1025',0,0,'1043,1044,1046,1049','1054,1058,1060',
0,0,'1070,1073,1074,1076','1083,1087,1088','1103,1108','1112,1123','1121,1120,1127',0,'1004,1009',0,'1020,1022,1025',0,0,'1044,1046,1049','1055,1054,1058,1060',
0,0,'1071,1074,1076','1084,1083,1087,1088','1104,1103,1108','1113,1112,1123','1122,1120,1127',0,'1005,1004,1009',0,'1021,1025',0,0,'1045,1044,1046,1049','1056,1059,1060',
0,0,'1073,1074,1076','1085,1090,1089,1088','1105,1103,1108','1114,1123','1124,1125,1127',0,'1006,1005,1004,1009',0,'1022,1025',0,0,'1046,1049','1057,1060',
0,0,'1074,1076','1086,1087,1088','1106,1103,1108','1115,1114,1123','1125,1127',0,'1007,1003,1009',0,'1023,1022,1025',0,0,'1047,1046,1049','1058,1060',
0,0,'1075,1076','1087,1088','1107,1108','1116,1115,1114,1123','1126,1127',0,'1008,1003,1009',0,'1024,1025',0,0,'1048,1049','1059,1060',
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,'1067,1073,1074,1076,1077','1072,1085,1090,1089',0,0,0,0,'1001,1002,1010',0,0,0,0,'1041,1043,1050','1052,1055,1054,1058,1061',
0,0,'1068,1067,1073,1074,1076,1077','1081,1083,1087,1089',0,0,0,0,'1002,1010',0,0,0,0,'1042,1043,1050','1053,1055,1054,1058,1061',
0,0,'1069,1073,1074,1076,1077','1082,1087,1089',0,0,0,0,'1003,1010',0,0,0,0,'1043,1050','1054,1058,1061',
0,0,'1070,1073,1074,1076,1077','1083,1087,1089',0,0,0,0,'1004,1010',0,0,0,0,'1044,1046,1050','1055,1054,1058,1061',
0,0,'1071,1074,1076,1077','1084,1083,1087,1089',0,0,0,0,'1005,1001,1002,1010',0,0,0,0,'1045,1050','1056,1054,1058,1061',
0,0,'1073,1074,1076,1077','1085,1090,1089',0,0,0,0,'1006,1005,1001,1002,1010',0,0,0,0,'1046,1050','1057,1061',
0,0,'1074,1076,1077','1086,1087,1089',0,0,0,0,'1007,1003,1010',0,0,0,0,'1047,1046,1050','1058,1061',
0,0,'1075,1076,1077','1087,1089',0,0,0,0,'1008,1003,1010',0,0,0,0,'1048,1046,1050','1059,1060,1061',
0,0,'1076,1077','1088,1089',0,0,0,0,'1009,1010',0,0,0,0,'1049,1050','1060,1061',
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,'1067,1073,1074,1076,1078','1072,1085,1090',0,0,0,0,'1001,1002,1011',0,0,0,0,'1041,1043,1045,1051','1052,1055,1054,1058,1061,1062',
0,0,'1068,1067,1073,1074,1076,1078','1081,1083,1084,1085,1090',0,0,0,0,'1002,1011',0,0,0,0,'1042,1045,1051','1053,1055,1054,1058,1061,1062',
0,0,'1069,1073,1074,1076,1078','1082,1083,1084,1085,1090',0,0,0,0,'1003,1002,1011',0,0,0,0,'1043,1045,1051','1054,1058,1061,1062',
0,0,'1070,1073,1074,1076,1078','1083,1084,1085,1090',0,0,0,0,'1004,1002,1011',0,0,0,0,'1044,1043,1045,1051','1055,1054,1058,1061,1062',
0,0,'1071,1074,1076,1078','1084,1085,1090',0,0,0,0,'1005,1001,1002,1011',0,0,0,0,'1045,1051','1056,1054,1058,1061,1062',
0,0,'1073,1074,1076,1078','1085,1090',0,0,0,0,'1006,1005,1001,1002,1011',0,0,0,0,'1046,1050,1051','1057,1061,1062',
0,0,'1074,1076,1078','1086,1090',0,0,0,0,'1007,1003,1002,1011',0,0,0,0,'1047,1046,1050,1051','1058,1061,1062',
0,0,'1075,1076,1078','1087,1089,1090',0,0,0,0,'1008,1003,1002,1011',0,0,0,0,'1048,1046,1050,1051','1059,1060,1062',
0,0,'1076,1078','1088,1089,1090',0,0,0,0,'1009,1002,1011',0,0,0,0,'1049,1050,1051','1060,1062',
0,0,'1077,1078','1089,1090',0,0,0,0,'1010,1002,1011',0,0,0,0,'1050,1051','1061,1062',
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,'1067,1073,1074,1076,1079',0,0,0,0,0,'1001,1002,1010,1026',0,0,0,0,0,'1052,1055,1054,1058,1057,1063',
0,0,'1068,1067,1073,1074,1076,1079',0,0,0,0,0,'1002,1010,1026',0,0,0,0,0,'1053,1055,1054,1058,1057,1063',
0,0,'1069,1073,1074,1076,1079',0,0,0,0,0,'1003,1010,1026',0,0,0,0,0,'1054,1058,1057,1063',
0,0,'1070,1073,1074,1076,1079',0,0,0,0,0,'1004,1010,1026',0,0,0,0,0,'1055,1054,1058,1057,1063',
0,0,'1071,1074,1076,1079',0,0,0,0,0,'1005,1001,1002,1010,1026',0,0,0,0,0,'1056,1054,1058,1057,1063',
0,0,'1073,1074,1076,1079',0,0,0,0,0,'1006,1005,1001,1002,1010,1026',0,0,0,0,0,'1057,1063',
0,0,'1074,1076,1079',0,0,0,0,0,'1007,1003,1010,1026',0,0,0,0,0,'1058,1057,1063',
0,0,'1075,1076,1079',0,0,0,0,0,'1008,1003,1010,1026',0,0,0,0,0,'1059,1060,1057,1063',
0,0,'1076,1079',0,0,0,0,0,'1009,1010,1026',0,0,0,0,0,'1060,1057,1063',
0,0,'1077,1076,1079',0,0,0,0,0,'1010,1026',0,0,0,0,0,'1061,1057,1063',
0,0,'1078,1079',0,0,0,0,0,'1011,1002,1010,1026',0,0,0,0,0,'1062,1063',
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,'1067,1073,1074,1076,1078,1080',0,0,0,0,0,'1001,1005,1066',0,0,0,0,0,'1052,1055,1054,1058,1057,1063,1064',
0,0,'1068,1067,1073,1074,1076,1078,1080',0,0,0,0,0,'1002,1001,1005,1066',0,0,0,0,0,'1053,1055,1054,1058,1057,1063,1064',
0,0,'1069,1073,1074,1076,1078,1080',0,0,0,0,0,'1003,1004,1005,1066',0,0,0,0,0,'1054,1058,1057,1063,1064',
0,0,'1070,1073,1074,1076,1078,1080',0,0,0,0,0,'1004,1005,1066',0,0,0,0,0,'1055,1054,1058,1057,1063,1064',
0,0,'1071,1074,1076,1078,1080',0,0,0,0,0,'1005,1066',0,0,0,0,0,'1056,1054,1058,1057,1063,1064',
0,0,'1073,1074,1076,1078,1080',0,0,0,0,0,'1006,1005,1066',0,0,0,0,0,'1057,1063,1064',
0,0,'1074,1076,1078,1080',0,0,0,0,0,'1007,1005,1066',0,0,0,0,0,'1058,1057,1063,1064',
0,0,'1075,1076,1078,1080',0,0,0,0,0,'1008,1003,1004,1005,1066',0,0,0,0,0,'1059,1060,1057,1063,1064',
0,0,'1076,1078,1080',0,0,0,0,0,'1009,1002,1001,1005,1066',0,0,0,0,0,'1060,1057,1063,1064',
0,0,'1077,1078,1080',0,0,0,0,0,'1010,1002,1001,1005,1066',0,0,0,0,0,'1061,1057,1063,1064',
0,0,'1078,1080',0,0,0,0,0,'1011,1002,1001,1005,1066',0,0,0,0,0,'1062,1063,1064',
0,0,'1079,1080',0,0,0,0,0,'1026,1010,1002,1001,1005,1066',0,0,0,0,0,'1063,1064',
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,'1052,1055,1054,1058,1057,1063,1065',
0,0,0,0,0,0,0,0,0,0,0,0,0,0,'1053,1055,1054,1058,1057,1063,1065',
0,0,0,0,0,0,0,0,0,0,0,0,0,0,'1054,1058,1057,1063,1065',
0,0,0,0,0,0,0,0,0,0,0,0,0,0,'1055,1054,1058,1057,1063,1065',
0,0,0,0,0,0,0,0,0,0,0,0,0,0,'1056,1054,1058,1057,1063,1065',
0,0,0,0,0,0,0,0,0,0,0,0,0,0,'1057,1063,1065',
0,0,0,0,0,0,0,0,0,0,0,0,0,0,'1058,1057,1063,1065',
0,0,0,0,0,0,0,0,0,0,0,0,0,0,'1059,1060,1062,1065',
0,0,0,0,0,0,0,0,0,0,0,0,0,0,'1060,1062,1065',
0,0,0,0,0,0,0,0,0,0,0,0,0,0,'1061,1062,1065',
0,0,0,0,0,0,0,0,0,0,0,0,0,0,'1062,1065',
0,0,0,0,0,0,0,0,0,0,0,0,0,0,'1063,1065',
0,0,0,0,0,0,0,0,0,0,0,0,0,0,'1064,1065',
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
)176,32,148,242,109,4,872,346,0,MIDM2,184,194,805,439,0,MIDM65535,52427,65534[In3,In4][Region,In3]Data based on a map of Helsinki Metropolitan area (YTV liikenne: Pkaupunkiseudun joukkoliikennekartta 11.8.2002).Route listChanges the Routes inside into a one-dimensional list.var c:= if Routes_inside=0 then 0 else 1;
c:= sum(sum(sum(c,in3),in4),region);
Index f:= 1..c;
Index b:= ['Region','In3','In4','Data'];
var d:= Mdarraytotable(Routes_inside,f,b);
d:= d[.b='Data'];
d:= if textlength(d)=9 then 0 else d;
clean_rows(d)176,136,148,242,283,96,476,3462,49,13,370,610,0,MIDMLink lengthkmThe distance between two areas.
Distances are rough estimates measured with a string and a ruler. This approach was considered exact enough, as the road structure is the same in all scenarios considered.Table(Links_1)(
0,0.8,1,0.6,1.7,1.7,1.1,1.1,1.2,1.5,1.7,1.2,0.8,0.8,0.8,2.1,2.9,2.2,1.1,0.8,3,2.4,1.1,1.3,3.3,1.7,9999,9999,2.8,3,5.4,2.8,2.8,3,3.6,3,2,2.6,1,9999,1.6,1.6,9999,1.2,1.4,1,9999,9999,1,9999,2.3,2.2,1.1,1.6,1.8,9999,1.1,1.4,1.2,1,1.1,1.7,0.8,0.9,9999,2.4,1.6,2.3,0.4,1.8,2.4,1.9,2.5,9999,9999,4,0.8,9999,1.3,9999,3.7,9999,2.8,1.8,1.9,2.5,2.4,2.1,2.8,3.4,5.6,1.4,1.7,9999,1.8,1.8,0.8,2.6,2.7,1.2,2.2,2.8,5.3,1.9,1.3,1.4,2.3,2,2,1.4,1.2,4.6,3.2,1.7,1.8,4,2.9,9999,9999,9999,9999,9999,9999,9999,2.2,9999,9999,9999,9999,9999,5,2.4,3.6,1.4,2.4,1.6,3,3.2,2,1.5,1.5,2.1,1.2,1.1,2.6,9999,1.7,9999,9999,2.6,1,2.2,1.3,2.6,2.7,2.6,1.9,1.1,2.5,4,2,3,9999,3,1.3,2.7,3.2,2.6,1.7,1.1,2,0.9,2.8,1.6,2.4,1.5,2.8,1.7,2.7,1.3,1.5,3,2.8,2.7,5,2.2,3.8,4.2,3.4,5.2,4.7,1.1,5.5,1,0.9,1.2,9999,3,2.9,1.1,2.8,2.3,3.3,3,3,2.1,6.8,1.5,4.1,3.2,2,1.7,2,1.4,3.2,4.8,3.6,5.8,6.8,2.3,5.2,8.7,4.2,1.6,3.4,9999,3,5.4,4.1,3.6,5.9,5.4,3.6,2,6.8,1.6,3,6.2,2.1,4.2,1.4,2.3,4,3.6,2.8,9999,3.4,2,3.8,9999,1.8,3.4,1.8,2,9999,3.2,9999,1.5,1.2,9999,9999,9999,2.5,4.1,3,3,9999,2.9,2.3,2.2,1.8,2,1.6,2.4,3.5,2,0.9,4.7,3.6,2.8)400,112,148,242,707,92,227,419,0,MIDM2,288,18,177,576,0,MIDM65535,52427,655341,D,4,2,0,0Data based on a map of Helsinki Metropolitan area (YTV liikenne: Pkaupunkiseudun joukkoliikennekartta 11.8.2002).Index showing the direct links that exist in reality, i.e. excluding those routes from one area to another where you have to go through a third area.['1001,1001','1001,1002','1001,1004','1001,1005','1001,1011','1001,1012','1001,1015','1001,1018','1002,1003','1002,1004','1002,1009','1002,1010','1002,1011','1003,1004','1003,1007','1003,1008','1003,1009','1003,1010','1004,1005','1004,1007','1004,1009','1004,1010','1005,1006','1005,1007','1005,1066','1009,1010','1009,1085','1009,1089','1010,1011','1010,1026','1010,1067','1011,1012','1011,1013','1012,1013','1012,1014','1012,1015','1013,1014','1013,1015','1013,1027','1013,1030','1014,1015','1014,1016','1014,1017','1014,1029','1014,1030','1015,1016','1015,1017','1015,1030','1016,1025','1016,1030','1017,1019','1017,1020','1017,1021','1017,1022','1017,1025','1017,1027','1018,1019','1018,1020','1019,1020','1019,1021','1019,1022','1020,1021','1020,1022','1020,1023','1020,1028','1020,1052','1021,1022','1021,1025','1022,1023','1022,1025','1023,1024','1024,1025','1024,1042','1025,1028','1025,1032','1025,1040','1027,1028','1027,1030','1028,1029','1028,1030','1028,1084','1029,1030','1029,1032','1030,1034','1031,1032','1031,1034','1032,1033','1032,1034','1032,1035','1032,1083','1032,1104','1034,1035','1034,1038','1034,1109','1035,1102','1036,1037','1036,1038','1037,1040','1038,1039','1038,1040','1039,1040','1040,1041','1040,1109','1041,1042','1041,1043','1041,1044','1041,1047','1042,1043','1042,1045','1043,1044','1043,1045','1043,1050','1044,1045','1044,1046','1044,1047','1045,1050','1045,1051','1045,1052','1045,1053','1045,1054','1045,1055','1045,1056','1045,1057','1045,1059','1045,1060','1045,1061','1045,1062','1045,1063','1045,1064','1045,1065','1045,1128','1046,1047','1046,1048','1046,1049','1046,1050','1047,1048','1048,1049','1049,1050','1050,1051','1052,1055','1053,1055','1054,1055','1054,1056','1054,1058','1054,1059','1054,1061','1055,1056','1055,1058','1055,1061','1056,1059','1057,1058','1057,1060','1057,1061','1057,1063','1058,1059','1058,1060','1058,1061','1059,1060','1060,1061','1060,1062','1061,1062','1062,1063','1062,1064','1062,1065','1063,1064','1063,1065','1064,1065','1067,1068','1067,1069','1067,1073','1068,1069','1068,1070','1068,1084','1069,1070','1069,1071','1069,1073','1070,1071','1070,1073','1071,1073','1071,1074','1072,1085','1073,1074','1074,1075','1074,1076','1074,1085','1075,1076','1076,1077','1076,1078','1076,1079','1077,1078','1078,1079','1078,1080','1079,1080','1081,1082','1081,1083','1082,1083','1082,1084','1082,1086','1082,1087','1083,1084','1083,1086','1083,1087','1084,1085','1084,1086','1085,1086','1085,1090','1085,1093','1086,1087','1086,1090','1087,1088','1087,1089','1088,1089','1089,1090','1091,1092','1092,1093','1092,1095','1093,1094','1093,1095','1093,1097','1095,1096','1097,1098','1097,1099','1097,1104','1100,1101','1100,1104','1100,1111','1101,1102','1101,1103','1101,1104','1102,1103','1102,1107','1102,1108','1103,1104','1103,1105','1103,1106','1103,1107','1103,1108','1105,1106','1107,1108','1107,1110','1109,1110','1109,1112','1109,1113','1109,1117','1110,1111','1111,1117','1112,1113','1112,1114','1112,1115','1112,1117','1112,1123','1113,1114','1113,1115','1113,1116','1113,1117','1114,1115','1114,1117','1114,1123','1115,1116','1115,1117','1116,1117','1117,1123','1117,1128','1118,1120','1118,1127','1119,1121','1119,1125','1119,1126','1119,1127','1120,1121','1120,1122','1120,1127','1121,1122','1121,1124','1121,1125','1124,1125','1125,1126','1125,1127','1127,1128','1128,1129']400,144,148,121,D,4,2,0,0For creating Links_1This module is only for creating the index Links_1, and now when the index has been created, these nodes are no longer needed.ktluser3. marta 2004 16:3748,24400,264,148,241,236,37,255,294,17Linkvar x:= 1;
var a:= slice(From,x)*10000+From;
while x<size(From) do (
x:= x+1;
var b:= slice(From,x)*10000+From;
a:= concat(a,b) )64,64,148,122,146,145,416,303,0,MIDM1,I,4,2,0,0Linksvar a:=From&','&To1;
var c:= for x[]:= a do (
var b:= if findintext(x,Route_matrix)>0 then 1 else 0;
sum(sum(b,From),To1) );
c:= c[From=floor(link/10000),To1=(link-floor(link/10000)*10000)];
c:= if c>0 then link else 0;
c64,32,148,242,102,90,476,2832,44,74,190,624,0,MIDM[To1,From]1,I,4,2,0,0var c:= if floor(link/10000)>=(link-floor(link/10000)*10000) then 0 else links1;
c:= unique(c,link);
index b:= 1..size(c);
c:= slice(c,b);
floor(c/10000)&','&c-floor(c/10000)*10000176,32,148,242,349,22,593,572,0,MIDMLinksvar d:= if istext(bus_routes) then bus_routes else '';
var a:=From&','&To1;
var c:= for x[]:= a do (
var b:= if findintext(x,d)>0 then 1 else 0;
sum(sum(b,From),To1) );
c:= c[From=floor(link/10000),To1=(link-floor(link/10000)*10000)];
c:= if c>0 then link else 0;
c400,328,148,242,102,90,476,3502,44,74,598,624,0,MIDM[To1,From]1,I,4,2,0,0Bus linksvar c:= if floor(link/10000)>=(link-floor(link/10000)*10000) then 0 else links2;
c:= unique(c,link);
index b:= 1..size(c);
c:= slice(c,b);
floor(c/10000)&','&c-floor(c/10000)*10000512,328,148,242,8,58,246,572,0,MIDMvar a:= bus_routes_special[r_t='Route'];
var b:= bus_routes_special[r_t='Time'];
a:= if route_coverage[route_quality=b]=1 then a else undefined;
a[time_of_day1=time_of_day_by_hour1]288,384,148,242,88,98,830,476,0,MIDM[Hour,Bus_routes_special]Route coverageTable(Route_quality,Time_of_day1)(
1,1,1,1,0,
1,1,1,1,0,
1,0,1,0,0,
1,0,1,0,0
)400,384,148,242,518,222,416,303,0,MIDM52425,39321,65535[Route_quality,Time_of_day1][Route_quality,Time_of_day1]Route quality['day2/h','day1/h','rush2/h','rush1/h']400,416,148,12Time of day['Morning','Day','Afternoon','Evening','Night']288,480,148,12Time of day by hourTime of day by hourTable(Hour)(
'Night','Night','Night','Night','Night','Night','Morning','Morning','Morning','Day','Day','Day','Day','Day','Day','Afternoon','Afternoon','Afternoon','Evening','Evening','Evening','Evening','Night','Night')288,448,148,242,488,78,416,538,0,MIDM2,2,17,203,701,0,MIDM52425,39321,65535Bus matrix standardThis node takes all bus routes, checks the route between the two ends, and creates a route matrix of all from-to pairs that are connected with a bus route.
An interesting detail is that mirror function in the first row is for some reason needed although it should not be. This is maybe due to a non-coherent route matrix: route 1007,1003,1002 exists although route 1003,1004,1002 exists as well.var a:= bus_route_ends[r_t='Route'];
var b:= bus_route_ends[r_t='Time'];
a:= if route_coverage[route_quality=b]=1 then a else '';
for w[bus_route_ends]:= a do (
a:= mirror(a,Bus_route_ends);
b:= 0;
var x:=1;
while x<=size(a) do (
var c:= slice(a,a.a,x);
b:= if from=evaluate(Selecttext(c,1,4)) and to1=evaluate(selecttext(c,6,9)) then 1 else b;
x:= x+1);
b:= if b=1 then route_matrix else '';
var e:= for z[]:= from do (
for y[]:= to1 do (
var d:= if Findintext(z&'',b)>0 and Findintext(y&'',b)>0 then 1 else 0;
sum(sum(d))
));
if e>0 then route_matrix
)400,472,148,242,349,98,642,529,0,MIDM[To1,From]Static nodes'Static nodes' contains previously computed simulations in a static form. The traffic optimising is rather time-consuming work (1 hour per scenario), and it cannot be done in real time. Therefore, all health effect and cost estimates are calculated from previously computed numbers that are stored in this module.ktluser30. lokta 2004 9:4548,2456,32,148,241,0,0,1,1,1,0,,0,1,40,91,554,453,17ScenariosA table of different scenarios to be studied. Each row contains the values for the input variables used for the scenario.Table(Input_var,Scenario)(
1,0.75,0.6,0.5,0.4,0.5,0.5,0.5,0.5,0.5,
1,1,1,1,1,0.8,0.6,0.4,0.2,1,
7,7,7,7,7,7,7,7,7,7,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
8,8,8,8,8,8,8,8,8,8,
4,4,4,4,4,4,4,4,4,4,
2,2,2,2,2,2,2,2,2,2,
8,8,8,8,8,8,8,8,8,8
)['Composite fraction','Guarantee level','Lim']288,48,148,242,344,113,476,2242,14,18,927,328,0,MIDM2,45,69,655,554,0,MIDM52425,39321,65535[Scenario,Input_var][Input_var,Scenario]ScenarioIndex for a list of scenarios to be modelled.[1,2,3,4,5,6,7,8,9,10]288,80,148,122,102,90,476,547IteratorThe combined result of various variables using the assumptions listed in Scenarios node. Each scenario is run one by one, and the results are stored in this node.var x:= 1;
var a:= 0;
var c:= 0;
while x<= size(scenario) do (
a:= scenarios[scenario=x];
a:= whatif(Outputs1,Scenario_input,a);
c:= if scenario=x then a else c;
x:= x+1);
c176,48,148,122,463,75,476,3672,24,7,629,389,0,MIDM[Scenario,Period][Index Travel_type]OutputThe output variables from the traffic optimising module:
Number of passenger trips
Vehicle kilometres driven
Parking lots needed for the vehicles that are used
Average vehicle numbers per hour for the 30 most busy links at 8.00-9.00 in the morning
Number of vehicles needed
Waiting time due to traffic jams and waiting for composite vehicle to arrive.['Composite trips','All trips','Nochange trips','Vehicle km','Park rush veh','Waiting']64,80,148,122,511,22,476,2242,14,684,191,203,0,MIDM[0,0,1,0]sequence(0,23.99,0.2)288,320,148,12PeriodMorning-day, evening, and night are looked at separately.[' 6.00-20.00','20.00-24.00',' 0.00- 6.00']64,104,148,122,102,90,476,512BAU scenario output164,48,148,24Outputs1Trip iteratortrips/hThe combined result of Trips per hour using the assumptions listed in Scenarios node. Each scenario is run one by one, and the results are stored in this node.var x:= 1;
var a:= 0;
var c:= 0;
while x<= size(scenario) do (
a:= scenarios[scenario=x];
a:= whatif(Trips_per_hour,Scenario_input,a);
c:= if scenario=x then a else c;
x:= x+1);
c176,24,148,122,386,142,476,4762,479,39,629,389,1,MIDM[Time,Vehicle]Scenario dataSken1_1[scenario1=Scen_ind]288,232,148,242,248,258,664,303,0,MIDM2,11,81,772,303,0,MIDM[Output1,Scen_ind][Scen_ind,Output1]Scen indIndex for a list of scenarios to be modelled.copyindex(Scenario1)288,192,148,12Scenario descriptionA table of different scenarios to be studied. Each row contains the values for the input variables used for the scenario.Scenarios1[scenario1=Scen_ind]['Composite fraction','Guarantee level','Lim']288,160,148,242,107,145,476,2242,27,325,605,277,0,MIDM2,45,69,705,554,0,MIDM52425,39321,65535[Input_var,Scen_ind][Input_var,Scen_ind]Trips1.0Table(Time_stat,Scen_ind,Vehicle)(
0,0,0,0,0,13.16K,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,565,12.69K,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,20,1335,12.21K,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,220,2435,12.14K,0,0,0,0,0,0,0,0,0,0,0,0,
0,360,0,1360,4975,10.25K,0,0,0,0,0,0,0,0,0,0,0,0,
0,1320,100,2740,5885,8115,0,0,0,0,0,0,0,0,0,0,0,0,
0,1720,40,3160,6125,7280,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,12.04K,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,510,12.1K,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,40,1205,11.74K,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,280,2220,10.84K,0,0,0,0,0,0,0,0,0,0,0,0,
0,320,0,1180,4785,9000,0,0,0,0,0,0,0,0,0,0,0,0,
0,1480,40,2480,5950,7180,0,0,0,0,0,0,0,0,0,0,0,0,
0,2080,60,2820,6125,6905,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,11.13K,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,20,515,10.85K,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,40,1020,10.66K,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,120,2135,10.09K,0,0,0,0,0,0,0,0,0,0,0,0,
0,400,0,1120,4200,8150,0,0,0,0,0,0,0,0,0,0,0,0,
0,840,60,2560,5895,6900,0,0,0,0,0,0,0,0,0,0,0,0,
0,1800,20,3020,5995,6145,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,10.17K,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,460,10.02K,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,945,9530,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,120,2135,9360,0,0,0,0,0,0,0,0,0,0,0,0,
0,200,0,1100,4020,7530,0,0,0,0,0,0,0,0,0,0,0,0,
0,760,0,2000,5605,6445,0,0,0,0,0,0,0,0,0,0,0,0,
0,1680,0,2580,5885,5275,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,9545,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,445,9415,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,840,8985,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,120,1840,8360,0,0,0,0,0,0,0,0,0,0,0,0,
0,40,0,960,3590,7085,0,0,0,0,0,0,0,0,0,0,0,0,
0,560,0,2060,5050,5870,0,0,0,0,0,0,0,0,0,0,0,0,
0,960,0,2240,5670,5140,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,8590,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,325,8560,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,865,8280,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,40,1670,8040,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,900,3450,6490,0,0,0,0,0,0,0,0,0,0,0,0,
0,560,0,1500,4935,4835,0,0,0,0,0,0,0,0,0,0,0,0,
0,840,0,1860,5175,4555,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,7385,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,305,7610,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,725,7430,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,40,1535,6905,0,0,0,0,0,0,0,0,0,0,0,0,
0,80,0,460,3450,5665,0,0,0,0,0,0,0,0,0,0,0,0,
0,440,40,1460,4540,4805,0,0,0,0,0,0,0,0,0,0,0,0,
0,560,0,1500,4900,4295,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,6950,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,325,7080,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,625,6785,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,20,1440,6635,0,0,0,0,0,0,0,0,0,0,0,0,
0,120,0,460,3125,5495,0,0,0,0,0,0,0,0,0,0,0,0,
0,320,0,1140,4485,4095,0,0,0,0,0,0,0,0,0,0,0,0,
0,320,20,1420,4570,3665,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,6700,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,275,6390,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,605,6195,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,1340,5875,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,380,2985,4950,0,0,0,0,0,0,0,0,0,0,0,0,
0,360,0,940,4095,4080,0,0,0,0,0,0,0,0,0,0,0,0,
0,480,0,1360,4325,3420,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,6050,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,200,6435,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,640,6105,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,20,1250,5705,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,400,2850,4995,0,0,0,0,0,0,0,0,0,0,0,0,
0,120,0,820,4000,3815,0,0,0,0,0,0,0,0,0,0,0,0,
0,240,0,1340,4075,3800,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,6155,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,250,5795,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,20,560,5930,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,1295,5415,0,0,0,0,0,0,0,0,0,0,0,0,
0,40,0,260,2735,4680,0,0,0,0,0,0,0,0,0,0,0,0,
0,360,0,820,3840,3710,0,0,0,0,0,0,0,0,0,0,0,0,
0,200,20,1040,4500,3445,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,6165,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,275,6490,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,710,5860,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,20,1280,5730,0,0,0,0,0,0,0,0,0,0,0,0,
0,40,0,380,2610,4720,0,0,0,0,0,0,0,0,0,0,0,0,
0,200,0,1100,3890,3940,0,0,0,0,0,0,0,0,0,0,0,0,
0,120,0,1000,4260,3620,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,6665,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,220,6385,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,20,655,6540,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,20,1225,5945,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,380,2755,5040,0,0,0,0,0,0,0,0,0,0,0,0,
0,120,0,1020,3925,4100,0,0,0,0,0,0,0,0,0,0,0,0,
0,360,0,1220,4255,3595,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,7150,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,270,6925,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,20,710,6610,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,1375,6140,0,0,0,0,0,0,0,0,0,0,0,0,
0,80,0,480,2565,5155,0,0,0,0,0,0,0,0,0,0,0,0,
0,240,0,1060,4095,4100,0,0,0,0,0,0,0,0,0,0,0,0,
0,400,20,1180,4430,3865,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,7085,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,245,6870,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,610,6395,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,60,1305,6165,0,0,0,0,0,0,0,0,0,0,0,0,
0,40,0,420,3050,5435,0,0,0,0,0,0,0,0,0,0,0,0,
0,240,0,1200,3975,4235,0,0,0,0,0,0,0,0,0,0,0,0,
0,360,20,1180,4505,3965,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,7055,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,395,7130,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,40,680,6670,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,40,1280,6570,0,0,0,0,0,0,0,0,0,0,0,0,
0,80,0,240,3135,5190,0,0,0,0,0,0,0,0,0,0,0,0,
0,160,0,1060,4300,4320,0,0,0,0,0,0,0,0,0,0,0,0,
0,400,0,1480,4165,3790,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,6385,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,320,6785,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,655,6045,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,40,1205,6115,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,640,2990,4905,0,0,0,0,0,0,0,0,0,0,0,0,
0,200,0,1260,4100,4025,0,0,0,0,0,0,0,0,0,0,0,0,
0,400,20,1160,4455,3675,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,6120,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,205,5885,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,695,5455,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,1230,5390,0,0,0,0,0,0,0,0,0,0,0,0,
0,40,0,340,2805,4325,0,0,0,0,0,0,0,0,0,0,0,0,
0,200,0,1200,3930,3555,0,0,0,0,0,0,0,0,0,0,0,0,
0,240,0,1060,4090,3385,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,5330,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,205,5505,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,545,4870,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,60,1070,4805,0,0,0,0,0,0,0,0,0,0,0,0,
0,80,0,380,2355,3890,0,0,0,0,0,0,0,0,0,0,0,0,
0,160,0,740,3615,3000,0,0,0,0,0,0,0,0,0,0,0,0,
0,200,0,1000,3915,2935,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,4810,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,185,4910,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,435,4425,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,20,910,4455,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,300,2235,3805,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,480,3460,2985,0,0,0,0,0,0,0,0,0,0,0,0,
0,80,0,760,3475,2535,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,4620,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,225,4840,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,465,4420,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,20,900,4240,0,0,0,0,0,0,0,0,0,0,0,0,
0,40,0,160,2285,3795,0,0,0,0,0,0,0,0,0,0,0,0,
0,80,0,520,3170,2960,0,0,0,0,0,0,0,0,0,0,0,0,
0,40,0,560,3745,2340,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,5045,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,205,5520,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,490,4755,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,20,935,4775,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,200,2400,3905,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,460,3350,3135,0,0,0,0,0,0,0,0,0,0,0,0,
0,80,0,640,3645,2675,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,6085,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,260,5620,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,20,585,5755,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,20,1150,5350,0,0,0,0,0,0,0,0,0,0,0,0,
0,40,0,280,2495,4745,0,0,0,0,0,0,0,0,0,0,0,0,
0,120,0,720,3330,3750,0,0,0,0,0,0,0,0,0,0,0,0,
0,200,0,900,3815,3230,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,7175,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,285,7390,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,675,6995,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,40,1280,6825,0,0,0,0,0,0,0,0,0,0,0,0,
0,40,0,400,2875,5720,0,0,0,0,0,0,0,0,0,0,0,0,
0,160,20,760,3875,4145,0,0,0,0,0,0,0,0,0,0,0,0,
0,400,0,1140,4295,4285,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,9060,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,250,9015,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,810,8900,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,100,1565,8125,0,0,0,0,0,0,0,0,0,0,0,0,
0,120,0,500,3290,6670,0,0,0,0,0,0,0,0,0,0,0,0,
0,400,0,1060,4640,5495,0,0,0,0,0,0,0,0,0,0,0,0,
0,360,0,1500,4920,4765,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,10.61K,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,325,10.63K,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,20,880,10.05K,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,80,1775,9655,0,0,0,0,0,0,0,0,0,0,0,0,
0,200,0,740,3590,7640,0,0,0,0,0,0,0,0,0,0,0,0,
0,560,0,1780,5110,6090,0,0,0,0,0,0,0,0,0,0,0,0,
0,960,40,1840,5305,5950,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,12.81K,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,455,12.64K,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,40,1120,12.37K,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,120,2270,11K,0,0,0,0,0,0,0,0,0,0,0,0,
0,240,0,920,4150,9370,0,0,0,0,0,0,0,0,0,0,0,0,
0,1080,40,2300,5600,7550,0,0,0,0,0,0,0,0,0,0,0,0,
0,1280,20,2760,6060,6450,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,15.81K,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,495,14.86K,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,60,1350,14.62K,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,140,2680,13.8K,0,0,0,0,0,0,0,0,0,0,0,0,
0,520,0,1520,4740,11.52K,0,0,0,0,0,0,0,0,0,0,0,0,
0,1680,60,3100,6215,9030,0,0,0,0,0,0,0,0,0,0,0,0,
0,1880,80,3760,6610,8625,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,20.26K,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,575,19.13K,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,200,1675,19.06K,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,400,3130,17.95K,0,0,0,0,0,0,0,0,0,0,0,0,
0,960,20,2360,5645,15.06K,0,0,0,0,0,0,0,0,0,0,0,0,
0,2640,60,3880,7160,11.61K,0,0,0,0,0,0,0,0,0,0,0,0,
0,3480,160,4480,7135,11.39K,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,27.08K,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,20,785,26.58K,0,0,0,0,0,0,0,0,0,0,0,0,
0,80,0,140,2065,25.72K,0,0,0,0,0,0,0,0,0,0,0,0,
0,120,0,520,3795,24.92K,0,0,0,0,0,0,0,0,0,0,0,0,
0,1800,60,3120,6460,20.5K,0,0,0,0,0,0,0,0,0,0,0,0,
0,4680,280,5280,7845,15.9K,0,0,0,0,0,0,0,0,0,0,0,0,
40,6240,420,5040,8045,14.88K,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,36.99K,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,60,1170,35.92K,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,380,2645,35.81K,0,0,0,0,0,0,0,0,0,0,0,0,
0,400,0,1220,4700,33.18K,0,0,0,0,0,0,0,0,0,0,0,0,
0,3240,180,4560,7465,27.84K,0,0,0,0,0,0,0,0,0,0,0,0,
0,8200,600,6340,9140,22.41K,0,0,0,0,0,0,0,0,0,0,0,0,
80,9760,1080,7140,9185,20.17K,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,51.32K,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,80,1520,51.08K,0,0,0,0,0,0,0,0,0,0,0,0,
0,40,0,660,3545,48.71K,0,0,0,0,0,0,0,0,0,0,0,0,
0,1000,0,2080,5600,46.29K,0,0,0,0,0,0,0,0,0,0,0,0,
0,6480,400,5580,8335,37.8K,0,0,0,0,0,0,0,0,0,0,0,0,
40,13.84K,1420,8060,9635,30.57K,0,0,0,0,0,0,0,0,0,0,0,0,
80,16.28K,1880,8360,10.29K,28.11K,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,67.06K,0,0,0,0,0,0,0,0,0,0,0,0,
0,40,0,260,2040,67.72K,0,0,0,0,0,0,0,0,0,0,0,0,
0,200,0,1200,4530,64.97K,0,0,0,0,0,0,0,0,0,0,0,0,
0,1880,100,3160,6530,61.52K,0,0,0,0,0,0,0,0,0,0,0,0,
0,10.8K,860,6840,9465,49.7K,0,0,0,0,0,0,0,0,0,0,0,0,
320,21.68K,3000,9440,10.53K,40.51K,0,0,0,0,0,0,0,0,0,0,0,0,
360,25.32K,3380,9540,10.96K,36.88K,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,84.33K,0,0,0,0,0,0,0,0,0,0,0,0,
0,40,0,240,2735,83.05K,0,0,0,0,0,0,0,0,0,0,0,0,
0,600,0,1800,5095,79.71K,0,0,0,0,0,0,0,0,0,0,0,0,
0,3120,120,3840,7405,76.58K,0,0,0,0,0,0,0,0,0,0,0,0,
200,15.68K,1600,8040,10.25K,63.19K,0,0,0,0,0,0,0,0,0,0,0,0,
680,28.88K,4580,10.38K,11.01K,50.42K,0,0,0,0,0,0,0,0,0,0,0,0,
1240,34.48K,5780,10.18K,11.32K,46.76K,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,100.5K,0,0,0,0,0,0,0,0,0,0,0,0,
0,40,0,560,3095,99.43K,0,0,0,0,0,0,0,0,0,0,0,0,
0,880,0,2280,5615,96.06K,0,0,0,0,0,0,0,0,0,0,0,0,
0,4800,140,5040,7865,91.22K,0,0,0,0,0,0,0,0,0,0,0,0,
240,21.4K,2420,8860,10.07K,76.11K,0,0,0,0,0,0,0,0,0,0,0,0,
1240,36.8K,6640,11.16K,11.68K,60.79K,0,0,0,0,0,0,0,0,0,0,0,0,
1640,41.72K,7960,12.14K,11.91K,56.19K,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,115.8K,0,0,0,0,0,0,0,0,0,0,0,0,
0,80,0,760,3365,113.2K,0,0,0,0,0,0,0,0,0,0,0,0,
0,1440,20,3000,6320,110K,0,0,0,0,0,0,0,0,0,0,0,0,
0,6120,300,6000,8335,103.2K,0,0,0,0,0,0,0,0,0,0,0,0,
280,26.24K,3040,9700,10.95K,87.53K,0,0,0,0,0,0,0,0,0,0,0,0,
1800,43.6K,8120,12.3K,11.49K,68.91K,0,0,0,0,0,0,0,0,0,0,0,0,
2920,49.68K,9840,11.58K,12.13K,64.03K,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,128.4K,0,0,0,0,0,0,0,0,0,0,0,0,
0,160,0,660,3840,125.7K,0,0,0,0,0,0,0,0,0,0,0,0,
0,1680,40,3300,6720,119.9K,0,0,0,0,0,0,0,0,0,0,0,0,
40,7800,400,6300,8660,113.9K,0,0,0,0,0,0,0,0,0,0,0,0,
560,29.96K,3560,10.24K,11.02K,95.59K,0,0,0,0,0,0,0,0,0,0,0,0,
2520,48K,9480,12.56K,12.16K,77.47K,0,0,0,0,0,0,0,0,0,0,0,0,
3440,55.28K,11.56K,12.76K,11.82K,69.82K,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,133.7K,0,0,0,0,0,0,0,0,0,0,0,0,
0,200,0,840,4040,131.1K,0,0,0,0,0,0,0,0,0,0,0,0,
0,2400,80,3840,6545,126.2K,0,0,0,0,0,0,0,0,0,0,0,0,
40,9520,520,6720,9000,120.2K,0,0,0,0,0,0,0,0,0,0,0,0,
680,33.88K,4520,10.22K,11.06K,99.92K,0,0,0,0,0,0,0,0,0,0,0,0,
2680,53.04K,10.6K,12.14K,11.92K,79.56K,0,0,0,0,0,0,0,0,0,0,0,0,
4400,59.68K,12.54K,13.04K,12.37K,73.73K,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,135.2K,0,0,0,0,0,0,0,0,0,0,0,0,
0,360,0,1060,4010,133.3K,0,0,0,0,0,0,0,0,0,0,0,0,
0,2120,20,3720,7360,130.7K,0,0,0,0,0,0,0,0,0,0,0,0,
0,10.32K,340,6700,9185,121.6K,0,0,0,0,0,0,0,0,0,0,0,0,
400,34.64K,4800,10.56K,11.08K,101.8K,0,0,0,0,0,0,0,0,0,0,0,0,
2800,54.76K,10.18K,12.48K,12.01K,81.08K,0,0,0,0,0,0,0,0,0,0,0,0,
4520,59.92K,13.14K,13.14K,12.44K,73.84K,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,134.7K,0,0,0,0,0,0,0,0,0,0,0,0,
0,160,20,920,3955,129.4K,0,0,0,0,0,0,0,0,0,0,0,0,
0,2400,40,3520,6835,126K,0,0,0,0,0,0,0,0,0,0,0,0,
0,9920,500,6460,9255,120.8K,0,0,0,0,0,0,0,0,0,0,0,0,
680,33.72K,4540,10.64K,11.04K,99.35K,0,0,0,0,0,0,0,0,0,0,0,0,
2720,54K,10.64K,12.26K,12.42K,80.56K,0,0,0,0,0,0,0,0,0,0,0,0,
4240,60.96K,12.3K,12.52K,12.03K,72.48K,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,126.1K,0,0,0,0,0,0,0,0,0,0,0,0,
0,120,0,880,3810,122K,0,0,0,0,0,0,0,0,0,0,0,0,
0,2240,60,3560,6735,120.4K,0,0,0,0,0,0,0,0,0,0,0,0,
0,9520,340,6940,8510,111.9K,0,0,0,0,0,0,0,0,0,0,0,0,
640,33.2K,3560,10.42K,11.02K,93.86K,0,0,0,0,0,0,0,0,0,0,0,0,
2480,52.4K,9860,12.38K,12.15K,75.84K,0,0,0,0,0,0,0,0,0,0,0,0,
3240,58.48K,12.28K,12.38K,11.93K,69.92K,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,112.8K,0,0,0,0,0,0,0,0,0,0,0,0,
0,240,0,740,3310,110.5K,0,0,0,0,0,0,0,0,0,0,0,0,
0,2200,100,3180,6250,106K,0,0,0,0,0,0,0,0,0,0,0,0,
0,7920,340,6460,8380,101.1K,0,0,0,0,0,0,0,0,0,0,0,0,
400,28.84K,2940,10.04K,11.18K,84.86K,0,0,0,0,0,0,0,0,0,0,0,0,
1600,48.76K,8140,12.8K,11.88K,66.81K,0,0,0,0,0,0,0,0,0,0,0,0,
2280,55.28K,10.32K,11.98K,11.94K,61.01K,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,97.52K,0,0,0,0,0,0,0,0,0,0,0,0,
0,120,0,580,3170,94.08K,0,0,0,0,0,0,0,0,0,0,0,0,
0,1600,20,2760,6065,90.77K,0,0,0,0,0,0,0,0,0,0,0,0,
0,6920,200,5600,8135,86.64K,0,0,0,0,0,0,0,0,0,0,0,0,
200,24.88K,1880,9960,10.69K,72.04K,0,0,0,0,0,0,0,0,0,0,0,0,
1040,45K,5780,11.06K,11.69K,56.72K,0,0,0,0,0,0,0,0,0,0,0,0,
1680,49.08K,7540,11.92K,12.1K,53.37K,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,78.81K,0,0,0,0,0,0,0,0,0,0,0,0,
0,40,0,380,2975,76.61K,0,0,0,0,0,0,0,0,0,0,0,0,
0,960,20,2100,5460,74.92K,0,0,0,0,0,0,0,0,0,0,0,0,
0,4760,100,5100,7640,70.18K,0,0,0,0,0,0,0,0,0,0,0,0,
120,21.48K,1300,8660,10.2K,59.91K,0,0,0,0,0,0,0,0,0,0,0,0,
560,36.92K,4060,10.72K,11.24K,47.16K,0,0,0,0,0,0,0,0,0,0,0,0,
960,41K,5220,11.46K,11.69K,44.02K,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,64.21K,0,0,0,0,0,0,0,0,0,0,0,0,
0,80,0,180,2485,62.49K,0,0,0,0,0,0,0,0,0,0,0,0,
0,520,20,1580,4955,59.77K,0,0,0,0,0,0,0,0,0,0,0,0,
0,3240,100,4020,6875,55.88K,0,0,0,0,0,0,0,0,0,0,0,0,
120,15.52K,620,8300,9495,47.48K,0,0,0,0,0,0,0,0,0,0,0,0,
160,29.44K,2540,10.08K,10.68K,37.48K,0,0,0,0,0,0,0,0,0,0,0,0,
360,32.68K,3340,11K,11.24K,35.34K,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,50.77K,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,100,2210,51.2K,0,0,0,0,0,0,0,0,0,0,0,0,
0,160,20,1140,4435,49.02K,0,0,0,0,0,0,0,0,0,0,0,0,
0,2280,20,2740,6530,46.89K,0,0,0,0,0,0,0,0,0,0,0,0,
40,11.48K,380,7120,9055,38.92K,0,0,0,0,0,0,0,0,0,0,0,0,
80,23.36K,1680,9700,9865,31.54K,0,0,0,0,0,0,0,0,0,0,0,0,
160,25.96K,1760,9640,10.62K,28.84K,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,44.8K,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,60,1695,43.63K,0,0,0,0,0,0,0,0,0,0,0,0,
0,200,0,1100,3750,42.73K,0,0,0,0,0,0,0,0,0,0,0,0,
0,1000,0,2940,5845,39.71K,0,0,0,0,0,0,0,0,0,0,0,0,
0,8480,320,6620,8290,33.77K,0,0,0,0,0,0,0,0,0,0,0,0,
40,17.72K,1100,8760,9690,27.31K,0,0,0,0,0,0,0,0,0,0,0,0,
80,21.08K,1380,8720,10.12K,24.76K,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,42.2K,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,60,1590,42.1K,0,0,0,0,0,0,0,0,0,0,0,0,
0,120,0,840,3575,40.89K,0,0,0,0,0,0,0,0,0,0,0,0,
0,1200,20,2140,5485,38.21K,0,0,0,0,0,0,0,0,0,0,0,0,
0,7720,260,5760,8000,31.28K,0,0,0,0,0,0,0,0,0,0,0,0,
40,15.88K,860,7460,9710,25.17K,0,0,0,0,0,0,0,0,0,0,0,0,
0,18.32K,1380,8200,9750,23.61K,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,43.11K,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,60,1690,41.96K,0,0,0,0,0,0,0,0,0,0,0,0,
0,200,0,560,3490,40.68K,0,0,0,0,0,0,0,0,0,0,0,0,
0,760,0,2240,5770,38.72K,0,0,0,0,0,0,0,0,0,0,0,0,
0,6880,300,5840,8190,32.63K,0,0,0,0,0,0,0,0,0,0,0,0,
80,14.88K,900,7620,9755,25.27K,0,0,0,0,0,0,0,0,0,0,0,0,
40,17.32K,1320,8200,10.02K,23.83K,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,44.26K,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,80,1780,45.32K,0,0,0,0,0,0,0,0,0,0,0,0,
0,80,0,560,3640,43.05K,0,0,0,0,0,0,0,0,0,0,0,0,
0,920,0,2240,5655,40.11K,0,0,0,0,0,0,0,0,0,0,0,0,
0,7000,260,5780,8635,33.39K,0,0,0,0,0,0,0,0,0,0,0,0,
120,15.8K,960,7820,9550,26.71K,0,0,0,0,0,0,0,0,0,0,0,0,
80,18.04K,1240,8320,9895,24.71K,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,46.35K,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,60,1805,46K,0,0,0,0,0,0,0,0,0,0,0,0,
0,40,0,780,3690,43.73K,0,0,0,0,0,0,0,0,0,0,0,0,
0,920,0,2100,5895,41.62K,0,0,0,0,0,0,0,0,0,0,0,0,
40,7200,300,5960,8620,35.09K,0,0,0,0,0,0,0,0,0,0,0,0,
40,15.8K,1260,8140,9985,27.24K,0,0,0,0,0,0,0,0,0,0,0,0,
120,18K,1460,8500,9915,25.74K,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,46.06K,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,100,1670,44.8K,0,0,0,0,0,0,0,0,0,0,0,0,
0,120,0,920,3490,43.52K,0,0,0,0,0,0,0,0,0,0,0,0,
0,880,0,2540,5590,41.08K,0,0,0,0,0,0,0,0,0,0,0,0,
0,7400,260,5900,8585,34.17K,0,0,0,0,0,0,0,0,0,0,0,0,
0,16.08K,1140,8280,9800,27.45K,0,0,0,0,0,0,0,0,0,0,0,0,
40,17.8K,1840,9220,10.05K,25.98K,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,45.23K,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,80,1775,43.86K,0,0,0,0,0,0,0,0,0,0,0,0,
0,160,0,660,3735,42.62K,0,0,0,0,0,0,0,0,0,0,0,0,
0,1000,0,2260,5685,40.14K,0,0,0,0,0,0,0,0,0,0,0,0,
40,6880,340,5700,8540,33.28K,0,0,0,0,0,0,0,0,0,0,0,0,
0,16.4K,1140,7720,9655,26.2K,0,0,0,0,0,0,0,0,0,0,0,0,
40,18.84K,1420,8460,10.16K,24.79K,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,42.7K,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,100,1660,41.61K,0,0,0,0,0,0,0,0,0,0,0,0,
0,160,0,600,3680,40.46K,0,0,0,0,0,0,0,0,0,0,0,0,
0,1160,20,1860,5550,39.19K,0,0,0,0,0,0,0,0,0,0,0,0,
0,6520,240,5880,8285,32.73K,0,0,0,0,0,0,0,0,0,0,0,0,
40,15.32K,800,8260,9645,25K,0,0,0,0,0,0,0,0,0,0,0,0,
0,17.92K,1220,8320,9955,23.61K,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,41K,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,60,1750,40.05K,0,0,0,0,0,0,0,0,0,0,0,0,
0,40,0,560,3545,39.01K,0,0,0,0,0,0,0,0,0,0,0,0,
0,880,0,2020,5195,36.48K,0,0,0,0,0,0,0,0,0,0,0,0,
0,6320,200,5720,7965,30.91K,0,0,0,0,0,0,0,0,0,0,0,0,
0,14.04K,1080,7740,9810,25.35K,0,0,0,0,0,0,0,0,0,0,0,0,
120,16.92K,860,8320,9375,22.54K,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,41.3K,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,40,1605,39.78K,0,0,0,0,0,0,0,0,0,0,0,0,
0,120,0,440,3395,38.98K,0,0,0,0,0,0,0,0,0,0,0,0,
0,560,0,1940,5445,36.32K,0,0,0,0,0,0,0,0,0,0,0,0,
0,6120,340,5440,7920,30.52K,0,0,0,0,0,0,0,0,0,0,0,0,
40,13.92K,740,6960,9945,24.32K,0,0,0,0,0,0,0,0,0,0,0,0,
80,15.76K,1160,8080,10.17K,22.18K,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,40.55K,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,100,1580,40.82K,0,0,0,0,0,0,0,0,0,0,0,0,
0,80,0,620,3275,38.91K,0,0,0,0,0,0,0,0,0,0,0,0,
0,560,0,2120,5165,37.19K,0,0,0,0,0,0,0,0,0,0,0,0,
0,5800,80,5660,8065,31.11K,0,0,0,0,0,0,0,0,0,0,0,0,
0,13.88K,700,7180,9320,24.54K,0,0,0,0,0,0,0,0,0,0,0,0,
0,15.8K,980,8220,9800,22.56K,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,43.25K,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,80,1695,42.19K,0,0,0,0,0,0,0,0,0,0,0,0,
0,160,0,560,3300,40.67K,0,0,0,0,0,0,0,0,0,0,0,0,
0,760,60,1920,5425,39.47K,0,0,0,0,0,0,0,0,0,0,0,0,
0,6120,260,5640,7830,32.25K,0,0,0,0,0,0,0,0,0,0,0,0,
40,14.4K,960,7480,9330,26.15K,0,0,0,0,0,0,0,0,0,0,0,0,
0,16.76K,1020,8340,9930,24.24K,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,45.93K,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,60,1605,44.3K,0,0,0,0,0,0,0,0,0,0,0,0,
0,80,0,720,3505,42.83K,0,0,0,0,0,0,0,0,0,0,0,0,
0,920,20,2100,5515,41.68K,0,0,0,0,0,0,0,0,0,0,0,0,
40,6560,280,5880,8115,33.22K,0,0,0,0,0,0,0,0,0,0,0,0,
40,15.28K,1040,8080,9245,27.56K,0,0,0,0,0,0,0,0,0,0,0,0,
120,17.84K,1460,8360,10.04K,24.93K,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,46.92K,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,140,1730,46.76K,0,0,0,0,0,0,0,0,0,0,0,0,
0,160,0,680,3665,44.14K,0,0,0,0,0,0,0,0,0,0,0,0,
0,1000,0,2060,5740,42.37K,0,0,0,0,0,0,0,0,0,0,0,0,
0,6840,380,5900,8275,35.01K,0,0,0,0,0,0,0,0,0,0,0,0,
200,15.72K,1180,8480,9865,28.47K,0,0,0,0,0,0,0,0,0,0,0,0,
120,18.64K,1380,8260,10.23K,25.75K,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,49.16K,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,180,1745,46.77K,0,0,0,0,0,0,0,0,0,0,0,0,
0,200,0,680,3850,46.13K,0,0,0,0,0,0,0,0,0,0,0,0,
0,920,40,2500,5660,43.14K,0,0,0,0,0,0,0,0,0,0,0,0,
0,7520,480,5940,8305,35.66K,0,0,0,0,0,0,0,0,0,0,0,0,
120,16.36K,1080,8780,9980,29.65K,0,0,0,0,0,0,0,0,0,0,0,0,
80,19.2K,1820,8640,10.05K,25.6K,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,47.94K,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,120,1725,47.45K,0,0,0,0,0,0,0,0,0,0,0,0,
0,120,0,840,3675,46.26K,0,0,0,0,0,0,0,0,0,0,0,0,
0,1160,60,1940,5795,43.47K,0,0,0,0,0,0,0,0,0,0,0,0,
0,8000,300,5700,8715,36.24K,0,0,0,0,0,0,0,0,0,0,0,0,
120,17.32K,1380,8220,9740,28.24K,0,0,0,0,0,0,0,0,0,0,0,0,
120,19.4K,1460,8760,10.43K,26.53K,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,46.62K,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,120,1715,46.17K,0,0,0,0,0,0,0,0,0,0,0,0,
0,120,0,680,3710,45.23K,0,0,0,0,0,0,0,0,0,0,0,0,
0,1120,0,2400,5820,43.04K,0,0,0,0,0,0,0,0,0,0,0,0,
40,7680,280,5700,8815,36.25K,0,0,0,0,0,0,0,0,0,0,0,0,
80,17.08K,1160,8260,10K,28.63K,0,0,0,0,0,0,0,0,0,0,0,0,
40,20.48K,1800,8840,10.09K,25.77K,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,46.71K,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,100,1870,45.74K,0,0,0,0,0,0,0,0,0,0,0,0,
0,80,0,680,3740,44.05K,0,0,0,0,0,0,0,0,0,0,0,0,
0,1000,40,2640,5690,41.82K,0,0,0,0,0,0,0,0,0,0,0,0,
0,7480,240,5940,8555,34.96K,0,0,0,0,0,0,0,0,0,0,0,0,
40,16.96K,940,8420,9530,27.64K,0,0,0,0,0,0,0,0,0,0,0,0,
40,20.2K,1520,8560,10.06K,25.91K,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,47.29K,0,0,0,0,0,0,0,0,0,0,0,0,
0,40,0,80,1825,45.13K,0,0,0,0,0,0,0,0,0,0,0,0,
0,120,0,580,3660,43.6K,0,0,0,0,0,0,0,0,0,0,0,0,
0,880,0,2460,5895,41.37K,0,0,0,0,0,0,0,0,0,0,0,0,
0,7600,280,5740,8490,34.01K,0,0,0,0,0,0,0,0,0,0,0,0,
0,15.64K,940,7940,9950,27.37K,0,0,0,0,0,0,0,0,0,0,0,0,
160,18.6K,1560,8880,10.32K,24.78K,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,47.1K,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,40,1810,45.47K,0,0,0,0,0,0,0,0,0,0,0,0,
0,200,20,640,3560,44.39K,0,0,0,0,0,0,0,0,0,0,0,0,
0,880,0,2340,5825,41.97K,0,0,0,0,0,0,0,0,0,0,0,0,
40,7360,280,6440,8685,35.07K,0,0,0,0,0,0,0,0,0,0,0,0,
120,16.88K,1100,8200,9665,28.34K,0,0,0,0,0,0,0,0,0,0,0,0,
240,18.88K,1560,8660,10.15K,25.98K,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,49.7K,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,80,1825,47.62K,0,0,0,0,0,0,0,0,0,0,0,0,
0,120,0,680,3755,46.05K,0,0,0,0,0,0,0,0,0,0,0,0,
0,1360,20,2180,5855,43.88K,0,0,0,0,0,0,0,0,0,0,0,0,
40,8120,380,5940,8775,37.2K,0,0,0,0,0,0,0,0,0,0,0,0,
40,16.88K,1280,7680,10.24K,29.41K,0,0,0,0,0,0,0,0,0,0,0,0,
80,19.48K,1760,8780,9880,26.91K,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,53.01K,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,180,1885,51.25K,0,0,0,0,0,0,0,0,0,0,0,0,
0,280,0,900,3745,50.15K,0,0,0,0,0,0,0,0,0,0,0,0,
0,1360,40,2780,5925,47.24K,0,0,0,0,0,0,0,0,0,0,0,0,
0,9320,460,6360,8840,39.1K,0,0,0,0,0,0,0,0,0,0,0,0,
40,18.88K,1840,8260,10.09K,32.17K,0,0,0,0,0,0,0,0,0,0,0,0,
280,21.04K,1980,8800,10.38K,29.31K,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,56.46K,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,200,1915,56.41K,0,0,0,0,0,0,0,0,0,0,0,0,
0,360,0,980,4160,53.53K,0,0,0,0,0,0,0,0,0,0,0,0,
0,1680,20,2840,6045,50.5K,0,0,0,0,0,0,0,0,0,0,0,0,
0,9720,520,6240,9280,42.52K,0,0,0,0,0,0,0,0,0,0,0,0,
240,19.92K,1700,9240,10.86K,33.4K,0,0,0,0,0,0,0,0,0,0,0,0,
320,23.12K,2780,9160,10.29K,31.08K,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,60.58K,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,220,2195,58.9K,0,0,0,0,0,0,0,0,0,0,0,0,
0,200,0,1160,4435,57.66K,0,0,0,0,0,0,0,0,0,0,0,0,
40,1880,40,3020,6330,54.58K,0,0,0,0,0,0,0,0,0,0,0,0,
40,11.16K,620,6540,9380,45.57K,0,0,0,0,0,0,0,0,0,0,0,0,
80,21.96K,2200,8960,10.61K,36.4K,0,0,0,0,0,0,0,0,0,0,0,0,
160,24.8K,2640,10.1K,10.5K,33.47K,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,62.93K,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,240,2255,62.49K,0,0,0,0,0,0,0,0,0,0,0,0,
0,240,0,1340,4480,59.81K,0,0,0,0,0,0,0,0,0,0,0,0,
0,2280,40,3460,6490,57.36K,0,0,0,0,0,0,0,0,0,0,0,0,
0,11.56K,640,7580,9315,48.1K,0,0,0,0,0,0,0,0,0,0,0,0,
320,23.96K,3000,9320,10.59K,38K,0,0,0,0,0,0,0,0,0,0,0,0,
280,27.68K,3120,10.1K,10.71K,35.53K,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,66.44K,0,0,0,0,0,0,0,0,0,0,0,0,
0,40,0,220,2340,64.91K,0,0,0,0,0,0,0,0,0,0,0,0,
0,600,0,1060,4535,62.73K,0,0,0,0,0,0,0,0,0,0,0,0,
0,2520,80,3380,6685,58.96K,0,0,0,0,0,0,0,0,0,0,0,0,
0,12.4K,940,7280,9580,49.68K,0,0,0,0,0,0,0,0,0,0,0,0,
160,24.92K,2660,9640,10.89K,40.13K,0,0,0,0,0,0,0,0,0,0,0,0,
200,29.56K,3260,10.06K,10.86K,36.67K,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,68.05K,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,260,2460,66.57K,0,0,0,0,0,0,0,0,0,0,0,0,
0,280,0,1460,4790,64.8K,0,0,0,0,0,0,0,0,0,0,0,0,
0,2120,20,4100,6910,62.11K,0,0,0,0,0,0,0,0,0,0,0,0,
0,13K,900,7980,9505,51.28K,0,0,0,0,0,0,0,0,0,0,0,0,
160,26K,2700,9700,10.78K,41.03K,0,0,0,0,0,0,0,0,0,0,0,0,
360,30.36K,4100,10.04K,10.74K,37.15K,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,71.1K,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,200,2480,70.23K,0,0,0,0,0,0,0,0,0,0,0,0,
0,480,0,1340,5000,67.85K,0,0,0,0,0,0,0,0,0,0,0,0,
0,2800,120,3860,6895,63.74K,0,0,0,0,0,0,0,0,0,0,0,0,
40,14.68K,1120,7380,9975,53.27K,0,0,0,0,0,0,0,0,0,0,0,0,
280,26.84K,2900,10.6K,10.87K,42.96K,0,0,0,0,0,0,0,0,0,0,0,0,
440,31.52K,4120,10.78K,11.07K,39.31K,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,76.18K,0,0,0,0,0,0,0,0,0,0,0,0,
0,40,0,240,2610,74.43K,0,0,0,0,0,0,0,0,0,0,0,0,
0,640,40,2020,4760,72.43K,0,0,0,0,0,0,0,0,0,0,0,0,
0,2800,60,4160,7040,68.87K,0,0,0,0,0,0,0,0,0,0,0,0,
160,16.16K,1420,8080,9840,57.09K,0,0,0,0,0,0,0,0,0,0,0,0,
360,29.04K,3520,10.46K,11.11K,45.56K,0,0,0,0,0,0,0,0,0,0,0,0,
840,33.6K,4580,10.66K,11.22K,42.26K,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,84.57K,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,340,2865,83.23K,0,0,0,0,0,0,0,0,0,0,0,0,
0,800,20,1660,5480,80.32K,0,0,0,0,0,0,0,0,0,0,0,0,
0,3120,80,4740,7555,76.42K,0,0,0,0,0,0,0,0,0,0,0,0,
80,17.8K,1560,8660,10.05K,63.85K,0,0,0,0,0,0,0,0,0,0,0,0,
720,32.2K,4820,10.42K,11.12K,50.6K,0,0,0,0,0,0,0,0,0,0,0,0,
680,37.92K,5420,10.14K,11.4K,46.85K,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,97.33K,0,0,0,0,0,0,0,0,0,0,0,0,
0,40,0,340,3020,95.22K,0,0,0,0,0,0,0,0,0,0,0,0,
0,1000,0,2460,5710,92.76K,0,0,0,0,0,0,0,0,0,0,0,0,
0,4600,180,4820,7890,87.83K,0,0,0,0,0,0,0,0,0,0,0,0,
200,21.24K,2120,8920,10K,72.82K,0,0,0,0,0,0,0,0,0,0,0,0,
1160,37.84K,6180,10.26K,11.09K,58.66K,0,0,0,0,0,0,0,0,0,0,0,0,
1760,42.64K,7120,11.24K,11.43K,54.04K,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,112.2K,0,0,0,0,0,0,0,0,0,0,0,0,
0,160,0,440,3510,110.5K,0,0,0,0,0,0,0,0,0,0,0,0,
0,1280,0,2780,5945,106.9K,0,0,0,0,0,0,0,0,0,0,0,0,
0,6600,360,5380,8230,101.8K,0,0,0,0,0,0,0,0,0,0,0,0,
280,24.12K,3200,9640,10.58K,83.76K,0,0,0,0,0,0,0,0,0,0,0,0,
1680,43.24K,7660,11.84K,11.44K,67.41K,0,0,0,0,0,0,0,0,0,0,0,0,
2800,47.76K,9840,11.9K,11.83K,61.3K,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,126.5K,0,0,0,0,0,0,0,0,0,0,0,0,
0,240,20,660,3510,125.1K,0,0,0,0,0,0,0,0,0,0,0,0,
0,1560,40,3240,6490,122K,0,0,0,0,0,0,0,0,0,0,0,0,
0,8360,560,5580,8525,115K,0,0,0,0,0,0,0,0,0,0,0,0,
480,29K,4060,9780,10.92K,95.24K,0,0,0,0,0,0,0,0,0,0,0,0,
2440,49K,9580,11.62K,11.9K,77.16K,0,0,0,0,0,0,0,0,0,0,0,0,
3640,53.4K,12.1K,12.56K,12.09K,69.99K,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,141K,0,0,0,0,0,0,0,0,0,0,0,0,
0,160,0,1040,4040,138.9K,0,0,0,0,0,0,0,0,0,0,0,0,
40,2120,40,3640,6805,133.6K,0,0,0,0,0,0,0,0,0,0,0,0,
40,9680,680,6720,9025,126.5K,0,0,0,0,0,0,0,0,0,0,0,0,
840,33.4K,4540,10.52K,11.04K,105.1K,0,0,0,0,0,0,0,0,0,0,0,0,
3440,54K,11.58K,12.22K,12.02K,84.44K,0,0,0,0,0,0,0,0,0,0,0,0,
5080,58.44K,14.02K,13K,12.36K,77.37K,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,151.7K,0,0,0,0,0,0,0,0,0,0,0,0,
0,280,0,1160,4415,146.8K,0,0,0,0,0,0,0,0,0,0,0,0,
0,3080,140,3960,7025,142.4K,0,0,0,0,0,0,0,0,0,0,0,0,
0,10.96K,680,6940,9320,135.9K,0,0,0,0,0,0,0,0,0,0,0,0,
1160,36.68K,5600,11.66K,11.24K,112.2K,0,0,0,0,0,0,0,0,0,0,0,0,
4200,58.28K,13.22K,12.12K,12.45K,90.54K,0,0,0,0,0,0,0,0,0,0,0,0,
5320,64.64K,15.06K,13.06K,12.38K,83K,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,155K,0,0,0,0,0,0,0,0,0,0,0,0,
0,240,0,1220,4495,151.4K,0,0,0,0,0,0,0,0,0,0,0,0,
0,3200,80,4360,7275,147.4K,0,0,0,0,0,0,0,0,0,0,0,0,
0,12K,620,7280,9355,139.5K,0,0,0,0,0,0,0,0,0,0,0,0,
1200,39.24K,5560,11.58K,11.5K,117.2K,0,0,0,0,0,0,0,0,0,0,0,0,
4320,61.92K,13.5K,12.4K,12.14K,92.23K,0,0,0,0,0,0,0,0,0,0,0,0,
6160,66.52K,16.24K,13.04K,12.78K,84.64K,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,153.7K,0,0,0,0,0,0,0,0,0,0,0,0,
0,320,0,1140,4510,151.5K,0,0,0,0,0,0,0,0,0,0,0,0,
0,3040,100,4180,7595,146.8K,0,0,0,0,0,0,0,0,0,0,0,0,
0,12.68K,860,7280,9205,139.6K,0,0,0,0,0,0,0,0,0,0,0,0,
840,40K,5640,11.16K,11.51K,116.2K,0,0,0,0,0,0,0,0,0,0,0,0,
4800,62.96K,13.38K,12.68K,12.39K,92.57K,0,0,0,0,0,0,0,0,0,0,0,0,
6360,67.64K,15.6K,14K,12.7K,85.62K,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,150.3K,0,0,0,0,0,0,0,0,0,0,0,0,
0,440,0,1260,4535,148.4K,0,0,0,0,0,0,0,0,0,0,0,0,
0,3440,20,3880,7240,143.2K,0,0,0,0,0,0,0,0,0,0,0,0,
40,11.36K,620,7920,9055,136.8K,0,0,0,0,0,0,0,0,0,0,0,0,
1160,39.04K,5580,11.42K,11.42K,113K,0,0,0,0,0,0,0,0,0,0,0,0,
4240,62.16K,12.32K,13.24K,12.19K,91.24K,0,0,0,0,0,0,0,0,0,0,0,0,
5560,68.48K,15.74K,12.94K,12.65K,85.09K,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,143.9K,0,0,0,0,0,0,0,0,0,0,0,0,
0,360,0,1200,4155,140.9K,0,0,0,0,0,0,0,0,0,0,0,0,
0,3120,40,4360,7045,137.6K,0,0,0,0,0,0,0,0,0,0,0,0,
0,11.44K,640,7060,9300,129.3K,0,0,0,0,0,0,0,0,0,0,0,0,
720,38.88K,5480,10.9K,11.29K,108.1K,0,0,0,0,0,0,0,0,0,0,0,0,
4320,61.24K,12K,12.26K,12K,88K,0,0,0,0,0,0,0,0,0,0,0,0,
5120,66.08K,14.68K,13.5K,12.57K,80.08K,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,135.6K,0,0,0,0,0,0,0,0,0,0,0,0,
0,280,0,1200,4420,134.3K,0,0,0,0,0,0,0,0,0,0,0,0,
0,3560,60,3440,6900,130.4K,0,0,0,0,0,0,0,0,0,0,0,0,
0,10.56K,520,6900,8955,121.8K,0,0,0,0,0,0,0,0,0,0,0,0,
480,36.36K,4480,11K,11.42K,101.1K,0,0,0,0,0,0,0,0,0,0,0,0,
3160,57.4K,10.92K,12.04K,11.95K,81.8K,0,0,0,0,0,0,0,0,0,0,0,0,
4400,64.88K,12.8K,12.74K,12.68K,75.8K,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,127K,0,0,0,0,0,0,0,0,0,0,0,0,
0,240,0,740,4250,125.5K,0,0,0,0,0,0,0,0,0,0,0,0,
0,2200,40,3580,6870,120.9K,0,0,0,0,0,0,0,0,0,0,0,0,
40,9320,280,6780,8690,114.1K,0,0,0,0,0,0,0,0,0,0,0,0,
440,33.88K,3960,11.2K,11.15K,95.34K,0,0,0,0,0,0,0,0,0,0,0,0,
2880,55.44K,8940,12.3K,11.88K,76.57K,0,0,0,0,0,0,0,0,0,0,0,0,
3800,60K,11.44K,13.1K,12.05K,69.88K,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,118.7K,0,0,0,0,0,0,0,0,0,0,0,0,
0,240,0,800,3870,115.9K,0,0,0,0,0,0,0,0,0,0,0,0,
0,2120,0,3300,6650,111.5K,0,0,0,0,0,0,0,0,0,0,0,0,
0,8560,300,6620,8330,107.5K,0,0,0,0,0,0,0,0,0,0,0,0,
480,31.12K,3280,10.74K,11.14K,88.28K,0,0,0,0,0,0,0,0,0,0,0,0,
2240,51.64K,8260,12.18K,11.85K,69.9K,0,0,0,0,0,0,0,0,0,0,0,0,
3600,56.84K,10.08K,12.44K,11.99K,64.45K,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,110K,0,0,0,0,0,0,0,0,0,0,0,0,
0,200,0,600,3590,107.9K,0,0,0,0,0,0,0,0,0,0,0,0,
0,1680,40,2900,6320,104.5K,0,0,0,0,0,0,0,0,0,0,0,0,
0,7320,260,5860,8465,97.96K,0,0,0,0,0,0,0,0,0,0,0,0,
280,28.88K,3200,9780,11.03K,81.57K,0,0,0,0,0,0,0,0,0,0,0,0,
1280,47.24K,7300,11.78K,11.89K,65.65K,0,0,0,0,0,0,0,0,0,0,0,0,
2040,53.04K,9340,12.14K,11.42K,59.57K,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,100.2K,0,0,0,0,0,0,0,0,0,0,0,0,
0,120,0,560,3550,98.01K,0,0,0,0,0,0,0,0,0,0,0,0,
0,1200,40,2520,6345,94.63K,0,0,0,0,0,0,0,0,0,0,0,0,
0,6360,160,5660,8375,91.49K,0,0,0,0,0,0,0,0,0,0,0,0,
280,25.6K,2540,9880,11.01K,75.46K,0,0,0,0,0,0,0,0,0,0,0,0,
1240,44.16K,5820,11.7K,11.69K,60.68K,0,0,0,0,0,0,0,0,0,0,0,0,
1840,49.72K,7460,11.76K,11.97K,55.24K,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,94.7K,0,0,0,0,0,0,0,0,0,0,0,0,
0,120,0,460,3285,90.98K,0,0,0,0,0,0,0,0,0,0,0,0,
0,1120,20,2540,5890,87.49K,0,0,0,0,0,0,0,0,0,0,0,0,
0,5840,160,5360,7990,84.13K,0,0,0,0,0,0,0,0,0,0,0,0,
160,23.52K,1900,9160,10.2K,68.91K,0,0,0,0,0,0,0,0,0,0,0,0,
1120,40.04K,5360,11.56K,11.46K,55.74K,0,0,0,0,0,0,0,0,0,0,0,0,
1240,45.24K,6660,11.78K,12.15K,52.26K,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,87.13K,0,0,0,0,0,0,0,0,0,0,0,0,
0,80,0,440,3320,84.82K,0,0,0,0,0,0,0,0,0,0,0,0,
0,1120,20,2280,5725,82.08K,0,0,0,0,0,0,0,0,0,0,0,0,
0,4680,160,4880,7995,78.61K,0,0,0,0,0,0,0,0,0,0,0,0,
120,20.36K,1940,9800,10.21K,65.28K,0,0,0,0,0,0,0,0,0,0,0,0,
760,37.2K,4480,10.82K,11.41K,52.47K,0,0,0,0,0,0,0,0,0,0,0,0,
960,42.24K,5840,11.54K,11.7K,46.88K,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,80.56K,0,0,0,0,0,0,0,0,0,0,0,0,
0,80,0,480,2790,80.08K,0,0,0,0,0,0,0,0,0,0,0,0,
0,840,60,2240,5465,77.15K,0,0,0,0,0,0,0,0,0,0,0,0,
0,4880,120,4360,7885,73.38K,0,0,0,0,0,0,0,0,0,0,0,0,
160,18.88K,1360,8520,10.29K,61.62K,0,0,0,0,0,0,0,0,0,0,0,0,
440,34.96K,3940,11.08K,10.95K,48.62K,0,0,0,0,0,0,0,0,0,0,0,0,
920,39.84K,5020,11.3K,11.4K,44.56K,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,76.22K,0,0,0,0,0,0,0,0,0,0,0,0,
0,40,0,320,2730,76.2K,0,0,0,0,0,0,0,0,0,0,0,0,
0,520,0,2060,5405,72.6K,0,0,0,0,0,0,0,0,0,0,0,0,
0,3800,160,4440,7350,69.03K,0,0,0,0,0,0,0,0,0,0,0,0,
0,18.12K,1260,8120,10.15K,57.06K,0,0,0,0,0,0,0,0,0,0,0,0,
280,32.12K,3640,10.84K,11.03K,46.6K,0,0,0,0,0,0,0,0,0,0,0,0,
640,36.96K,4220,10.98K,11.38K,42.88K,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,72.24K,0,0,0,0,0,0,0,0,0,0,0,0,
0,80,0,400,2565,70.91K,0,0,0,0,0,0,0,0,0,0,0,0,
0,440,0,1780,4875,69.69K,0,0,0,0,0,0,0,0,0,0,0,0,
0,3240,80,4000,7330,64.97K,0,0,0,0,0,0,0,0,0,0,0,0,
160,16.36K,1040,8160,9880,54.05K,0,0,0,0,0,0,0,0,0,0,0,0,
240,30.68K,3280,9640,11.25K,43.66K,0,0,0,0,0,0,0,0,0,0,0,0,
440,35K,4360,10.36K,11.42K,40.44K,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,69.27K,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,360,2455,68.23K,0,0,0,0,0,0,0,0,0,0,0,0,
0,760,0,1420,4800,66.7K,0,0,0,0,0,0,0,0,0,0,0,0,
0,2920,60,3920,6960,62.85K,0,0,0,0,0,0,0,0,0,0,0,0,
40,15.52K,980,7680,9825,52.18K,0,0,0,0,0,0,0,0,0,0,0,0,
400,28.88K,3300,10.08K,10.91K,41.81K,0,0,0,0,0,0,0,0,0,0,0,0,
280,32.96K,3620,10.34K,11.3K,38.43K,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,66.35K,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,180,2480,65.16K,0,0,0,0,0,0,0,0,0,0,0,0,
0,480,0,1500,4830,62.14K,0,0,0,0,0,0,0,0,0,0,0,0,
0,2440,80,3960,6780,59.88K,0,0,0,0,0,0,0,0,0,0,0,0,
40,14K,1060,7700,9590,49.94K,0,0,0,0,0,0,0,0,0,0,0,0,
200,27.48K,2900,9920,10.88K,40.53K,0,0,0,0,0,0,0,0,0,0,0,0,
240,30.92K,3600,10.42K,10.86K,36.33K,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,63.28K,0,0,0,0,0,0,0,0,0,0,0,0,
0,40,0,300,2195,62.53K,0,0,0,0,0,0,0,0,0,0,0,0,
0,240,0,1080,4785,58.99K,0,0,0,0,0,0,0,0,0,0,0,0,
0,2560,40,3640,6540,57.04K,0,0,0,0,0,0,0,0,0,0,0,0,
40,12.72K,780,7540,9570,47.47K,0,0,0,0,0,0,0,0,0,0,0,0,
80,25.64K,2680,9340,10.85K,37.51K,0,0,0,0,0,0,0,0,0,0,0,0,
360,29.32K,3280,10.12K,10.72K,34.91K,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,59.24K,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,160,2220,58.85K,0,0,0,0,0,0,0,0,0,0,0,0,
0,200,0,1520,4380,56.36K,0,0,0,0,0,0,0,0,0,0,0,0,
0,2240,80,3140,6740,53.82K,0,0,0,0,0,0,0,0,0,0,0,0,
80,12.28K,520,7380,9395,44.17K,0,0,0,0,0,0,0,0,0,0,0,0,
320,24.36K,1880,9520,10.76K,35.99K,0,0,0,0,0,0,0,0,0,0,0,0,
200,28.12K,2700,9660,11.02K,32.27K,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,56.96K,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,120,1840,55.66K,0,0,0,0,0,0,0,0,0,0,0,0,
0,240,0,1160,4275,53.11K,0,0,0,0,0,0,0,0,0,0,0,0,
0,1720,20,3380,6420,51.02K,0,0,0,0,0,0,0,0,0,0,0,0,
40,11.32K,580,7100,9250,42.84K,0,0,0,0,0,0,0,0,0,0,0,0,
80,21.92K,1980,8960,10.86K,34.07K,0,0,0,0,0,0,0,0,0,0,0,0,
200,26.4K,2700,9460,10.61K,30.68K,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,53.04K,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,100,1790,51.84K,0,0,0,0,0,0,0,0,0,0,0,0,
0,280,0,1180,3935,50.18K,0,0,0,0,0,0,0,0,0,0,0,0,
0,1880,0,2900,6170,46.83K,0,0,0,0,0,0,0,0,0,0,0,0,
0,10.68K,540,6440,9035,39.33K,0,0,0,0,0,0,0,0,0,0,0,0,
40,19.88K,1480,9140,10.36K,32.06K,0,0,0,0,0,0,0,0,0,0,0,0,
240,24.36K,2180,9180,10.52K,28.77K,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,48.36K,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,80,1865,47.02K,0,0,0,0,0,0,0,0,0,0,0,0,
0,160,0,820,3815,46.58K,0,0,0,0,0,0,0,0,0,0,0,0,
0,1240,40,2560,6005,42.95K,0,0,0,0,0,0,0,0,0,0,0,0,
0,9200,520,6080,8385,36.65K,0,0,0,0,0,0,0,0,0,0,0,0,
80,18.64K,1360,8060,9605,28.37K,0,0,0,0,0,0,0,0,0,0,0,0,
80,21.64K,1860,9160,10.31K,26.65K,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,44.03K,0,0,0,0,0,0,0,0,0,0,0,0,
0,40,0,20,1905,43.86K,0,0,0,0,0,0,0,0,0,0,0,0,
0,80,0,820,3695,42.16K,0,0,0,0,0,0,0,0,0,0,0,0,
0,1120,20,2300,5495,39.65K,0,0,0,0,0,0,0,0,0,0,0,0,
40,7600,300,5580,8700,33.01K,0,0,0,0,0,0,0,0,0,0,0,0,
40,16.4K,940,8020,9665,25.66K,0,0,0,0,0,0,0,0,0,0,0,0,
80,19.76K,1520,8640,9830,24.07K,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,39.35K,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,20,1535,37.95K,0,0,0,0,0,0,0,0,0,0,0,0,
0,80,0,460,3375,37.6K,0,0,0,0,0,0,0,0,0,0,0,0,
0,1000,20,1840,5380,35.16K,0,0,0,0,0,0,0,0,0,0,0,0,
0,7040,160,5140,8050,30.27K,0,0,0,0,0,0,0,0,0,0,0,0,
40,14.48K,560,7480,9630,23.9K,0,0,0,0,0,0,0,0,0,0,0,0,
40,16.84K,1000,7800,9840,21.86K,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,35.17K,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,40,1375,33.97K,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,480,2985,33.52K,0,0,0,0,0,0,0,0,0,0,0,0,
0,600,0,1740,4995,31.08K,0,0,0,0,0,0,0,0,0,0,0,0,
0,5040,120,4840,7895,26K,0,0,0,0,0,0,0,0,0,0,0,0,
40,12.32K,520,6880,9500,21.14K,0,0,0,0,0,0,0,0,0,0,0,0,
40,14K,800,7440,9280,19.32K,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,30.61K,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,20,1325,30.14K,0,0,0,0,0,0,0,0,0,0,0,0,
0,80,0,440,2795,29.51K,0,0,0,0,0,0,0,0,0,0,0,0,
0,680,20,1560,4505,27.08K,0,0,0,0,0,0,0,0,0,0,0,0,
0,3840,80,4160,7390,22.53K,0,0,0,0,0,0,0,0,0,0,0,0,
0,10.44K,460,6320,8825,18.22K,0,0,0,0,0,0,0,0,0,0,0,0,
40,11.24K,540,7200,8865,16.98K,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,26.64K,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,20,1140,26.48K,0,0,0,0,0,0,0,0,0,0,0,0,
0,40,0,400,2580,25.85K,0,0,0,0,0,0,0,0,0,0,0,0,
0,320,0,1320,4360,24.02K,0,0,0,0,0,0,0,0,0,0,0,0,
0,2600,60,3760,7030,20.65K,0,0,0,0,0,0,0,0,0,0,0,0,
0,8680,200,5880,8130,16.3K,0,0,0,0,0,0,0,0,0,0,0,0,
0,9160,380,6860,8625,14.67K,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,23.98K,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,60,1005,23.26K,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,280,2200,22.6K,0,0,0,0,0,0,0,0,0,0,0,0,
0,160,20,720,4195,21.93K,0,0,0,0,0,0,0,0,0,0,0,0,
0,2600,20,3300,6455,18.52K,0,0,0,0,0,0,0,0,0,0,0,0,
0,6560,320,5520,8315,13.9K,0,0,0,0,0,0,0,0,0,0,0,0,
0,7560,320,5680,8545,13.47K,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,21.56K,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,900,21.56K,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,140,1990,20.85K,0,0,0,0,0,0,0,0,0,0,0,0,
0,160,0,620,3485,19.13K,0,0,0,0,0,0,0,0,0,0,0,0,
0,1840,0,3080,6265,16.13K,0,0,0,0,0,0,0,0,0,0,0,0,
0,5360,240,5100,8110,12.77K,0,0,0,0,0,0,0,0,0,0,0,0,
0,5560,100,6000,7980,11.66K,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,19.58K,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,775,18.88K,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,160,1915,18.6K,0,0,0,0,0,0,0,0,0,0,0,0,
0,120,0,740,3405,17.97K,0,0,0,0,0,0,0,0,0,0,0,0,
0,1520,0,2640,6005,14.44K,0,0,0,0,0,0,0,0,0,0,0,0,
0,4160,140,4480,7665,11.22K,0,0,0,0,0,0,0,0,0,0,0,0,
0,4840,220,5020,7805,11K,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,18.45K,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,690,17.57K,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,80,1740,16.8K,0,0,0,0,0,0,0,0,0,0,0,0,
0,120,0,320,3245,15.89K,0,0,0,0,0,0,0,0,0,0,0,0,
0,1280,40,2420,5595,13.34K,0,0,0,0,0,0,0,0,0,0,0,0,
0,3160,140,4300,7085,10.97K,0,0,0,0,0,0,0,0,0,0,0,0,
0,4440,80,4380,7405,9995,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,17.05K,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,635,16.21K,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,160,1585,15.6K,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,500,2750,15.29K,0,0,0,0,0,0,0,0,0,0,0,0,
0,880,40,2360,5455,12.23K,0,0,0,0,0,0,0,0,0,0,0,0,
0,2680,80,3680,6815,9945,0,0,0,0,0,0,0,0,0,0,0,0,
0,3560,80,4460,7260,9345,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,15.96K,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,610,15.7K,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,40,1565,14.92K,0,0,0,0,0,0,0,0,0,0,0,0,
0,40,0,280,2750,13.95K,0,0,0,0,0,0,0,0,0,0,0,0,
0,720,20,2020,5270,11.85K,0,0,0,0,0,0,0,0,0,0,0,0,
0,2080,40,4180,6935,9480,0,0,0,0,0,0,0,0,0,0,0,0,
0,3120,40,4140,7165,8460,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,15.15K,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,590,15.22K,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,20,1525,14.51K,0,0,0,0,0,0,0,0,0,0,0,0,
0,40,0,340,2765,13.47K,0,0,0,0,0,0,0,0,0,0,0,0,
0,800,20,1700,5365,11.4K,0,0,0,0,0,0,0,0,0,0,0,0,
0,2080,60,3440,6730,9385,0,0,0,0,0,0,0,0,0,0,0,0,
0,3320,60,4020,6925,7955,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,14.72K,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,20,650,14.49K,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,40,1490,13.62K,0,0,0,0,0,0,0,0,0,0,0,0,
0,40,0,300,2740,12.9K,0,0,0,0,0,0,0,0,0,0,0,0,
0,440,0,1800,4970,10.57K,0,0,0,0,0,0,0,0,0,0,0,0,
0,1800,40,3460,6540,8895,0,0,0,0,0,0,0,0,0,0,0,0,
0,2440,100,4200,6710,7840,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,13.65K,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,610,13.56K,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,100,1390,13.61K,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,360,2375,12.49K,0,0,0,0,0,0,0,0,0,0,0,0,
0,560,0,1500,5095,10.41K,0,0,0,0,0,0,0,0,0,0,0,0,
0,1960,40,3080,6470,8435,0,0,0,0,0,0,0,0,0,0,0,0,
0,2480,60,3580,6675,7325,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,13.97K,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,605,13.87K,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,40,1455,13.47K,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,360,2325,12.47K,0,0,0,0,0,0,0,0,0,0,0,0,
0,440,20,1520,4965,10.71K,0,0,0,0,0,0,0,0,0,0,0,0,
0,1520,80,3080,6405,8345,0,0,0,0,0,0,0,0,0,0,0,0,
0,2520,0,3140,6730,8075,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,13.9K,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,535,13.65K,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,60,1385,13.15K,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,160,2520,12.31K,0,0,0,0,0,0,0,0,0,0,0,0,
0,480,0,1540,4755,10.96K,0,0,0,0,0,0,0,0,0,0,0,0,
0,1600,20,2980,6005,8720,0,0,0,0,0,0,0,0,0,0,0,0,
0,2040,100,3720,6440,8100,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,13.99K,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,555,14.05K,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,40,1360,13.69K,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,320,2410,12.63K,0,0,0,0,0,0,0,0,0,0,0,0,
0,480,0,1720,4775,10.61K,0,0,0,0,0,0,0,0,0,0,0,0,
0,1640,80,3280,5995,8450,0,0,0,0,0,0,0,0,0,0,0,0,
0,2440,40,3640,6585,7665,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,14.35K,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,40,590,13.63K,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,20,1430,13.37K,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,180,2490,12.91K,0,0,0,0,0,0,0,0,0,0,0,0,
0,720,0,1560,4665,10.71K,0,0,0,0,0,0,0,0,0,0,0,0,
0,1840,40,3200,6010,8275,0,0,0,0,0,0,0,0,0,0,0,0,
0,2040,40,3540,6710,7550,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
)288,288,148,242,165,61,553,492,0,MIDM2,152,162,661,477,1,MIDM[Vehicle,Scen_ind][Time_stat,Vehicle]Scenario selection20.6.2006 Jouni Tuomisto
Esimerkki kuinka 1.0.4-versiossa valitaan eri skenaarioajojen vlilt.
var a:= 0;
a:= if choose_scen = 'Article + sensitivity' then Scen1 else 0;
a:= if choose_scen='Inverse guarantee' then Scen1_0_4 else a;
a:= if choose_scen='Only 9 seat vehicles' then Scen_9seats else a;
index scenario:= if choose_scen = 'Article + sensitivity' then copyindex(Scen1_1) else
(if choose_scen='Inverse guarantee' then copyindex(Scenario1_0) else
(if choose_scen='Only 9 seat vehicles' then copyindex(Scenario5) else [0]));
a:= if choose_scen = 'Article + sensitivity' then a[Scen1_1=scenario] else a;
a:= if choose_scen='Inverse guarantee' then a[Scenario1_0=scenario] else a;
a:= if choose_scen='Only 9 seat vehicles' then a[Scenario5=scenario] else a;
a0472,96,148,242,102,90,476,437Sken1.1Model version 1.3.3
Trip data: YTV data 2001
Date: 19.7.2006
Scenario description: Scenarios1Table(Length,Vehicle_type,Zone,Output1,Scen_ind,Period)(
0,0,0,
12.06K,1016,248,
18.19K,1720,696,
21.18K,2264,992,
24.2K,2704,1072,
21.36K,2176,920,
21.22K,2336,856,
21.21K,2208,904,
21.15K,2216,880,
21.27K,2248,880,
8183,678,430,
6061,546,271,
4838,399,241,
4118,370,184,
3200,285,148,
4142,348,197,
3988,363,189,
3964,392,182,
3939,379,190,
4046,360,187,
0,0,0,
240,8,0,
784,8,0,
1456,16,8,
2032,32,0,
1384,24,0,
1320,16,0,
1368,0,0,
1448,24,0,
1480,8,0,
0,0,0,
3420,288,72.4,
5139,490.6,191.8,
5995,646,278,
6849,767.7,304.1,
6043,624.1,260.8,
5994,665.8,241.8,
5997,628.8,254.6,
5990,631,248.6,
6014,638.8,248.4,
0,0,0,
2808,376,23.57,
4444,556,42.67,
5441,558,57.33,
6396,697,68.73,
5365,605,56.17,
5444,592,56.63,
5406,542,55.67,
5347,586,54.83,
5351,556,54.77,
'NAN','NAN','NAN',
9.477,9.147,8.826,
9.503,9.341,8.959,
9.401,9.371,8.994,
9.368,9.448,9.028,
9.441,9.388,9.029,
9.443,9.412,8.988,
9.435,9.451,9.017,
9.41,9.4,9.011,
9.394,9.413,9.002,
0,0,0,
14.83K,760,40,
24.56K,1768,248,
30.5K,2272,464,
35.88K,3152,664,
30.38K,2400,528,
30.15K,2496,536,
30.46K,2368,472,
30.42K,2432,448,
30.33K,2344,544,
39.02K,3511,1902,
29.52K,2585,1413,
23.68K,2012,1167,
19.51K,1728,920,
15.46K,1357,749,
19.49K,1724,957,
19.65K,1668,922,
19.72K,1739,902,
19.49K,1822,935,
19.43K,1695,979,
0,0,0,
112,0,0,
664,0,0,
1528,0,0,
2408,8,0,
1312,8,0,
1544,0,0,
1384,8,0,
1496,8,0,
1584,0,0,
0,0,0,
4989,248.9,9.8,
8314,595.1,80,
10.36K,762.9,148.2,
12.18K,1075,205.6,
10.26K,822.5,165.7,
10.21K,846,163.4,
10.31K,802.8,145.3,
10.31K,815.8,137.9,
10.3K,777.1,167.2,
0,0,0,
0,509,0,
0,846,0,
0,1039,0,
0,1165,0,
0,937,0,
0,1015,0,
0,1029,0,
0,969,0,
0,984,0,
'NAN','NAN','NAN',
9.171,8.901,8.742,
9.209,9.014,8.826,
9.148,9.06,8.802,
9.098,9.116,8.809,
9.188,9.054,8.782,
9.133,9.072,8.799,
9.173,9.046,8.786,
9.144,9.086,8.804,
9.12,9.05,8.857,
0,0,0,
89.08K,4136,496,
159.8K,9712,1608,
201.8K,13.58K,2640,
242.3K,17.75K,4088,
203K,13.74K,2536,
202K,13.7K,2848,
201.8K,13.75K,2592,
202K,13.69K,2552,
202.4K,13.81K,2528,
226.8K,19.86K,10.98K,
169.9K,14.85K,8239,
135.7K,11.76K,6689,
113.1K,10.02K,5440,
90.28K,7772,4431,
113.1K,9978,5495,
112.9K,9764,5512,
112.6K,9964,5549,
112.3K,9813,5671,
113K,9853,5611,
0,0,0,
904,24,0,
3688,32,0,
6848,96,8,
11.14K,96,8,
6736,56,0,
7008,64,8,
7000,96,0,
6784,64,0,
6704,48,8,
0,0,0,
34.56K,1595,196,
62.42K,3761,617,
78.93K,5261,1019,
94.96K,6915,1575,
79.44K,5321,988.8,
78.98K,5328,1099,
79.06K,5300,1010,
79K,5302,991.1,
79.18K,5358,998.2,
0,0,0,
0,2856,0,
0,4389,0,
0,5357,0,
0,6359,0,
0,5297,0,
0,5372,0,
0,5354,0,
0,5261,0,
0,5238,0,
'NAN','NAN','NAN',
9.062,8.868,8.77,
9.107,8.961,8.8,
9.099,8.992,8.835,
9.073,9.04,8.882,
9.11,9.032,8.852,
9.09,9.018,8.831,
9.095,9.015,8.842,
9.101,9.001,8.859,
9.106,9.02,8.849,
4,0,1,
3593,662,635,
4271,790,737,
4475,811,846,
4837,905,922,
4553,904,914,
4612,856,895,
4701,869,946,
4734,948,865,
4520,885,868,
0,0,1,
1965,178,109,
3176,269,133,
4049,369,201,
4950,446,206,
4078,392,206,
4082,364,201,
4059,336,191,
4186,391,183,
4085,365,185,
0,0,0,
584,20,4,
964,56,4,
1152,96,20,
1396,124,4,
1276,96,28,
1324,76,12,
1268,80,16,
1256,120,12,
1200,84,8,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
7,'NAN',7,
7.57,8.249,8.397,
7.222,8.059,8.334,
7.071,7.735,8.264,
6.919,7.716,8.431,
6.956,7.859,8.247,
6.91,7.933,8.337,
7.012,8.003,8.356,
7.027,7.775,8.311,
7.025,7.925,8.38,
12,4,2,
11.37K,1662,1307,
15.32K,2257,1854,
18.03K,2496,2220,
19.96K,2718,2463,
17.74K,2482,2142,
17.68K,2510,2087,
17.81K,2571,2194,
17.71K,2510,2223,
17.46K,2488,2205,
1,3,0,
9752,842,490,
15.66K,1401,771,
19.78K,1671,984,
23.57K,2100,1142,
19.5K,1710,985,
19.53K,1812,943,
19.61K,1759,975,
19.66K,1696,1015,
19.51K,1687,1008,
0,0,0,
1316,24,0,
3468,76,4,
5244,124,8,
6380,284,24,
4880,112,0,
4976,120,12,
4908,104,4,
4944,112,16,
4832,96,12,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
7,7,7,
7.715,8.251,8.069,
7.171,8.142,8.262,
6.855,8.081,8.328,
6.735,7.761,8.321,
6.936,8.105,8.334,
6.906,8.108,8.253,
6.932,8.131,8.349,
6.916,8.082,8.278,
6.92,8.156,8.314,
151,43,69,
86.37K,13.11K,8725,
107.6K,17.4K,13.09K,
120.7K,19.49K,15.58K,
133K,21.73K,17.64K,
121K,19.68K,15.43K,
120.2K,19.87K,15.29K,
120.9K,19.74K,15.69K,
120.5K,19.41K,15.21K,
120.7K,19.85K,15.63K,
32,10,16,
56.58K,4967,2851,
91.02K,7882,4537,
113.2K,9754,5597,
136.1K,11.91K,6732,
113.6K,9917,5537,
112.7K,10.04K,5612,
113.4K,10.04K,5568,
113.2K,9885,5442,
113.2K,10.03K,5540,
0,0,0,
5612,88,0,
15.05K,324,36,
22.03K,568,64,
29.58K,876,136,
22.1K,572,84,
22K,616,44,
22.11K,604,68,
22.17K,584,52,
21.72K,520,100,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
7.012,7,7.026,
8.131,8.319,7.982,
7.741,8.328,8.166,
7.509,8.301,8.236,
7.304,8.255,8.269,
7.517,8.307,8.225,
7.507,8.309,8.209,
7.514,8.3,8.242,
7.508,8.286,8.225,
7.527,8.323,8.226,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
12.81K,1198,803.5,
9697,991.1,553,
7901,729.5,478.2,
6844,698.8,369.6,
5401,536.4,308,
6826,648.3,406.8,
6612,683.6,396.4,
6580,741.8,399.8,
6554,698.9,394.6,
6648,696.5,378.3,
68.34K,7244,1201,
53.86K,5607,925.4,
44.16K,4771,747.3,
37.59K,3976,639.2,
31.54K,3450,522.6,
37.97K,4365,635.8,
38.21K,4237,641.1,
38.19K,3980,632.3,
37.8K,3971,646.3,
37.87K,3886,645.9,
'NAN','NAN','NAN',
'NAN','NAN','NAN',
'NAN','NAN','NAN',
'NAN','NAN','NAN',
'NAN','NAN','NAN',
'NAN','NAN','NAN',
'NAN','NAN','NAN',
'NAN','NAN','NAN',
'NAN','NAN','NAN',
'NAN','NAN','NAN',
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
92.1K,9436,5503,
71.89K,7193,4087,
59.18K,5673,3470,
49.77K,4954,2752,
40.53K,3926,2242,
49.7K,4963,2839,
50.15K,4744,2713,
50.19K,4977,2680,
49.45K,5127,2767,
49.65K,4810,2854,
0,13.9K,0,
0,11.45K,0,
0,9835,0,
0,8034,0,
0,6512,0,
0,8212,0,
0,8358,0,
0,8092,0,
0,8004,0,
0,8313,0,
'NAN','NAN','NAN',
'NAN','NAN','NAN',
'NAN','NAN','NAN',
'NAN','NAN','NAN',
'NAN','NAN','NAN',
'NAN','NAN','NAN',
'NAN','NAN','NAN',
'NAN','NAN','NAN',
'NAN','NAN','NAN',
'NAN','NAN','NAN',
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
634.6K,62.39K,36.87K,
490.2K,47.73K,27.96K,
401K,38.41K,22.8K,
340.8K,33.14K,18.52K,
278.2K,25.99K,15.2K,
340.1K,32.99K,18.83K,
340.5K,32.33K,18.87K,
339.7K,32.75K,18.91K,
339.3K,32.45K,19.25K,
341K,32.42K,19.17K,
0,70.32K,0,
0,56.12K,0,
0,46.05K,0,
0,38.86K,0,
0,33.68K,0,
0,40.24K,0,
0,39.39K,0,
0,39.82K,0,
0,40.46K,0,
0,39.36K,0,
'NAN','NAN','NAN',
'NAN','NAN','NAN',
'NAN','NAN','NAN',
'NAN','NAN','NAN',
'NAN','NAN','NAN',
'NAN','NAN','NAN',
'NAN','NAN','NAN',
'NAN','NAN','NAN',
'NAN','NAN','NAN',
'NAN','NAN','NAN',
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
'NAN','NAN','NAN',
'NAN','NAN','NAN',
'NAN','NAN','NAN',
'NAN','NAN','NAN',
'NAN','NAN','NAN',
'NAN','NAN','NAN',
'NAN','NAN','NAN',
'NAN','NAN','NAN',
'NAN','NAN','NAN',
'NAN','NAN','NAN',
0,0,0,
3632,272,16,
5560,464,80,
6800,608,160,
8208,840,216,
6912,616,176,
6848,632,144,
6776,616,120,
6920,600,160,
6936,584,104,
24.76K,2226,1255,
18.74K,1679,888,
15.1K,1281,704,
12.51K,1120,588,
9761,873,499,
12.31K,1036,591,
12.39K,1060,581,
12.32K,1087,569,
12.2K,1072,584,
12.38K,1163,586,
0,0,0,
128,0,0,
664,0,0,
1320,8,0,
2152,0,0,
1296,8,0,
1384,8,0,
1352,0,0,
1272,0,0,
1456,0,0,
0,0,0,
2965,215.7,12.8,
4703,394.7,70.3,
5891,494.4,127.3,
7178,690,178,
6033,496.3,149.2,
5894,519.3,113.8,
5834,496.6,95.3,
5992,492.2,137.1,
5976,475.6,76.5,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
'NAN','NAN','NAN',
8.843,8.895,8.742,
8.417,8.968,8.742,
8.013,8.919,8.829,
7.608,9.049,8.839,
8.044,8.89,8.742,
7.954,8.85,8.79,
7.95,9.002,8.8,
8.07,8.936,8.786,
7.901,8.949,8.809,
0,0,0,
131.3K,5592,488,
246K,13.88K,1592,
323.2K,19.83K,3096,
393.9K,26.49K,4760,
322.3K,19.63K,3152,
321.2K,20.12K,3128,
322.3K,20.08K,3000,
320K,20.08K,3016,
319.4K,19.76K,2968,
824.7K,72.34K,40.26K,
619.2K,54.02K,29.95K,
495.8K,43.43K,24.32K,
412K,36.16K,20.27K,
330.7K,28.98K,16.11K,
411.3K,36.34K,20.18K,
412.3K,36.16K,20.38K,
413.6K,36.25K,20.13K,
412.2K,36.39K,20.1K,
412.2K,36.14K,20.18K,
0,0,0,
1392,0,0,
8272,8,0,
16.07K,72,0,
27.37K,208,8,
15.13K,104,8,
15.77K,64,0,
16.29K,72,0,
15.87K,64,8,
15.42K,64,0,
0,0,0,
142.1K,5836,481.3,
271.1K,14.9K,1500,
359.1K,21.25K,3078,
441.3K,28.62K,4744,
358.8K,21.01K,3053,
356.9K,21.71K,3060,
358.1K,21.89K,2895,
355.2K,21.69K,2996,
355K,21.3K,2876,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
'NAN','NAN','NAN',
8.992,8.878,8.785,
8.952,8.937,8.781,
8.903,8.969,8.851,
8.815,8.979,8.844,
8.922,8.972,8.825,
8.906,8.978,8.824,
8.895,8.967,8.833,
8.899,8.98,8.824,
8.909,8.973,8.831,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
'NAN','NAN','NAN',
'NAN','NAN','NAN',
'NAN','NAN','NAN',
'NAN','NAN','NAN',
'NAN','NAN','NAN',
'NAN','NAN','NAN',
'NAN','NAN','NAN',
'NAN','NAN','NAN',
'NAN','NAN','NAN',
'NAN','NAN','NAN',
1,0,0,
3284,427,377,
4703,620,491,
5617,682,517,
6650,686,621,
5796,673,551,
5849,653,562,
5691,633,629,
5868,705,577,
5681,662,675,
3,0,1,
6173,529,315,
10K,853,475,
12.45K,1110,589,
14.93K,1302,762,
12.47K,1053,603,
12.61K,1093,597,
12.45K,1064,627,
12.55K,1088,618,
12.4K,1097,650,
0,0,0,
1016,0,0,
2028,68,8,
2728,92,4,
3576,152,16,
2848,112,4,
2936,100,0,
2756,96,20,
2928,100,8,
2816,104,16,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
7,'NAN','NAN',
6.621,8.31,8.212,
6.055,7.766,8.303,
5.801,7.642,8.433,
5.54,7.1,8.32,
5.774,7.475,8.313,
5.716,7.502,8.443,
5.796,7.483,8.287,
5.731,7.56,8.386,
5.735,7.475,8.408,
336,103,135,
167.5K,23.14K,14.2K,
221K,31.66K,21.81K,
255.1K,36.02K,26.57K,
289.9K,40.7K,30.69K,
255.8K,36.05K,26.09K,
256.6K,36.15K,26.7K,
255.5K,36.11K,26.65K,
256.3K,36.3K,26.54K,
258.1K,36.38K,26.57K,
218,64,83,
205.9K,18.3K,10.19K,
329.1K,29.18K,16.18K,
412.4K,35.94K,20.6K,
494.6K,43.59K,24.51K,
412.4K,36K,20.22K,
412.6K,36.24K,20.58K,
412.1K,36.12K,20.54K,
411.7K,36.41K,20.34K,
412.5K,36.3K,20.46K,
0,0,0,
16.02K,212,12,
41.71K,836,64,
63.56K,1340,112,
88K,2324,236,
63.46K,1404,164,
64.21K,1352,120,
63.2K,1452,144,
64.26K,1636,136,
64.82K,1540,128,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
7.011,7.034,7,
7.987,8.255,7.857,
7.506,8.253,8.052,
7.19,8.242,8.153,
6.904,8.158,8.197,
7.2,8.235,8.135,
7.186,8.25,8.158,
7.202,8.215,8.151,
7.182,8.206,8.148,
7.186,8.216,8.147,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
'NAN','NAN','NAN',
'NAN','NAN','NAN',
'NAN','NAN','NAN',
'NAN','NAN','NAN',
'NAN','NAN','NAN',
'NAN','NAN','NAN',
'NAN','NAN','NAN',
'NAN','NAN','NAN',
'NAN','NAN','NAN',
'NAN','NAN','NAN',
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
215.6K,21.93K,13.12K,
167.9K,16.43K,9519,
138.9K,12.92K,7594,
117.4K,11.39K,6249,
93.07K,9175,5206,
115.6K,10.77K,6424,
115.3K,11.08K,6186,
114.6K,10.96K,6103,
113.7K,11.04K,6207,
117K,12.06K,6358,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
'NAN','NAN','NAN',
'NAN','NAN','NAN',
'NAN','NAN','NAN',
'NAN','NAN','NAN',
'NAN','NAN','NAN',
'NAN','NAN','NAN',
'NAN','NAN','NAN',
'NAN','NAN','NAN',
'NAN','NAN','NAN',
'NAN','NAN','NAN',
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
8.283M,798.1K,464.1K,
6.386M,606.2K,347.1K,
5.206M,491.5K,284.2K,
4.395M,412.1K,238.5K,
3.589M,334.5K,188.6K,
4.389M,415.3K,235.4K,
4.393M,412.4K,236.7K,
4.416M,414.6K,235.3K,
4.4M,415.8K,235.2K,
4.394M,410.7K,235.8K,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
'NAN','NAN','NAN',
'NAN','NAN','NAN',
'NAN','NAN','NAN',
'NAN','NAN','NAN',
'NAN','NAN','NAN',
'NAN','NAN','NAN',
'NAN','NAN','NAN',
'NAN','NAN','NAN',
'NAN','NAN','NAN',
'NAN','NAN','NAN'
)64,232,148,242,611,66,476,224[Scenario1,Period]Scenarios1A table of different scenarios to be studied. Each row contains the values for the input variables used for the scenario.Table(Input_var,Scen_ind)(
1,0.75,0.6,0.5,0.4,0.5,0.5,0.5,0.5,0.6,
1,1,1,1,1,0.8,0.6,0.4,0.2,0.8,
7,7,7,7,7,7,7,7,7,7,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
8,8,8,8,8,8,8,8,8,8,
4,4,4,4,4,4,4,4,4,4,
2,2,2,2,2,2,2,2,2,2,
8,8,8,8,8,8,8,8,8,8
)['Composite fraction','Guarantee level','Lim']64,160,148,242,14,18,927,328,0,MIDM2,45,69,655,554,0,MIDM52425,39321,65535[Scen_ind,Input_var][Input_var,Scenario]Scenario1Index for a list of scenarios to be modelled.[1,2,3,4,5,6,7,8,9,10]64,192,148,12Cost elements156,88,148,241,0,0,1,1,1,0,,0,Cost_elementsCosts not included:
Accidents
Street infrastructure
City planning1208,72,168,551,1,1,1,1,1,0,,1,Costs_not_included__Composite traffic is more attractive to those with long (>= 5 km trips)1472,56,152,4865535,65532,19661Composite_traffic_isTotal societal VOI is only 23000 e/d, which implies robust conclusions1688,96,152,4865535,65532,19661Total_societal__voi_Other actions0104,256,196,12There are several new personal rapid transit (PRT) solutions under operation or preparation. However, all require extensive new infrastructure, either vehicles or roadsUnder operation:
CyberCab: The CyberCab is a new people mover system which first application is a temporary installation during the Floriade 2002 Ð a horticultural exposition organized once every ten years. 25 CyberCabs will provide transportation to the summit of the 40 meter high observation point: Big SpottersÕ Hill. The CyberCab is a fully automated vehicle seating 4 passengers. The system is operated by 2getthere.<a href="http://faculty.washington.edu/jbs/itrans/cybercab.htm">Click</a>
Under planning:
HiLoMag: special high-speed gateways for dual-mode cars <a href="http://faculty.washington.edu/~jbs/itrans/hilo1.htm">Click</a>
BiWay dual mode transport: network of elevated tracks along which vehicles are magnetically levitated, and guided under computer control. <a href="http://www.buick.co.uk/biway/intro4.html">Click</a>
Other_actions104,360,176,722,299,66,476,385Composite traffic alone cannot cover all needs of car ownership, but it is almost as good when combined with car sharing or rentalcomposite_traffic_dummy504,264,176,56There is an inefficiency bump at 0-20% composite fraction: with too low trip volumes, the benefits from aggregating trips are not realised, and the system is not profitableThere is an inefficiency bump at 0-30% (depending on various details about organising the traffic) composite fraction: with too low trip volumes, the benefits from aggregating trips are not realised, and the system is not profitable
Inefficiency bump in Finnish: tehottomuustyssy.composite_traffic_dummy480,408,180,722,103,257,476,34365535,65532,19661Composite traffic aggregates similar trips into public vehiclesIn composite traffic, a centralised system collects the information on all trips online, aggregates the trips with the same origin and destination into public vehicles with eight or four seats, and sends the travel instructions to the passengers' mobile phones.composite_traffic_dummy504,64,148,551,1,1,1,1,1,0,,1,[Alias Composite_traffic_a1]The pressures from road traffic have stimulated efforts to reduce emissions, congestion, injuries, and need to travelThe pressures from road traffic have stimulated efforts to reduce emissions (electric, hybrid, and hydrogen cars1, natural gas buses2, catalysts and particle traps3, and driving style4); congestion (traffic control5, street tolls, public transport subsidies); injuries (anti-locking brakes, airbags, speed limits6); and need to travel (urban planning7).Emissions328,336,172,522,310,109,596,4551. Ortmeyer,T.H. & Pillay,P. Trends in transportation sector technology energy use and greenhouse gas emissions. Proceedings of the Ieee 89, 1837-1847 (2001).
2. Tainio,M. et al. Health effect caused by primary fine particulate matter (PM2.5) emitted from busses in Helsinki Metropolitan Area, Finland. Risk Anal. 25, 149-158 (2005).
3. Mediavilla-Sahagun,A. & ApSimon,H.M. Urban scale integrated assessment of options to reduce PM10 in London towards attainment of air quality objectives. Atmos. Environ. 37, 4651-4665 (2003).
4. Vangi,D. & Virga,A. Evaluation of energy-saving driving styles for bus drivers. Proceedings of the Institution of Mechanical Engineers Part D-Journal of Automobile Engineering 217, 299-305 (2003).
5. Hounsell,N.B. & McDonald,M. Urban network traffic control. Proceedings of the Institution of Mechanical Engineers Part I-Journal of Systems and Control Engineering 215, 325-334 (2001).
6. Elvik,R. Optimal speed limits - Limits of optimality models. Transportation Research Record 32-38 (2002).
7. Banister,D. Reducing the need to travel. Environment and Planning B-Planning & Design 24, 437-449 (1997).New fuels and engines0104,64,196,12Particle traps, catalysts0104,96,196,12Driving style0104,128,196,12Traffic control, speed limits0104,160,196,12Subsidies to public transport0104,32,196,12Airbags, ABS brakes0104,192,196,12Urban planning0104,224,196,12EmissionsNew_fuels_and_engine;
Particle_traps__cata;
Driving_style;
Traffic_control__spe;
Urban_planning;
Composite_traffic_du328,64,188,12CongestionDriving_style;
Traffic_control__spe;
Subsidies_to_public_;
Urban_planning;
Composite_traffic_du328,128,188,12InjuriesTraffic_control__spe;
Airbags__abs_brakes;
Composite_traffic_du;
Driving_style328,160,188,12Need to travelUrban_planning328,256,188,12City infrastructureUrban_planning;
Composite_traffic_du328,192,188,12Price of a tripSubsidies_to_public_;
Composite_traffic_du328,32,188,12Recreational valuesUrban_planning;
Composite_traffic_du328,224,188,12Composite traffic aggregates similar trips into public vehicles1656,360,148,551,1,1,1,1,1,0,,1,Composite_traffic_agArgument056,456,148,24Conclusion056,512,148,2465535,65532,19661Calculations056,400,148,24Module: more details inside0jtue15. Aprta 2005 14:3456,344,148,29LegendCode legend for model items64,277,-164,371,0,0,1,0,0,1,,0,39321,52431,65535Arial, 1945-60% composite fraction is optimal1504,128,148,3865535,65532,19661A45_60__composite_frModel info
URN:NBN:fi-fe20051439DC-attribute with refinement Scheme (if any) Value
Title Composite traffic model 1.0.1
Creator Tuomisto, Jouni
Creator Tainio, Marko
Subject Trip aggregation
Subject Urban traffic
Subject Public transportation
Description.abstract Background Traffic congestion is rapidly becoming the most important obstacle to urban development. In addition, traffic creates major health, environmental, and economical problems. Nonetheless, automobiles are crucial for the functions of the modern society. Most proposals for sustainable traffic solutions face major political opposition, economical consequences, or technical problems. Methods We performed a decision analysis in a poorly studied area, trip aggregation, and studied decisions from the perspective of two different stakeholders, the passenger and society. We modelled the impact and potential of composite traffic, a hypothetical large-scale demand-responsive public transport system for the Helsinki metropolitan area, where a centralised system would collect the information on all trip demands online, would merge the trips with the same origin and destination into public vehicles with eight or four seats, and then would transmit the trip instructions to the passengers' mobile phones. Results We show here that in an urban area with one million inhabitants, trip aggregation could reduce the health, environmental, and other detrimental impacts of car traffic typically by 50-70 %, and if implemented could attract about half of the car passengers, and within a broad operational range would require no public subsidies. Conclusions Composite traffic provides new degrees of freedom in urban decision-making in identifying novel solutions to the problems of urban traffic.
Publisher Kansanterveyslaitos (KTL; National Public Health Institute)
Date.issued W3C-DTF 2005-11-30
Type DCMIType Software
Format IMT text/xml
Format.medium computerFile
Format 836 kB
Identifier http://www.ktl.fi/risk
Identifier URN URN:NBN:fi-fe20051439
Language ISO639-2 en
Rights Copyright Kansanterveyslaitos, 2005088,28,180,202,105,198,476,49965535,54067,19661Most proposed solutions aiming at sustainable traffic involve severe political, economical, or technical problemsother_actions504,400,172,56Cost assumptions and outputsktluser12. heita 2005 22:5148,2456,144,148,281,0,0,1,1,1,0,,0,1,274,10,196,359,17Choose comp0172,20,1156,121,0,0,1,0,0,0,72,0,1Choose_compChoose guar0172,44,1156,121,0,0,1,0,0,0,72,0,1Choose_guarChoose period0172,68,1156,121,0,0,1,0,0,0,105,0,1Choose_periodTable 11172,100,1156,121,0,0,1,0,0,0,72,0,1Table_1_pressuresFigure 3.top1172,196,1156,121,0,0,1,0,0,0,72,0,1Fig_5a_societal_costFigure 3.middle1172,220,1156,121,0,0,1,0,0,0,72,0,1Fig_5b_subsidiesFigure 3.bottom1172,244,1156,121,0,0,1,0,0,0,72,0,1Fig_5c_expandingFigure 21172,172,1156,121,0,0,1,0,0,0,72,0,1Fig_4_cost_variationFigure 11172,124,1156,121,0,0,1,0,0,0,72,0,1Fig_2_tripsCost by type to stakeholder1172,148,1156,121,0,0,1,0,0,0,72,0,1Fig_3_cost_by_sourceFig 6A Passenger VOI1172,268,1156,121,0,0,1,0,0,0,72,0,1Fig_6a_passenger_voiFig 6B Societal VOI1172,292,1156,121,0,0,1,0,0,0,72,0,1Fig_6b_societal_voiDecision056,568,148,24Log 1.220.6.2006 Jouni Tuomisto
Nyt kun pitisi tosissaan ruveta tekemn uutta yhdistelmliikennemallia, her kysymys, mit mallia/malleja pitisi kytt pohjana. Tss siis ensimmisen kuvaus nyt olemassaolevista malleista (esitelty aikajrjestyksess).
Lopputulos on, ett kehitys aloitetaan yhdistmll olennaiset osat versioista 1.1, 1.0.5, ja sup1_metro. Muut siirretn Old-kansioon. Nist otetaan peruskehityksen kohteeksi 1.0.5, ja muiden muutokset siirretn ja kopioidaan siihen. Versionumeroksi annetaan 1.2. Alustavasti tm onnistuikin, ja kaikki muiden versioiden olennaiset ominaisuudet siirrettiin 1.2:een. Nit ovat
* Eri skenarioajojen vlilt valitseminen (epaktiivinen koodi vain)
* uusi liukuvasti aggregoiva Trips-solmu 1.1-versiosta ja thn liittyen uusi Vehicle-indeksi.
* Autotyyppikohtaiset autotiedot erotuksena vanhaan, jossa koka vehicle-indeksin riville annettiin oma tieto.
* Passiivinen koodi metron mukaanotosta malliin, sislten Metro_matrixin ja Va1-solmun.
Seuraavaksi tehtvi hommia ovat
* rakentaa joukkoliikenteen matkamatriisi
* sytt sisn joukkoliikennereitit (Virpi tekee)
* Mieti, mitk olisivat jrkevt skenaariot laskettavaksi.
* tehd solmu, joka pist public fraction:in verran vke joukkoliikenteeseen jos se on tarjolla, ja yhdistelmliikenteeseen loput; tmn pit olla Tripsin ylvirrassa.
* Muuttaa vehicle balance- ja muita solmuja siten, ett ne eivt ole ajoneuvoriippuvaisia.
* Tehd solmu jolla valitaan, millainen auto on N henkiln kuljetuksessa kytss. Tt pit pysty vaihtelemaan Scenario_inputilla.
*Korjata Tripsia, koska nyt se antaa korkeintaan 1:n yhdistelmliikennemuodoille, ja loput menevt autoihin.
* Tarkistaa tarvitaanko Vehicle_balance1-solmua johonkin ja poistaa se jos ei.
* Mietti onko tarpeen kert matkatiedot nyt suunnitellulla Vehicle-indeksin tarkkuudella. Jos auton kokoluokka on mritelty erikseen (ks 3 palloa yls), ei ole vli montako ihmist siin on. Senhn voinee laskea jlkeenpin, tosin vain keskiarvon (?) Tm voi olla kriittinen asia muistin kannalta, koska nyt vehicle-indeksi on paljon isompi kuin ennen.
29.6.2006 Jouni Tuomisto
Tehtiin seuraavat muutokset:
- Luovutaan kokonaan termist composite fraction, koska nyt osuus voidaan laskea joko automatkoista tai joukkoliikennematkoista, eik se ole siis yksiselitteinen. Niinp aletaan kytt nimi car fraction ja public fraction jotka ovat ne osuudet nykyisest liikenteest jotka SILYVT alkuperisess moodissa. Nykytila on siis car 100% public 100%.
Tm muutos aiheuttanee muutoksia useampaan solmuun, mutta niit ei ruveta tekemn systemaattisesti nyt.
-Korjattiin All_trips uuden systeemin mukaiseksi, ja nytt toimivan.
Listtiin indeksiin Input_var rivi Public level kuvaamaan sit, miten laajaa joukkoliikennett on tarjolla eli paljonko supistetaan siit mit on nyt olemassa. Tm on vasta rivin indeksiss, eik sen operationalisointia ole rakennettu.
-Korjattiin Tripsi, ja nyt nytt toimivan. Ongelmana oli, ett y&'c'=Vehicle_noch on ERI asia kuin (y&'c')=Vehicle_noch eli sulkeet tarvitaan kertomaan ett kyseess on yksi tekstimuuttuja.
-Mietittv indeksit Vehicle, Vehicle_noch, Vehicle_type. Nyt ajattelen niin, ett Outputsiin pistetn Vehicle_type ja Mode1. Se on epselv, kannattaako Nochange-lukua kuljettaa mukana ollenkaan, kun ei taida olla kovin olennainen. Olisi se toisaalta kuitenkin mukava, joten pit mietti.
- Joitakin Outputsiin johtavia solmuja muutettiin ja kaikkien toimivuus tarkastettiin. Kuitenkaan indeksej ei alettu muuttaa, koska asia on viel pttmtt (ks. edellinen ranskalainen viiva).
- On mys mietittv, miten lasketaan ylimrinen noukkimiseen kuluva aika. Tllin tarvitaan tietoa a) montako autoa ajaa kyseisten paikkojen vli (jotta voidaan vhent pyshtymispisteiden mr) b) montako henke on autossa (jotta voidaan laskea todennkisten pyshdysten mr). Tm on viel miettimtt, mutta analyyttinen ratkaisu ongelmaan on keksitty.
30.6.2006 Jouni Tuomisto
Outputs-solmun ylvirtaa siivottiin, ja Waitingia lukuunottamatta ne saatiin oikeaan formaattiin. Waiting pit mietti kokonaan uudestaan.
1.7.2006 Jouni Tuomisto
Waiting mietittiin uusiksi. Nyt se huomioi pudotuspisteiden mrn alueella, yhtaikaisten autojen yhteistyn, ja vaihtoajan, joka on nyt vakio 6 min koska usean auton tilanteessa hyty otetaan pudotuspisteiden vhentmisest. Mik mukavinta, ajat eivt nyt pahoilta nill testinumeroilla, mik kyll johtuu siit ett mukana on vain ydinkeskusta ja vaihtoja ei tarvita.
2.7.2006 Jouni Tuomisto
Kaikki Outputsiin tulevat solmut jrjestettiin, aggragointifunktiot yhdenmukaistettiin ja indeksit muutettiin jrjestelmllisiksi. Nyt Output1-indeksiss on vain 6 rivi mutta 8 muuttujaa. Tm tehtiin siten, ett total_vehicle_need, link_intensity ja areal_vehicle_peak yhdistettiin yhdeksi muuttujaksi period-indeksin rivein tss jrjestyksess. Kaikki muut muuttujat muutettiin siten, ett niiss on indeksit Zone, Length, Period ja Vehicle_type. Teknisi vikoja en en nist solmuista lytnyt, joten periaatteessa malli on nyt ajokunnossa.
3.7.2006 Jouni Tuomisto
Tydennettiin Public level malllin toimivaksi osaksi. Tein Public_martix-solmun, jota tss hydynnetn. Se on kuitenkin pelkk dummy, koska oli Virpin ja Hannan homma kehitt joukkoliikennereittimatriisia, joten siihen ei puututa. Nyt voisi testata, antaako malli samoja tuloksia kuin edellinen malli.
Tuo edellinen lause havahdutti huomaamaan, ettei mallilla pystykn laskemaan samoja skenaarioita. Trips kun on rakennettu siten, ett matkaryhmn kokoa pienennetn yksi kerrallaan, ja vanhoissa skenaarioissa hypttiin neljn vlein. Tm ongelma vaati koko pivn taustapohdintaa sek Tripsin uudelleenmiettimist. Ongelma ratkaistiin siten, ett nyt yhdistely tehdn Vehicle_noch-indeksill rivi kerrallaan, eik perkkisten rivien tarvitse sislt perkkisi numeroita, kunhan ovat alenevassa jrjestyksess. Sen ei siis myskn tarvitse olla yht suurempi kuin Vehicle-indeksi kuten aiemmin. Merkinttapaa indekseiss muutettiin siten, ett ensimminen merkki on d=direct tai c=change ja sitten tulee ryhmn koko. Tm vaati muutaman tarkistusrivin lismisen joihinkin solmuihin, jotta vltetn virheilmoitukset tapauksessa joissa vehicle_noch:ssa on vhemmn rivej kuin vehicle:ss.
Scenarios-solmu tarkistettiin ja pivitettiin. Nyt siin on kolme skenaariota vanhasta tutkimuksesta, ja ainakin 16 alueen minimallilla ne toimivat hyvin. Nyt pistn tmn ajamaan yksi 129 alueella.
9.7.2006 Jouni Tuomisto
Muisti tkksi 129 alueen kanssa, mutta 64 aluetta ajautui kutakuinkin siivosti. Ongelmana on Waiting-solmu, jossa on kovin monta indeksi yhtaikaisesti pyrimss, ja sitten viel listn Waiting_time. Yritin ideoida erilaisia ratkaisuja:
- Ei summatakaan tietyn odotusajan matkojen lukumri, vaan lasketaan keskiarvoja. Tm ei onnistu siksi, ett pitisi pysty laskemaan keskiarvot ennen esim. From-indeksin romauttamista Zoneksi , jolloin en keksinyt hyv tapaa ilman ett tauluun siunaantuu nollia jotka pilaavat keskiarvoistuksen.
- Yritin tehd while-do-luuppeja joihin yhdistetn slice-funktio, mutta tulos johti vain tosi hitaaseen laskentaan verrattuna alkuperiseen. En jaksanut selvitt oliko syyn bugi vain onko slicaaminen vain sen verran hidasta.
-Yritin mys semmoista, ett Waiting timen lisksi tehdn for- luuppi timelle, mutta sekin nytti pidentvn laskenta-aikaa. Tm kyll olisi mahdollinen ratkaisu, mutten nyt jaksa testailla laskenta-aikoja. Voisin ehk tehd sit huomenna tiss sivukoneella.
10.7.2006 Jouni Tuomisto
En en palannut tuohon Waitingin muistiongelmaan, vaan uskon sen olevan siedettv kun mallia ajetaan BBU:lla. Tnn sen sijaan yhdistin Virpin, Hannan ja Ollin muokkaaman Bussireittimatriisin ja HLT-matkamatriisin perusmalliin. Lissin mys scenario_inputiin mahdollisuuden vaihtaa matkamatriisia skenaariosta toiseen.
Bussireittimatriisi toimii muuten hyvin, mutta aikaulottuvuutta en saa toimimaan. Syyn on se, ett jossain vaiheessa Mirror-funktiossa tulee m..n indeksi, jossa m tai n eivt olekaan skalaareja. Yritin ratkaista tt kyttmll for w[]:= luuppia koko kaavan ymprill, mutten saanut sit toimimaan.
Huomasin, ett Si_pi-funktio on inikuinen Ana 2.0-koodia sisltv. Pivitin sen, jolloin poistui mys tarve erilliselle normitus-funktiolle.
Nimi vaihdettiin versioksi 1.3.
0600,32,148,122,676,125,500,41865535,54067,19661Log 1.311.7.2006 Jouni Tuomisto
Tein muutamia skenaarioita ja ajattelin testata systeemi BBU:ssa. Joukkoliikennematriisi ei toimi viel tyydyttvll tavalla, joten kytn oletusta ett joukkoliikenne on kaikkialla (miss on matkojakin).
13.7.2006 Jouni Tuomisto
Hip hurraa! Onnistuin ratkaisemaan Waiting-ongelman siten, ett laskenta vielkin nopeutui noin varttituntiin ja muistia vaaditaan pahimmillaan 1.2 GB. Ajoin koko mallin Output1:een asti kannettavalla, ja aikaa meni 75 min. Kuitenkin silloin huomasin, ett matkojen kokonaismr on 3* liian suuri, ja siit pdyin huomaamaan, ett matkamatriisit eivt ihan viel ole johdonmukaisesti rakennettuja. Koska HLT2005 sislt mys kulkutapatietoa, sit pitisi kytt. Mutta jos kytetn, adjusted_trip_rate joka skaalataan henkilautomatkoihin on vrin. Tm pit siis viel mietti ja korjata.
Se olikin aika helppo ja on nyt korjattu.
Mutta viel tuli isompi kysymys: miten lasketaan joukkoliikenteen lopputulemat? Nythn kaikki Tripsist lhtev on vain yhdistelmliikennett, eik joukkoliikennett malliteta ollenkaan.
Koska mallissa ei huomioida joukkoliikenteen ajoneuvojen kokoa, ei myskn pystyt laskemaan ajoneuvokilometrej, eik siksikn etteivt vuorovlit ole realistisia. Ajoneuvotyypit eivt myskn ole tiedossa, joten matkojen mr eri aikoina, pituuksilla ja alueilla on riittv tieto. Odotusajat olisi kyll kiva tiet, mutta koska joukkoliikennett ei mallinneta ajoneuvon tarkkuudella, tm ei ole mahdollista. Vaihtojahan ei oleteta olevan ollenkaan eli jos suoraa yhteytt ei ole, matka siirtyy yhdistelmliikenteeseen.
Yhteenvetona siis voi sanoa, ett joukkoliikennematkojen mr on riittv tieto vaikutusten arvioimiseen. Thn vaikuttaa joukkoliikennematriisi, joka riippuu joukkoliikennematkoista seuraavasti:
- Jos matkojen mr tietyll vlill on suurempi tai yht suuri kuin Public level, niin reitti kuljetaan. Jos Public level siis on 0, kuljetaan kaikki olemassaolevat reitit.
Public trips per linkin avulla pitisi piirt joukkoliikennekartta siit, mit reittej on mukana misskin skenaariossa ja kuvata nm sitten yhdess yhdistelmliikenteen kustannusten kanssa. Tm ei riipu skenaarioista, joten sen voi tehd milloin vain.
Poistin Felxible fractionin toiminnasta, koska sit en ole koskaan tarvinnut, ja toteutustapa tuntuu nyt huonolta. Ehk koodinkin voisi poistaa kokonaan, mutten sit viel tee. Teinps kumminkin sen, ett pooistin sen Input_var-indeksist, jotta sen rakennetta ei tarvitse menn muuttelemaan sitten, kun skenaarioita ehk on ajettu.
Nyt siit oli lishaitta, ett kun Scenario_inputia muutti, Public trips per link:n arvot unohtuivat, ja se on hidas laskea, melkein puoli tuntia. Nyt se lasketaan vain kerran, vaikka skenaariot vaihtuisivatkin. Eips muuten olekaan, ylvirrassa valitaan matkamatriisi, joten kaikki unohtuu joka tapauksessa. Tt pitisi ehk mietti, saisiko sen laskettua muuten. Joko on tehtv niin, ett matkamatriisia ei muutella skenaarioiden vlill, tai sitten Public_trips_per_link lasketaan vakiomatriisista. Ensimminen on jrkevmpi, ja sen mukaisesti siis muutetaan. Listn yksi choice vliin, niin muistaa paremmin ett sit voi muutella.
Tulipa muuten mieleen, ett voisi ottaa kytnnksi sen, ett ajaisi skenaarioita aina jonkun vakiomrn, semmoisen mink yhdess tai kahdessa yss ajaa. Sitten olisi helpompi vaihdella skenaariopaketteja.
14.7.2006 Jouni Tuomisto
Huomasin kumman ominaisuuden vai liek bugi:
a:= if a=0 or isnan(a) then 100u else a; antaa isnan-funktion arvoksi false vaikka a=0/0, mutta kun sama erotetaan kahdelle riville, ei tule virhett.
15.7.2006 Jouni Tuomisto
Olen nyt pivittnyt kustannuspuolta. Keksin muuttaa kytettvt indeksit dynaamisiksi sten, ett ainoastaan skenaarioissa kytetyt arvot tulevat indeksiin. Nin sstyy palson muistia, eik tarvita ollenkaan Choose_var-solmujja.
Koko Cost-puolen koodaus ja indeksit on kytv lpi. Vanhassa versiossa on ollut vehicle_noch- tai vehicle_indeksi kytss, ja nit lytyy vhn joka koodista. Toisaalta Park rush veh-rivi on pistnyt asioita uusiksi. Esim. Cars needed-solmu on laskettava uusiksi park rushveh-rivilt. Muutenkin on hankala ymmrt mit vanha koodi teki, mutta kai siin jrkion.
Bussimatriisin etisyydet pit laskea erikseen, koska reitit eivt ole identtiset autojen kanssa. tm onnistuukin mutta on tehtv staattinen indeksi links_pub kuten links_1. Tt ei kuitenkaan kannata tehd staattiseksi ennen kuin on lopullinen joukkoliikennematriisi. Niinp nyt lasketaan se staattisesti.
17.7.2006 Jouni Tuomisto
Linkki 1011,1012 puuttuu normaalista tiestst, mutta bussit ajavat sit. Niinp se on listtv Link_length-tauluun. Tein sen jo, mutta linkin pituus on tarkastettava kartasta. Sama ptee pareille 1014,1015; 1010,1011; 1001,1011; 1001,1015. Lisksi nit pareja tulee lis, kun From mritelln isommaksi.
Aggr_length sislt nyt oletuksen, ett Mode1 otetaan mukaan (koska ylvirran Distance sislt tuon indeksin). Tuohan on niin kuin pit, mutta kaikki solmut on katsottava lpi, ett tulokset ovat oikein, tai sitten vain scisattava muut vasteen tuin yhdistelmliikenne pois. Nythn pointtina on vertailla tuloksia vanhan tutkimuksen kanssa.
18.7.2006 Jouni Tuomisto
Vehicle_km tehdn siten, ett Vehicle_typeen tehdn yksi uusi rivi Bus, joka on 50 hengen bussi. Bussikilometrit lasketaan erikseen sen perusteella, onko linja toiminnassa vai ei perustuen joukkoliikenteen Distanceen. Oletetaan ett busseja lhtee vakioaikavlein ajamaan reitti vakionopeudella, jolloin tarvittavien bussien mr on distance/vehicle_speed/0.5 h jos vuorovliksi halutaan puoli tuntia. Mutta nyt iso kysymys kuuluu, miten mrtn se, miten bussi ajaa tai ei aja. Jos monta bussivuoroa ajaa samaa reitti, mitk busseista ajetaan ja mitk ei? Bussimatriisi pitisi pysty palauttamaan jotenkin takaisin bussilijoiksi, jolloin nhtisiin, mitk vuorot ovat olemassa, ja sitten voitaisiin laskea, tuo autojen tarve. Tm kuitenkin vaatii melkoista pohdintaa, eik valmiita ideoita ole.
20.7.2006 Jouni Tuomisto
Pit pohtia se, miten Time_cost oikeasti lasketaan. Onko siis keskimrinen odotusaika laskettu jokaiselle Composite_tripsille (jotka voivat oikeasti olla matkan puolikkaista) vai jokaiselle alkuperiselle matkalle (Trips_per_period). Tm varmaan vaikuttaa lopputulokseen aika lailla. Toinen kysymys on se, ett Trips_per_period on indeksoitu Mode1:ll, mik ei kustannuslaskentapuolella ole yleist ja aiheuttaa siten harmia.0600,64,148,122,797,145,476,22465535,54067,19661