56
Robust Geographic Routing and Location- based Services Ahmed Helmy CISE Department University of Florida [email protected] http://www.cise.ufl.edu/~helmy Wireless & Mobile Networking Lab

Robust Geographic Routing and Location-based Services

  • Upload
    havard

  • View
    44

  • Download
    0

Embed Size (px)

DESCRIPTION

Robust Geographic Routing and Location-based Services. Ahmed Helmy CISE Department University of Florida [email protected] http://www. cise.ufl.edu/~helmy Wireless & Mobile Networking Lab http:// nile.cise.ufl.edu. Methodology & Tools. Architecture & Protocol Design. - PowerPoint PPT Presentation

Citation preview

  • Robust Geographic Routing and Location-based ServicesAhmed HelmyCISE DepartmentUniversity of [email protected]://www.cise.ufl.edu/~helmy Wireless & Mobile Networking Lab http://nile.cise.ufl.edu

  • Birds-Eye View: Research in the Wireless Networks Lab at UFL

  • OutlineGeographic Services in Wireless NetworksRobust Geographic RoutingRobut GeocastGeographic Rendezvous for Mobile Peer-to-Peer Networks (R2D2)

  • Robust Geographic RoutingGeographic routing has been proven correct and efficient under assumptions of:(I) Accurate node locations(II) Unit disk graph radio model (Ideal/reliable links)

    In practiceNode locations are obtained with a margin of errorWireless links are highly variable and usually unreliable

    So How would geographic routing perform if these assumptions are relaxed?

  • Problem Statement and ApproachQ: How is geographic routing affected by location inaccuracy?Approach: - Perform location sensitivity analysis: perturb node locations and analyze protocol behavior - Conduct:- Correctness Analysis (using micro-level stress analysis)- Performance Analysis (using systematic simulations, experiments)* K. Seada, A. Helmy, R. Govindan, "On the Effect of Localization Errors on Geographic Face Routing in Sensor Networks", The Third IEEE/ACM International Symposium on Information Processing in Sensor Networks (IPSN), April 2004.On the Effect of Localization Errors on Geographic Face Routing in Sensor NetworksKarim Seada, Ahmed Helmy, Ramesh Govindan

  • Basics of Geographic RoutingA node knows its own location, the locations of its neighbors, and the destinations location (D)The destinations location is included in the packet headerForwarding decision is based on local distance informationGreedy Forwarding: achieve max progress towards DxDyGreedy Forwarding

  • Geographic Routing(I) Greedy forwarding Next hop is the neighbor that gets the packet closest to destination

    Greedy forwarding fails when reaching a dead end (or void, or local minima)destinationsource

  • (II) Dead-end Resolution (Local Minima)Getting around voids using face routing in planar graphsNeed a planarization algorithm

    * P. Bose, P. Morin, I. Stojmenovic, and J. Urrutia. Routing with Guaranteed Delivery in Ad Hoc Wireless Networks. DialM Workshop, 99.* GPSR: Karp, B. and Kung, H.T., Greedy Perimeter Stateless Routing for Wireless Networks, ACM MobiCom, , pp. 243-254, August, 2000.Planarized Wireless Network Removed LinksKept LinksFace Routing* void

  • Problem Statement:Q: How is geographic routing affected by location inaccuracy?Approach: - Perform sensitivity analysis: perturb locations & analyze behavior - Conduct:- Correctness Analysis (using micro-level stress analysis)- Performance Analysis (using systematic simulations)* K. Seada, A. Helmy, R. Govindan, "On the Effect of Localization Errors on Geographic Face Routing in Sensor Networks", The Third IEEE/ACM International Symposium on Information Processing in Sensor Networks (IPSN), April 2004.On the Effect of Localization Errors on Geographic Routing in Sensor Networks*Karim Seada, Ahmed Helmy, Ramesh Govindan

  • Evaluation FrameworkMicro-level algorithmic Stress analysisDecompose geographic routing into componentsplanarization algorithm, face routing, greedy forwarding Start from algorithm and construct complete conditions and bounds for possible errorsClassify errors and understand cause to aid fixSystematic SimulationsAnalyze performance and map degradation to errorsEstimate most probable errors and design fixesRe-simulate to evaluate efficacy of fixes

  • Planarization AlgorithmsRelative Neighborhood Graph (RNG) Gabriel Graph (GG)A node u removes the link u-v from the planar graph, if node w (called a witness) exists in the shaded regionRemoved linkRemoved link

    For each node u, where N is a list of the neighbors of u:

    for all v ( N

    for all w ( N

    if w == v then continue

    else if d(u,v)>max[d(u,w),d(w,v)]

    remove edge (u,v)

    w

    v

    u

    Figure 2: GG planarization algorithm

    _1118322950.doc

    For each node u, where N is a list of the neighbors of u:

    for all v ( N

    for all w ( N

    if w == v then continue

    else if d(c,w)

  • Mirco-level Algorithmic ErrorsIn RNG an error will happen when decision{d(u,v)>max[d(u,w),d(w,v)]} decision{d(u`,v`)>max[d(u`,w`),d(w`,v`)]}While in GG error will happen when decision{d(c,w) < d(c,u)} decision{d(c`,w`) < d(c`,u`)} Excessive edge removal leading to network disconnection

  • Permanent loop due to insufficient edge removalCross links causing face routing failure Inaccuracy in destination location leading to looping and delivery failure

    F4

    F2

    F1

    E

    D

    S

    F3

    F2

    F1

    E`

    F4

    D

    S

    (b) Estimated

    (a) Accurate

    F3

    (b) Estimated

    (a) Accurate

    D

    F1

    F3

    F2

    E`

    S

    D

    F1

    F3

    F2

    E

    S

    D`

    S

    D

    S

    (b) Estimated

    (a) Accurate

  • Conditions that violate the unit-graph assumption cause face routing failure uvwv's rangeInaccurate Location EstimationObstaclesIrregular Radio RangeDisconnectionsCross-Linksw's rangeu's range

  • Systematic SimulationsLocation error model: uniformly distributed errorInitially set to 1-10% of the radio range (R)For validation set to 10-100% of RSimulation setup1000 nodes distributed uniformly, clustered & with obstaclesConnected networks of various densitiesEvaluation Metric Success rate: fraction of number of reachable routes between all pairs of nodesProtocols : GPSR and GHT

  • GPSRGPSR with the fixGHTGHT with the fixMutual Witness MechanismThese are correctness errors leading to persistent routing failures. Even small percentage of these errors are Unacceptable in static stable networks

  • GPSR without the fixGPSR with the fixGHT without the fixGHT with the fixThe mutual witness fix achieves near-perfect delivery even in the face of large location inaccuracies.BeforeAfter

  • Geographic Routing with Lossy Links*Karim Seada, Marco Zuniga, Ahmed Helmy, Bhaskar KrishnamachariGeographic routing employs max-distance greedy forwardingUnit graph model unrealisticGreedy routing chooses weak links to forward packets* K. Seada, M. Zuniga, A. Helmy, B. Krishnamachari, Energy-Efficient Forwarding Strategies for Geographic Routing in Lossy Wireless Sensor Networks, The Second ACM Conference on Embedded Networked Sensor Systems (SenSys), pp. 108-121, November 2004. Wireless Loss Model

    Chart1

    0

    0

    0

    1

    1

    0

    0

    0

    0

    0

    0

    0

    0

    0

    1

    1

    0

    0

    0

    0

    0.015463

    0

    0

    0

    0

    1

    0.999649

    0

    0

    0

    0

    0

    0

    0.005507

    0

    0

    0

    0.644104

    0

    1

    1

    0

    0.017314

    0

    0

    1

    0

    0

    0.000696

    0.852144

    1

    0.239707

    0.953661

    0

    0

    0

    0

    0

    0.303272

    0

    0.026666

    0

    0.972548

    0

    0

    1

    0

    0

    0

    0.000041

    0

    0

    0

    0

    0

    0

    0.95852

    0.07578

    0.00019

    0

    1

    0

    0

    0.976639

    1

    0

    0

    0

    0.987268

    0

    0

    0

    0

    0

    0

    0

    1

    1

    1

    0

    0

    0.999994

    0.00243

    0.980484

    1

    0.000181

    0

    0

    0

    0

    0

    0

    0.999966

    0

    0

    0

    0

    0

    0

    0

    0

    0

    1

    1

    0.004647

    0.999927

    0.998366

    0

    0

    0.000138

    1

    0

    1

    0.033504

    0

    0.970262

    0.999941

    0

    0

    0

    1

    0.876297

    0

    0

    0

    0.999365

    0

    0

    0.759344

    0

    0

    1

    0

    1

    1

    0

    0

    0

    0

    0

    0.999951

    0

    0.862325

    0

    0.000123

    0

    0

    0.478661

    0.646772

    0

    0

    0

    0

    0

    0.000113

    0

    1

    1

    0

    0

    0

    0

    0

    0

    1

    0

    0

    0

    1

    0.011617

    0

    0

    0

    0

    0

    1

    0

    0

    0

    0

    0

    0

    0.017408

    0

    1

    1

    0

    1

    0

    0

    0

    0

    0

    0.33828

    0

    1

    0

    0

    0

    0

    0

    0

    0

    1

    0

    0

    0

    0

    0.000013

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0.004253

    0.997001

    0

    0.693416

    0

    0

    0

    0

    0

    0

    1

    0

    0

    0

    0

    0

    0.937639

    0

    0

    0

    0

    1

    0

    0.23525

    0

    0

    0.000001

    0

    0

    1

    0

    0

    0

    0

    0.711012

    0

    0.000077

    0

    0

    0

    0

    0

    0

    0.999279

    0

    0

    0

    0

    0

    0

    0

    0.999997

    0

    0.000908

    0

    0

    1

    0.361337

    0

    0

    0

    1

    0.998157

    0

    0

    0

    0

    0

    0

    0

    0.007286

    1

    0.954509

    1

    1

    0.948053

    0.869678

    1

    0

    0

    0

    0.491961

    0

    0

    0.825872

    0.979269

    1

    0

    0.000327

    0.995684

    0.000016

    0

    0

    0

    0

    0

    0.965708

    0

    0

    0

    0.550896

    1

    1

    0

    0

    0

    0.996657

    0.994246

    1

    0.998419

    0

    0

    0

    0

    0

    0

    0.999999

    0.910492

    1

    0

    0

    0

    0.992616

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0.813393

    0

    0

    0.999988

    0.138804

    0

    0.99555

    0

    0

    0

    0

    0.114264

    0

    0

    0

    0

    0.050936

    0

    0

    0

    0

    0

    0

    1

    1

    0.000006

    0

    0.012595

    0

    0.551174

    0

    0

    0

    1

    0

    0

    0

    0

    0

    0

    0.996985

    0

    0

    0

    0

    0.985696

    0

    0.999987

    0

    0.393728

    0.88192

    0

    1

    0

    0

    0

    0.99717

    0

    0.988132

    0.999945

    0.224103

    0

    0

    0

    0

    0

    1

    1

    0.096184

    0

    0

    0.990886

    0.304753

    0

    0

    0

    0

    0

    1

    0

    0

    0

    0

    0

    0

    0

    1

    0

    0

    0.845309

    0.034116

    0.15112

    0

    0

    0

    0

    1

    0

    0

    0

    0.081883

    0

    0.999974

    0

    0

    0

    0

    0.000019

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0.992779

    0

    1

    0

    0

    0.000002

    1

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0.115956

    0

    0

    0

    0.005896

    0

    0

    0

    0.00019

    0

    0

    0

    0.084294

    0

    0.263101

    0

    0.999991

    0.003447

    0

    0

    0

    0

    0

    0

    1

    1

    0

    0

    0

    0

    0.007696

    0.942816

    1

    0.000007

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0.706296

    0

    0

    0

    0

    0

    1

    0

    0

    0.991934

    0.502515

    1

    0

    0

    0

    0

    0

    0

    0.988755

    0

    1

    0

    0

    0

    0.999467

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0.002228

    0

    0

    0

    0

    0

    0

    0

    1

    0

    0

    1

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0.000372

    0

    0

    0

    0.995435

    0

    0

    0

    0

    0

    0

    0

    1

    0

    0

    0

    1

    0

    0

    0.019458

    0

    0

    0

    0

    0

    0

    0.956265

    0

    1

    0

    0

    0

    0

    0

    0.220231

    0

    1

    0

    0

    0

    0.000001

    0

    0

    0

    0.998597

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0.685528

    0

    0

    0

    0

    0

    0.003468

    0

    0.999999

    0

    0

    0

    0.258861

    0.997455

    0.997127

    0.0635

    0

    0.004466

    0

    0

    0

    0

    0

    1

    0

    0.00002

    0.999752

    0.53397

    0

    0.997558

    0

    0.976552

    0.816382

    1

    0

    1

    0.998276

    0

    0

    0

    0.903901

    0

    1

    0.805314

    1

    0

    0

    0

    0

    0

    0

    0.967297

    0

    0

    0

    0

    0

    0

    1

    0

    0

    0

    1

    0

    0.822791

    0.939107

    0

    0

    0.810136

    0

    0.013311

    0

    0

    0.001052

    0.999175

    0.010528

    1

    0

    0

    0

    0.980166

    0.720724

    0

    0

    0

    0.755285

    0

    0

    0

    0.893588

    0.018756

    0.000077

    0

    0.999999

    0.789223

    0

    0

    0

    0

    0

    0

    0.104289

    1

    0.061607

    0

    0

    0

    0

    0

    0

    0.998465

    1

    0.100068

    0

    0

    0

    0

    0

    0

    0

    0

    0.596721

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0.044389

    1

    0

    0

    0

    0

    0

    0

    0

    0

    1

    0.182731

    0

    0

    0

    0

    0

    0

    0.999949

    0

    0

    0

    0

    0

    0

    0.008605

    0

    0

    0

    0

    0

    0

    0.961448

    0

    1

    0

    0.384226

    0

    0

    0.015012

    0

    0

    1

    0.994967

    0

    0

    0

    0

    0

    0.967052

    0

    0.311535

    0

    0.999851

    0

    0

    1

    0.197628

    0.316598

    0

    0

    1

    0.797242

    0.000005

    0

    0

    0

    0

    0

    1

    1

    0

    0

    0.783524

    0

    0

    0.974817

    0.690302

    1

    1

    0

    0

    0.020652

    0

    0

    0.000002

    0

    0

    0.022875

    0

    0

    0

    0

    0

    0

    0.223731

    0

    0

    0

    0.828164

    0

    0

    0

    0

    0

    0

    1

    0.000067

    0

    0.002027

    0

    0.148679

    0

    0

    0.967318

    0.000291

    0

    0

    0

    0

    0

    0

    0

    0.000103

    0.833087

    1

    0

    0

    0.995832

    0.999996

    1

    1

    1

    0

    0.990515

    0

    0.002083

    0

    0

    0

    0

    0

    1

    0.505121

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    1

    0

    0

    0

    0

    0.201199

    0

    0

    0

    0.993729

    0.995275

    1

    1

    0.011283

    0

    0

    0.179616

    0.008177

    0

    0

    0.999999

    0.020801

    0

    0

    0.999961

    0

    0.741425

    0

    0

    0

    0

    0

    0

    0

    1

    1

    0

    0

    0

    1

    0.001859

    0

    0

    0

    0

    0

    0.991541

    0.990264

    1

    0.960651

    0

    0

    0

    0

    0

    0.702638

    0

    0

    0

    0

    0

    0

    0.002865

    0

    1

    0

    0

    0

    0

    1

    0

    0

    0

    0

    1

    0

    0

    0

    0

    0

    0.001347

    0

    0

    1

    0

    0

    0

    0

    0

    0.001495

    0.995358

    0

    0

    1

    0.508206

    0

    0

    0

    0.003359

    0.999767

    0

    0

    0.978465

    0

    0

    1

    0

    0

    0

    0

    0.26611

    0

    0

    0

    1

    1

    0.991531

    0

    0

    0

    0.986999

    0

    1

    1

    0

    0

    0

    0

    0

    0

    1

    0

    0

    0

    0

    1

    0

    1

    0.798916

    0

    0

    0

    0

    0.999538

    0

    0

    0

    0

    0.935475

    0

    0.893398

    0

    0

    0

    0

    0

    1

    0

    1

    0

    0

    0

    0

    0

    0

    1

    0

    0

    0

    0

    0

    0

    0

    1

    0

    0

    0.755654

    0

    0

    0

    0.000197

    0

    0

    0.000047

    0.008526

    0

    0.000004

    0

    0

    0

    0.999997

    1

    0

    0

    0

    0.011449

    0

    0

    0

    0.073047

    1

    0

    0.999645

    1

    0.387146

    0

    0

    0

    0

    0

    0

    0.988765

    0

    0

    0

    0.000297

    0

    0

    0.000002

    0

    0.023541

    0

    0

    1

    0

    0

    0

    0

    0.035401

    0

    1

    0

    0

    0

    0.031515

    0.00002

    1

    1

    0

    1

    0

    0

    0

    0

    1

    0

    0

    0

    0

    0

    0

    0

    0.00126

    0.999851

    1

    1

    0

    1

    0.99974

    0

    0

    0

    0

    0

    0

    0

    0

    0

    1

    0

    0

    0

    0

    0

    1

    0

    0

    0

    1

    0

    0.030952

    0

    0

    0.02956

    0

    0

    0.016529

    0.054038

    1

    0.03741

    0

    0

    1

    0

    0

    1

    1

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0.142865

    0

    0.000028

    0.000143

    0

    0

    0

    0.228611

    0

    0

    0

    0.320357

    0

    0.207446

    0

    0

    0

    0

    0

    0

    0.985744

    1

    0

    0.00001

    0.999999

    0

    0

    0

    0

    0

    0

    0

    0.270967

    0

    0.000001

    0.997695

    0

    1

    0

    0

    1

    0

    0

    0

    0.446872

    0.005682

    1

    0.829542

    0.994628

    0.946042

    0

    0

    0

    0

    0

    1

    0

    0

    0

    0.999966

    1

    0

    0

    0

    0

    0.174136

    0

    0.071445

    0.990531

    0.011494

    0.736486

    1

    0

    1

    0.015113

    0

    0.999681

    0

    0

    1

    0.000594

    0

    0

    0.058358

    0.901928

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0.000363

    0.074234

    1

    1

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0.816473

    0.226717

    0

    0

    1

    1

    0

    0

    0

    0.835685

    0.974236

    0

    0

    0

    0

    0

    0.000001

    0

    0

    0

    1

    0

    1

    0

    0

    0

    0

    0

    0

    0.991263

    0

    0

    0

    0

    0

    0

    0

    0

    1

    1

    0

    0

    0.000001

    0

    0.999998

    0

    0

    0

    0

    0

    0

    0

    0

    1

    0.978314

    0

    1

    0.997489

    0

    0.258953

    0

    0.305522

    0

    0

    0

    0

    0.987046

    0.830184

    0

    0

    0.999946

    0.228564

    0.011622

    0

    0

    0

    0

    0

    1

    0

    0

    0.156838

    0

    0

    0

    0

    0

    0

    0.00006

    1

    0.294709

    1

    0

    0.999859

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0.185813

    0

    0

    0

    0

    0

    0

    0

    1

    0

    0

    0

    0

    0

    0

    0

    0

    0.993822

    0

    1

    0.000027

    0.975766

    0

    0.999827

    0

    0

    0

    0

    1

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    1

    0

    0.075007

    0.000689

    0

    0

    1

    0

    0

    0

    0

    0.999851

    0

    0.999346

    1

    0.012167

    0

    0

    0.225933

    0.000006

    0.999312

    0

    0

    0

    0

    0

    0

    0

    0.999112

    0

    1

    0

    0.082647

    0

    0

    1

    0

    0

    1

    0.988478

    0

    0

    0

    0

    0

    0

    0.965074

    0.059207

    0.99998

    0.119321

    0

    0

    0

    0

    0.99836

    0

    0

    0.386166

    0

    0

    0

    0

    0

    0.000001

    0

    0

    0

    0

    1

    0

    0.14184

    1

    0

    0

    1

    0

    0.015076

    0

    0

    0

    0

    0

    0

    0

    0.999996

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    1

    1

    0

    1

    0

    0.996792

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0.999711

    0.999033

    1

    0

    0

    0.019592

    0.991901

    0.026966

    0

    0

    0

    0

    1

    1

    0

    1

    0

    0

    0

    0

    0

    0.000008

    1

    0

    1

    1

    0

    0

    0.999987

    0

    0

    0.633274

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    1

    0.99989

    0

    0

    0

    0

    0

    0.89181

    0

    0

    1

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    1

    0.217872

    1

    0.000004

    0

    0

    0

    1

    0

    0

    0.978873

    1

    0

    0.999996

    0

    0.881315

    0

    0

    0

    0

    0

    0

    0

    0

    1

    1

    1

    1

    0

    1

    0.999999

    0

    1

    0.032352

    0.019255

    0.164598

    0.000013

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    ConnectedRegion

    TransitionalRegion

    DisconnectedRegion

    Reception Rate

    Distance between two neighbors (m)

    Packet Reception Rate (per link)

    LM7Reception

    node iddistancereception rate

    00.726912029.07648

    00.96628038.6512

    00.507532020.30128

    00.0783713.1348

    00.07591413.03656

    00.735792029.43168

    00.830941033.23764

    00.568926022.75704

    10.787267031.49068

    10.781397031.25588

    10.617013024.68052

    10.701565028.0626

    10.462071018.48284

    10.915098036.60392

    10.1748116.9924

    10.258398110.33592

    10.657881026.31524

    10.892352035.69408

    10.706796028.27184

    10.532034021.28136

    10.5643070.01546322.57228

    10.809709032.38836

    10.421738016.86952

    10.803693032.14772

    10.840953033.63812

    10.21656618.66264

    10.6235410.99964924.94164

    10.993689039.74756

    10.516047020.64188

    10.852524034.10096

    20.726912029.07648

    20.923234036.92936

    20.855178034.20712

    20.493620.00550719.7448

    20.861054034.44216

    20.714238028.56952

    20.904846036.19384

    20.6896190.64410427.58476

    20.651162026.04648

    20.08454413.38176

    20.23057719.22308

    20.629586025.18344

    20.7006890.01731428.02756

    20.922137036.88548

    20.938317037.53268

    20.15844216.33768

    20.965172038.60688

    20.573009022.92036

    20.4819420.00069619.27768

    30.4161410.85214416.64564

    30.445825117.833

    30.3116760.23970712.46704

    30.384060.95366115.3624

    30.789105031.5642

    30.864454034.57816

    30.770789030.83156

    30.829255033.1702

    30.907655036.3062

    30.5605220.30327222.42088

    30.921086036.84344

    30.3727840.02666614.91136

    30.98694039.4776

    30.3499330.97254813.99732

    30.543303021.73212

    30.99905039.962

    30.21921418.76856

    30.297239011.88956

    40.787267031.49068

    40.905078036.20312

    40.5599330.00004122.39732

    40.625712025.02848

    40.759619030.38476

    40.703347028.13388

    40.953999038.15996

    40.981666039.26664

    40.803815032.1526

    40.5357430.9585221.42972

    40.5773710.0757823.09484

    40.4809570.0001919.23828

    40.939208037.56832

    40.296272111.85088

    40.651492026.05968

    40.984666039.38664

    40.5382090.97663921.52836

    40.303242112.12968

    40.913617036.54468

    40.773668030.94672

    40.685271027.41084

    40.467330.98726818.6932

    50.827333033.09332

    50.865565034.6226

    50.797213031.88852

    50.940848037.63392

    50.693821027.75284

    50.463997018.55988

    50.737137029.48548

    50.19005117.60204

    50.24516219.80648

    60.31551112.6204

    60.309529012.38116

    60.809441032.37764

    60.2996930.99999411.98772

    60.4975580.0024319.90232

    60.3328830.98048413.31532

    60.16587916.63516

    60.5305860.00018121.22344

    60.662611026.50444

    60.814924032.59696

    70.827333033.09332

    70.984242039.36968

    70.794444031.77776

    70.784578031.38312

    70.3943310.99996615.77324

    70.882826035.31304

    70.791442031.65768

    70.778405031.1362

    70.76515030.606

    70.561623022.46492

    70.62221024.8884

    80.905078036.20312

    80.766153030.64612

    80.637395025.4958

    80.14932515.973

    80.34932113.9728

    80.4619580.00464718.47832

    80.3038250.99992712.153

    80.3775030.99836615.10012

    80.948291037.93164

    80.552124022.08496

    80.3551460.00013814.20584

    80.14173415.66936

    80.850537034.02148

    80.273761110.95044

    80.4860340.03350419.44136

    80.778941031.15764

    90.315510.97026212.6204

    90.5051930.99994120.20772

    90.954885038.1954

    90.609738024.38952

    90.55753022.3012

    90.05884612.35384

    90.3727550.87629714.9102

    90.731486029.25944

    90.461446018.45784

    100.505193020.20772

    100.3095290.99936512.38116

    100.984242039.36968

    100.742714029.70856

    100.4999120.75934419.99648

    100.290177011.60708

    100.996729039.86916

    100.251094110.04376

    100.484694019.38776

    100.15045416.01816

    100.23109819.24392

    100.622821024.91284

    100.917487036.69948

    100.531371021.25484

    100.775999031.03996

    110.865565034.6226

    110.2888990.99995111.55596

    110.63682025.4728

    110.4809030.86232519.23612

    110.93049037.2196

    120.6114920.00012324.45968

    120.547379021.89516

    120.922665036.9066

    120.4835130.47866119.34052

    120.4404030.64677217.61612

    120.87661035.0644

    120.866641034.66564

    120.823084032.92336

    120.411379016.45516

    120.769544030.78176

    120.4193050.00011316.7722

    120.667285026.6914

    120.17020616.80824

    120.302329112.09316

    120.956025038.241

    120.850091034.00364

    120.878552035.14208

    130.925443037.01772

    130.884575035.383

    130.759942030.39768

    130.19208317.68332

    130.681241027.24964

    130.769301030.77204

    130.931991037.27964

    130.14465715.78628

    130.502430.01161720.0972

    130.908016036.32064

    130.957441038.29764

    140.742714029.70856

    140.781397031.25588

    140.794444031.77776

    140.377727115.10908

    140.80942032.3768

    140.661242026.44968

    140.753481030.13924

    140.574665022.9866

    140.88886035.5544

    140.813197032.52788

    140.5130.01740820.52

    140.996925039.877

    140.18193417.27736

    140.21254818.50192

    140.892084035.68336

    140.23744919.49796

    150.611492024.45968

    150.923234036.92936

    150.835586033.42344

    150.851165034.0466

    150.837177033.48708

    150.3156250.3382812.625

    150.430605017.2242

    150.335033113.40132

    150.925969037.03876

    150.830288033.21152

    150.868244034.72976

    150.900122036.00488

    150.956846038.27384

    150.924817036.99268

    150.651268026.05072

    150.19421717.76868

    150.902899036.11596

    150.776799031.07196

    150.691763027.67052

    150.774337030.97348

    150.4048010.00001316.19204

    150.683593027.34372

    150.954766038.19064

    150.712519028.50076

    150.943722037.74888

    160.559933022.39732

    160.797213031.88852

    160.9741038.964

    160.77875031.15

    160.752588030.10352

    160.945457037.81828

    160.557056022.28224

    160.610245024.4098

    160.6164640.00425324.65856

    160.2826260.99700111.30504

    160.79057031.6228

    160.6099310.69341624.39724

    160.516673020.66692

    160.662501026.50004

    170.835586033.42344

    170.625712025.02848

    170.766153030.64612

    170.798067031.92268

    170.20237618.09504

    170.678206027.12824

    170.962794038.51176

    170.790566031.62264

    170.738808029.55232

    170.909597036.38388

    170.4133360.93763916.53344

    170.48167019.2668

    170.665019026.60076

    170.988959039.55836

    170.818973032.75892

    170.391261115.65044

    170.919347036.77388

    170.4757740.2352519.03096

    170.836304033.45216

    170.7447029.788

    170.5142170.00000120.56868

    170.928899037.15596

    170.675443027.01772

    170.15459416.18376

    170.968571038.74284

    170.858194034.32776

    170.784398031.37592

    170.551592022.06368

    180.4161410.71101216.64564

    180.588434023.53736

    180.5956050.00007723.8242

    180.953271038.13084

    180.721882028.87528

    180.956237038.24948

    180.926745037.0698

    180.697031027.88124

    180.46617018.6468

    180.3875760.99927915.50304

    180.748533029.94132

    180.646664025.86656

    180.685487027.41948

    180.525067021.00268

    180.957316038.29264

    180.895851035.83404

    180.772263030.89052

    180.3865980.99999715.46392

    180.82304032.9216

    180.3210170.00090812.84068

    180.740022029.60088

    180.583417023.33668

    180.290371111.61484

    180.5551690.36133722.20676

    190.925443037.01772

    190.445825017.833

    190.588434023.53736

    190.20004518.0018

    190.3082310.99815712.32924

    190.966731038.66924

    190.678899027.15596

    190.896366035.85464

    190.970346038.81384

    190.910883036.43532

    190.779758031.19032

    190.646425025.857

    190.7351520.00728629.40608

    190.15500716.20028

    190.32830.95450913.132

    190.17585717.03428

    200.20004518.0018

    200.3116760.94805312.46704

    200.5956050.86967823.8242

    200.13945715.57828

    200.982796039.31184

    200.847545033.9018

    200.870252034.81008

    200.680340.49196127.2136

    200.841762033.67048

    200.649053025.96212

    200.2402630.8258729.61052

    200.305240.97926912.2096

    200.04543511.8174

    210.953271038.13084

    210.6170130.00032724.68052

    210.3024620.99568412.09848

    210.4606980.00001618.42792

    210.898362035.93448

    210.587671023.50684

    210.638649025.54596

    210.62088024.8352

    210.722365028.8946

    210.4008210.96570816.03284

    210.712414028.49656

    210.7757031.028

    210.621193024.84772

    210.4766040.55089619.06416

    210.1558316.2332

    210.344571113.78284

    210.831031033.24124

    210.5738022.952

    210.525639021.02556

    210.4129350.99665716.5174

    220.3082310.99424612.32924

    220.13945715.57828

    220.384060.99841915.3624

    220.721882028.87528

    220.978449039.13796

    220.939712037.58848

    220.755347030.21388

    220.953446038.13784

    220.733811029.35244

    220.2770440.99999911.08176

    220.4337010.91049217.34804

    220.18487617.39504

    230.954885038.1954

    230.809441032.37764

    230.499912019.99648

    230.3777270.99261615.10908

    230.692357027.69428

    230.926605037.0642

    230.779389031.17556

    230.412364016.49456

    230.916842036.67368

    230.910761036.43044

    230.647658025.90632

    230.945614037.82456

    230.990208039.60832

    230.2991370.81339311.96548

    230.843211033.72844

    230.552464022.09856

    230.2645920.99998810.58368

    230.5533620.13880422.13448

    230.802427032.09708

    240.3024620.9955512.09848

    240.701565028.0626

    240.851165034.0466

    240.798067031.92268

    240.972855038.9142

    240.3262840.11426413.05136

    240.680095027.2038

    240.885828035.43312

    240.790477031.61908

    240.61225024.49

    240.7183070.05093628.73228

    240.443178017.72712

    240.492842019.71368

    240.500622020.02488

    240.777465031.0986

    240.93801037.5204

    240.917922036.71688

    240.18434317.37372

    240.11189414.47576

    240.5318980.00000621.27592

    240.876017035.04068

    240.7652610.01259530.61044

    240.525337021.01348

    240.4608950.55117418.4358

    250.972855038.9142

    250.837177033.48708

    250.759619030.38476

    250.20237618.09504

    250.637395025.4958

    250.855178034.20712

    250.878237035.12948

    250.687859027.51436

    250.58008023.2032

    250.615568024.62272

    250.4315240.99698517.26096

    250.664785026.5914

    250.898257035.93028

    250.98787039.5148

    250.888629035.54516

    250.3002740.98569612.01096

    250.903006036.12024

    250.2735030.99998710.94012

    250.997658039.90632

    250.554650.39372822.186

    250.5997830.8819223.99132

    250.524529020.98116

    250.21816918.72676

    250.998623039.94492

    250.804326032.17304

    250.584578023.38312

    250.3801050.9971715.2042

    260.460698018.42792

    260.4620710.98813218.48284

    260.3262840.99994513.05136

    260.7033470.22410328.13388

    260.678206027.12824

    260.878237035.12948

    260.947749037.90996

    260.601912024.07648

    260.936218037.44872

    260.24273619.70944

    260.273322110.93288

    260.8222360.09618432.88944

    260.840746033.62984

    260.611884024.47536

    260.3129150.99088612.5166

    260.4346410.30475317.38564

    260.689047027.56188

    260.654718026.18872

    260.88571035.4284

    260.966347038.65388

    260.711349028.45396

    260.24903619.96144

    260.733462029.33848

    260.769886030.79544

    270.956237038.24948

    270.898362035.93448

    270.680095027.2038

    270.947749037.90996

    270.547379021.89516

    270.315625112.625

    270.962794038.51176

    270.744913029.79652

    270.5494620.84530921.97848

    270.7116930.03411628.46772

    270.5553290.1511222.21316

    270.584526023.38104

    270.946688037.86752

    270.725656029.02624

    270.348344013.93376

    270.263499110.53996

    270.850088034.00352

    270.848265033.9306

    270.580994023.23976

    270.5452380.08188321.80952

    270.579075023.163

    270.45020.99997418.008

    270.829536033.18144

    270.961363038.45452

    270.987691039.50764

    270.951306038.05224

    270.6522120.00001926.08848

    280.884575035.383

    280.926745037.0698

    280.587671023.50684

    280.915098036.60392

    280.885828035.43312

    280.813066032.52264

    280.88326035.3304

    280.938868037.55472

    280.840565033.6226

    280.3665930.99277914.66372

    280.693373027.73492

    280.21042518.417

    280.737504029.50016

    280.901918036.07672

    280.8378410.00000233.51364

    280.09271413.70856

    280.742161029.68644

    280.958225038.329

    280.503702020.14808

    280.71554028.6216

    290.922665036.9066

    290.744913029.79652

    290.430605017.2242

    290.790566031.62264

    290.687859027.51436

    290.49362019.7448

    290.96628038.6512

    290.455010.11595618.2004

    290.648428025.93712

    290.967652038.70608

    290.903871036.15484

    290.5760430.00589623.04172

    290.575451023.01804

    290.951974038.07896

    290.699949027.99796

    290.6193030.0001924.77212

    290.883313035.33252

    290.62531025.0124

    290.648659025.94636

    290.5419440.08429421.67776

    290.797081031.88324

    290.3899770.26310115.59908

    300.609738024.38952

    300.2996930.99999111.98772

    300.2901770.00344711.60708

    300.692357027.69428

    300.80942032.3768

    300.784578031.38312

    300.540826021.63304

    300.617333024.69332

    300.96454038.5816

    300.283536111.34144

    300.394669115.78676

    300.872682034.90728

    300.957743038.30972

    300.607702024.30808

    300.753633030.14532

    310.4835130.00769619.34052

    310.5494620.94281621.97848

    310.335033113.40132

    310.455010.00000718.2004

    310.861054034.44216

    310.9031036.124

    310.531718021.26872

    310.883243035.32972

    310.893876035.75504

    310.982054039.28216

    310.287432011.49728

    310.944846037.79384

    310.62974025.1896

    310.750225030.009

    310.736187029.44748

    310.960492038.41968

    310.835359033.41436

    310.837605033.5042

    320.789105031.5642

    320.697031027.88124

    320.4404030.70629617.61612

    320.711693028.46772

    320.925969037.03876

    320.9031036.124

    320.696995027.8798

    320.609331024.37324

    320.05210312.08412

    320.72713029.0852

    320.742152029.68608

    320.2289950.9919349.1598

    320.2754390.50251511.01756

    320.1554316.2172

    320.417606016.70424

    320.455546018.22184

    320.908058036.32232

    320.865902034.63608

    330.926605037.0642

    330.813066032.52264

    330.6612420.98875526.44968

    330.638649025.54596

    330.1748116.9924

    330.790477031.61908

    330.601912024.07648

    330.953999038.15996

    330.3681320.99946714.72528

    330.821598032.86392

    330.882643035.30572

    330.602867024.11468

    330.685732027.42928

    330.628205025.1282

    330.891142035.64568

    330.532429021.29716

    330.942199037.68796

    330.730613029.22452

    330.373081014.92324

    330.5261010.00222821.04404

    330.869461034.77844

    330.634663025.38652

    330.773302030.93208

    340.996729039.86916

    340.779389031.17556

    340.746887029.87548

    340.417135016.6854

    340.291186111.64744

    340.953508038.14032

    340.724706028.98824

    340.10684914.27396

    350.87661035.0644

    350.830288033.21152

    350.531718021.26872

    350.648428025.93712

    350.714238028.56952

    350.507532020.30128

    350.558094022.32376

    350.488903019.55612

    350.819119032.76476

    350.77531031.0124

    350.921454036.85816

    350.5961610.00037223.84644

    350.982513039.30052

    360.864454034.57816

    360.88326035.3304

    360.466170.99543518.6468

    360.62088024.8352

    360.696995027.8798

    360.61225024.49

    360.936218037.44872

    360.866641034.66564

    360.555329022.21316

    360.868244034.72976

    360.10702514.281

    360.990548039.62192

    360.742555029.7022

    360.78077031.2308

    360.22992719.19708

    360.920266036.81064

    360.796956031.87824

    360.6699250.01945826.797

    360.675815027.0326

    360.513195020.5278

    360.748419029.93676

    360.672139026.88556

    360.824616032.98464

    360.934959037.39836

    360.6631070.95626526.52428

    360.618566024.74264

    360.21143618.45744

    360.755281030.21124

    370.966731038.66924

    370.982796039.31184

    370.770789030.83156

    370.938868037.55472

    370.3875760.22023115.50304

    370.722365028.8946

    370.10702514.281

    370.609331024.37324

    370.718307028.73228

    370.823084032.92336

    370.5845260.00000123.38104

    370.900122036.00488

    370.657046026.28184

    370.795271031.81084

    370.2989760.99859711.95904

    370.994516039.78064

    370.806916032.27664

    370.566276022.65104

    370.782131031.28524

    370.617703024.70812

    370.690942027.63768

    370.601638024.06552

    370.899115035.9646

    370.997642039.90568

    370.5562870.68552822.25148

    370.512666020.50664

    370.309727012.38908

    370.677719027.10876

    370.942693037.70772

    380.746887029.87548

    380.557530.00346822.3012

    380.497558019.90232

    380.2510940.99999910.04376

    380.412364016.49456

    380.540826021.63304

    380.753481030.13924

    380.5136290.25886120.54516

    380.3381440.99745513.52576

    380.3024190.99712712.09676

    380.4653140.063518.61256

    380.935375037.415

    380.5668890.00446622.67556

    380.858378034.33512

    380.819533032.78132

    390.981666039.26664

    390.738808029.55232

    390.58008023.2032

    390.14932515.973

    390.904846036.19384

    390.4049870.0000216.19948

    390.5750490.99975223.00196

    390.4445410.5339717.78164

    390.88293035.3172

    390.37780.99755815.112

    390.799643031.98572

    390.4397130.97655217.58852

    390.2058490.8163828.23396

    390.07054512.8218

    390.798212031.92848

    390.23032119.21284

    390.336710.99827613.4684

    390.657218026.28872

    400.840565033.6226

    400.400821016.03284

    400.3681320.90390114.72528

    400.990548039.62192

    400.258398110.33592

    400.4431780.80531417.72712

    400.24273619.70944

    400.803815032.1526

    400.909597036.38388

    400.496699019.86796

    400.929484037.17936

    400.652758026.11032

    400.621616024.86464

    400.3155490.96729712.62196

    400.5517022.068

    400.606413024.25652

    400.880862035.23448

    400.910412036.41648

    400.78598031.4392

    400.952332038.09328

    400.12791315.11652

    400.874978034.99912

    400.680084027.20336

    400.794875031.795

    410.05884612.35384

    410.513629020.54516

    410.3328830.82279113.31532

    410.4846940.93910719.38776

    410.916842036.67368

    410.617333024.69332

    410.3629240.81013614.51696

    410.705806028.23224

    410.4044970.01331116.17988

    420.712414028.49656

    420.821598032.86392

    420.6578810.00105226.31524

    420.4966990.99917519.86796

    420.4928420.01052819.71368

    420.273322110.93288

    420.946688037.86752

    420.956846038.27384

    420.535743021.42972

    420.4133360.98016616.53344

    420.6155680.72072424.62272

    420.921716036.86864

    420.77219030.8876

    420.849901033.99604

    420.5668730.75528522.67492

    420.739675029.587

    420.557186022.28744

    420.88856035.5424

    420.573680.89358822.9472

    420.7332650.01875629.3306

    420.5526640.00007722.10656

    420.787408031.49632

    420.4735970.99999918.94388

    420.4487150.78922317.9486

    420.93565037.426

    420.739851029.59404

    420.951999038.07996

    430.829255033.1702

    430.748533029.94132

    430.742555029.7022

    430.6570460.10428926.28184

    430.05210312.08412

    430.4113790.06160716.45516

    430.725656029.02624

    430.924817036.99268

    430.883243035.32972

    430.762672030.50688

    430.737424029.49696

    430.269092010.76368

    430.2535940.99846510.14376

    430.15108516.0434

    430.4599370.10006818.39748

    430.50107020.0428

    430.953118038.12472

    430.91282036.5128

    440.759942030.39768

    440.678899027.15596

    440.978449039.13796

    440.847545033.9018

    440.907655036.3062

    440.3665930.59672114.66372

    440.646664025.86656

    440.7757031.028

    440.78077031.2308

    440.795271031.81084

    440.978907039.15628

    440.599492023.97968

    440.564727022.58908

    440.929918037.19672

    440.997408039.89632

    440.459181018.36724

    440.6443110.04438925.77244

    440.261505110.4602

    440.964707038.58828

    440.792215031.6886

    440.690869027.63476

    440.688526027.54104

    440.806063032.24252

    450.978907039.15628

    450.685487027.41948

    450.621193024.84772

    450.22992719.19708

    450.2989760.18273111.95904

    450.72713029.0852

    450.929484037.17936

    450.762672030.50688

    450.500622020.02488

    450.822236032.88944

    450.769544030.78176

    450.3483440.99994913.93376

    450.921716036.86864

    450.651268026.05072

    450.893876035.75504

    450.606448024.25792

    450.770499030.81996

    450.620955024.8382

    450.3891250.00860515.565

    450.690263027.61052

    450.653045026.1218

    450.600397024.01588

    450.980572039.22288

    450.813959032.55836

    450.781877031.27508

    450.3065820.96144812.26328

    450.975857039.03428

    460.19208317.68332

    460.896366035.85464

    460.5994920.38422623.97968

    460.693373027.73492

    460.873836034.95344

    460.6028170.01501224.11268

    460.73996029.5984

    460.73991029.5964

    460.04911211.96448

    460.3579160.99496714.31664

    460.911573036.46292

    460.904306036.17224

    470.77219030.8876

    470.577371023.09484

    470.9741038.964

    470.481670.96705219.2668

    470.431524017.26096

    470.349320.31153513.9728

    470.404987016.19948

    470.2522130.99985110.08852

    470.511721020.46884

    470.869406034.77624

    470.1424615.6984

    470.5143270.19762820.57308

    470.5398320.31659821.59328

    470.991071039.64284

    470.818579032.74316

    470.336355113.4542

    470.6048360.79724224.19344

    470.6119650.00000524.4786

    470.649377025.97508

    470.729377029.17508

    480.967652038.70608

    480.558094022.32376

    480.689619027.58476

    480.0783713.1348

    480.07160612.86424

    480.690587027.62348

    480.776088031.04352

    480.5339460.78352421.35784

    490.982054039.28216

    490.903871036.15484

    490.4889030.97481719.55612

    490.6511620.69030226.04648

    490.07591413.03656

    490.07160612.86424

    490.659997026.39988

    490.75675030.27

    490.4932970.02065219.73188

    500.910761036.43044

    500.96454038.5816

    500.5746650.00000222.9866

    500.882643035.30572

    500.892352035.69408

    500.3943310.02287515.77324

    500.940848037.63392

    500.77875031.15

    500.833985033.3594

    500.626609025.06436

    500.820271032.81084

    500.891321035.65284

    500.4916420.22373119.66568

    500.814625032.585

    500.65423026.1692

    500.639303025.57212

    500.35760.82816414.304

    500.696307027.85228

    510.849901033.99604

    510.480957019.23828

    510.752588030.10352

    510.665019026.60076

    510.664785026.5914

    510.252213110.08852

    510.4619580.00006718.47832

    510.575049023.00196

    510.4595070.00202718.38028

    510.772052030.88208

    510.3935060.14867915.74024

    510.766111030.64444

    510.749612029.98448

    510.6459480.96731825.83792

    510.518390.00029120.7356

    510.807935032.3174

    510.732677029.30708

    510.870708034.82832

    510.981189039.24756

    510.919873036.79492

    520.693821027.75284

    520.945457037.81828

    520.2888990.00010311.55596

    520.3629270.83308714.51708

    520.20959518.3838

    520.709464028.37856

    520.864694034.58776

    530.3727550.99583214.9102

    530.3629240.99999614.51696

    530.338144113.52576

    530.16587916.63516

    530.15045416.01816

    530.647658025.90632

    530.2835360.99051511.34144

    530.88886035.5544

    530.3802050.00208315.2082

    530.59079023.6316

    530.676608027.06432

    530.906047036.24188

    540.873836034.95344

    540.564727022.58908

    540.21042518.417

    540.4766040.50512119.06416

    540.602867024.11468

    540.920266036.81064

    540.994516039.78064

    540.706796028.27184

    540.652758026.11032

    540.777465031.0986

    540.840746033.62984

    540.607866024.31464

    540.817532032.70128

    540.897517035.90068

    540.13569115.42764

    540.921405036.8562

    540.764148030.56592

    540.995901039.83604

    540.713466028.53864

    540.7250630.20119929.00252

    550.939208037.56832

    550.988959039.55836

    550.898257035.93028

    550.4595070.99372918.38028

    550.5117210.99527520.46884

    550.303825112.153

    550.444541117.78164

    550.6055970.01128324.22388

    550.851692034.06768

    550.645846025.83384

    550.4453140.17961617.81256

    550.4393180.00817717.57272

    550.773925030.957

    560.685732027.42928

    560.5320340.99999921.28136

    560.6216160.02080124.86464

    560.833985033.3594

    560.93801037.5204

    560.6118840.99996124.47536

    560.566873022.67492

    560.2962720.74142511.85088

    560.557056022.28224

    560.818973032.75892

    560.98787039.5148

    560.772052030.88208

    560.869406034.77624

    560.930992037.23968

    560.894289035.77156

    560.24530519.8122

    560.288797111.55188

    560.947241037.88964

    560.493742019.74968

    560.875445035.0178

    560.19514617.80584

    570.7969560.00185931.87824

    570.806916032.27664

    570.742152029.68608

    570.737424029.49696

    570.606448024.25792

    570.917922036.71688

    570.4193050.99154116.7722

    570.2634990.99026410.53996

    570.19421717.76868

    570.2874320.96065111.49728

    570.576043023.04172

    570.819119032.76476

    570.931123037.24492

    570.827074033.08296

    570.499224019.96896

    570.5882940.70263823.53176

    570.55499022.1996

    570.870924034.83696

    570.896231035.84924

    570.912572036.50288

    580.944846037.79384

    580.888629035.54516

    580.5754510.00286523.01804

    580.77531031.0124

    580.08454413.38176

    580.88293035.3172

    580.735792029.43168

    580.690587027.62348

    580.659997026.39988

    580.15126116.05044

    580.647693025.90772

    580.677143027.08572

    580.906379036.25516

    580.987686039.50744

    580.18792217.51688

    580.924096036.96384

    580.546743021.86972

    580.525935021.0374

    590.463997018.55988

    590.610245024.4098

    590.3629270.00134714.51708

    590.63682025.4728

    590.884399035.37596

    590.299989111.99956

    590.398281015.93124

    590.556423022.25692

    600.930992037.23968

    600.739675029.587

    600.651492026.05968

    600.3912610.00149515.65044

    600.3002740.99535812.01096

    600.951974038.07896

    600.393506015.74024

    600.1424615.6984

    600.3775030.50820615.10012

    600.3778015.112

    600.605597024.22388

    600.981548039.26192

    600.3770790.00335915.08316

    600.4607590.99976718.43036

    600.882966035.31864

    600.918106036.72424

    600.3081910.97846512.32764

    600.492819019.71276

    600.605065024.2026

    600.553336122.13344

    600.587711023.50844

    610.970346038.81384

    610.939712037.58848

    610.870252034.81008

    610.5605220.2661122.42088

    610.525067021.00268

    610.669925026.797

    610.566276022.65104

    610.22899519.1598

    610.269092110.76368

    610.7704990.99153130.81996

    610.667285026.6914

    610.850088034.00352

    610.931123037.24492

    610.4992580.98699919.97032

    610.370222014.80888

    610.19135417.65416

    610.23809719.52388

    610.875672035.02688

    610.650629026.02516

    610.850106034.00424

    620.929918037.19672

    620.737504029.50016

    620.607866024.31464

    620.1558316.2332

    620.628205025.1282

    620.675815027.0326

    620.782131031.28524

    620.564307022.57228

    620.315549112.62196

    620.620955024.8382

    620.18434317.37372

    620.3129150.79891612.5166

    620.848265033.9306

    620.894289035.77156

    620.557186022.28744

    620.919347036.77388

    620.267530.99953810.7012

    620.915879036.63516

    620.712043028.48172

    620.716178028.64712

    620.909593036.38372

    620.4260870.93547517.04348

    620.981991039.27964

    620.4851430.89339819.40572

    630.903006036.12024

    630.699949027.99796

    630.921454036.85816

    630.981548039.26192

    630.948291037.93164

    630.23057719.22308

    630.799643031.98572

    630.15126116.05044

    630.830941033.23764

    630.776088031.04352

    630.75675030.27

    630.641208025.64832

    630.596093023.84372

    630.832865033.3146

    630.326469113.05876

    630.810226032.40904

    630.466223018.64892

    630.572312022.89248

    640.88856035.5424

    640.902899036.11596

    640.984666039.38664

    640.475774019.03096

    640.273503110.94012

    640.619303024.77212

    640.766111030.64444

    640.5143270.75565420.57308

    640.377079015.08316

    640.552124022.08496

    640.629586025.18344

    640.4397130.00019717.58852

    640.851692034.06768

    640.647693025.90772

    640.6412080.00004725.64832

    640.330830.00852613.2332

    640.779095031.1638

    640.4121830.00000416.48732

    640.454137018.16548

    640.783587031.34348

    640.629169025.16676

    640.3240010.99999712.96004

    640.23071319.22852

    650.901918036.07672

    650.957316038.29264

    650.817532032.70128

    650.3445710.01144913.78284

    650.891142035.64568

    650.513195020.5278

    650.617703024.70812

    650.8097090.07304732.38836

    650.26753110.7012

    650.5517022.068

    650.3891250.99964515.565

    650.11189414.47576

    650.4346410.38714617.38564

    650.580994023.23976

    650.57368022.9472

    650.827074033.08296

    650.776799031.07196

    650.836304033.45216

    650.997658039.90632

    650.4985080.98876519.94032

    650.903506036.14024

    650.783284031.33136

    650.636994025.47976

    650.3837690.00029715.35076

    660.813197032.52788

    660.532429021.29716

    660.4217380.00000216.86952

    660.915879036.63516

    660.6064130.02354124.25652

    660.626609025.06436

    660.689047027.56188

    660.24530519.8122

    660.733265029.3306

    660.538209021.52836

    660.616464024.65856

    660.423813016.95252

    660.4898960.03540119.59584

    660.631917025.27668

    660.10389114.15564

    660.75982030.3928

    670.895851035.83404

    670.748419029.93676

    670.6909420.03151527.63768

    670.4992580.0000219.97032

    670.275439111.01756

    670.253594110.14376

    670.690263027.61052

    670.17020616.80824

    670.545238021.80952

    670.499224019.96896

    670.691763027.67052

    670.62974025.1896

    670.13212315.28492

    670.986508039.46032

    670.68031027.2124

    670.708349028.33396

    670.943681037.74724

    680.921086036.84344

    680.772263030.89052

    680.672139026.88556

    680.6016380.0012624.06552

    680.3702220.99985114.80888

    680.1554316.2172

    680.15108516.0434

    680.653045026.1218

    680.13212315.28492

    680.3023290.9997412.09316

    680.579075023.163

    680.588294023.53176

    680.774337030.97348

    680.750225030.009

    680.548707021.94828

    680.576228023.04912

    680.876717035.06868

    680.974924038.99696

    690.681241027.24964

    690.417135116.6854

    690.602817024.11268

    690.945614037.82456

    690.997408039.89632

    690.837841033.51364

    690.897517035.90068

    690.21734918.69396

    690.813527032.54108

    690.607345024.2938

    690.857919034.31676

    690.310325112.413

    700.7447029.788

    700.554650.03095222.186

    700.883313035.33252

    700.749612029.98448

    700.5398320.0295621.59328

    700.460759018.43036

    700.33083013.2332

    700.3551460.01652914.20584

    700.7006890.05403828.02756

    700.20584918.23396

    700.6458460.0374125.83384

    700.677143027.08572

    700.596093023.84372

    700.23783219.51328

    700.763785030.5514

    700.855835034.2334

    700.313636112.54544

    700.13099315.23972

    700.509735020.3894

    710.831031033.24124

    710.824616032.98464

    710.899115035.9646

    710.712043028.48172

    710.880862035.23448

    710.600397024.01588

    710.531898021.27592

    710.654718026.18872

    710.498508019.94032

    710.986508039.46032

    710.956025038.241

    710.45020.14286518.008

    710.552664022.10656

    710.554990.00002822.1996

    710.4048010.00014316.19204

    710.736187029.44748

    710.514217020.56868

    710.599783023.99132

    710.625310.22861125.0124

    710.991071039.64284

    710.882966035.31864

    710.779095031.1638

    710.3901980.32035715.60792

    710.903001036.12004

    710.6798450.20744627.1938

    710.803924032.15696

    720.942199037.68796

    720.803693032.14772

    720.910412036.41648

    720.820271032.81084

    720.88571035.4284

    720.4238130.98574416.95252

    720.288797111.55188

    720.787408031.49632

    720.3032420.0000112.12968

    720.2826260.99999911.30504

    720.928899037.15596

    720.645948025.83792

    720.884399035.37596

    720.818579032.74316

    720.918106036.72424

    720.78253031.3012

    720.879498035.17992

    720.3214640.27096712.85856

    720.909294036.37176

    730.7693010.00000130.77204

    730.2911860.99769511.64744

    730.73996029.5984

    730.21734918.69396

    730.990208039.60832

    730.731725029.269

    730.20675918.27036

    740.953508038.14032

    740.731486029.25944

    740.705806028.23224

    740.3024190.44687212.09676

    740.5305860.00568221.22344

    740.23109819.24392

    740.3802050.82954215.2082

    740.2991370.99462811.96548

    740.3946690.94604215.78676

    740.513020.52

    740.882826035.31304

    740.891321035.65284

    740.76218030.4872

    740.689948027.59792

    740.303543112.14172

    740.570517022.82068

    750.737137029.48548

    750.79057031.6228

    750.2999890.99996611.99956

    750.20959518.3838

    750.480903019.23612

    750.696891027.87564

    750.855549034.22196

    760.913617036.54468

    760.6754430.17413627.01772

    760.524529020.98116

    760.518390.07144520.7356

    760.3363550.99053113.4542

    760.3081910.01149412.32764

    760.4121830.73648616.48732

    760.14173415.66936

    760.922137036.88548

    760.07054512.8218

    760.4453140.01511317.81256

    760.906379036.25516

    760.2378320.9996819.51328

    760.832865033.3146

    760.741919029.67676

    760.297501111.90004

    760.3666420.00059414.66568

    760.637669025.50676

    770.724706028.98824

    770.4614460.05835818.45784

    770.4044970.90192816.17988

    770.465314018.61256

    770.662611026.50444

    770.622821024.91284

    770.59079023.6316

    770.843211033.72844

    770.872682034.90728

    770.76218030.4872

    770.829064033.16256

    780.931991037.27964

    780.73991029.5964

    780.8135270.00036332.54108

    780.4591810.07423418.36724

    780.09271413.70856

    780.13569115.42764

    780.5738022.952

    780.730613029.22452

    780.934959037.39836

    780.997642039.90568

    780.840953033.63812

    780.716178028.64712

    780.78598031.4392

    780.876017035.04068

    780.966347038.65388

    780.903506036.14024

    780.787797031.51188

    780.898999035.95996

    780.583362023.33448

    780.75538030.2152

    790.909593036.38372

    790.952332038.09328

    790.980572039.22288

    790.765261030.61044

    790.711349028.45396

    790.783284031.33136

    790.829536033.18144

    790.947241037.88964

    790.473597018.94388

    790.870924034.83696

    790.3901980.81647315.60792

    790.6835930.22671727.34372

    790.773668030.94672

    790.960492038.41968

    790.15459416.18376

    790.21816918.72676

    790.648659025.94636

    790.807935032.3174

    790.604836024.19344

    790.4928190.83568519.71276

    790.4541370.97423618.16548

    790.850537034.02148

    790.741919029.67676

    790.938317037.53268

    790.798212031.92848

    790.987686039.50744

    790.7637850.00000130.5514

    790.920252036.81008

    790.777683031.10732

    790.462711018.50844

    800.14465715.78628

    800.731725029.269

    800.04911211.96448

    800.607345024.2938

    800.910883036.43532

    800.644311025.77244

    800.742161029.68644

    800.787797031.51188

    800.921405036.8562

    800.3980080.99126315.92032

    800.91793036.7172

    800.903293036.13172

    810.954766038.19064

    810.835359033.41436

    810.998623039.94492

    810.541944021.67776

    810.596161023.84644

    810.783587031.34348

    810.15844216.33768

    810.18792217.51688

    810.855835034.2334

    810.568926022.75704

    810.5339460.00000121.35784

    810.493297019.73188

    810.3264690.99999813.05876

    810.726862029.07448

    810.619999024.79996

    820.968571038.74284

    820.804326032.17304

    820.732677029.30708

    820.611965024.4786

    820.605065024.2026

    820.629169025.16676

    820.273761110.95044

    820.2975010.97831411.90004

    820.965172038.60688

    820.23032119.21284

    820.4393180.99748917.57272

    820.924096036.96384

    820.3136360.25895312.54544

    820.810226032.40904

    820.4095940.30552216.38376

    820.822747032.90988

    830.779758031.19032

    830.755347030.21388

    830.68034027.2136

    830.3727840.98704614.91136

    830.3865980.83018415.46392

    830.663107026.52428

    830.556287022.25148

    830.1913540.9999467.65416

    830.4176060.22856416.70424

    830.4599370.01162218.39748

    830.813959032.55836

    830.548707021.94828

    830.68031027.2124

    830.850091034.00364

    830.961363038.45452

    830.06561212.62448

    830.900534036.02136

    830.850194034.00776

    830.4633560.15683818.53424

    830.659213026.36852

    840.958225038.329

    840.898999035.95996

    840.764148030.56592

    840.996925039.877

    840.525639021.02556

    840.3730810.0000614.92324

    840.21656618.66264

    840.4260870.29470917.04348

    840.12791315.11652

    840.525337021.01348

    840.2490360.9998599.96144

    840.636994025.47976

    840.489896019.59584

    840.493742019.74968

    840.448715017.9486

    840.903001036.12004

    840.78253031.3012

    840.685271027.41084

    840.858194034.32776

    840.920252036.81008

    840.835475033.419

    840.5576570.18581322.30628

    840.910657036.42628

    850.935375037.415

    850.917487036.69948

    850.552464022.09856

    850.957743038.30972

    850.689948027.59792

    850.995901039.83604

    850.18193417.27736

    850.526101021.04404

    850.623541024.94164

    850.791442031.65768

    850.874978034.99912

    850.491642019.66568

    850.835475033.419

    850.631917025.27668

    850.875445035.0178

    850.3865190.99382215.46076

    850.712855028.5142

    850.253339110.13356

    860.502430.00002720.0972

    860.3579160.97576614.31664

    860.857919034.31676

    860.3980080.99982715.92032

    860.646425025.857

    860.953446038.13784

    860.841762033.67048

    860.98694039.4776

    860.261505110.4602

    860.503702020.14808

    860.583362023.33448

    860.82304032.9216

    860.713466028.53864

    860.714654028.58616

    860.951899038.07596

    860.775747031.02988

    860.808158032.32632

    870.778405031.1362

    870.814625032.585

    870.879498035.17992

    870.19005117.60204

    870.609931024.39724

    870.3982810.07500715.93124

    870.7094640.00068928.37856

    870.696891027.87564

    870.93049037.2196

    870.15889616.35584

    880.566889022.67556

    880.814924032.59696

    880.531371021.25484

    880.676608027.06432

    880.2645920.99985110.58368

    880.607702024.30808

    880.3035430.99934612.14172

    880.21254818.50192

    880.3865190.01216715.46076

    880.869461034.77844

    880.993689039.74756

    880.765150.22593330.606

    880.654230.00000626.1692

    880.3013680.99931212.05472

    890.784398031.37592

    890.777683031.10732

    890.584578023.38312

    890.797081031.88324

    890.870708034.82832

    890.649377025.97508

    890.553336022.13344

    890.3240010.99911212.96004

    890.486034019.44136

    890.366642114.66568

    890.573009022.92036

    890.336710.08264713.4684

    890.773925030.957

    890.546743021.86972

    890.13099315.23972

    890.726862029.07448

    890.466223018.64892

    890.409594116.38376

    890.4478960.98847817.91584

    900.987691039.50764

    900.93565037.426

    900.896231035.84924

    900.679845027.1938

    900.712519028.50076

    900.837605033.5042

    900.5515920.96507422.06368

    900.4627110.05920718.50844

    900.3801050.9999815.2042

    900.3899770.11932115.59908

    900.981189039.24756

    900.982513039.30052

    900.729377029.17508

    900.587711023.50844

    900.2307130.998369.22852

    900.778941031.15764

    900.637669025.50676

    900.4819420.38616619.27768

    900.657218026.28872

    900.525935021.0374

    900.509735020.3894

    900.619999024.79996

    900.447896017.91584

    900.5723120.00000122.89248

    900.822747032.90988

    910.735152029.40608

    910.733811029.35244

    910.649053025.96212

    910.349933113.99732

    910.964707038.58828

    910.3210170.1418412.84068

    910.06561212.62448

    910.618566024.74264

    910.512666020.50664

    910.23809719.52388

    910.455546018.22184

    910.501070.01507620.0428

    910.781877031.27508

    910.576228023.04912

    910.708349028.33396

    910.878552035.14208

    910.951306038.05224

    910.861713034.46852

    910.799218031.96872

    910.4128630.99999616.51452

    910.624516024.98064

    920.892084035.68336

    920.712855028.5142

    920.634663025.38652

    920.516047020.64188

    920.981991039.27964

    920.680084027.20336

    920.639303025.57212

    920.733462029.33848

    920.557657022.30628

    920.10389114.15564

    920.19514617.80584

    920.739851029.59404

    920.321464112.85856

    920.46733018.6932

    920.5166730.99679220.66692

    920.919873036.79492

    920.816958032.67832

    920.979984039.19936

    930.858378034.33512

    930.775999031.03996

    930.906047036.24188

    930.553362022.13448

    930.753633030.14532

    930.570517022.82068

    930.3013680.99971112.05472

    930.2374490.9990339.49796

    930.253339110.13356

    930.773302030.93208

    930.852524034.10096

    930.5616230.01959222.46492

    930.35760.99190114.304

    930.759820.02696630.3928

    930.816958032.67832

    940.908016036.32064

    940.911573036.46292

    940.91793036.7172

    940.15500716.20028

    940.277044111.08176

    940.714654028.58616

    940.24026319.61052

    940.543303021.73212

    940.792215031.6886

    940.740022029.60088

    940.900534036.02136

    940.861713034.46852

    940.4685850.00000818.7434

    940.24612519.845

    950.957441038.29764

    950.10684914.27396

    950.20675918.27036

    950.829064033.16256

    950.904306036.17224

    950.3103250.99998712.413

    950.903293036.13172

    950.819533032.78132

    950.8024270.63327432.09708

    960.951899038.07596

    960.99905039.962

    960.690869027.63476

    960.71554028.6216

    960.75538030.2152

    960.583417023.33668

    960.725063029.00252

    960.850194034.00776

    960.799218031.96872

    960.412935016.5174

    960.21143618.45744

    960.3097270.9998912.38908

    960.875672035.02688

    960.908058036.32232

    960.485143019.40572

    960.794875031.795

    960.953118038.12472

    960.3065820.8918112.26328

    960.460895018.4358

    960.769886030.79544

    960.383769115.35076

    960.876717035.06868

    960.910657036.42628

    960.943681037.74724

    960.652212026.08848

    960.951999038.07996

    960.912572036.50288

    960.803924032.15696

    960.943722037.74888

    960.853599034.14396

    970.62221024.8884

    970.696307027.85228

    970.979984039.19936

    970.909294036.37176

    970.24516219.80648

    970.6625010.21787226.50004

    970.15889616.35584

    970.5564230.00000422.25692

    970.864694034.58776

    970.855549034.22196

    980.468585018.7434

    980.3283113.132

    980.433701017.34804

    980.775747031.02988

    980.305240.97887312.2096

    980.21921418.76856

    980.688526027.54104

    980.2903710.99999611.61484

    980.463356018.53424

    980.4128630.88131516.51452

    980.755281030.21124

    980.677719027.10876

    980.650629026.02516

    980.853599034.14396

    980.865902034.63608

    980.91282036.5128

    980.975857039.03428

    980.974924038.99696

    980.265094110.60376

    990.24612519.845

    990.17585717.03428

    990.18487617.39504

    990.808158032.32632

    990.04543511.8174

    990.2972390.99999911.88956

    990.806063032.24252

    990.265094110.60376

    990.5551690.03235222.20676

    990.6592130.01925526.36852

    990.6245160.16459824.98064

    990.9426930.00001337.70772

    990.850106034.00424

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0