2017-08-23 06:57 BST

View Issue Details Jump to Notes ]
IDProjectCategoryView StatusLast Update
0002526OpenFOAM[All Projects] Bugpublic2017-06-01 11:55
Reporterrobertoribeiro 
Assigned To 
PrioritynormalSeveritycrashReproducibilityalways
StatusnewResolutionopen 
PlatformLinuxOSCentOSOS Version(please specify)
Product Versiondev 
Target VersionFixed in Version 
Summary0002526: crash in interDyMFoam paralell with dynamicRefineFvMesh
DescriptiondamBreakWithObstacle crashes at an arbitrary point in the simulation when using dynamicRefineFvMesh and interDyMFoam in parallel. This happens in a cluster with GCC+MVAPICH2 (also tried with ICC+IMPI).

The output error is also not consistently the same, but the most frequent is the following:

Courant Number mean: 0.0215234 max: 0.467355
Interface Courant Number mean: 0.00205386 max: 0.467355
deltaT = 0.000763889
Time = 0.219236

PIMPLE: iteration 1
Selected 78 cells for refinement out of 113778.
Refined from 113778 to 114324 cells.
Selected 52 split points out of a possible 10022.
Unrefined from 114324 to 113960 cells.
Execution time for mesh.update() = 0.34 s
GAMG: Solving for pcorr, Initial residual = 1, Final residual = 4.39906e-05, No Iterations 9
time step continuity errors : sum local = 5.73634e-10, global = 1.57291e-10, cumulative = 9.06686e-06
MULES: Solving for alpha.water
(...)
time step continuity errors : sum local = 7.05031e-10, global = 2.8921e-11, cumulative = 9.78248e-06
ExecutionTime = 89.36 s ClockTime = 92 s

Courant Number mean: 0.0216001 max: 0.468787
Interface Courant Number mean: 0.00201923 max: 0.468787
deltaT = 0.000763889
Time = 0.22

PIMPLE: iteration 1
Selected 71 cells for refinement out of 113960.
[27]
[27]
[27] --> FOAM FATAL IO ERROR:
[27] error in IOstream "IOstream" for operation operator>>(Istream&, List<T>&) : reading first token
[27]
[27] file: IOstream at line 0.
[27]
[27] From function void Foam::IOstream::fatalCheck(const char*) const
[27] in file db/IOstreams/IOstreams/IOstream.C at line 109.
[27]
FOAM parallel run exiting
[27]
[cli_27]: aborting job:
application called MPI_Abort(MPI_COMM_WORLD, 1) - process 27


I traced it down to the hexRef8::setRefinement call, specifically where we call syncTools::syncEdgeList. It seems like inconsistent data in the message buffer that crashes the token parsing. The message seems to be associated with interchanging information related with coupled processor patches. The inconsistency is possibly generated by the refinement, either on the current step or on the previous. I have enabled all the pertinent checks but none reported any problem.

The error seems to be more frequent with higher processor counts.

Steps To ReproduceThe only required changes were to adjust the decomposeParDict to 32 processors and the Allrun to run in parallel.

This was executed in a cluster with 16 cores per node, thus requiring two nodes which were connected with an infiniband network interface.

TagsNo tags attached.
Attached Files
  • ? file icon cellDist (87,815 bytes) 2017-05-04 15:08 -
    /*--------------------------------*- C++ -*----------------------------------*\
    | =========                 |                                                 |
    | \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
    |  \\    /   O peration     | Version:  dev                                   |
    |   \\  /    A nd           | Web:      www.OpenFOAM.org                      |
    |    \\/     M anipulation  |                                                 |
    \*---------------------------------------------------------------------------*/
    FoamFile
    {
        version     2.0;
        format      ascii;
        class       volScalarField;
        location    "0";
        object      cellDist;
    }
    // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
    
    dimensions      [0 0 0 0 0 0 0];
    
    internalField   nonuniform List<scalar> 
    32256
    (
    27
    27
    27
    27
    27
    27
    27
    26
    26
    26
    26
    26
    26
    26
    26
    26
    21
    21
    21
    21
    21
    21
    21
    21
    21
    21
    21
    21
    21
    21
    21
    21
    27
    27
    27
    27
    27
    27
    27
    26
    26
    26
    26
    26
    26
    26
    26
    26
    21
    21
    21
    21
    21
    21
    21
    21
    21
    21
    21
    21
    21
    21
    21
    21
    27
    27
    27
    27
    27
    27
    27
    26
    26
    26
    26
    26
    26
    26
    26
    26
    21
    21
    21
    21
    21
    21
    21
    21
    21
    21
    21
    21
    21
    21
    21
    21
    27
    27
    27
    27
    27
    27
    27
    26
    26
    26
    26
    26
    26
    26
    26
    26
    21
    21
    21
    21
    21
    21
    21
    21
    21
    21
    21
    21
    21
    21
    21
    21
    27
    27
    27
    27
    27
    27
    27
    26
    26
    26
    26
    26
    26
    26
    26
    26
    26
    21
    21
    21
    21
    21
    21
    21
    21
    21
    21
    21
    21
    21
    21
    21
    27
    27
    27
    27
    27
    27
    27
    26
    26
    26
    26
    26
    26
    26
    26
    26
    26
    21
    21
    21
    21
    21
    21
    21
    21
    21
    21
    21
    21
    21
    21
    21
    27
    27
    27
    27
    27
    27
    27
    26
    26
    26
    26
    26
    26
    26
    26
    26
    26
    21
    21
    21
    21
    21
    21
    21
    21
    21
    21
    21
    21
    21
    21
    21
    27
    27
    27
    27
    27
    27
    27
    27
    26
    26
    26
    26
    26
    26
    26
    26
    26
    21
    21
    21
    21
    21
    21
    21
    21
    21
    21
    21
    21
    21
    21
    21
    27
    27
    27
    27
    27
    27
    27
    27
    26
    26
    26
    26
    26
    26
    26
    26
    26
    20
    20
    20
    20
    20
    20
    20
    20
    20
    20
    20
    20
    20
    20
    20
    27
    27
    27
    27
    27
    27
    27
    27
    27
    27
    26
    26
    26
    26
    26
    26
    26
    20
    20
    20
    20
    20
    20
    20
    20
    20
    20
    20
    20
    20
    20
    20
    27
    27
    27
    27
    27
    27
    27
    27
    27
    27
    26
    26
    26
    26
    26
    26
    26
    20
    20
    20
    20
    20
    20
    20
    20
    20
    20
    20
    20
    20
    20
    20
    27
    27
    27
    27
    27
    27
    27
    27
    27
    27
    26
    26
    26
    26
    26
    26
    26
    20
    20
    20
    20
    20
    20
    20
    20
    20
    20
    20
    20
    20
    20
    20
    27
    27
    27
    27
    27
    27
    27
    27
    27
    27
    27
    27
    20
    20
    20
    20
    20
    20
    20
    20
    20
    20
    20
    20
    7
    7
    7
    7
    7
    7
    7
    7
    27
    27
    27
    27
    20
    20
    20
    20
    20
    20
    20
    20
    20
    20
    20
    20
    7
    7
    7
    7
    7
    7
    7
    7
    7
    7
    7
    7
    20
    20
    20
    20
    20
    20
    20
    20
    20
    20
    20
    20
    7
    7
    7
    7
    7
    7
    7
    7
    7
    7
    7
    7
    20
    20
    20
    20
    20
    20
    20
    20
    20
    20
    20
    20
    7
    7
    7
    7
    7
    7
    7
    7
    7
    7
    7
    7
    20
    20
    20
    20
    20
    20
    20
    20
    20
    20
    20
    20
    7
    7
    7
    7
    7
    7
    7
    7
    7
    7
    7
    7
    20
    20
    20
    20
    20
    20
    20
    20
    20
    20
    20
    20
    7
    7
    7
    7
    7
    7
    7
    7
    7
    7
    7
    7
    0
    0
    0
    0
    0
    0
    0
    0
    0
    0
    0
    0
    7
    7
    7
    7
    7
    7
    7
    7
    7
    7
    7
    7
    0
    0
    0
    0
    0
    0
    0
    0
    0
    0
    0
    0
    7
    7
    7
    7
    7
    7
    7
    7
    7
    7
    7
    7
    5
    5
    5
    5
    5
    5
    5
    5
    0
    0
    0
    0
    0
    0
    0
    0
    0
    0
    0
    0
    7
    7
    7
    7
    7
    7
    7
    7
    7
    7
    7
    7
    5
    5
    5
    5
    5
    5
    5
    5
    0
    0
    0
    0
    0
    0
    0
    0
    0
    0
    0
    0
    7
    7
    7
    7
    7
    7
    7
    7
    7
    7
    7
    5
    5
    5
    5
    5
    5
    5
    5
    5
    0
    0
    0
    0
    0
    0
    0
    0
    0
    0
    0
    0
    7
    7
    7
    7
    7
    7
    7
    7
    7
    7
    7
    5
    5
    5
    5
    5
    5
    5
    5
    5
    0
    0
    0
    0
    0
    0
    0
    0
    0
    0
    0
    0
    7
    7
    7
    7
    7
    7
    7
    7
    7
    5
    5
    5
    5
    5
    5
    5
    5
    5
    1
    1
    1
    1
    0
    0
    0
    0
    0
    0
    0
    0
    0
    0
    7
    7
    7
    7
    7
    7
    7
    7
    7
    5
    5
    5
    5
    5
    5
    5
    5
    5
    1
    1
    1
    1
    1
    1
    1
    0
    0
    0
    0
    0
    0
    0
    4
    4
    4
    4
    4
    4
    4
    5
    5
    5
    5
    5
    5
    5
    5
    5
    5
    5
    1
    1
    1
    1
    1
    1
    1
    1
    1
    1
    1
    1
    1
    1
    4
    4
    4
    4
    4
    4
    4
    5
    5
    5
    5
    5
    5
    5
    5
    5
    5
    5
    1
    1
    1
    1
    1
    1
    1
    1
    1
    1
    1
    1
    1
    1
    4
    4
    4
    4
    4
    4
    4
    5
    5
    5
    5
    5
    5
    5
    5
    5
    5
    5
    1
    1
    1
    1
    1
    1
    1
    1
    1
    1
    1
    1
    1
    1
    4
    4
    4
    4
    4
    4
    4
    5
    5
    5
    5
    5
    5
    5
    5
    5
    5
    5
    1
    1
    1
    1
    1
    1
    1
    1
    1
    1
    1
    1
    1
    1
    4
    4
    4
    4
    4
    4
    4
    5
    5
    5
    5
    5
    5
    5
    5
    5
    5
    5
    1
    1
    1
    1
    1
    1
    1
    1
    1
    1
    1
    1
    1
    1
    4
    4
    4
    4
    4
    4
    4
    5
    5
    5
    5
    5
    5
    5
    5
    5
    5
    5
    1
    1
    1
    1
    1
    1
    1
    1
    1
    1
    1
    1
    1
    1
    27
    27
    27
    27
    27
    27
    27
    26
    26
    26
    26
    26
    26
    26
    26
    26
    21
    21
    21
    21
    21
    21
    21
    21
    21
    21
    21
    21
    21
    21
    21
    21
    27
    27
    27
    27
    27
    27
    27
    26
    26
    26
    26
    26
    26
    26
    26
    26
    21
    21
    21
    21
    21
    21
    21
    21
    21
    21
    21
    21
    21
    21
    21
    21
    27
    27
    27
    27
    27
    27
    27
    26
    26
    26
    26
    26
    26
    26
    26
    26
    21
    21
    21
    21
    21
    21
    21
    21
    21
    21
    21
    21
    21
    21
    21
    21
    27
    27
    27
    27
    27
    27
    27
    26
    26
    26
    26
    26
    26
    26
    26
    26
    21
    21
    21
    21
    21
    21
    21
    21
    21
    21
    21
    21
    21
    21
    21
    21
    27
    27
    27
    27
    27
    27
    27
    26
    26
    26
    26
    26
    26
    26
    26
    26
    26
    21
    21
    21
    21
    21
    21
    21
    21
    21
    21
    21
    21
    21
    21
    21
    27
    27
    27
    27
    27
    27
    27
    26
    26
    26
    26
    26
    26
    26
    26
    26
    26
    21
    21
    21
    21
    21
    21
    21
    21
    21
    21
    21
    21
    21
    21
    21
    27
    27
    27
    27
    27
    27
    27
    26
    26
    26
    26
    26
    26
    26
    26
    26
    26
    21
    21
    21
    21
    21
    21
    21
    21
    21
    21
    21
    21
    21
    21
    21
    27
    27
    27
    27
    27
    27
    27
    27
    26
    26
    26
    26
    26
    26
    26
    26
    26
    21
    21
    21
    21
    21
    21
    21
    21
    21
    21
    21
    21
    21
    21
    21
    27
    27
    27
    27
    27
    27
    27
    27
    26
    26
    26
    26
    26
    26
    26
    26
    26
    20
    20
    20
    20
    20
    20
    20
    20
    20
    20
    20
    20
    20
    20
    20
    27
    27
    27
    27
    27
    27
    27
    27
    27
    27
    26
    26
    26
    26
    26
    26
    26
    20
    20
    20
    20
    20
    20
    20
    20
    20
    20
    20
    20
    20
    20
    20
    27
    27
    27
    27
    27
    27
    27
    27
    27
    27
    26
    26
    26
    26
    26
    26
    26
    20
    20
    20
    20
    20
    20
    20
    20
    20
    20
    20
    20
    20
    20
    20
    27
    27
    27
    27
    27
    27
    27
    27
    27
    27
    26
    26
    26
    26
    26
    26
    26
    20
    20
    20
    20
    20
    20
    20
    20
    20
    20
    20
    20
    20
    20
    20
    27
    27
    27
    27
    27
    27
    27
    27
    27
    27
    27
    27
    20
    20
    20
    20
    20
    20
    20
    20
    20
    20
    20
    20
    7
    7
    7
    7
    7
    7
    7
    7
    27
    27
    27
    27
    20
    20
    20
    20
    20
    20
    20
    20
    20
    20
    20
    20
    7
    7
    7
    7
    7
    7
    7
    7
    7
    7
    7
    7
    20
    20
    20
    20
    20
    20
    20
    20
    20
    20
    20
    20
    7
    7
    7
    7
    7
    7
    7
    7
    7
    7
    7
    7
    20
    20
    20
    20
    20
    20
    20
    20
    20
    20
    20
    20
    7
    7
    7
    7
    7
    7
    7
    7
    7
    7
    7
    7
    20
    20
    20
    20
    20
    20
    20
    20
    20
    20
    20
    20
    7
    7
    7
    7
    7
    7
    7
    7
    7
    7
    7
    7
    20
    20
    20
    20
    20
    20
    20
    20
    20
    20
    20
    20
    7
    7
    7
    7
    7
    7
    7
    7
    7
    7
    7
    7
    0
    0
    0
    0
    0
    0
    0
    0
    0
    0
    0
    0
    7
    7
    7
    7
    7
    7
    7
    7
    7
    7
    7
    7
    0
    0
    0
    0
    0
    0
    0
    0
    0
    0
    0
    0
    7
    7
    7
    7
    7
    7
    7
    7
    7
    7
    7
    7
    5
    5
    5
    5
    5
    5
    5
    5
    0
    0
    0
    0
    0
    0
    0
    0
    0
    0
    0
    0
    7
    7
    7
    7
    7
    7
    7
    7
    7
    7
    7
    7
    5
    5
    5
    5
    5
    5
    5
    5
    0
    0
    0
    0
    0
    0
    0
    0
    0
    0
    0
    0
    7
    7
    7
    7
    7
    7
    7
    7
    7
    7
    7
    5
    5
    5
    5
    5
    5
    5
    5
    5
    0
    0
    0
    0
    0
    0
    0
    0
    0
    0
    0
    0
    7
    7
    7
    7
    7
    7
    7
    7
    7
    7
    7
    5
    5
    5
    5
    5
    5
    5
    5
    5
    0
    0
    0
    0
    0
    0
    0
    0
    0
    0
    0
    0
    7
    7
    7
    7
    7
    7
    7
    7
    7
    5
    5
    5
    5
    5
    5
    5
    5
    5
    1
    1
    1
    1
    0
    0
    0
    0
    0
    0
    0
    0
    0
    0
    7
    7
    7
    7
    7
    7
    7
    7
    7
    5
    5
    5
    5
    5
    5
    5
    5
    5
    1
    1
    1
    1
    1
    1
    1
    0
    0
    0
    0
    0
    0
    0
    4
    4
    4
    4
    4
    4
    4
    5
    5
    5
    5
    5
    5
    5
    5
    5
    5
    5
    1
    1
    1
    1
    1
    1
    1
    1
    1
    1
    1
    1
    1
    1
    4
    4
    4
    4
    4
    4
    4
    5
    5
    5
    5
    5
    5
    5
    5
    5
    5
    5
    1
    1
    1
    1
    1
    1
    1
    1
    1
    1
    1
    1
    1
    1
    4
    4
    4
    4
    4
    4
    4
    5
    5
    5
    5
    5
    5
    5
    5
    5
    5
    5
    1
    1
    1
    1
    1
    1
    1
    1
    1
    1
    1
    1
    1
    1
    4
    4
    4
    4
    4
    4
    4
    5
    5
    5
    5
    5
    5
    5
    5
    5
    5
    5
    1
    1
    1
    1
    1
    1
    1
    1
    1
    1
    1
    1
    1
    1
    4
    4
    4
    4
    4
    4
    4
    5
    5
    5
    5
    5
    5
    5
    5
    5
    5
    5
    1
    1
    1
    1
    1
    1
    1
    1
    1
    1
    1
    1
    1
    1
    4
    4
    4
    4
    4
    4
    4
    5
    5
    5
    5
    5
    5
    5
    5
    5
    5
    5
    1
    1
    1
    1
    1
    1
    1
    1
    1
    1
    1
    1
    1
    1
    27
    27
    27
    27
    27
    27
    27
    26
    26
    26
    26
    26
    26
    26
    26
    26
    21
    21
    21
    21
    21
    21
    21
    21
    21
    21
    21
    21
    21
    21
    21
    21
    27
    27
    27
    27
    27
    27
    27
    26
    26
    26
    26
    26
    26
    26
    26
    26
    21
    21
    21
    21
    21
    21
    21
    21
    21
    21
    21
    21
    21
    21
    21
    21
    27
    27
    27
    27
    27
    27
    27
    26
    26
    26
    26
    26
    26
    26
    26
    26
    21
    21
    21
    21
    21
    21
    21
    21
    21
    21
    21
    21
    21
    21
    21
    21
    27
    27
    27
    27
    27
    27
    27
    26
    26
    26
    26
    26
    26
    26
    26
    26
    21
    21
    21
    21
    21
    21
    21
    21
    21
    21
    21
    21
    21
    21
    21
    21
    27
    27
    27
    27
    27
    27
    27
    26
    26
    26
    26
    26
    26
    26
    26
    26
    26
    21
    21
    21
    21
    21
    21
    21
    21
    21
    21
    21
    21
    21
    21
    21
    27
    27
    27
    27
    27
    27
    27
    26
    26
    26
    26
    26
    26
    26
    26
    26
    26
    21
    21
    21
    21
    21
    21
    21
    21
    21
    21
    21
    21
    21
    21
    21
    27
    27
    27
    27
    27
    27
    27
    26
    26
    26
    26
    26
    26
    26
    26
    26
    26
    21
    21
    21
    21
    21
    21
    21
    21
    21
    21
    21
    21
    21
    21
    21
    27
    27
    27
    27
    27
    27
    27
    27
    26
    26
    26
    26
    26
    26
    26
    26
    26
    21
    21
    21
    21
    21
    21
    21
    21
    21
    21
    21
    21
    21
    21
    21
    27
    27
    27
    27
    27
    27
    27
    27
    26
    26
    26
    26
    26
    26
    26
    26
    26
    20
    20
    20
    20
    20
    20
    20
    20
    20
    20
    20
    20
    20
    20
    20
    27
    27
    27
    27
    27
    27
    27
    27
    27
    27
    26
    26
    26
    26
    26
    26
    26
    20
    20
    20
    20
    20
    20
    20
    20
    20
    20
    20
    20
    20
    20
    20
    27
    27
    27
    27
    27
    27
    27
    27
    27
    27
    26
    26
    26
    26
    26
    26
    26
    20
    20
    20
    20
    20
    20
    20
    20
    20
    20
    20
    20
    20
    20
    20
    27
    27
    27
    27
    27
    27
    27
    27
    27
    27
    26
    26
    26
    26
    26
    26
    26
    20
    20
    20
    20
    20
    20
    20
    20
    20
    20
    20
    20
    20
    20
    20
    27
    27
    27
    27
    27
    27
    27
    27
    27
    27
    27
    27
    20
    20
    20
    20
    20
    20
    20
    20
    20
    20
    20
    20
    7
    7
    7
    7
    7
    7
    7
    7
    27
    27
    27
    27
    20
    20
    20
    20
    20
    20
    20
    20
    20
    20
    20
    20
    7
    7
    7
    7
    7
    7
    7
    7
    7
    7
    7
    7
    20
    20
    20
    20
    20
    20
    20
    20
    20
    20
    20
    20
    7
    7
    7
    7
    7
    7
    7
    7
    7
    7
    7
    7
    20
    20
    20
    20
    20
    20
    20
    20
    20
    20
    20
    20
    7
    7
    7
    7
    7
    7
    7
    7
    7
    7
    7
    7
    20
    20
    20
    20
    20
    20
    20
    20
    20
    20
    20
    20
    7
    7
    7
    7
    7
    7
    7
    7
    7
    7
    7
    7
    20
    20
    20
    20
    20
    20
    20
    20
    20
    20
    20
    20
    7
    7
    7
    7
    7
    7
    7
    7
    7
    7
    7
    7
    0
    0
    0
    0
    0
    0
    0
    0
    0
    0
    0
    0
    7
    7
    7
    7
    7
    7
    7
    7
    7
    7
    7
    7
    0
    0
    0
    0
    0
    0
    0
    0
    0
    0
    0
    0
    7
    7
    7
    7
    7
    7
    7
    7
    7
    7
    7
    7
    5
    5
    5
    5
    5
    5
    5
    5
    0
    0
    0
    0
    0
    0
    0
    0
    0
    0
    0
    0
    7
    7
    7
    7
    7
    7
    7
    7
    7
    7
    7
    7
    5
    5
    5
    5
    5
    5
    5
    5
    0
    0
    0
    0
    0
    0
    0
    0
    0
    0
    0
    0
    7
    7
    7
    7
    7
    7
    7
    7
    7
    7
    7
    5
    5
    5
    5
    5
    5
    5
    5
    5
    0
    0
    0
    0
    0
    0
    0
    0
    0
    0
    0
    0
    7
    7
    7
    7
    7
    7
    7
    7
    7
    7
    7
    5
    5
    5
    5
    5
    5
    5
    5
    5
    0
    0
    0
    0
    0
    0
    0
    0
    0
    0
    0
    0
    7
    7
    7
    7
    7
    7
    7
    7
    7
    5
    5
    5
    5
    5
    5
    5
    5
    5
    1
    1
    1
    1
    0
    0
    0
    0
    0
    0
    0
    0
    0
    0
    7
    7
    7
    7
    7
    7
    7
    7
    7
    5
    5
    5
    5
    5
    5
    5
    5
    5
    1
    1
    1
    1
    1
    1
    1
    0
    0
    0
    0
    0
    0
    0
    4
    4
    4
    4
    4
    4
    4
    5
    5
    5
    5
    5
    5
    5
    5
    5
    5
    5
    1
    1
    1
    1
    1
    1
    1
    1
    1
    1
    1
    1
    1
    1
    4
    4
    4
    4
    4
    4
    4
    5
    5
    5
    5
    5
    5
    5
    5
    5
    5
    5
    1
    1
    1
    1
    1
    1
    1
    1
    1
    1
    1
    1
    1
    1
    4
    4
    4
    4
    4
    4
    4
    5
    5
    5
    5
    5
    5
    5
    5
    5
    5
    5
    1
    1
    1
    1
    1
    1
    1
    1
    1
    1
    1
    1
    1
    1
    4
    4
    4
    4
    4
    4
    4
    5
    5
    5
    5
    5
    5
    5
    5
    5
    5
    5
    1
    1
    1
    1
    1
    1
    1
    1
    1
    1
    1
    1
    1
    1
    4
    4
    4
    4
    4
    4
    4
    5
    5
    5
    5
    5
    5
    5
    5
    5
    5
    5
    1
    1
    1
    1
    1
    1
    1
    1
    1
    1
    1
    1
    1
    1
    4
    4
    4
    4
    4
    4
    4
    5
    5
    5
    5
    5
    5
    5
    5
    5
    5
    5
    1
    1
    1
    1
    1
    1
    1
    1
    1
    1
    1
    1
    1
    1
    27
    27
    27
    27
    27
    27
    27
    26
    26
    26
    26
    26
    26
    26
    26
    26
    21
    21
    21
    21
    21
    21
    21
    21
    21
    21
    21
    21
    21
    21
    21
    21
    27
    27
    27
    27
    27
    27
    27
    26
    26
    26
    26
    26
    26
    26
    26
    26
    21
    21
    21
    21
    21
    21
    21
    21
    21
    21
    21
    21
    21
    21
    21
    21
    27
    27
    27
    27
    27
    27
    27
    26
    26
    26
    26
    26
    26
    26
    26
    26
    21
    21
    21
    21
    21
    21
    21
    21
    21
    21
    21
    21
    21
    21
    21
    21
    27
    27
    27
    27
    27
    27
    27
    26
    26
    26
    26
    26
    26
    26
    26
    26
    21
    21
    21
    21
    21
    21
    21
    21
    21
    21
    21
    21
    21
    21
    21
    21
    27
    27
    27
    27
    27
    27
    27
    26
    26
    26
    26
    26
    26
    26
    26
    26
    26
    21
    21
    21
    21
    21
    21
    21
    21
    21
    21
    21
    21
    21
    21
    21
    27
    27
    27
    27
    27
    27
    27
    26
    26
    26
    26
    26
    26
    26
    26
    26
    26
    21
    21
    21
    21
    21
    21
    21
    21
    21
    21
    21
    21
    21
    21
    21
    27
    27
    27
    27
    27
    27
    27
    26
    26
    26
    26
    26
    26
    26
    26
    26
    26
    21
    21
    21
    21
    21
    21
    21
    21
    21
    21
    21
    21
    21
    21
    21
    27
    27
    27
    27
    27
    27
    27
    27
    26
    26
    26
    26
    26
    26
    26
    26
    26
    21
    21
    21
    21
    21
    21
    21
    21
    21
    21
    21
    21
    21
    21
    21
    27
    27
    27
    27
    27
    27
    27
    27
    26
    26
    26
    26
    26
    26
    26
    26
    26
    20
    20
    20
    20
    20
    20
    20
    20
    20
    20
    20
    20
    20
    20
    20
    27
    27
    27
    27
    27
    27
    27
    27
    27
    27
    26
    26
    26
    26
    26
    26
    26
    20
    20
    20
    20
    20
    20
    20
    20
    20
    20
    20
    20
    20
    20
    20
    27
    27
    27
    27
    27
    27
    27
    27
    27
    27
    26
    26
    26
    26
    26
    26
    26
    20
    20
    20
    20
    20
    20
    20
    20
    20
    20
    20
    20
    20
    20
    20
    27
    27
    27
    27
    27
    27
    27
    27
    27
    27
    26
    26
    26
    26
    26
    26
    26
    20
    20
    20
    20
    20
    20
    20
    20
    20
    20
    20
    20
    20
    20
    20
    27
    27
    27
    27
    27
    27
    27
    27
    27
    27
    27
    27
    20
    20
    20
    20
    20
    20
    20
    20
    20
    20
    20
    20
    7
    7
    7
    7
    7
    7
    7
    7
    27
    27
    27
    27
    20
    20
    20
    20
    20
    20
    20
    20
    20
    20
    20
    20
    7
    7
    7
    7
    7
    7
    7
    7
    7
    7
    7
    7
    20
    20
    20
    20
    20
    20
    20
    20
    20
    20
    20
    20
    7
    7
    7
    7
    7
    7
    7
    7
    7
    7
    7
    7
    20
    20
    20
    20
    20
    20
    20
    20
    20
    20
    20
    20
    7
    7
    7
    7
    7
    7
    7
    7
    7
    7
    7
    7
    20
    20
    20
    20
    20
    20
    20
    20
    20
    20
    20
    20
    7
    7
    7
    7
    7
    7
    7
    7
    7
    7
    7
    7
    20
    20
    20
    20
    20
    20
    20
    20
    20
    20
    20
    20
    7
    7
    7
    7
    7
    7
    7
    7
    7
    7
    7
    7
    0
    0
    0
    0
    0
    0
    0
    0
    0
    0
    0
    0
    7
    7
    7
    7
    7
    7
    7
    7
    7
    7
    7
    7
    0
    0
    0
    0
    0
    0
    0
    0
    0
    0
    0
    0
    7
    7
    7
    7
    7
    7
    7
    7
    7
    7
    7
    7
    5
    5
    5
    5
    5
    5
    5
    0
    0
    0
    0
    0
    0
    0
    0
    0
    0
    0
    0
    0
    7
    7
    7
    7
    7
    7
    7
    7
    7
    7
    7
    7
    5
    5
    5
    5
    5
    5
    5
    0
    0
    0
    0
    0
    0
    0
    0
    0
    0
    0
    0
    0
    7
    7
    7
    7
    7
    7
    7
    7
    7
    7
    7
    5
    5
    5
    5
    5
    5
    5
    5
    0
    0
    0
    0
    0
    0
    0
    0
    0
    0
    0
    0
    0
    7
    7
    7
    7
    7
    7
    7
    7
    7
    7
    7
    5
    5
    5
    5
    5
    5
    5
    5
    0
    0
    0
    0
    0
    0
    0
    0
    0
    0
    0
    0
    0
    7
    7
    7
    7
    7
    7
    7
    7
    7
    5
    5
    5
    5
    5
    5
    5
    5
    5
    1
    1
    1
    1
    0
    0
    0
    0
    0
    0
    0
    0
    0
    0
    7
    7
    7
    7
    7
    7
    7
    7
    7
    5
    5
    5
    5
    5
    5
    5
    5
    5
    1
    1
    1
    1
    1
    1
    1
    0
    0
    0
    0
    0
    0
    0
    4
    4
    4
    4
    4
    4
    4
    4
    5
    5
    5
    5
    5
    5
    5
    5
    5
    5
    1
    1
    1
    1
    1
    1
    1
    1
    1
    1
    1
    1
    1
    1
    4
    4
    4
    4
    4
    4
    4
    4
    5
    5
    5
    5
    5
    5
    5
    5
    5
    5
    1
    1
    1
    1
    1
    1
    1
    1
    1
    1
    1
    1
    1
    1
    4
    4
    4
    4
    4
    4
    4
    4
    5
    5
    5
    5
    5
    5
    5
    5
    5
    5
    1
    1
    1
    1
    1
    1
    1
    1
    1
    1
    1
    1
    1
    1
    4
    4
    4
    4
    4
    4
    4
    4
    5
    5
    5
    5
    5
    5
    5
    5
    5
    5
    1
    1
    1
    1
    1
    1
    1
    1
    1
    1
    1
    1
    1
    1
    4
    4
    4
    4
    4
    4
    4
    4
    5
    5
    5
    5
    5
    5
    5
    5
    5
    5
    1
    1
    1
    1
    1
    1
    1
    1
    1
    1
    1
    1
    1
    1
    4
    4
    4
    4
    4
    4
    4
    4
    5
    5
    5
    5
    5
    5
    5
    5
    5
    5
    1
    1
    1
    1
    1
    1
    1
    1
    1
    1
    1
    1
    1
    1
    27
    27
    27
    27
    27
    27
    27
    26
    26
    26
    26
    26
    26
    26
    26
    26
    21
    21
    21
    21
    21
    21
    21
    21
    21
    21
    21
    21
    21
    21
    21
    21
    27
    27
    27
    27
    27
    27
    27
    26
    26
    26
    26
    26
    26
    26
    26
    26
    21
    21
    21
    21
    21
    21
    21
    21
    21
    21
    21
    21
    21
    21
    21
    21
    27
    27
    27
    27
    27
    27
    27
    26
    26
    26
    26
    26
    26
    26
    26
    26
    21
    21
    21
    21
    21
    21
    21
    21
    21
    21
    21
    21
    21
    21
    21
    21
    27
    27
    27
    27
    27
    27
    27
    26
    26
    26
    26
    26
    26
    26
    26
    26
    21
    21
    21
    21
    21
    21
    21
    21
    21
    21
    21
    21
    21
    21
    21
    21
    27
    27
    27
    27
    27
    27
    27
    26
    26
    26
    26
    26
    26
    26
    26
    26
    26
    21
    21
    21
    21
    21
    21
    21
    21
    21
    21
    21
    21
    21
    21
    21
    27
    27
    27
    27
    27
    27
    27
    26
    26
    26
    26
    26
    26
    26
    26
    26
    26
    21
    21
    21
    21
    21
    21
    21
    21
    21
    21
    21
    21
    21
    21
    21
    27
    27
    27
    27
    27
    27
    27
    26
    26
    26
    26
    26
    26
    26
    26
    26
    26
    21
    21
    21
    21
    21
    21
    21
    21
    21
    21
    21
    21
    21
    21
    21
    27
    27
    27
    27
    27
    27
    27
    27
    26
    26
    26
    26
    26
    26
    26
    26
    26
    21
    21
    21
    21
    21
    21
    21
    21
    21
    21
    21
    21
    21
    21
    21
    27
    27
    27
    27
    27
    27
    27
    27
    26
    26
    26
    26
    26
    26
    26
    26
    26
    26
    20
    20
    20
    20
    20
    20
    20
    20
    20
    20
    20
    20
    20
    20
    27
    27
    27
    27
    27
    27
    27
    27
    27
    26
    26
    26
    26
    26
    26
    26
    26
    26
    20
    20
    20
    20
    20
    20
    20
    20
    20
    20
    20
    20
    20
    20
    27
    27
    27
    27
    27
    27
    27
    27
    27
    26
    26
    26
    26
    26
    26
    26
    26
    26
    20
    20
    20
    20
    20
    20
    20
    20
    20
    20
    20
    20
    20
    20
    27
    27
    27
    27
    27
    27
    27
    27
    27
    26
    26
    26
    26
    26
    26
    26
    26
    26
    20
    20
    20
    20
    20
    20
    20
    20
    20
    20
    20
    20
    20
    20
    27
    27
    27
    27
    27
    27
    27
    27
    27
    26
    26
    26
    20
    20
    20
    20
    20
    20
    20
    20
    20
    20
    20
    20
    7
    7
    7
    7
    7
    7
    7
    7
    7
    26
    26
    26
    20
    20
    20
    20
    20
    20
    20
    20
    20
    20
    20
    20
    7
    7
    7
    7
    7
    7
    7
    7
    7
    7
    7
    7
    20
    20
    20
    20
    20
    20
    20
    20
    20
    20
    20
    20
    7
    7
    7
    7
    7
    7
    7
    7
    7
    7
    7
    7
    20
    20
    20
    20
    20
    20
    20
    20
    20
    20
    20
    20
    7
    7
    7
    7
    7
    7
    7
    7
    7
    7
    7
    7
    20
    20
    20
    20
    20
    20
    20
    20
    20
    20
    20
    20
    7
    7
    7
    7
    7
    7
    7
    7
    7
    7
    7
    7
    20
    20
    20
    20
    20
    20
    20
    20
    20
    20
    20
    20
    7
    7
    7
    7
    7
    7
    7
    7
    7
    7
    7
    7
    0
    0
    0
    0
    0
    0
    0
    0
    0
    0
    0
    0
    7
    7
    7
    7
    7
    7
    7
    7
    7
    7
    7
    7
    0
    0
    0
    0
    0
    0
    0
    0
    0
    0
    0
    0
    7
    7
    7
    7
    7
    7
    7
    7
    7
    7
    7
    7
    5
    5
    5
    5
    5
    5
    5
    0
    0
    0
    0
    0
    0
    0
    0
    0
    0
    0
    0
    0
    7
    7
    7
    7
    7
    7
    7
    7
    7
    7
    7
    7
    5
    5
    5
    5
    5
    5
    5
    0
    0
    0
    0
    0
    0
    0
    0
    0
    0
    0
    0
    0
    7
    7
    7
    7
    7
    7
    7
    7
    7
    7
    7
    5
    5
    5
    5
    5
    5
    5
    5
    0
    0
    0
    0
    0
    0
    0
    0
    0
    0
    0
    0
    0
    7
    7
    7
    7
    7
    7
    7
    7
    7
    7
    7
    5
    5
    5
    5
    5
    5
    5
    5
    0
    0
    0
    0
    0
    0
    0
    0
    0
    0
    0
    0
    0
    7
    7
    7
    7
    7
    7
    7
    7
    7
    5
    5
    5
    5
    5
    5
    5
    5
    5
    1
    1
    1
    1
    0
    0
    0
    0
    0
    0
    0
    0
    0
    0
    7
    7
    7
    7
    7
    7
    7
    7
    7
    5
    5
    5
    5
    5
    5
    5
    5
    5
    1
    1
    1
    1
    1
    1
    1
    0
    0
    0
    0
    0
    0
    0
    4
    4
    4
    4
    4
    4
    4
    4
    5
    5
    5
    5
    5
    5
    5
    5
    5
    5
    1
    1
    1
    1
    1
    1
    1
    1
    1
    1
    1
    1
    1
    1
    4
    4
    4
    4
    4
    4
    4
    4
    5
    5
    5
    5
    5
    5
    5
    5
    5
    5
    1
    1
    1
    1
    1
    1
    1
    1
    1
    1
    1
    1
    1
    1
    4
    4
    4
    4
    4
    4
    4
    4
    5
    5
    5
    5
    5
    5
    5
    5
    5
    5
    1
    1
    1
    1
    1
    1
    1
    1
    1
    1
    1
    1
    1
    1
    4
    4
    4
    4
    4
    4
    4
    4
    5
    5
    5
    5
    5
    5
    5
    5
    5
    5
    1
    1
    1
    1
    1
    1
    1
    1
    1
    1
    1
    1
    1
    1
    4
    4
    4
    4
    4
    4
    4
    4
    5
    5
    5
    5
    5
    5
    5
    5
    5
    5
    1
    1
    1
    1
    1
    1
    1
    1
    1
    1
    1
    1
    1
    1
    4
    4
    4
    4
    4
    4
    4
    4
    5
    5
    5
    5
    5
    5
    5
    5
    5
    5
    1
    1
    1
    1
    1
    1
    1
    1
    1
    1
    1
    1
    1
    1
    27
    27
    27
    27
    27
    27
    27
    26
    26
    26
    26
    26
    26
    26
    26
    26
    21
    21
    21
    21
    21
    21
    21
    21
    21
    21
    21
    21
    21
    21
    21
    21
    27
    27
    27
    27
    27
    27
    27
    26
    26
    26
    26
    26
    26
    26
    26
    26
    21
    21
    21
    21
    21
    21
    21
    21
    21
    21
    21
    21
    21
    21
    21
    21
    27
    27
    27
    27
    27
    27
    27
    26
    26
    26
    26
    26
    26
    26
    26
    26
    21
    21
    21
    21
    21
    21
    21
    21
    21
    21
    21
    21
    21
    21
    21
    21
    27
    27
    27
    27
    27
    27
    27
    26
    26
    26
    26
    26
    26
    26
    26
    26
    21
    21
    21
    21
    21
    21
    21
    21
    21
    21
    21
    21
    21
    21
    21
    21
    27
    27
    27
    27
    27
    27
    27
    26
    26
    26
    26
    26
    26
    26
    26
    26
    26
    21
    21
    21
    21
    21
    21
    21
    21
    21
    21
    21
    21
    21
    21
    21
    27
    27
    27
    27
    27
    27
    27
    26
    26
    26
    26
    26
    26
    26
    26
    26
    26
    21
    21
    21
    21
    21
    21
    21
    21
    21
    21
    21
    21
    21
    21
    21
    27
    27
    27
    27
    27
    27
    27
    26
    26
    26
    26
    26
    26
    26
    26
    26
    26
    21
    21
    21
    21
    21
    21
    21
    21
    21
    21
    21
    21
    21
    21
    21
    27
    27
    27
    27
    27
    27
    27
    27
    26
    26
    26
    26
    26
    26
    26
    26
    26
    21
    21
    21
    21
    21
    21
    21
    21
    21
    21
    21
    21
    21
    21
    21
    27
    27
    27
    27
    27
    27
    27
    27
    26
    26
    26
    26
    26
    26
    26
    26
    26
    26
    20
    20
    20
    20
    20
    21
    21
    21
    21
    20
    20
    20
    20
    20
    27
    27
    27
    27
    27
    27
    27
    27
    26
    26
    26
    26
    26
    26
    26
    26
    26
    26
    20
    20
    20
    20
    20
    20
    20
    20
    20
    20
    20
    20
    20
    20
    27
    27
    27
    27
    27
    27
    27
    27
    26
    26
    26
    26
    26
    26
    26
    26
    26
    26
    20
    20
    20
    20
    20
    20
    20
    20
    20
    20
    20
    20
    20
    20
    27
    27
    27
    27
    27
    27
    27
    27
    26
    26
    26
    26
    26
    26
    26
    26
    26
    26
    20
    20
    20
    20
    20
    20
    20
    20
    20
    20
    20
    20
    20
    20
    27
    27
    27
    27
    27
    27
    27
    27
    26
    26
    26
    26
    20
    20
    20
    20
    20
    20
    20
    20
    20
    20
    20
    20
    7
    7
    7
    7
    7
    7
    7
    7
    7
    26
    26
    26
    20
    20
    20
    20
    20
    20
    20
    20
    20
    20
    20
    20
    7
    7
    7
    7
    7
    7
    7
    7
    7
    7
    7
    7
    20
    20
    20
    20
    20
    20
    20
    20
    20
    20
    20
    20
    7
    7
    7
    7
    7
    7
    7
    7
    7
    7
    7
    7
    20
    20
    20
    20
    20
    20
    20
    20
    20
    20
    20
    20
    7
    7
    7
    7
    7
    7
    7
    7
    7
    7
    7
    7
    20
    20
    20
    20
    20
    20
    20
    20
    20
    20
    20
    20
    7
    7
    7
    7
    7
    7
    7
    7
    7
    7
    7
    7
    20
    20
    20
    20
    20
    20
    20
    20
    20
    20
    20
    20
    7
    7
    7
    7
    7
    7
    7
    7
    7
    7
    7
    7
    0
    0
    0
    0
    0
    0
    0
    0
    0
    0
    0
    0
    7
    7
    7
    7
    7
    7
    7
    7
    7
    7
    7
    7
    0
    0
    0
    0
    0
    0
    0
    0
    0
    0
    0
    0
    7
    7
    7
    7
    7
    7
    7
    7
    7
    7
    7
    7
    5
    5
    5
    5
    5
    5
    0
    0
    0
    0
    0
    0
    0
    0
    0
    0
    0
    0
    0
    0
    7
    7
    7
    7
    7
    7
    7
    7
    7
    7
    7
    7
    5
    5
    5
    5
    5
    5
    0
    0
    0
    0
    0
    0
    0
    0
    0
    0
    0
    0
    0
    0
    7
    7
    7
    7
    7
    7
    7
    7
    7
    7
    7
    5
    5
    5
    5
    5
    5
    5
    0
    0
    0
    0
    0
    0
    0
    0
    0
    0
    0
    0
    0
    0
    7
    7
    7
    7
    7
    7
    7
    7
    7
    7
    7
    5
    5
    5
    5
    5
    5
    5
    0
    0
    0
    0
    0
    0
    0
    0
    0
    0
    0
    0
    0
    0
    7
    7
    7
    7
    7
    7
    7
    7
    7
    5
    5
    5
    5
    5
    5
    5
    5
    5
    1
    1
    1
    1
    0
    0
    0
    0
    0
    0
    0
    0
    0
    0
    7
    7
    7
    7
    7
    7
    7
    7
    7
    5
    5
    5
    5
    5
    5
    5
    5
    5
    1
    1
    1
    1
    1
    1
    1
    0
    0
    0
    0
    0
    0
    0
    4
    4
    4
    4
    4
    4
    4
    4
    5
    5
    5
    5
    5
    5
    5
    5
    5
    5
    1
    1
    1
    1
    1
    1
    1
    1
    1
    1
    1
    1
    1
    1
    4
    4
    4
    4
    4
    4
    4
    4
    5
    5
    5
    5
    5
    5
    5
    5
    5
    5
    1
    1
    1
    1
    1
    1
    1
    1
    1
    1
    1
    1
    1
    1
    4
    4
    4
    4
    4
    4
    4
    4
    5
    5
    5
    5
    5
    5
    5
    5
    5
    5
    1
    1
    1
    1
    1
    1
    1
    1
    1
    1
    1
    1
    1
    1
    4
    4
    4
    4
    4
    4
    4
    4
    5
    5
    5
    5
    5
    5
    5
    5
    5
    5
    1
    1
    1
    1
    1
    1
    1
    1
    1
    1
    1
    1
    1
    1
    4
    4
    4
    4
    4
    4
    4
    4
    5
    5
    5
    5
    5
    5
    5
    5
    5
    5
    1
    1
    1
    1
    1
    1
    1
    1
    1
    1
    1
    1
    1
    1
    4
    4
    4
    4
    4
    4
    4
    4
    5
    5
    5
    5
    5
    5
    5
    5
    5
    5
    1
    1
    1
    1
    1
    1
    1
    1
    1
    1
    1
    1
    1
    1
    27
    27
    27
    27
    27
    27
    27
    26
    26
    26
    26
    26
    26
    26
    26
    26
    26
    21
    21
    21
    21
    21
    21
    21
    21
    21
    21
    21
    21
    21
    21
    21
    27
    27
    27
    27
    27
    27
    27
    26
    26
    26
    26
    26
    26
    26
    26
    26
    26
    21
    21
    21
    21
    21
    21
    21
    21
    21
    21
    21
    21
    21
    21
    21
    27
    27
    27
    27
    27
    27
    27
    26
    26
    26
    26
    26
    26
    26
    26
    26
    26
    21
    21
    21
    21
    21
    21
    21
    21
    21
    21
    21
    21
    21
    21
    21
    27
    27
    27
    27
    27
    27
    27
    26
    26
    26
    26
    26
    26
    26
    26
    26
    26
    21
    21
    21
    21
    21
    21
    21
    21
    21
    21
    21
    21
    21
    21
    21
    27
    27
    27
    27
    27
    27
    27
    26
    26
    26
    26
    26
    26
    26
    26
    26
    26
    21
    21
    21
    21
    21
    21
    21
    21
    21
    21
    21
    21
    21
    21
    21
    27
    27
    27
    27
    27
    27
    27
    26
    26
    26
    26
    26
    26
    26
    26
    26
    26
    21
    21
    21
    21
    21
    21
    21
    21
    21
    21
    21
    21
    21
    21
    21
    27
    27
    27
    27
    27
    27
    27
    26
    26
    26
    26
    26
    26
    26
    26
    26
    26
    21
    21
    21
    21
    21
    21
    21
    21
    21
    21
    21
    21
    21
    21
    21
    27
    27
    27
    27
    27
    27
    27
    27
    26
    26
    26
    26
    26
    26
    26
    26
    26
    21
    21
    21
    21
    21
    21
    21
    21
    21
    21
    21
    21
    21
    21
    21
    27
    27
    27
    27
    27
    27
    27
    27
    26
    26
    26
    26
    26
    26
    26
    26
    26
    26
    20
    20
    20
    20
    21
    21
    21
    21
    21
    20
    20
    20
    20
    20
    27
    27
    27
    27
    27
    27
    27
    27
    26
    26
    26
    26
    26
    26
    26
    26
    26
    26
    20
    20
    20
    20
    20
    20
    20
    20
    20
    20
    20
    20
    20
    20
    27
    27
    27
    27
    27
    27
    27
    27
    26
    26
    26
    26
    26
    26
    26
    26
    26
    26
    20
    20
    20
    20
    20
    20
    20
    20
    20
    20
    20
    20
    20
    20
    27
    27
    27
    27
    27
    27
    27
    27
    26
    26
    26
    26
    26
    26
    26
    26
    26
    26
    20
    20
    20
    20
    20
    20
    20
    20
    20
    20
    20
    20
    20
    20
    27
    27
    27
    27
    27
    27
    27
    27
    26
    26
    26
    26
    20
    20
    20
    20
    20
    20
    20
    20
    20
    20
    20
    20
    7
    7
    7
    7
    7
    7
    7
    7
    7
    26
    26
    26
    20
    20
    20
    20
    20
    20
    20
    20
    20
    20
    20
    20
    7
    7
    7
    7
    7
    7
    7
    7
    7
    7
    7
    7
    20
    20
    20
    20
    20
    20
    20
    20
    20
    20
    20
    20
    7
    7
    7
    7
    7
    7
    7
    7
    7
    7
    7
    7
    20
    20
    20
    20
    20
    20
    20
    20
    20
    20
    20
    20
    7
    7
    7
    7
    7
    7
    7
    7
    7
    7
    7
    7
    20
    20
    20
    20
    20
    20
    20
    20
    20
    20
    20
    20
    7
    7
    7
    7
    7
    7
    7
    7
    7
    7
    7
    7
    20
    20
    20
    20
    20
    20
    20
    20
    20
    20
    20
    20
    7
    7
    7
    7
    7
    7
    7
    7
    7
    7
    7
    7
    0
    0
    0
    0
    0
    0
    0
    0
    0
    0
    0
    0
    7
    7
    7
    7
    7
    7
    7
    7
    7
    7
    7
    7
    0
    0
    0
    0
    0
    0
    0
    0
    0
    0
    0
    0
    7
    7
    7
    7
    7
    7
    7
    7
    7
    7
    7
    7
    5
    5
    5
    5
    5
    5
    0
    0
    0
    0
    0
    0
    0
    0
    0
    0
    0
    0
    0
    0
    7
    7
    7
    7
    7
    7
    7
    7
    7
    7
    7
    7
    5
    5
    5
    5
    5
    5
    0
    0
    0
    0
    0
    0
    0
    0
    0
    0
    0
    0
    0
    0
    7
    7
    7
    7
    7
    7
    7
    7
    7
    7
    7
    5
    5
    5
    5
    5
    5
    5
    0
    0
    0
    0
    0
    0
    0
    0
    0
    0
    0
    0
    0
    0
    7
    7
    7
    7
    7
    7
    7
    7
    7
    7
    7
    5
    5
    5
    5
    5
    5
    5
    0
    0
    0
    0
    0
    0
    0
    0
    0
    0
    0
    0
    0
    0
    7
    7
    7
    7
    7
    7
    7
    7
    7
    5
    5
    5
    5
    5
    5
    5
    5
    5
    1
    1
    1
    1
    0
    0
    0
    0
    0
    0
    0
    0
    0
    0
    7
    7
    7
    7
    7
    7
    7
    7
    7
    5
    5
    5
    5
    5
    5
    5
    5
    5
    1
    1
    1
    1
    1
    1
    1
    0
    0
    0
    0
    0
    0
    0
    4
    4
    4
    4
    4
    4
    4
    4
    4
    5
    5
    5
    5
    5
    5
    5
    5
    5
    1
    1
    1
    1
    1
    1
    1
    1
    1
    1
    1
    1
    1
    1
    4
    4
    4
    4
    4
    4
    4
    4
    4
    5
    5
    5
    5
    5
    5
    5
    5
    5
    1
    1
    1
    1
    1
    1
    1
    1
    1
    1
    1
    1
    1
    1
    4
    4
    4
    4
    4
    4
    4
    4
    4
    5
    5
    5
    5
    5
    5
    5
    5
    5
    1
    1
    1
    1
    1
    1
    1
    1
    1
    1
    1
    1
    1
    1
    4
    4
    4
    4
    4
    4
    4
    4
    4
    5
    5
    5
    5
    5
    5
    5
    5
    5
    1
    1
    1
    1
    1
    1
    1
    1
    1
    1
    1
    1
    1
    1
    4
    4
    4
    4
    4
    4
    4
    4
    4
    5
    5
    5
    5
    5
    5
    5
    5
    5
    1
    1
    1
    1
    1
    1
    1
    1
    1
    1
    1
    1
    1
    1
    4
    4
    4
    4
    4
    4
    4
    4
    4
    5
    5
    5
    5
    5
    5
    5
    5
    5
    1
    1
    1
    1
    1
    1
    1
    1
    1
    1
    1
    1
    1
    1
    27
    27
    27
    27
    27
    27
    27
    26
    26
    26
    26
    26
    26
    26
    26
    26
    26
    21
    21
    21
    21
    21
    21
    21
    21
    21
    21
    21
    21
    21
    21
    21
    27
    27
    27
    27
    27
    27
    27
    26
    26
    26
    26
    26
    26
    26
    26
    26
    26
    21
    21
    21
    21
    21
    21
    21
    21
    21
    21
    21
    21
    21
    21
    21
    27
    27
    27
    27
    27
    27
    27
    26
    26
    26
    26
    26
    26
    26
    26
    26
    26
    21
    21
    21
    21
    21
    21
    21
    21
    21
    21
    21
    21
    21
    21
    21
    27
    27
    27
    27
    27
    27
    27
    26
    26
    26
    26
    26
    26
    26
    26
    26
    26
    21
    21
    21
    21
    21
    21
    21
    21
    21
    21
    21
    21
    21
    21
    21
    27
    27
    27
    27
    27
    27
    27
    26
    26
    26
    26
    26
    26
    26
    26
    26
    26
    21
    21
    21
    21
    21
    21
    21
    21
    21
    21
    21
    21
    21
    21
    21
    27
    27
    27
    27
    27
    27
    27
    26
    26
    26
    26
    26
    26
    26
    26
    26
    26
    21
    21
    21
    21
    21
    21
    21
    21
    21
    21
    21
    21
    21
    21
    21
    27
    27
    27
    27
    27
    27
    27
    26
    26
    26
    26
    26
    26
    26
    26
    26
    26
    21
    21
    21
    21
    21
    21
    21
    21
    21
    21
    21
    21
    21
    21
    21
    27
    27
    27
    27
    27
    27
    27
    27
    26
    26
    26
    26
    26
    26
    26
    26
    26
    21
    21
    21
    21
    21
    21
    21
    21
    21
    21
    21
    21
    21
    21
    21
    27
    27
    27
    27
    27
    27
    27
    27
    26
    26
    26
    26
    26
    26
    26
    26
    26
    22
    22
    22
    20
    20
    21
    21
    21
    21
    21
    20
    20
    20
    20
    20
    27
    27
    27
    27
    27
    27
    27
    27
    26
    26
    26
    26
    26
    26
    26
    26
    26
    23
    23
    23
    20
    20
    20
    20
    20
    20
    20
    20
    20
    20
    20
    20
    27
    27
    27
    27
    27
    27
    27
    27
    26
    26
    26
    26
    26
    26
    26
    26
    26
    23
    23
    23
    20
    20
    20
    20
    20
    20
    20
    20
    20
    20
    20
    20
    27
    27
    27
    27
    27
    27
    27
    27
    26
    26
    26
    26
    26
    26
    26
    26
    26
    23
    23
    23
    20
    20
    20
    20
    20
    20
    20
    20
    20
    20
    20
    20
    25
    25
    25
    25
    25
    25
    25
    25
    25
    25
    25
    25
    20
    20
    20
    20
    20
    20
    20
    20
    20
    20
    20
    20
    25
    25
    25
    25
    25
    25
    25
    25
    25
    25
    25
    25
    20
    20
    20
    20
    20
    20
    20
    20
    20
    20
    20
    20
    25
    25
    25
    25
    25
    25
    25
    25
    25
    25
    25
    25
    20
    20
    20
    20
    20
    20
    20
    20
    20
    20
    20
    20
    6
    6
    6
    6
    6
    6
    6
    6
    6
    6
    6
    6
    20
    20
    20
    20
    20
    20
    20
    20
    20
    20
    20
    20
    6
    6
    6
    6
    6
    6
    6
    6
    6
    6
    6
    6
    20
    20
    20
    20
    20
    20
    20
    20
    20
    20
    20
    20
    6
    6
    6
    6
    6
    6
    6
    6
    6
    6
    6
    6
    0
    0
    0
    0
    0
    0
    0
    0
    0
    0
    0
    0
    6
    6
    6
    6
    6
    6
    6
    6
    6
    6
    6
    6
    0
    0
    0
    0
    0
    0
    0
    0
    0
    0
    0
    0
    6
    6
    6
    6
    6
    6
    6
    6
    6
    6
    6
    6
    0
    0
    0
    0
    0
    0
    0
    0
    0
    0
    0
    0
    6
    6
    6
    6
    6
    6
    6
    6
    6
    6
    6
    6
    5
    5
    5
    5
    5
    5
    0
    0
    0
    0
    0
    0
    0
    0
    0
    0
    0
    0
    0
    0
    6
    6
    6
    6
    6
    6
    6
    6
    6
    6
    6
    6
    5
    5
    5
    5
    5
    5
    0
    0
    0
    0
    0
    0
    0
    0
    0
    0
    0
    0
    0
    0
    6
    6
    6
    6
    6
    6
    6
    6
    6
    6
    6
    6
    5
    5
    5
    5
    5
    5
    0
    0
    0
    0
    0
    0
    0
    0
    0
    0
    0
    0
    0
    0
    6
    6
    6
    6
    6
    6
    6
    6
    6
    6
    6
    5
    5
    5
    5
    5
    5
    5
    0
    0
    0
    0
    0
    0
    0
    0
    0
    0
    0
    0
    0
    0
    6
    6
    6
    6
    6
    6
    4
    4
    4
    4
    5
    5
    5
    5
    5
    5
    5
    5
    1
    1
    1
    1
    0
    0
    0
    0
    0
    0
    0
    0
    0
    0
    6
    6
    6
    6
    4
    4
    4
    4
    4
    4
    5
    5
    5
    5
    5
    5
    5
    5
    1
    1
    1
    1
    1
    1
    1
    0
    0
    0
    0
    0
    0
    0
    4
    4
    4
    4
    4
    4
    4
    4
    4
    4
    5
    5
    5
    5
    5
    5
    5
    5
    1
    1
    1
    1
    1
    1
    1
    1
    1
    1
    1
    1
    1
    1
    4
    4
    4
    4
    4
    4
    4
    4
    4
    4
    5
    5
    5
    5
    5
    5
    5
    5
    1
    1
    1
    1
    1
    1
    1
    1
    1
    1
    1
    1
    1
    1
    4
    4
    4
    4
    4
    4
    4
    4
    4
    4
    5
    5
    5
    5
    5
    5
    5
    5
    1
    1
    1
    1
    1
    1
    1
    1
    1
    1
    1
    1
    1
    1
    4
    4
    4
    4
    4
    4
    4
    4
    4
    4
    5
    5
    5
    5
    5
    5
    5
    5
    1
    1
    1
    1
    1
    1
    1
    1
    1
    1
    1
    1
    1
    1
    4
    4
    4
    4
    4
    4
    4
    4
    4
    4
    5
    5
    5
    5
    5
    5
    5
    5
    1
    1
    1
    1
    1
    1
    1
    1
    1
    1
    1
    1
    1
    1
    4
    4
    4
    4
    4
    4
    4
    4
    4
    4
    5
    5
    5
    5
    5
    5
    5
    5
    1
    1
    1
    1
    1
    1
    1
    1
    1
    1
    1
    1
    1
    1
    27
    27
    27
    27
    27
    27
    27
    26
    26
    26
    26
    26
    26
    26
    26
    26
    26
    22
    22
    22
    22
    22
    22
    22
    22
    22
    22
    22
    22
    22
    22
    22
    27
    27
    27
    27
    27
    27
    27
    26
    26
    26
    26
    26
    26
    26
    26
    26
    26
    22
    22
    22
    22
    22
    22
    22
    22
    22
    22
    22
    22
    22
    22
    22
    27
    27
    27
    27
    27
    27
    27
    26
    26
    26
    26
    26
    26
    26
    26
    26
    26
    22
    22
    22
    22
    22
    22
    22
    22
    22
    22
    22
    22
    22
    22
    22
    27
    27
    27
    27
    27
    27
    27
    26
    26
    26
    26
    26
    26
    26
    26
    26
    26
    22
    22
    22
    22
    22
    22
    22
    22
    22
    22
    22
    22
    22
    22
    22
    27
    27
    27
    27
    27
    27
    27
    26
    26
    26
    26
    26
    26
    26
    26
    26
    26
    22
    22
    22
    22
    22
    22
    22
    22
    22
    22
    22
    22
    22
    22
    22
    27
    27
    27
    27
    27
    27
    27
    26
    26
    26
    26
    26
    26
    26
    26
    26
    26
    22
    22
    22
    22
    22
    22
    22
    22
    22
    22
    22
    22
    22
    22
    22
    27
    27
    27
    27
    27
    27
    27
    26
    26
    26
    26
    26
    26
    26
    26
    26
    26
    22
    22
    22
    22
    22
    22
    22
    22
    22
    22
    22
    22
    22
    22
    22
    27
    27
    27
    27
    27
    27
    27
    27
    26
    26
    26
    26
    26
    26
    26
    26
    26
    22
    22
    22
    22
    22
    22
    22
    22
    22
    22
    22
    22
    22
    22
    22
    27
    27
    27
    27
    27
    27
    27
    27
    26
    26
    26
    26
    26
    26
    26
    26
    26
    22
    22
    22
    22
    22
    22
    22
    22
    22
    22
    22
    22
    22
    22
    22
    27
    27
    27
    27
    27
    27
    27
    27
    26
    26
    26
    26
    26
    26
    26
    26
    26
    23
    23
    23
    23
    23
    23
    23
    23
    23
    23
    23
    23
    23
    23
    23
    25
    25
    25
    25
    25
    25
    25
    25
    26
    26
    26
    26
    26
    26
    26
    26
    26
    23
    23
    23
    23
    23
    23
    23
    23
    23
    23
    23
    23
    23
    23
    23
    25
    25
    25
    25
    25
    25
    25
    25
    26
    26
    26
    26
    26
    26
    26
    26
    26
    23
    23
    23
    23
    23
    23
    23
    23
    23
    23
    23
    23
    23
    23
    23
    25
    25
    25
    25
    25
    25
    25
    25
    25
    25
    25
    25
    25
    25
    25
    23
    23
    23
    23
    23
    23
    23
    23
    23
    23
    23
    23
    23
    23
    23
    23
    23
    25
    25
    25
    25
    25
    25
    25
    25
    25
    25
    25
    25
    25
    25
    25
    23
    23
    23
    23
    23
    23
    23
    23
    23
    23
    23
    23
    23
    23
    23
    23
    23
    25
    25
    25
    25
    25
    25
    25
    25
    25
    25
    25
    25
    25
    25
    25
    23
    23
    23
    23
    23
    23
    23
    23
    23
    23
    23
    23
    23
    23
    23
    23
    23
    6
    6
    6
    6
    6
    6
    6
    6
    6
    6
    6
    6
    6
    6
    6
    23
    23
    23
    23
    23
    23
    23
    23
    23
    23
    23
    23
    23
    23
    23
    23
    23
    6
    6
    6
    6
    6
    6
    6
    6
    6
    6
    6
    6
    6
    6
    6
    6
    23
    23
    23
    23
    23
    23
    23
    23
    23
    23
    23
    23
    23
    23
    23
    0
    6
    6
    6
    6
    6
    6
    6
    6
    6
    6
    6
    6
    6
    6
    6
    6
    2
    2
    2
    2
    0
    0
    0
    0
    0
    0
    0
    0
    0
    0
    0
    0
    6
    6
    6
    6
    6
    6
    6
    6
    6
    6
    6
    6
    6
    6
    6
    6
    2
    2
    2
    2
    0
    0
    0
    0
    0
    0
    0
    0
    0
    0
    0
    0
    6
    6
    6
    6
    6
    6
    6
    6
    6
    6
    6
    6
    6
    6
    6
    6
    2
    2
    2
    2
    0
    0
    0
    0
    0
    0
    0
    0
    0
    0
    0
    0
    6
    6
    6
    6
    6
    6
    6
    6
    6
    6
    6
    6
    6
    6
    6
    6
    2
    2
    2
    2
    0
    0
    0
    0
    0
    0
    0
    0
    0
    0
    0
    0
    6
    6
    6
    6
    6
    6
    6
    6
    6
    6
    6
    6
    5
    5
    5
    5
    5
    5
    2
    2
    0
    0
    0
    0
    0
    0
    0
    0
    0
    0
    0
    0
    6
    6
    6
    6
    6
    6
    6
    6
    6
    6
    6
    6
    5
    5
    5
    5
    5
    5
    2
    2
    0
    0
    0
    0
    0
    0
    0
    0
    0
    0
    0
    0
    6
    6
    6
    6
    6
    6
    6
    6
    6
    6
    6
    6
    5
    5
    5
    5
    5
    5
    2
    2
    0
    0
    0
    0
    0
    0
    0
    0
    0
    0
    0
    0
    6
    6
    6
    6
    6
    6
    4
    4
    4
    4
    5
    5
    5
    5
    5
    5
    5
    5
    1
    1
    1
    1
    0
    0
    0
    0
    0
    0
    0
    0
    0
    0
    6
    6
    6
    6
    4
    4
    4
    4
    4
    4
    5
    5
    5
    5
    5
    5
    5
    5
    1
    1
    1
    1
    1
    1
    1
    0
    0
    0
    0
    0
    0
    0
    4
    4
    4
    4
    4
    4
    4
    4
    4
    4
    5
    5
    5
    5
    5
    5
    5
    5
    1
    1
    1
    1
    1
    1
    1
    1
    1
    1
    1
    1
    1
    1
    4
    4
    4
    4
    4
    4
    4
    4
    4
    4
    5
    5
    5
    5
    5
    5
    5
    5
    1
    1
    1
    1
    1
    1
    1
    1
    1
    1
    1
    1
    1
    1
    4
    4
    4
    4
    4
    4
    4
    4
    4
    4
    5
    5
    5
    5
    5
    5
    5
    5
    1
    1
    1
    1
    1
    1
    1
    1
    1
    1
    1
    1
    1
    1
    4
    4
    4
    4
    4
    4
    4
    4
    4
    4
    5
    5
    5
    5
    5
    5
    5
    5
    1
    1
    1
    1
    1
    1
    1
    1
    1
    1
    1
    1
    1
    1
    4
    4
    4
    4
    4
    4
    4
    4
    4
    4
    5
    5
    5
    5
    5
    5
    5
    5
    1
    1
    1
    1
    1
    1
    1
    1
    1
    1
    1
    1
    1
    1
    4
    4
    4
    4
    4
    4
    4
    4
    4
    4
    5
    5
    5
    5
    5
    5
    5
    5
    1
    1
    1
    1
    1
    1
    1
    1
    1
    1
    1
    1
    1
    1
    27
    27
    27
    27
    27
    27
    27
    24
    24
    24
    24
    24
    24
    24
    24
    24
    24
    22
    22
    22
    22
    22
    22
    22
    22
    22
    22
    22
    22
    22
    22
    22
    27
    27
    27
    27
    27
    27
    27
    24
    24
    24
    24
    24
    24
    24
    24
    24
    24
    22
    22
    22
    22
    22
    22
    22
    22
    22
    22
    22
    22
    22
    22
    22
    27
    27
    27
    27
    27
    27
    27
    24
    24
    24
    24
    24
    24
    24
    24
    24
    24
    22
    22
    22
    22
    22
    22
    22
    22
    22
    22
    22
    22
    22
    22
    22
    27
    27
    27
    27
    27
    27
    27
    24
    24
    24
    24
    24
    24
    24
    24
    24
    24
    22
    22
    22
    22
    22
    22
    22
    22
    22
    22
    22
    22
    22
    22
    22
    27
    27
    27
    27
    27
    27
    27
    24
    24
    24
    24
    24
    24
    24
    24
    24
    24
    22
    22
    22
    22
    22
    22
    22
    22
    22
    22
    22
    22
    22
    22
    22
    27
    27
    27
    27
    27
    27
    27
    24
    24
    24
    24
    24
    24
    24
    24
    24
    24
    22
    22
    22
    22
    22
    22
    22
    22
    22
    22
    22
    22
    22
    22
    22
    27
    27
    27
    27
    27
    27
    27
    24
    24
    24
    24
    24
    24
    24
    24
    24
    24
    22
    22
    22
    22
    22
    22
    22
    22
    22
    22
    22
    22
    22
    22
    22
    27
    27
    27
    27
    27
    27
    27
    24
    24
    24
    24
    24
    24
    24
    24
    24
    24
    22
    22
    22
    22
    22
    22
    22
    22
    22
    22
    22
    22
    22
    22
    22
    25
    25
    25
    25
    25
    25
    25
    25
    25
    25
    25
    24
    24
    24
    24
    24
    24
    23
    23
    23
    23
    23
    23
    23
    23
    23
    23
    23
    23
    23
    23
    23
    25
    25
    25
    25
    25
    25
    25
    25
    25
    25
    25
    25
    25
    25
    25
    23
    23
    23
    23
    23
    23
    23
    23
    23
    23
    23
    23
    23
    23
    23
    23
    23
    25
    25
    25
    25
    25
    25
    25
    25
    25
    25
    25
    25
    25
    25
    25
    23
    23
    23
    23
    23
    23
    23
    23
    23
    23
    23
    23
    23
    23
    23
    23
    23
    25
    25
    25
    25
    25
    25
    25
    25
    25
    25
    25
    25
    25
    25
    25
    23
    23
    23
    23
    23
    23
    23
    23
    23
    23
    23
    23
    23
    23
    23
    23
    23
    25
    25
    25
    25
    25
    25
    25
    25
    25
    25
    25
    25
    25
    25
    25
    23
    23
    23
    23
    23
    23
    23
    23
    23
    23
    23
    23
    23
    23
    23
    23
    23
    25
    25
    25
    25
    25
    25
    25
    25
    25
    25
    25
    25
    25
    25
    25
    23
    23
    23
    23
    23
    23
    23
    23
    23
    23
    23
    23
    23
    23
    23
    23
    23
    25
    25
    25
    25
    25
    25
    25
    25
    25
    25
    25
    25
    25
    25
    25
    23
    23
    23
    23
    23
    23
    23
    23
    23
    23
    23
    23
    23
    23
    23
    23
    23
    6
    6
    6
    6
    6
    6
    6
    6
    6
    6
    6
    6
    6
    6
    6
    23
    23
    23
    23
    23
    23
    23
    23
    23
    23
    23
    23
    23
    23
    23
    23
    23
    6
    6
    6
    6
    6
    6
    6
    6
    6
    6
    6
    6
    6
    6
    6
    6
    23
    23
    23
    23
    23
    23
    23
    23
    23
    23
    23
    23
    23
    23
    23
    23
    6
    6
    6
    6
    6
    6
    6
    6
    6
    6
    6
    6
    6
    6
    6
    6
    2
    2
    2
    2
    2
    2
    0
    0
    0
    0
    0
    0
    0
    0
    0
    0
    6
    6
    6
    6
    6
    6
    6
    6
    6
    6
    6
    6
    6
    6
    6
    6
    2
    2
    2
    2
    2
    2
    0
    0
    0
    0
    0
    0
    0
    0
    0
    0
    6
    6
    6
    6
    6
    6
    6
    6
    6
    6
    6
    6
    6
    6
    6
    6
    2
    2
    2
    2
    2
    2
    0
    0
    0
    0
    0
    0
    0
    0
    0
    0
    6
    6
    6
    6
    6
    6
    6
    6
    6
    6
    6
    6
    6
    6
    6
    6
    2
    2
    2
    2
    2
    2
    0
    0
    0
    0
    0
    0
    0
    0
    0
    0
    6
    6
    6
    6
    6
    6
    6
    6
    6
    6
    6
    6
    5
    5
    5
    5
    2
    2
    2
    2
    2
    2
    0
    0
    0
    0
    0
    0
    0
    0
    0
    0
    6
    6
    6
    6
    6
    6
    6
    6
    6
    6
    6
    6
    5
    5
    5
    5
    2
    2
    2
    2
    2
    2
    0
    0
    0
    0
    0
    0
    0
    0
    0
    0
    6
    6
    6
    6
    6
    6
    6
    6
    6
    6
    6
    6
    5
    5
    5
    5
    2
    2
    2
    2
    2
    2
    0
    0
    0
    0
    0
    0
    0
    0
    0
    0
    6
    6
    6
    6
    6
    6
    4
    4
    4
    4
    4
    4
    5
    5
    5
    5
    2
    2
    2
    2
    2
    2
    0
    0
    0
    0
    0
    0
    0
    0
    0
    0
    6
    6
    6
    6
    4
    4
    4
    4
    4
    4
    4
    4
    5
    5
    5
    5
    2
    2
    2
    2
    2
    2
    1
    1
    1
    0
    0
    0
    0
    0
    0
    0
    4
    4
    4
    4
    4
    4
    4
    4
    4
    4
    4
    4
    5
    5
    5
    5
    2
    2
    2
    2
    2
    2
    1
    1
    1
    1
    1
    1
    1
    1
    1
    1
    4
    4
    4
    4
    4
    4
    4
    4
    4
    4
    4
    4
    5
    5
    5
    5
    2
    2
    2
    2
    2
    2
    1
    1
    1
    1
    1
    1
    1
    1
    1
    1
    4
    4
    4
    4
    4
    4
    4
    4
    4
    4
    4
    4
    5
    5
    5
    5
    2
    2
    2
    2
    2
    2
    1
    1
    1
    1
    1
    1
    1
    1
    1
    1
    4
    4
    4
    4
    4
    4
    4
    4
    4
    4
    4
    4
    5
    5
    5
    5
    2
    2
    2
    2
    2
    2
    1
    1
    1
    1
    1
    1
    1
    1
    1
    1
    4
    4
    4
    4
    4
    4
    4
    4
    4
    4
    4
    4
    5
    5
    5
    5
    2
    2
    2
    2
    2
    2
    1
    1
    1
    1
    1
    1
    1
    1
    1
    1
    4
    4
    4
    4
    4
    4
    4
    4
    4
    4
    4
    4
    5
    5
    5
    5
    2
    2
    2
    2
    2
    2
    1
    1
    1
    1
    1
    1
    1
    1
    1
    1
    27
    27
    27
    27
    27
    27
    24
    24
    24
    24
    24
    24
    24
    24
    24
    24
    24
    22
    22
    22
    22
    22
    22
    22
    22
    22
    22
    22
    22
    22
    22
    22
    27
    27
    27
    27
    27
    27
    24
    24
    24
    24
    24
    24
    24
    24
    24
    24
    24
    22
    22
    22
    22
    22
    22
    22
    22
    22
    22
    22
    22
    22
    22
    22
    27
    27
    27
    27
    27
    24
    24
    24
    24
    24
    24
    24
    24
    24
    24
    24
    24
    22
    22
    22
    22
    22
    22
    22
    22
    22
    22
    22
    22
    22
    22
    22
    27
    27
    27
    27
    27
    24
    24
    24
    24
    24
    24
    24
    24
    24
    24
    24
    24
    22
    22
    22
    22
    22
    22
    22
    22
    22
    22
    22
    22
    22
    22
    22
    27
    27
    27
    27
    27
    24
    24
    24
    24
    24
    24
    24
    24
    24
    24
    24
    24
    22
    22
    22
    22
    22
    22
    22
    22
    22
    22
    22
    22
    22
    22
    22
    27
    27
    27
    27
    27
    24
    24
    24
    24
    24
    24
    24
    24
    24
    24
    24
    24
    22
    22
    22
    22
    22
    22
    22
    22
    22
    22
    22
    22
    22
    22
    22
    27
    27
    27
    27
    27
    24
    24
    24
    24
    24
    24
    24
    24
    24
    24
    24
    24
    22
    22
    22
    22
    22
    22
    22
    22
    22
    22
    22
    22
    22
    22
    22
    27
    27
    27
    27
    27
    24
    24
    24
    24
    24
    24
    24
    24
    24
    24
    24
    24
    22
    22
    22
    22
    22
    22
    22
    22
    22
    22
    22
    22
    22
    22
    22
    25
    25
    25
    25
    25
    25
    25
    25
    25
    25
    25
    24
    24
    24
    24
    24
    24
    23
    23
    23
    23
    23
    23
    23
    23
    23
    23
    23
    23
    23
    23
    23
    25
    25
    25
    25
    25
    25
    25
    25
    25
    25
    25
    25
    25
    25
    25
    23
    23
    23
    23
    23
    23
    23
    23
    23
    23
    23
    23
    23
    23
    23
    23
    23
    25
    25
    25
    25
    25
    25
    25
    25
    25
    25
    25
    25
    25
    25
    25
    23
    23
    23
    23
    23
    23
    23
    23
    23
    23
    23
    23
    23
    23
    23
    23
    23
    25
    25
    25
    25
    25
    25
    25
    25
    25
    25
    25
    25
    25
    25
    25
    23
    23
    23
    23
    23
    23
    23
    23
    23
    23
    23
    23
    23
    23
    23
    23
    23
    25
    25
    25
    25
    25
    25
    25
    25
    25
    25
    25
    25
    25
    25
    25
    23
    23
    23
    23
    23
    23
    23
    23
    23
    23
    23
    23
    23
    23
    23
    23
    23
    25
    25
    25
    25
    25
    25
    25
    25
    25
    25
    25
    25
    25
    25
    25
    23
    23
    23
    23
    23
    23
    23
    23
    23
    23
    23
    23
    23
    23
    23
    23
    23
    25
    25
    25
    25
    25
    25
    25
    25
    25
    25
    25
    25
    25
    25
    25
    23
    23
    23
    23
    23
    23
    23
    23
    23
    23
    23
    23
    23
    23
    23
    23
    23
    25
    25
    25
    25
    25
    25
    25
    25
    25
    25
    25
    25
    25
    25
    25
    23
    23
    23
    23
    23
    23
    23
    23
    23
    23
    23
    23
    23
    23
    23
    23
    23
    6
    6
    6
    6
    6
    6
    6
    6
    6
    6
    6
    6
    6
    6
    6
    6
    23
    23
    23
    23
    23
    23
    23
    23
    23
    23
    23
    23
    23
    23
    23
    23
    6
    6
    6
    6
    6
    6
    6
    6
    6
    6
    6
    6
    6
    6
    6
    6
    2
    2
    2
    2
    2
    2
    2
    2
    0
    0
    0
    0
    0
    0
    0
    0
    6
    6
    6
    6
    6
    6
    6
    6
    6
    6
    6
    6
    6
    6
    6
    6
    2
    2
    2
    2
    2
    2
    2
    2
    0
    0
    0
    0
    0
    0
    0
    0
    6
    6
    6
    6
    6
    6
    6
    6
    6
    6
    6
    6
    6
    6
    6
    6
    2
    2
    2
    2
    2
    2
    2
    2
    0
    0
    0
    0
    0
    0
    0
    0
    6
    6
    6
    6
    6
    6
    6
    6
    6
    6
    6
    6
    6
    6
    6
    6
    2
    2
    2
    2
    2
    2
    2
    2
    0
    0
    0
    0
    0
    0
    0
    0
    6
    6
    6
    6
    6
    6
    6
    6
    6
    6
    6
    6
    6
    6
    2
    2
    2
    2
    2
    2
    2
    2
    2
    2
    0
    0
    0
    0
    0
    0
    0
    0
    6
    6
    6
    6
    6
    6
    6
    6
    6
    6
    6
    6
    6
    6
    2
    2
    2
    2
    2
    2
    2
    2
    2
    2
    0
    0
    0
    0
    0
    0
    0
    0
    6
    6
    6
    6
    6
    6
    6
    6
    6
    6
    6
    6
    6
    5
    5
    2
    2
    2
    2
    2
    2
    2
    2
    2
    0
    0
    0
    0
    0
    0
    0
    0
    6
    6
    6
    6
    6
    6
    4
    4
    4
    4
    4
    4
    4
    5
    5
    5
    2
    2
    2
    2
    2
    2
    2
    2
    0
    0
    0
    0
    0
    0
    0
    0
    6
    6
    6
    6
    4
    4
    4
    4
    4
    4
    4
    4
    4
    5
    5
    5
    2
    2
    2
    2
    2
    2
    2
    1
    1
    0
    0
    0
    0
    0
    0
    0
    4
    4
    4
    4
    4
    4
    4
    4
    4
    4
    4
    4
    4
    5
    5
    5
    2
    2
    2
    2
    2
    2
    2
    1
    1
    1
    1
    1
    1
    1
    1
    1
    4
    4
    4
    4
    4
    4
    4
    4
    4
    4
    4
    4
    4
    5
    5
    5
    2
    2
    2
    2
    2
    2
    2
    1
    1
    1
    1
    1
    1
    1
    1
    1
    4
    4
    4
    4
    4
    4
    4
    4
    4
    4
    4
    4
    4
    5
    5
    5
    2
    2
    2
    2
    2
    2
    2
    1
    1
    1
    1
    1
    1
    1
    1
    1
    4
    4
    4
    4
    4
    4
    4
    4
    4
    4
    4
    4
    4
    5
    5
    5
    2
    2
    2
    2
    2
    2
    2
    1
    1
    1
    1
    1
    1
    1
    1
    1
    4
    4
    4
    4
    4
    4
    4
    4
    4
    4
    4
    4
    4
    5
    5
    5
    2
    2
    2
    2
    2
    2
    2
    1
    1
    1
    1
    1
    1
    1
    1
    1
    4
    4
    4
    4
    4
    4
    4
    4
    4
    4
    4
    4
    4
    5
    5
    5
    2
    2
    2
    2
    2
    2
    2
    1
    1
    1
    1
    1
    1
    1
    1
    1
    24
    24
    24
    24
    24
    24
    24
    24
    24
    24
    24
    24
    24
    24
    24
    24
    24
    22
    22
    22
    22
    22
    22
    22
    22
    22
    22
    22
    22
    22
    22
    22
    24
    24
    24
    24
    24
    24
    24
    24
    24
    24
    24
    24
    24
    24
    24
    24
    24
    22
    22
    22
    22
    22
    22
    22
    22
    22
    22
    22
    22
    22
    22
    22
    24
    24
    24
    24
    24
    24
    24
    24
    24
    24
    24
    24
    24
    24
    24
    24
    24
    22
    22
    22
    22
    22
    22
    22
    22
    22
    22
    22
    22
    22
    22
    22
    24
    24
    24
    24
    24
    24
    24
    24
    24
    24
    24
    24
    24
    24
    24
    24
    24
    22
    22
    22
    22
    22
    22
    22
    22
    22
    22
    22
    22
    22
    22
    22
    24
    24
    24
    24
    24
    24
    24
    24
    24
    24
    24
    24
    24
    24
    24
    24
    24
    22
    22
    22
    22
    22
    22
    22
    22
    22
    22
    22
    22
    22
    22
    22
    24
    24
    24
    24
    24
    24
    24
    24
    24
    24
    24
    24
    24
    24
    24
    24
    24
    22
    22
    22
    22
    22
    22
    22
    22
    22
    22
    22
    22
    22
    22
    22
    24
    24
    24
    24
    24
    24
    24
    24
    24
    24
    24
    24
    24
    24
    24
    24
    24
    22
    22
    22
    22
    22
    22
    22
    22
    22
    22
    22
    22
    22
    22
    22
    24
    24
    24
    24
    24
    24
    24
    24
    24
    24
    24
    24
    24
    24
    24
    24
    24
    22
    22
    22
    22
    22
    22
    22
    22
    22
    22
    22
    22
    22
    22
    22
    25
    25
    25
    25
    25
    25
    25
    25
    25
    25
    25
    24
    24
    24
    24
    24
    24
    23
    23
    23
    23
    23
    23
    23
    23
    23
    23
    23
    23
    23
    23
    23
    25
    25
    25
    25
    25
    25
    25
    25
    25
    25
    25
    25
    25
    25
    25
    25
    23
    23
    23
    23
    23
    23
    23
    23
    23
    23
    23
    23
    23
    23
    23
    23
    25
    25
    25
    25
    25
    25
    25
    25
    25
    25
    25
    25
    25
    25
    25
    25
    23
    23
    23
    23
    23
    23
    23
    23
    23
    23
    23
    23
    23
    23
    23
    23
    25
    25
    25
    25
    25
    25
    25
    25
    25
    25
    25
    25
    25
    25
    25
    25
    23
    23
    23
    23
    23
    23
    23
    23
    23
    23
    23
    23
    23
    23
    23
    23
    25
    25
    25
    25
    25
    25
    25
    25
    25
    25
    25
    25
    25
    25
    25
    25
    23
    23
    23
    23
    23
    23
    23
    23
    23
    23
    23
    23
    23
    23
    23
    23
    25
    25
    25
    25
    25
    25
    25
    25
    25
    25
    25
    25
    25
    25
    25
    25
    23
    23
    23
    23
    23
    23
    23
    23
    23
    23
    23
    23
    23
    23
    23
    23
    25
    25
    25
    25
    25
    25
    25
    25
    25
    25
    25
    25
    25
    25
    25
    25
    23
    23
    23
    23
    23
    23
    23
    23
    23
    23
    23
    23
    23
    23
    23
    23
    25
    25
    25
    25
    25
    25
    25
    25
    25
    25
    25
    25
    25
    25
    25
    25
    23
    23
    23
    23
    23
    23
    23
    23
    23
    23
    23
    23
    23
    23
    23
    23
    6
    6
    6
    6
    6
    6
    6
    6
    6
    6
    6
    6
    6
    6
    6
    2
    2
    23
    23
    23
    23
    23
    23
    23
    23
    23
    23
    23
    23
    23
    23
    23
    6
    6
    6
    6
    6
    6
    6
    6
    6
    6
    6
    6
    6
    6
    6
    2
    2
    2
    2
    2
    2
    2
    2
    2
    3
    3
    3
    3
    3
    3
    3
    3
    6
    6
    6
    6
    6
    6
    6
    6
    6
    6
    6
    6
    6
    6
    6
    2
    2
    2
    2
    2
    2
    2
    2
    2
    3
    3
    3
    3
    3
    3
    3
    3
    6
    6
    6
    6
    6
    6
    6
    6
    6
    6
    6
    6
    6
    6
    6
    2
    2
    2
    2
    2
    2
    2
    2
    2
    3
    3
    3
    3
    3
    3
    3
    3
    6
    6
    6
    6
    6
    6
    6
    6
    6
    6
    6
    6
    6
    6
    6
    2
    2
    2
    2
    2
    2
    2
    2
    2
    3
    3
    3
    3
    3
    3
    3
    3
    6
    6
    6
    6
    6
    6
    6
    6
    6
    6
    6
    6
    6
    6
    2
    2
    2
    2
    2
    2
    2
    2
    2
    2
    3
    3
    3
    3
    3
    3
    3
    3
    6
    6
    6
    6
    6
    6
    6
    6
    6
    6
    6
    6
    6
    6
    2
    2
    2
    2
    2
    2
    2
    2
    2
    2
    3
    3
    3
    3
    3
    3
    3
    3
    6
    6
    6
    6
    6
    6
    6
    6
    6
    6
    6
    6
    6
    2
    2
    2
    2
    2
    2
    2
    2
    2
    2
    2
    3
    3
    3
    3
    3
    3
    3
    3
    6
    6
    6
    6
    6
    6
    4
    4
    4
    4
    4
    4
    4
    2
    2
    2
    2
    2
    2
    2
    2
    2
    2
    2
    3
    3
    3
    3
    3
    3
    3
    3
    6
    6
    6
    6
    4
    4
    4
    4
    4
    4
    4
    4
    4
    2
    2
    2
    2
    2
    2
    2
    2
    2
    2
    2
    3
    3
    3
    3
    3
    3
    3
    3
    4
    4
    4
    4
    4
    4
    4
    4
    4
    4
    4
    4
    4
    2
    2
    2
    2
    2
    2
    2
    2
    2
    2
    2
    3
    3
    3
    3
    3
    3
    3
    3
    4
    4
    4
    4
    4
    4
    4
    4
    4
    4
    4
    4
    4
    4
    4
    2
    2
    2
    2
    2
    2
    2
    2
    2
    3
    3
    3
    3
    3
    3
    3
    3
    4
    4
    4
    4
    4
    4
    4
    4
    4
    4
    4
    4
    4
    4
    4
    2
    2
    2
    2
    2
    2
    2
    2
    2
    3
    3
    3
    3
    3
    3
    3
    3
    4
    4
    4
    4
    4
    4
    4
    4
    4
    4
    4
    4
    4
    4
    4
    2
    2
    2
    2
    2
    2
    2
    2
    2
    1
    1
    1
    1
    1
    1
    1
    1
    4
    4
    4
    4
    4
    4
    4
    4
    4
    4
    4
    4
    4
    4
    4
    2
    2
    2
    2
    2
    2
    2
    2
    2
    1
    1
    1
    1
    1
    1
    1
    1
    4
    4
    4
    4
    4
    4
    4
    4
    4
    4
    4
    4
    4
    4
    4
    2
    2
    2
    2
    2
    2
    2
    2
    2
    1
    1
    1
    1
    1
    1
    1
    1
    24
    24
    24
    24
    24
    24
    24
    24
    24
    24
    24
    24
    24
    24
    24
    24
    24
    22
    22
    22
    22
    22
    22
    22
    22
    22
    22
    22
    22
    22
    22
    22
    24
    24
    24
    24
    24
    24
    24
    24
    24
    24
    24
    24
    24
    24
    24
    24
    24
    22
    22
    22
    22
    22
    22
    22
    22
    22
    22
    22
    22
    22
    22
    22
    24
    24
    24
    24
    24
    24
    24
    24
    24
    24
    24
    24
    24
    24
    24
    24
    24
    22
    22
    22
    22
    22
    22
    22
    22
    22
    22
    22
    22
    22
    22
    22
    24
    24
    24
    24
    24
    24
    24
    24
    24
    24
    24
    24
    24
    24
    24
    24
    24
    22
    22
    22
    22
    22
    22
    22
    22
    22
    22
    22
    22
    22
    22
    22
    24
    24
    24
    24
    24
    24
    24
    24
    24
    24
    24
    24
    24
    24
    24
    24
    24
    22
    22
    22
    22
    22
    22
    22
    22
    22
    22
    22
    22
    22
    22
    22
    24
    24
    24
    24
    24
    24
    24
    24
    24
    24
    24
    24
    24
    24
    24
    24
    24
    22
    22
    22
    22
    22
    22
    22
    22
    22
    22
    22
    22
    22
    22
    22
    24
    24
    24
    24
    24
    24
    24
    24
    24
    24
    24
    24
    24
    24
    24
    24
    24
    22
    22
    22
    22
    22
    22
    22
    22
    22
    22
    22
    22
    22
    22
    22
    24
    24
    24
    24
    24
    24
    24
    24
    24
    24
    24
    24
    24
    24
    24
    24
    24
    22
    22
    22
    22
    22
    22
    22
    22
    22
    22
    22
    22
    22
    22
    22
    25
    25
    25
    25
    25
    25
    25
    25
    25
    25
    25
    24
    24
    24
    24
    24
    24
    23
    23
    23
    23
    23
    23
    23
    23
    23
    23
    23
    23
    23
    23
    23
    25
    25
    25
    25
    25
    25
    25
    25
    25
    25
    25
    25
    25
    25
    25
    25
    23
    23
    23
    23
    23
    23
    23
    23
    23
    23
    23
    23
    23
    23
    23
    23
    25
    25
    25
    25
    25
    25
    25
    25
    25
    25
    25
    25
    25
    25
    25
    25
    23
    23
    23
    23
    23
    23
    23
    23
    23
    23
    23
    23
    23
    23
    23
    23
    25
    25
    25
    25
    25
    25
    25
    25
    25
    25
    25
    25
    25
    25
    25
    25
    23
    23
    23
    23
    23
    23
    23
    23
    23
    23
    23
    23
    23
    23
    23
    23
    25
    25
    25
    25
    25
    25
    25
    25
    25
    25
    25
    25
    25
    25
    25
    25
    23
    23
    23
    23
    23
    23
    23
    23
    23
    23
    23
    23
    23
    23
    23
    23
    25
    25
    25
    25
    25
    25
    25
    25
    25
    25
    25
    25
    25
    25
    25
    25
    23
    23
    23
    23
    23
    23
    23
    23
    23
    23
    23
    23
    23
    23
    23
    23
    25
    25
    25
    25
    25
    25
    25
    25
    25
    25
    25
    25
    25
    25
    25
    25
    23
    23
    23
    23
    23
    23
    23
    23
    23
    23
    23
    23
    23
    23
    23
    23
    25
    25
    25
    25
    25
    25
    25
    25
    25
    25
    25
    25
    25
    25
    25
    25
    23
    23
    23
    23
    23
    23
    23
    23
    23
    23
    23
    23
    23
    23
    23
    23
    6
    6
    6
    6
    6
    6
    6
    6
    6
    6
    6
    6
    6
    6
    2
    2
    2
    2
    2
    2
    2
    2
    23
    23
    23
    23
    23
    23
    23
    23
    23
    23
    6
    6
    6
    6
    6
    6
    6
    6
    6
    6
    6
    6
    6
    6
    2
    2
    2
    2
    2
    2
    2
    2
    2
    2
    3
    3
    3
    3
    3
    3
    3
    3
    6
    6
    6
    6
    6
    6
    6
    6
    6
    6
    6
    6
    6
    6
    2
    2
    2
    2
    2
    2
    2
    2
    2
    2
    3
    3
    3
    3
    3
    3
    3
    3
    6
    6
    6
    6
    6
    6
    6
    6
    6
    6
    6
    6
    6
    6
    2
    2
    2
    2
    2
    2
    2
    2
    2
    2
    3
    3
    3
    3
    3
    3
    3
    3
    6
    6
    6
    6
    6
    6
    6
    6
    6
    6
    6
    6
    6
    6
    2
    2
    2
    2
    2
    2
    2
    2
    2
    2
    3
    3
    3
    3
    3
    3
    3
    3
    6
    6
    6
    6
    6
    6
    6
    6
    6
    6
    6
    6
    6
    6
    2
    2
    2
    2
    2
    2
    2
    2
    2
    2
    3
    3
    3
    3
    3
    3
    3
    3
    6
    6
    6
    6
    6
    6
    6
    6
    6
    6
    6
    6
    6
    6
    2
    2
    2
    2
    2
    2
    2
    2
    2
    2
    3
    3
    3
    3
    3
    3
    3
    3
    6
    6
    6
    6
    6
    6
    6
    6
    6
    6
    6
    6
    6
    2
    2
    2
    2
    2
    2
    2
    2
    2
    2
    2
    3
    3
    3
    3
    3
    3
    3
    3
    6
    6
    6
    6
    6
    6
    4
    4
    4
    4
    4
    4
    4
    2
    2
    2
    2
    2
    2
    2
    2
    2
    2
    2
    3
    3
    3
    3
    3
    3
    3
    3
    6
    6
    6
    6
    4
    4
    4
    4
    4
    4
    4
    4
    4
    2
    2
    2
    2
    2
    2
    2
    2
    2
    2
    2
    3
    3
    3
    3
    3
    3
    3
    3
    4
    4
    4
    4
    4
    4
    4
    4
    4
    4
    4
    4
    4
    2
    2
    2
    2
    2
    2
    2
    2
    2
    2
    2
    3
    3
    3
    3
    3
    3
    3
    3
    4
    4
    4
    4
    4
    4
    4
    4
    4
    4
    4
    4
    4
    4
    4
    2
    2
    2
    2
    2
    2
    2
    2
    2
    3
    3
    3
    3
    3
    3
    3
    3
    4
    4
    4
    4
    4
    4
    4
    4
    4
    4
    4
    4
    4
    4
    4
    2
    2
    2
    2
    2
    2
    2
    2
    2
    3
    3
    3
    3
    3
    3
    3
    3
    4
    4
    4
    4
    4
    4
    4
    4
    4
    4
    4
    4
    4
    4
    4
    2
    2
    2
    2
    2
    2
    2
    2
    2
    3
    3
    3
    3
    3
    3
    3
    3
    4
    4
    4
    4
    4
    4
    4
    4
    4
    4
    4
    4
    4
    4
    4
    2
    2
    2
    2
    2
    2
    2
    2
    2
    3
    3
    3
    3
    3
    3
    3
    3
    4
    4
    4
    4
    4
    4
    4
    4
    4
    4
    4
    4
    4
    4
    4
    2
    2
    2
    2
    2
    2
    2
    2
    2
    3
    3
    3
    3
    3
    3
    3
    3
    24
    24
    24
    24
    24
    24
    24
    24
    24
    24
    24
    24
    24
    24
    24
    24
    24
    22
    22
    22
    22
    22
    22
    22
    22
    22
    22
    22
    22
    22
    22
    22
    24
    24
    24
    24
    24
    24
    24
    24
    24
    24
    24
    24
    24
    24
    24
    24
    24
    22
    22
    22
    22
    22
    22
    22
    22
    22
    22
    22
    22
    22
    22
    22
    24
    24
    24
    24
    24
    24
    24
    24
    24
    24
    24
    24
    24
    24
    24
    24
    24
    22
    22
    22
    22
    22
    22
    22
    22
    22
    22
    22
    22
    22
    22
    22
    24
    24
    24
    24
    24
    24
    24
    24
    24
    24
    24
    24
    24
    24
    24
    24
    24
    22
    22
    22
    22
    22
    22
    22
    22
    22
    22
    22
    22
    22
    22
    22
    24
    24
    24
    24
    24
    24
    24
    24
    24
    24
    24
    24
    24
    24
    24
    24
    24
    22
    22
    22
    22
    22
    22
    22
    22
    22
    22
    22
    22
    22
    22
    22
    24
    24
    24
    24
    24
    24
    24
    24
    24
    24
    24
    24
    24
    24
    24
    24
    24
    22
    22
    22
    22
    22
    22
    22
    22
    22
    22
    22
    22
    22
    22
    22
    24
    24
    24
    24
    24
    24
    24
    24
    24
    24
    24
    24
    24
    24
    24
    24
    24
    22
    22
    22
    22
    22
    22
    22
    22
    22
    22
    22
    22
    22
    22
    22
    24
    24
    24
    24
    24
    24
    24
    24
    24
    24
    24
    24
    24
    24
    24
    24
    24
    22
    22
    22
    22
    22
    22
    22
    22
    22
    22
    22
    22
    22
    22
    22
    25
    25
    25
    25
    25
    25
    25
    25
    25
    25
    25
    24
    24
    24
    24
    24
    24
    23
    23
    23
    23
    23
    23
    23
    23
    23
    23
    23
    23
    23
    23
    23
    25
    25
    25
    25
    25
    25
    25
    25
    25
    25
    25
    25
    25
    25
    25
    25
    23
    23
    23
    23
    23
    23
    23
    23
    23
    23
    23
    23
    23
    23
    23
    23
    25
    25
    25
    25
    25
    25
    25
    25
    25
    25
    25
    25
    25
    25
    25
    25
    23
    23
    23
    23
    23
    23
    23
    23
    23
    23
    23
    23
    23
    23
    23
    23
    25
    25
    25
    25
    25
    25
    25
    25
    25
    25
    25
    25
    25
    25
    25
    25
    23
    23
    23
    23
    23
    23
    23
    23
    23
    23
    23
    23
    23
    23
    23
    23
    25
    25
    25
    25
    25
    25
    25
    25
    25
    25
    25
    25
    25
    25
    25
    25
    23
    23
    23
    23
    23
    23
    23
    23
    23
    23
    23
    23
    23
    23
    23
    23
    25
    25
    25
    25
    25
    25
    25
    25
    25
    25
    25
    25
    25
    25
    25
    25
    23
    23
    23
    23
    23
    23
    23
    23
    23
    23
    23
    23
    23
    23
    23
    23
    25
    25
    25
    25
    25
    25
    25
    25
    25
    25
    25
    25
    25
    25
    25
    25
    23
    23
    23
    23
    23
    23
    23
    23
    23
    23
    23
    23
    23
    23
    23
    23
    25
    25
    25
    25
    25
    25
    25
    25
    25
    25
    25
    25
    25
    25
    25
    25
    2
    2
    2
    2
    23
    23
    23
    23
    23
    23
    23
    23
    23
    23
    23
    23
    6
    6
    6
    6
    6
    6
    6
    6
    6
    6
    6
    6
    6
    6
    2
    2
    2
    2
    2
    2
    2
    2
    23
    23
    23
    23
    23
    23
    23
    23
    23
    23
    6
    6
    6
    6
    6
    6
    6
    6
    6
    6
    6
    6
    6
    6
    2
    2
    2
    2
    2
    2
    2
    2
    2
    2
    3
    3
    3
    3
    3
    3
    3
    3
    6
    6
    6
    6
    6
    6
    6
    6
    6
    6
    6
    6
    6
    6
    2
    2
    2
    2
    2
    2
    2
    2
    2
    2
    3
    3
    3
    3
    3
    3
    3
    3
    6
    6
    6
    6
    6
    6
    6
    6
    6
    6
    6
    6
    6
    6
    2
    2
    2
    2
    2
    2
    2
    2
    2
    2
    3
    3
    3
    3
    3
    3
    3
    3
    6
    6
    6
    6
    6
    6
    6
    6
    6
    6
    6
    6
    6
    6
    2
    2
    2
    2
    2
    2
    2
    2
    2
    2
    3
    3
    3
    3
    3
    3
    3
    3
    6
    6
    6
    6
    6
    6
    6
    6
    6
    6
    6
    6
    6
    6
    2
    2
    2
    2
    2
    2
    2
    2
    2
    2
    3
    3
    3
    3
    3
    3
    3
    3
    6
    6
    6
    6
    6
    6
    6
    6
    6
    6
    6
    6
    6
    6
    2
    2
    2
    2
    2
    2
    2
    2
    2
    2
    3
    3
    3
    3
    3
    3
    3
    3
    6
    6
    6
    6
    6
    6
    6
    6
    6
    6
    6
    6
    6
    2
    2
    2
    2
    2
    2
    2
    2
    2
    2
    2
    3
    3
    3
    3
    3
    3
    3
    3
    6
    6
    6
    6
    6
    6
    4
    4
    4
    4
    4
    4
    4
    2
    2
    2
    2
    2
    2
    2
    2
    2
    2
    2
    3
    3
    3
    3
    3
    3
    3
    3
    6
    6
    6
    6
    4
    4
    4
    4
    4
    4
    4
    4
    4
    2
    2
    2
    2
    2
    2
    2
    2
    2
    2
    2
    3
    3
    3
    3
    3
    3
    3
    3
    4
    4
    4
    4
    4
    4
    4
    4
    4
    4
    4
    4
    4
    2
    2
    2
    2
    2
    2
    2
    2
    2
    2
    2
    3
    3
    3
    3
    3
    3
    3
    3
    4
    4
    4
    4
    4
    4
    4
    4
    4
    4
    4
    4
    4
    4
    4
    2
    2
    2
    2
    2
    2
    2
    2
    2
    3
    3
    3
    3
    3
    3
    3
    3
    4
    4
    4
    4
    4
    4
    4
    4
    4
    4
    4
    4
    4
    4
    4
    2
    2
    2
    2
    2
    2
    2
    2
    2
    3
    3
    3
    3
    3
    3
    3
    3
    4
    4
    4
    4
    4
    4
    4
    4
    4
    4
    4
    4
    4
    4
    4
    14
    14
    14
    14
    14
    2
    2
    2
    2
    3
    3
    3
    3
    3
    3
    3
    3
    4
    4
    4
    4
    4
    4
    4
    4
    4
    4
    4
    4
    4
    4
    4
    14
    14
    14
    14
    14
    2
    2
    2
    2
    3
    3
    3
    3
    3
    3
    3
    3
    4
    4
    4
    4
    4
    4
    4
    4
    4
    4
    4
    4
    4
    4
    4
    14
    14
    14
    14
    14
    2
    2
    2
    2
    3
    3
    3
    3
    3
    3
    3
    3
    24
    24
    24
    24
    24
    24
    24
    24
    24
    24
    24
    24
    24
    24
    24
    24
    24
    22
    22
    22
    22
    22
    22
    22
    22
    22
    22
    22
    22
    22
    22
    22
    24
    24
    24
    24
    24
    24
    24
    24
    24
    24
    24
    24
    24
    24
    24
    24
    24
    22
    22
    22
    22
    22
    22
    22
    22
    22
    22
    22
    22
    22
    22
    22
    24
    24
    24
    24
    24
    24
    24
    24
    24
    24
    24
    24
    24
    24
    24
    24
    24
    22
    22
    22
    22
    22
    22
    22
    22
    22
    22
    22
    22
    22
    22
    22
    24
    24
    24
    24
    24
    24
    24
    24
    24
    24
    24
    24
    24
    24
    24
    24
    24
    22
    22
    22
    22
    22
    22
    22
    22
    22
    22
    22
    22
    22
    22
    22
    24
    24
    24
    24
    24
    24
    24
    24
    24
    24
    24
    24
    24
    24
    24
    24
    24
    22
    22
    22
    22
    22
    22
    22
    22
    22
    22
    22
    22
    22
    22
    22
    24
    24
    24
    24
    24
    24
    24
    24
    24
    24
    24
    24
    24
    24
    24
    24
    24
    22
    22
    22
    22
    22
    22
    22
    22
    22
    22
    22
    22
    22
    22
    22
    24
    24
    24
    24
    24
    24
    24
    24
    24
    24
    24
    24
    24
    24
    24
    24
    24
    22
    22
    22
    22
    22
    22
    22
    22
    22
    22
    22
    22
    22
    22
    22
    24
    24
    24
    24
    24
    24
    24
    24
    24
    24
    24
    24
    24
    24
    24
    24
    24
    22
    22
    22
    22
    22
    22
    22
    22
    22
    22
    22
    22
    22
    22
    22
    25
    25
    25
    25
    25
    25
    25
    25
    25
    25
    25
    24
    24
    24
    24
    24
    24
    23
    23
    23
    23
    23
    23
    22
    22
    22
    22
    22
    22
    22
    22
    22
    25
    25
    25
    25
    25
    25
    25
    25
    25
    25
    25
    25
    25
    25
    25
    25
    23
    23
    23
    23
    23
    23
    23
    23
    23
    23
    23
    23
    23
    23
    23
    23
    25
    25
    25
    25
    25
    25
    25
    25
    25
    25
    25
    25
    25
    25
    25
    25
    23
    23
    23
    23
    23
    23
    23
    23
    23
    23
    23
    23
    23
    23
    23
    23
    25
    25
    25
    25
    25
    25
    25
    25
    25
    25
    25
    25
    25
    25
    25
    25
    23
    23
    23
    23
    23
    23
    23
    23
    23
    23
    23
    23
    23
    23
    23
    23
    25
    25
    25
    25
    25
    25
    25
    25
    25
    25
    25
    25
    25
    25
    25
    25
    23
    23
    23
    23
    23
    23
    23
    23
    23
    23
    23
    23
    23
    23
    23
    23
    25
    25
    25
    25
    25
    25
    25
    25
    25
    25
    25
    25
    25
    25
    25
    25
    23
    23
    23
    23
    23
    23
    23
    23
    23
    23
    23
    23
    23
    23
    23
    23
    25
    25
    25
    25
    25
    25
    25
    25
    25
    25
    25
    25
    25
    25
    25
    25
    23
    23
    23
    23
    23
    23
    23
    23
    23
    23
    23
    23
    23
    23
    23
    23
    25
    25
    25
    25
    25
    25
    25
    25
    25
    25
    25
    25
    25
    25
    25
    25
    2
    2
    2
    2
    23
    23
    23
    23
    23
    23
    23
    23
    23
    23
    23
    23
    6
    6
    6
    6
    6
    6
    6
    6
    6
    6
    6
    6
    6
    2
    2
    2
    2
    2
    2
    2
    2
    2
    23
    23
    23
    23
    23
    23
    23
    23
    23
    23
    6
    6
    6
    6
    6
    6
    6
    6
    6
    6
    6
    6
    6
    2
    2
    2
    2
    2
    2
    2
    2
    2
    2
    3
    3
    3
    3
    3
    3
    3
    3
    3
    6
    6
    6
    6
    6
    6
    6
    6
    6
    6
    6
    6
    6
    2
    2
    2
    2
    2
    2
    2
    2
    2
    2
    3
    3
    3
    3
    3
    3
    3
    3
    3
    6
    6
    6
    6
    6
    6
    6
    6
    6
    6
    6
    6
    6
    2
    2
    2
    2
    2
    2
    2
    2
    2
    2
    3
    3
    3
    3
    3
    3
    3
    3
    3
    6
    6
    6
    6
    6
    6
    6
    6
    6
    6
    6
    6
    6
    2
    2
    2
    2
    2
    2
    2
    2
    2
    2
    3
    3
    3
    3
    3
    3
    3
    3
    3
    6
    6
    6
    6
    6
    6
    6
    6
    6
    6
    6
    6
    6
    2
    2
    2
    2
    2
    2
    2
    2
    2
    2
    3
    3
    3
    3
    3
    3
    3
    3
    3
    6
    6
    6
    6
    6
    6
    6
    6
    6
    6
    6
    6
    6
    2
    2
    2
    2
    2
    2
    2
    2
    2
    2
    3
    3
    3
    3
    3
    3
    3
    3
    3
    6
    6
    6
    6
    6
    6
    6
    6
    6
    6
    6
    6
    6
    2
    2
    2
    2
    2
    2
    2
    2
    2
    2
    3
    3
    3
    3
    3
    3
    3
    3
    3
    6
    6
    6
    6
    6
    6
    4
    4
    4
    4
    4
    4
    4
    2
    2
    2
    2
    2
    2
    2
    2
    2
    2
    3
    3
    3
    3
    3
    3
    3
    3
    3
    10
    10
    10
    10
    10
    10
    4
    4
    4
    4
    4
    4
    4
    2
    2
    2
    2
    2
    2
    2
    2
    2
    2
    3
    3
    3
    3
    3
    3
    3
    3
    3
    10
    10
    10
    10
    10
    10
    4
    4
    4
    4
    4
    4
    4
    2
    2
    2
    2
    2
    2
    2
    2
    2
    2
    3
    3
    3
    3
    3
    3
    3
    3
    3
    10
    10
    10
    10
    10
    10
    4
    4
    4
    4
    4
    4
    4
    14
    14
    2
    2
    2
    2
    2
    2
    2
    2
    3
    3
    3
    3
    3
    3
    3
    3
    3
    10
    10
    10
    10
    10
    10
    4
    4
    4
    4
    4
    4
    4
    14
    14
    2
    2
    2
    2
    2
    2
    2
    2
    3
    3
    3
    3
    3
    3
    3
    3
    3
    10
    10
    10
    10
    10
    10
    4
    4
    4
    4
    4
    4
    4
    14
    14
    14
    14
    14
    14
    14
    14
    14
    14
    3
    3
    3
    3
    3
    3
    3
    3
    3
    10
    10
    10
    10
    10
    10
    4
    4
    4
    4
    4
    4
    4
    14
    14
    14
    14
    14
    14
    14
    14
    14
    14
    3
    3
    3
    3
    3
    3
    3
    3
    3
    10
    10
    10
    10
    10
    10
    4
    4
    4
    4
    4
    4
    4
    14
    14
    14
    14
    14
    14
    14
    14
    14
    14
    3
    3
    3
    3
    3
    3
    3
    3
    3
    24
    24
    24
    24
    24
    24
    24
    24
    24
    24
    24
    24
    24
    24
    24
    24
    24
    22
    22
    22
    22
    22
    22
    22
    22
    22
    22
    22
    22
    22
    22
    22
    24
    24
    24
    24
    24
    24
    24
    24
    24
    24
    24
    24
    24
    24
    24
    24
    24
    22
    22
    22
    22
    22
    22
    22
    22
    22
    22
    22
    22
    22
    22
    22
    24
    24
    24
    24
    24
    24
    24
    24
    24
    24
    24
    24
    24
    24
    24
    24
    24
    22
    22
    22
    22
    22
    22
    22
    22
    22
    22
    22
    22
    22
    22
    22
    24
    24
    24
    24
    24
    24
    24
    24
    24
    24
    24
    24
    24
    24
    24
    24
    24
    22
    22
    22
    22
    22
    22
    22
    22
    22
    22
    22
    22
    22
    22
    22
    24
    24
    24
    24
    24
    24
    24
    24
    24
    24
    24
    24
    24
    24
    24
    24
    24
    22
    22
    22
    22
    22
    22
    22
    22
    22
    22
    22
    22
    22
    22
    22
    24
    24
    24
    24
    24
    24
    24
    24
    24
    24
    24
    24
    24
    24
    24
    24
    24
    22
    22
    22
    22
    22
    22
    22
    22
    22
    22
    22
    22
    22
    22
    22
    24
    24
    24
    24
    24
    24
    24
    24
    24
    24
    24
    24
    24
    24
    24
    24
    22
    22
    22
    22
    22
    22
    22
    22
    22
    22
    22
    22
    22
    22
    22
    22
    24
    24
    24
    24
    24
    24
    24
    24
    24
    24
    24
    24
    24
    24
    24
    24
    22
    22
    22
    22
    22
    22
    22
    22
    22
    22
    22
    22
    22
    22
    22
    22
    25
    25
    25
    25
    25
    25
    25
    25
    25
    25
    25
    24
    24
    24
    24
    24
    24
    23
    23
    23
    23
    23
    23
    22
    22
    22
    22
    22
    22
    22
    22
    22
    25
    25
    25
    25
    25
    25
    25
    25
    25
    25
    25
    25
    25
    25
    25
    25
    23
    23
    23
    23
    23
    23
    23
    18
    18
    18
    18
    18
    18
    18
    18
    18
    25
    25
    25
    25
    25
    25
    25
    25
    25
    25
    25
    25
    25
    25
    25
    25
    23
    23
    23
    23
    23
    23
    18
    18
    18
    18
    18
    18
    18
    18
    18
    18
    25
    25
    25
    25
    25
    25
    25
    25
    25
    25
    25
    25
    25
    25
    25
    25
    23
    23
    23
    23
    23
    23
    18
    18
    18
    18
    18
    18
    18
    18
    18
    18
    25
    25
    25
    25
    25
    25
    25
    25
    25
    25
    25
    25
    25
    25
    25
    25
    23
    23
    23
    23
    23
    23
    18
    18
    18
    18
    18
    18
    18
    18
    18
    18
    25
    25
    25
    25
    25
    25
    25
    25
    25
    25
    25
    25
    25
    25
    25
    25
    23
    23
    23
    23
    23
    23
    18
    18
    18
    18
    18
    18
    18
    18
    18
    18
    25
    25
    25
    25
    25
    25
    25
    25
    25
    25
    25
    25
    25
    25
    25
    25
    23
    23
    23
    23
    23
    23
    18
    18
    18
    18
    18
    18
    18
    18
    18
    18
    25
    25
    25
    25
    25
    25
    25
    25
    25
    25
    25
    25
    25
    25
    25
    25
    2
    2
    2
    2
    23
    23
    18
    18
    18
    18
    18
    18
    18
    18
    18
    18
    11
    11
    11
    11
    11
    11
    11
    11
    11
    11
    11
    11
    11
    2
    2
    2
    2
    2
    2
    2
    2
    2
    18
    18
    18
    18
    18
    18
    18
    18
    18
    18
    11
    11
    11
    11
    11
    11
    11
    11
    11
    11
    11
    11
    11
    2
    2
    2
    2
    2
    2
    2
    2
    2
    2
    3
    3
    3
    3
    3
    3
    3
    3
    3
    11
    11
    11
    11
    11
    11
    11
    11
    11
    11
    11
    11
    11
    2
    2
    2
    2
    2
    2
    2
    2
    2
    2
    3
    3
    3
    3
    3
    3
    3
    3
    3
    11
    11
    11
    11
    11
    11
    11
    11
    11
    11
    11
    11
    11
    2
    2
    2
    2
    2
    2
    2
    2
    2
    2
    3
    3
    3
    3
    3
    3
    3
    3
    3
    11
    11
    11
    11
    11
    11
    11
    11
    11
    11
    11
    11
    11
    2
    2
    2
    2
    2
    2
    2
    2
    2
    2
    3
    3
    3
    3
    3
    3
    3
    3
    3
    11
    11
    11
    11
    11
    11
    11
    11
    11
    11
    11
    11
    11
    2
    2
    2
    2
    2
    2
    2
    2
    2
    2
    3
    3
    3
    3
    3
    3
    3
    3
    3
    11
    11
    11
    11
    11
    11
    11
    11
    11
    11
    11
    11
    11
    2
    2
    2
    2
    2
    2
    2
    2
    2
    2
    3
    3
    3
    3
    3
    3
    3
    3
    3
    11
    11
    11
    11
    11
    11
    11
    11
    11
    11
    11
    11
    11
    2
    2
    2
    2
    2
    2
    2
    2
    2
    2
    3
    3
    3
    3
    3
    3
    3
    3
    3
    10
    10
    10
    10
    10
    10
    10
    10
    11
    11
    11
    11
    11
    2
    2
    2
    2
    2
    2
    2
    2
    2
    2
    3
    3
    3
    3
    3
    3
    3
    3
    3
    10
    10
    10
    10
    10
    10
    10
    10
    10
    10
    10
    10
    10
    2
    2
    2
    2
    2
    2
    2
    2
    2
    2
    3
    3
    3
    3
    3
    3
    3
    3
    3
    10
    10
    10
    10
    10
    10
    10
    10
    10
    10
    10
    10
    10
    2
    2
    2
    2
    2
    2
    2
    2
    2
    2
    3
    3
    3
    3
    3
    3
    3
    3
    3
    10
    10
    10
    10
    10
    10
    10
    10
    10
    10
    10
    10
    10
    14
    14
    14
    14
    14
    14
    14
    14
    14
    14
    3
    3
    3
    3
    3
    3
    3
    3
    3
    10
    10
    10
    10
    10
    10
    10
    10
    10
    10
    10
    10
    14
    14
    14
    14
    14
    14
    14
    14
    14
    14
    14
    3
    3
    3
    3
    3
    3
    3
    3
    3
    10
    10
    10
    10
    10
    10
    10
    10
    10
    10
    10
    10
    14
    14
    14
    14
    14
    14
    14
    14
    14
    14
    14
    3
    3
    3
    3
    3
    3
    3
    3
    3
    10
    10
    10
    10
    10
    10
    10
    10
    10
    10
    10
    10
    14
    14
    14
    14
    14
    14
    14
    14
    14
    14
    14
    3
    3
    3
    3
    3
    3
    3
    3
    3
    10
    10
    10
    10
    10
    10
    10
    10
    10
    10
    10
    10
    14
    14
    14
    14
    14
    14
    14
    14
    14
    14
    14
    3
    3
    3
    3
    3
    3
    3
    3
    3
    24
    24
    24
    24
    24
    24
    24
    24
    24
    24
    24
    24
    24
    28
    28
    28
    28
    28
    28
    16
    16
    16
    16
    16
    16
    16
    16
    16
    16
    16
    16
    16
    24
    24
    24
    24
    24
    24
    24
    24
    24
    24
    24
    24
    24
    28
    28
    28
    28
    28
    28
    16
    16
    16
    16
    16
    16
    16
    16
    16
    16
    16
    16
    16
    24
    24
    24
    24
    24
    24
    24
    24
    24
    24
    24
    24
    24
    28
    28
    28
    28
    28
    16
    16
    16
    16
    16
    16
    16
    16
    16
    16
    16
    16
    16
    16
    24
    24
    24
    24
    24
    24
    24
    24
    24
    24
    24
    24
    24
    28
    28
    28
    28
    28
    16
    16
    16
    16
    16
    16
    16
    16
    16
    16
    16
    16
    16
    16
    24
    24
    24
    24
    24
    24
    24
    24
    24
    24
    24
    24
    24
    28
    28
    28
    28
    28
    16
    16
    16
    16
    16
    16
    16
    16
    16
    16
    16
    16
    16
    16
    24
    24
    24
    24
    24
    24
    24
    24
    24
    24
    24
    24
    24
    28
    28
    28
    28
    28
    16
    16
    16
    16
    16
    16
    16
    16
    16
    16
    16
    16
    16
    16
    24
    24
    24
    24
    24
    24
    24
    24
    24
    24
    24
    24
    24
    28
    28
    28
    28
    28
    16
    16
    16
    16
    16
    16
    16
    16
    16
    16
    16
    16
    16
    16
    24
    24
    24
    24
    24
    24
    24
    24
    24
    24
    24
    24
    24
    28
    28
    28
    28
    28
    16
    16
    16
    16
    16
    16
    16
    16
    16
    16
    16
    16
    16
    16
    25
    25
    25
    25
    25
    25
    25
    25
    25
    25
    29
    29
    29
    29
    29
    29
    16
    16
    16
    16
    16
    16
    16
    16
    16
    16
    16
    16
    18
    18
    18
    18
    25
    25
    25
    25
    25
    25
    25
    25
    25
    25
    29
    29
    29
    29
    29
    29
    16
    16
    16
    16
    16
    16
    16
    16
    18
    18
    18
    18
    18
    18
    18
    18
    25
    25
    25
    25
    25
    25
    25
    25
    25
    25
    29
    29
    29
    29
    29
    29
    29
    18
    18
    18
    18
    18
    18
    18
    18
    18
    18
    18
    18
    18
    18
    18
    25
    25
    25
    25
    25
    25
    25
    25
    25
    25
    29
    29
    29
    29
    29
    29
    18
    18
    18
    18
    18
    18
    18
    18
    18
    18
    18
    18
    18
    18
    18
    18
    25
    25
    25
    25
    25
    25
    25
    25
    25
    25
    29
    29
    29
    29
    29
    29
    18
    18
    18
    18
    18
    18
    18
    18
    18
    18
    18
    18
    18
    18
    18
    18
    25
    25
    25
    25
    25
    25
    25
    25
    25
    25
    29
    29
    29
    29
    29
    29
    18
    18
    18
    18
    18
    18
    18
    18
    18
    18
    18
    18
    18
    18
    18
    18
    25
    25
    25
    25
    25
    25
    25
    25
    25
    25
    29
    29
    29
    29
    29
    29
    18
    18
    18
    18
    18
    18
    18
    18
    18
    18
    18
    18
    18
    18
    18
    18
    25
    25
    25
    25
    25
    25
    25
    25
    25
    25
    29
    29
    29
    29
    29
    29
    18
    18
    18
    18
    18
    18
    18
    18
    18
    18
    18
    18
    18
    18
    18
    18
    11
    11
    11
    11
    11
    11
    11
    11
    11
    11
    11
    11
    11
    11
    2
    2
    18
    18
    18
    18
    18
    18
    18
    18
    18
    18
    18
    18
    18
    18
    18
    18
    11
    11
    11
    11
    11
    11
    11
    11
    11
    11
    11
    11
    11
    11
    2
    2
    2
    2
    2
    2
    2
    2
    2
    3
    3
    3
    3
    3
    3
    3
    3
    3
    11
    11
    11
    11
    11
    11
    11
    11
    11
    11
    11
    11
    11
    11
    2
    2
    2
    2
    2
    2
    2
    2
    2
    3
    3
    3
    3
    3
    3
    3
    3
    3
    11
    11
    11
    11
    11
    11
    11
    11
    11
    11
    11
    11
    11
    11
    2
    2
    2
    2
    2
    2
    2
    2
    2
    3
    3
    3
    3
    3
    3
    3
    3
    3
    11
    11
    11
    11
    11
    11
    11
    11
    11
    11
    11
    11
    11
    11
    2
    2
    2
    2
    2
    2
    2
    2
    2
    3
    3
    3
    3
    3
    3
    3
    3
    3
    11
    11
    11
    11
    11
    11
    11
    11
    11
    11
    11
    11
    11
    11
    2
    2
    2
    2
    2
    2
    2
    2
    2
    3
    3
    3
    3
    3
    3
    3
    3
    3
    11
    11
    11
    11
    11
    11
    11
    11
    11
    11
    11
    11
    11
    11
    2
    2
    2
    2
    2
    2
    2
    2
    2
    3
    3
    3
    3
    3
    3
    3
    3
    3
    11
    11
    11
    11
    11
    11
    11
    11
    11
    11
    11
    11
    11
    11
    14
    14
    14
    14
    14
    14
    14
    14
    14
    3
    3
    3
    3
    3
    3
    3
    3
    3
    10
    10
    10
    10
    10
    10
    10
    10
    11
    11
    11
    11
    11
    14
    14
    14
    14
    14
    14
    14
    14
    14
    14
    3
    3
    3
    3
    3
    3
    3
    3
    3
    10
    10
    10
    10
    10
    10
    10
    10
    10
    10
    10
    10
    10
    14
    14
    14
    14
    14
    14
    14
    14
    14
    14
    3
    3
    3
    3
    3
    3
    3
    3
    3
    10
    10
    10
    10
    10
    10
    10
    10
    10
    10
    10
    10
    10
    14
    14
    14
    14
    14
    14
    14
    14
    14
    14
    3
    3
    3
    3
    3
    3
    3
    3
    3
    10
    10
    10
    10
    10
    10
    10
    10
    10
    10
    10
    10
    10
    14
    14
    14
    14
    14
    14
    14
    14
    14
    14
    3
    3
    3
    3
    3
    3
    3
    3
    3
    10
    10
    10
    10
    10
    10
    10
    10
    10
    10
    10
    10
    14
    14
    14
    14
    14
    14
    14
    14
    14
    14
    14
    3
    3
    3
    3
    3
    3
    3
    3
    3
    10
    10
    10
    10
    10
    10
    10
    10
    10
    10
    10
    10
    14
    14
    14
    14
    14
    14
    14
    14
    14
    14
    14
    3
    3
    3
    3
    3
    3
    3
    3
    3
    10
    10
    10
    10
    10
    10
    10
    10
    10
    10
    10
    10
    14
    14
    14
    14
    14
    14
    14
    14
    14
    14
    14
    3
    3
    3
    3
    3
    3
    3
    3
    3
    10
    10
    10
    10
    10
    10
    10
    10
    10
    10
    10
    10
    14
    14
    14
    14
    14
    14
    14
    14
    14
    14
    14
    3
    3
    3
    3
    3
    3
    3
    3
    3
    30
    30
    30
    30
    30
    30
    30
    30
    30
    28
    28
    28
    28
    28
    28
    28
    28
    28
    28
    16
    16
    16
    16
    16
    16
    16
    16
    16
    16
    16
    16
    16
    30
    30
    30
    30
    30
    30
    30
    30
    30
    28
    28
    28
    28
    28
    28
    28
    28
    28
    28
    16
    16
    16
    16
    16
    16
    16
    16
    16
    16
    16
    16
    16
    30
    30
    30
    30
    30
    30
    30
    30
    30
    28
    28
    28
    28
    28
    28
    28
    28
    28
    16
    16
    16
    16
    16
    16
    16
    16
    16
    16
    16
    16
    16
    16
    30
    30
    30
    30
    30
    30
    30
    30
    30
    28
    28
    28
    28
    28
    28
    28
    28
    28
    16
    16
    16
    16
    16
    16
    16
    16
    16
    16
    16
    16
    16
    16
    30
    30
    30
    30
    30
    30
    30
    30
    30
    28
    28
    28
    28
    28
    28
    28
    28
    28
    16
    16
    16
    16
    16
    16
    16
    16
    16
    16
    16
    16
    16
    16
    30
    30
    30
    30
    30
    30
    30
    30
    30
    28
    28
    28
    28
    28
    28
    28
    28
    28
    16
    16
    16
    16
    16
    16
    16
    16
    16
    16
    16
    16
    16
    16
    30
    30
    30
    30
    30
    30
    30
    30
    30
    28
    28
    28
    28
    28
    28
    28
    28
    28
    16
    16
    16
    16
    16
    16
    16
    16
    16
    16
    16
    16
    16
    16
    30
    30
    30
    30
    30
    30
    30
    30
    30
    28
    28
    28
    28
    28
    28
    28
    28
    28
    16
    16
    16
    16
    16
    16
    16
    16
    16
    16
    16
    16
    16
    16
    31
    31
    31
    31
    31
    31
    31
    31
    31
    31
    29
    29
    29
    29
    29
    29
    16
    16
    16
    16
    16
    16
    16
    16
    16
    16
    16
    16
    18
    18
    18
    18
    31
    31
    31
    31
    31
    31
    31
    31
    31
    31
    29
    29
    29
    29
    29
    29
    16
    16
    16
    16
    16
    16
    16
    16
    18
    18
    18
    18
    18
    18
    18
    18
    31
    31
    31
    31
    31
    31
    31
    31
    31
    31
    29
    29
    29
    29
    29
    29
    18
    18
    18
    18
    18
    18
    18
    18
    18
    18
    18
    18
    18
    18
    18
    18
    31
    31
    31
    31
    31
    31
    31
    31
    31
    31
    29
    29
    29
    29
    29
    29
    18
    18
    18
    18
    18
    18
    18
    18
    18
    18
    18
    18
    18
    18
    18
    18
    31
    31
    31
    31
    31
    31
    31
    31
    31
    31
    29
    29
    29
    29
    29
    29
    18
    18
    18
    18
    18
    18
    18
    18
    18
    18
    18
    18
    18
    18
    18
    18
    31
    31
    31
    31
    31
    31
    31
    31
    31
    31
    29
    29
    29
    29
    29
    29
    18
    18
    18
    18
    18
    18
    18
    18
    18
    18
    18
    18
    18
    18
    18
    18
    31
    31
    31
    31
    31
    31
    31
    31
    31
    31
    29
    29
    29
    29
    29
    29
    18
    18
    18
    18
    18
    18
    18
    18
    18
    18
    18
    18
    18
    18
    18
    18
    11
    11
    11
    11
    11
    11
    11
    11
    11
    11
    29
    29
    29
    29
    29
    29
    18
    18
    18
    18
    18
    18
    18
    18
    18
    18
    18
    18
    18
    18
    18
    18
    11
    11
    11
    11
    11
    11
    11
    11
    11
    11
    11
    11
    11
    11
    29
    29
    18
    18
    18
    18
    18
    18
    18
    18
    18
    18
    18
    18
    18
    18
    18
    18
    11
    11
    11
    11
    11
    11
    11
    11
    11
    11
    11
    11
    11
    11
    11
    2
    2
    2
    2
    2
    2
    2
    2
    3
    3
    3
    3
    3
    3
    3
    3
    3
    11
    11
    11
    11
    11
    11
    11
    11
    11
    11
    11
    11
    11
    11
    11
    2
    2
    2
    2
    2
    2
    2
    2
    3
    3
    3
    3
    3
    3
    3
    3
    3
    11
    11
    11
    11
    11
    11
    11
    11
    11
    11
    11
    11
    11
    11
    11
    2
    2
    2
    2
    2
    2
    2
    2
    3
    3
    3
    3
    3
    3
    3
    3
    3
    11
    11
    11
    11
    11
    11
    11
    11
    11
    11
    11
    11
    11
    11
    11
    2
    2
    2
    2
    2
    2
    2
    2
    3
    3
    3
    3
    3
    3
    3
    3
    3
    11
    11
    11
    11
    11
    11
    11
    11
    11
    11
    11
    11
    11
    11
    11
    2
    2
    2
    2
    2
    2
    14
    14
    3
    3
    3
    3
    3
    3
    3
    3
    3
    11
    11
    11
    11
    11
    11
    11
    11
    11
    11
    11
    11
    11
    11
    11
    2
    2
    14
    14
    14
    14
    14
    14
    3
    3
    3
    3
    3
    3
    3
    3
    3
    11
    11
    11
    11
    11
    11
    11
    11
    11
    11
    11
    11
    11
    11
    14
    14
    14
    14
    14
    14
    14
    14
    14
    3
    3
    3
    3
    3
    3
    3
    3
    3
    10
    10
    10
    10
    10
    10
    10
    10
    11
    11
    11
    11
    11
    14
    14
    14
    14
    14
    14
    14
    14
    14
    14
    3
    3
    3
    3
    3
    3
    3
    3
    3
    10
    10
    10
    10
    10
    10
    10
    10
    10
    10
    10
    10
    10
    14
    14
    14
    14
    14
    14
    14
    14
    14
    14
    3
    3
    3
    3
    3
    3
    3
    3
    3
    10
    10
    10
    10
    10
    10
    10
    10
    10
    10
    10
    10
    10
    14
    14
    14
    14
    14
    14
    14
    14
    14
    14
    3
    3
    3
    3
    3
    3
    3
    3
    3
    10
    10
    10
    10
    10
    10
    10
    10
    10
    10
    10
    10
    10
    14
    14
    14
    14
    14
    14
    14
    14
    14
    14
    3
    3
    3
    3
    3
    3
    3
    3
    3
    10
    10
    10
    10
    10
    10
    10
    10
    10
    10
    10
    10
    14
    14
    14
    14
    14
    14
    14
    14
    14
    14
    14
    14
    13
    13
    13
    13
    13
    13
    13
    13
    10
    10
    10
    10
    10
    10
    10
    10
    10
    10
    10
    10
    14
    14
    14
    14
    14
    14
    14
    14
    14
    14
    14
    14
    13
    13
    13
    13
    13
    13
    13
    13
    10
    10
    10
    10
    10
    10
    10
    10
    10
    10
    10
    10
    14
    14
    14
    14
    14
    14
    14
    14
    14
    14
    14
    14
    13
    13
    13
    13
    13
    13
    13
    13
    10
    10
    10
    10
    10
    10
    10
    10
    10
    10
    10
    10
    14
    14
    14
    14
    14
    14
    14
    14
    14
    14
    14
    14
    13
    13
    13
    13
    13
    13
    13
    13
    30
    30
    30
    30
    30
    30
    30
    30
    30
    28
    28
    28
    28
    28
    28
    28
    28
    28
    28
    16
    16
    16
    16
    16
    16
    16
    16
    16
    16
    16
    16
    16
    30
    30
    30
    30
    30
    30
    30
    30
    30
    28
    28
    28
    28
    28
    28
    28
    28
    28
    28
    16
    16
    16
    16
    16
    16
    16
    16
    16
    16
    16
    16
    16
    30
    30
    30
    30
    30
    30
    30
    30
    30
    28
    28
    28
    28
    28
    28
    28
    28
    28
    16
    16
    16
    16
    16
    16
    16
    16
    16
    16
    16
    16
    16
    16
    30
    30
    30
    30
    30
    30
    30
    30
    30
    28
    28
    28
    28
    28
    28
    28
    28
    28
    16
    16
    16
    16
    16
    16
    16
    16
    16
    16
    16
    16
    16
    16
    30
    30
    30
    30
    30
    30
    30
    30
    30
    28
    28
    28
    28
    28
    28
    28
    28
    28
    16
    16
    16
    16
    16
    16
    16
    16
    16
    16
    16
    16
    16
    16
    30
    30
    30
    30
    30
    30
    30
    30
    30
    28
    28
    28
    28
    28
    28
    28
    28
    28
    16
    16
    16
    16
    16
    16
    16
    16
    16
    16
    16
    16
    16
    16
    30
    30
    30
    30
    30
    30
    30
    30
    30
    28
    28
    28
    28
    28
    28
    28
    28
    28
    16
    16
    16
    16
    16
    16
    16
    16
    16
    16
    16
    16
    16
    16
    30
    30
    30
    30
    30
    30
    30
    30
    30
    28
    28
    28
    28
    28
    28
    28
    28
    28
    16
    16
    16
    16
    16
    16
    16
    16
    16
    16
    16
    16
    16
    16
    31
    31
    31
    31
    31
    31
    31
    31
    31
    31
    29
    29
    29
    29
    29
    29
    16
    16
    16
    16
    16
    16
    16
    16
    16
    16
    16
    16
    18
    18
    18
    18
    31
    31
    31
    31
    31
    31
    31
    31
    31
    31
    29
    29
    29
    29
    29
    29
    16
    16
    16
    16
    16
    16
    16
    16
    18
    18
    18
    18
    18
    18
    18
    18
    31
    31
    31
    31
    31
    31
    31
    31
    31
    31
    29
    29
    29
    29
    29
    29
    18
    18
    18
    18
    18
    18
    18
    18
    18
    18
    18
    18
    18
    18
    18
    18
    31
    31
    31
    31
    31
    31
    31
    31
    31
    31
    29
    29
    29
    29
    29
    29
    18
    18
    18
    18
    18
    18
    18
    18
    18
    18
    18
    18
    18
    18
    18
    18
    31
    31
    31
    31
    31
    31
    31
    31
    31
    31
    29
    29
    29
    29
    29
    29
    18
    18
    18
    18
    18
    18
    18
    18
    18
    18
    18
    18
    18
    18
    18
    18
    31
    31
    31
    31
    31
    31
    31
    31
    31
    31
    29
    29
    29
    29
    29
    29
    18
    18
    18
    18
    18
    18
    18
    18
    18
    18
    18
    18
    18
    18
    18
    18
    31
    31
    31
    31
    31
    31
    31
    31
    31
    31
    29
    29
    29
    29
    29
    29
    18
    18
    18
    18
    18
    18
    18
    18
    18
    18
    18
    18
    18
    18
    18
    18
    11
    11
    11
    11
    11
    11
    11
    11
    11
    11
    29
    29
    29
    29
    29
    29
    18
    18
    18
    18
    18
    18
    18
    18
    18
    18
    18
    18
    18
    18
    18
    18
    11
    11
    11
    11
    11
    11
    11
    11
    11
    11
    11
    11
    11
    11
    29
    29
    18
    18
    18
    18
    18
    18
    18
    18
    18
    18
    18
    18
    18
    18
    18
    18
    11
    11
    11
    11
    11
    11
    11
    11
    11
    11
    11
    11
    11
    11
    11
    11
    14
    14
    14
    14
    14
    14
    14
    3
    3
    3
    3
    3
    3
    3
    3
    3
    11
    11
    11
    11
    11
    11
    11
    11
    11
    11
    11
    11
    11
    11
    11
    11
    14
    14
    14
    14
    14
    14
    14
    3
    3
    3
    3
    3
    3
    3
    3
    3
    11
    11
    11
    11
    11
    11
    11
    11
    11
    11
    11
    11
    11
    11
    11
    11
    14
    14
    14
    14
    14
    14
    14
    3
    3
    3
    3
    3
    3
    3
    3
    3
    11
    11
    11
    11
    11
    11
    11
    11
    11
    11
    11
    11
    11
    11
    11
    14
    14
    14
    14
    14
    14
    14
    14
    3
    3
    3
    3
    3
    3
    3
    3
    3
    11
    11
    11
    11
    11
    11
    11
    11
    11
    11
    11
    11
    11
    11
    11
    14
    14
    14
    14
    14
    14
    14
    14
    3
    3
    3
    3
    3
    3
    3
    3
    3
    11
    11
    11
    11
    11
    11
    11
    11
    11
    11
    11
    11
    11
    11
    11
    14
    14
    14
    14
    14
    14
    14
    14
    3
    3
    3
    3
    3
    3
    3
    3
    3
    11
    11
    11
    11
    11
    11
    11
    11
    11
    11
    11
    11
    11
    11
    14
    14
    14
    14
    14
    14
    14
    14
    14
    3
    3
    3
    3
    3
    3
    3
    3
    3
    10
    10
    10
    10
    10
    10
    10
    10
    11
    11
    11
    11
    11
    14
    14
    14
    14
    14
    14
    14
    14
    14
    14
    3
    3
    3
    3
    3
    3
    3
    3
    3
    10
    10
    10
    10
    10
    10
    10
    10
    10
    10
    10
    10
    14
    14
    14
    14
    14
    14
    14
    14
    14
    14
    14
    3
    3
    3
    3
    3
    3
    3
    3
    3
    10
    10
    10
    10
    10
    10
    10
    10
    10
    10
    10
    10
    14
    14
    14
    14
    14
    14
    14
    14
    14
    14
    14
    14
    13
    13
    13
    13
    13
    13
    13
    13
    10
    10
    10
    10
    10
    10
    10
    10
    10
    10
    10
    10
    14
    14
    14
    14
    14
    14
    14
    14
    14
    14
    14
    14
    13
    13
    13
    13
    13
    13
    13
    13
    10
    10
    10
    10
    10
    10
    10
    10
    10
    10
    10
    10
    14
    14
    14
    14
    14
    14
    14
    14
    14
    14
    14
    14
    13
    13
    13
    13
    13
    13
    13
    13
    10
    10
    10
    10
    10
    10
    10
    10
    10
    10
    10
    10
    14
    14
    14
    14
    14
    14
    14
    14
    14
    14
    14
    14
    13
    13
    13
    13
    13
    13
    13
    13
    10
    10
    10
    10
    10
    10
    10
    10
    10
    10
    10
    10
    14
    14
    14
    14
    14
    14
    14
    14
    14
    14
    14
    14
    13
    13
    13
    13
    13
    13
    13
    13
    10
    10
    10
    10
    10
    10
    10
    10
    10
    10
    10
    10
    14
    14
    14
    14
    14
    14
    14
    14
    14
    14
    14
    14
    13
    13
    13
    13
    13
    13
    13
    13
    30
    30
    30
    30
    30
    30
    30
    30
    30
    28
    28
    28
    28
    28
    28
    28
    28
    28
    28
    16
    16
    16
    16
    16
    16
    16
    16
    16
    16
    16
    16
    16
    30
    30
    30
    30
    30
    30
    30
    30
    30
    28
    28
    28
    28
    28
    28
    28
    28
    28
    28
    16
    16
    16
    16
    16
    16
    16
    16
    16
    16
    16
    16
    16
    30
    30
    30
    30
    30
    30
    30
    30
    30
    28
    28
    28
    28
    28
    28
    28
    28
    28
    16
    16
    16
    16
    16
    16
    16
    16
    16
    16
    16
    16
    16
    16
    30
    30
    30
    30
    30
    30
    30
    30
    30
    28
    28
    28
    28
    28
    28
    28
    28
    28
    16
    16
    16
    16
    16
    16
    16
    16
    16
    16
    16
    16
    16
    16
    30
    30
    30
    30
    30
    30
    30
    30
    30
    28
    28
    28
    28
    28
    28
    28
    28
    28
    16
    16
    16
    16
    16
    16
    16
    16
    16
    16
    16
    16
    16
    16
    30
    30
    30
    30
    30
    30
    30
    30
    30
    28
    28
    28
    28
    28
    28
    28
    28
    28
    16
    16
    16
    16
    16
    16
    16
    16
    16
    16
    16
    16
    16
    16
    30
    30
    30
    30
    30
    30
    30
    30
    30
    28
    28
    28
    28
    28
    28
    28
    28
    28
    16
    16
    16
    16
    16
    16
    16
    16
    16
    16
    16
    16
    16
    16
    30
    30
    30
    30
    30
    30
    30
    30
    30
    28
    28
    28
    28
    28
    28
    28
    28
    28
    16
    16
    16
    16
    16
    16
    16
    16
    16
    16
    16
    16
    16
    16
    31
    31
    31
    31
    31
    31
    31
    31
    31
    31
    29
    29
    29
    29
    29
    29
    16
    16
    16
    16
    16
    16
    16
    16
    16
    16
    16
    16
    18
    18
    18
    18
    31
    31
    31
    31
    31
    31
    31
    31
    31
    31
    29
    29
    29
    29
    29
    29
    16
    16
    16
    16
    16
    16
    16
    16
    18
    18
    18
    18
    18
    18
    18
    18
    31
    31
    31
    31
    31
    31
    31
    31
    31
    31
    29
    29
    29
    29
    29
    29
    18
    18
    18
    18
    18
    18
    18
    18
    18
    18
    18
    18
    18
    18
    18
    18
    31
    31
    31
    31
    31
    31
    31
    31
    31
    31
    29
    29
    29
    29
    29
    29
    18
    18
    18
    18
    18
    18
    18
    18
    18
    18
    18
    18
    18
    18
    18
    18
    31
    31
    31
    31
    31
    31
    31
    31
    31
    31
    29
    29
    29
    29
    29
    29
    18
    18
    18
    18
    18
    18
    18
    18
    18
    18
    18
    18
    18
    18
    18
    18
    31
    31
    31
    31
    31
    31
    31
    31
    31
    31
    29
    29
    29
    29
    29
    29
    18
    18
    18
    18
    18
    18
    18
    18
    18
    18
    18
    18
    18
    18
    18
    18
    31
    31
    31
    31
    31
    31
    31
    31
    31
    31
    29
    29
    29
    29
    29
    29
    18
    18
    18
    18
    18
    18
    18
    18
    18
    18
    18
    18
    18
    18
    18
    18
    31
    31
    31
    31
    31
    31
    31
    11
    11
    11
    29
    29
    29
    29
    29
    29
    18
    18
    18
    18
    18
    18
    18
    18
    18
    18
    18
    18
    18
    18
    18
    18
    11
    11
    11
    11
    11
    11
    11
    11
    11
    11
    11
    11
    11
    11
    29
    29
    18
    18
    18
    18
    18
    18
    18
    18
    18
    18
    18
    18
    18
    18
    18
    18
    11
    11
    11
    11
    11
    11
    11
    11
    11
    11
    11
    11
    11
    11
    11
    11
    14
    14
    14
    14
    14
    14
    14
    18
    18
    18
    18
    18
    18
    18
    18
    18
    11
    11
    11
    11
    11
    11
    11
    11
    11
    11
    11
    11
    11
    11
    11
    11
    14
    14
    14
    14
    14
    14
    14
    14
    3
    3
    3
    3
    3
    3
    3
    3
    11
    11
    11
    11
    11
    11
    11
    11
    11
    11
    11
    11
    11
    11
    11
    11
    14
    14
    14
    14
    14
    14
    14
    14
    3
    3
    3
    3
    3
    3
    3
    3
    11
    11
    11
    11
    11
    11
    11
    11
    11
    11
    11
    11
    11
    11
    11
    14
    14
    14
    14
    14
    14
    14
    14
    14
    3
    3
    3
    3
    3
    3
    3
    3
    11
    11
    11
    11
    11
    11
    11
    11
    11
    11
    11
    11
    11
    11
    11
    14
    14
    14
    14
    14
    14
    14
    14
    14
    3
    3
    3
    3
    3
    3
    3
    3
    11
    11
    11
    11
    11
    11
    11
    11
    11
    11
    11
    11
    11
    11
    11
    14
    14
    14
    14
    14
    14
    14
    14
    14
    3
    3
    3
    3
    3
    3
    3
    3
    11
    11
    11
    11
    11
    11
    11
    11
    11
    11
    11
    11
    11
    11
    14
    14
    14
    14
    14
    14
    14
    14
    14
    14
    3
    3
    3
    3
    3
    3
    3
    3
    10
    10
    10
    10
    10
    10
    10
    10
    11
    11
    11
    11
    11
    14
    14
    14
    14
    14
    14
    14
    14
    14
    14
    14
    3
    3
    3
    3
    3
    3
    3
    3
    10
    10
    10
    10
    10
    10
    10
    10
    10
    10
    10
    10
    14
    14
    14
    14
    14
    14
    14
    14
    14
    14
    14
    14
    13
    13
    13
    13
    13
    13
    13
    13
    10
    10
    10
    10
    10
    10
    10
    10
    10
    10
    10
    10
    14
    14
    14
    14
    14
    14
    14
    14
    14
    14
    14
    14
    13
    13
    13
    13
    13
    13
    13
    13
    10
    10
    10
    10
    10
    10
    10
    10
    10
    10
    10
    10
    14
    14
    14
    14
    14
    14
    14
    14
    14
    14
    14
    14
    13
    13
    13
    13
    13
    13
    13
    13
    10
    10
    10
    10
    10
    10
    10
    10
    10
    10
    10
    10
    14
    14
    14
    14
    14
    14
    14
    14
    14
    14
    14
    14
    13
    13
    13
    13
    13
    13
    13
    13
    10
    10
    10
    10
    10
    10
    10
    10
    10
    10
    10
    10
    14
    14
    14
    14
    14
    14
    14
    14
    14
    14
    14
    14
    13
    13
    13
    13
    13
    13
    13
    13
    10
    10
    10
    10
    10
    10
    10
    10
    10
    10
    10
    10
    14
    14
    14
    14
    14
    14
    14
    14
    14
    14
    14
    14
    13
    13
    13
    13
    13
    13
    13
    13
    10
    10
    10
    10
    10
    10
    10
    10
    10
    10
    10
    10
    14
    14
    14
    14
    14
    14
    14
    14
    14
    14
    14
    14
    13
    13
    13
    13
    13
    13
    13
    13
    30
    30
    30
    30
    30
    30
    30
    30
    30
    28
    28
    28
    28
    28
    28
    28
    28
    28
    28
    16
    16
    16
    16
    16
    16
    16
    16
    16
    16
    16
    16
    16
    30
    30
    30
    30
    30
    30
    30
    30
    30
    28
    28
    28
    28
    28
    28
    28
    28
    28
    28
    16
    16
    16
    16
    16
    16
    16
    16
    16
    16
    16
    16
    16
    30
    30
    30
    30
    30
    30
    30
    30
    30
    28
    28
    28
    28
    28
    28
    28
    28
    28
    16
    16
    16
    16
    16
    16
    16
    16
    16
    16
    16
    16
    16
    16
    30
    30
    30
    30
    30
    30
    30
    30
    30
    28
    28
    28
    28
    28
    28
    28
    28
    28
    16
    16
    16
    16
    16
    16
    16
    16
    16
    16
    16
    16
    16
    16
    30
    30
    30
    30
    30
    30
    30
    30
    30
    28
    28
    28
    28
    28
    28
    28
    28
    28
    16
    16
    16
    16
    16
    16
    16
    16
    16
    16
    16
    16
    16
    16
    30
    30
    30
    30
    30
    30
    30
    30
    30
    28
    28
    28
    28
    28
    28
    28
    28
    28
    16
    16
    16
    16
    16
    16
    16
    16
    16
    16
    16
    16
    16
    16
    30
    30
    30
    30
    30
    30
    30
    30
    30
    28
    28
    28
    28
    28
    28
    28
    28
    28
    16
    16
    16
    16
    16
    16
    16
    16
    16
    16
    16
    16
    16
    16
    30
    30
    30
    30
    30
    30
    30
    30
    30
    28
    28
    28
    28
    28
    28
    28
    28
    28
    16
    16
    16
    16
    16
    16
    16
    16
    16
    16
    16
    16
    16
    16
    31
    31
    31
    31
    31
    31
    31
    31
    31
    31
    29
    29
    29
    29
    29
    29
    16
    16
    16
    16
    16
    16
    16
    16
    16
    16
    16
    16
    18
    18
    18
    18
    31
    31
    31
    31
    31
    31
    31
    31
    31
    31
    29
    29
    29
    29
    29
    29
    16
    16
    16
    16
    16
    16
    16
    16
    18
    18
    18
    18
    18
    18
    18
    18
    31
    31
    31
    31
    31
    31
    31
    31
    31
    31
    29
    29
    29
    29
    29
    29
    18
    18
    18
    18
    18
    18
    18
    18
    18
    18
    18
    18
    18
    18
    18
    18
    31
    31
    31
    31
    31
    31
    31
    31
    31
    31
    29
    29
    29
    29
    29
    29
    18
    18
    18
    18
    18
    18
    18
    18
    18
    18
    18
    18
    18
    18
    18
    18
    31
    31
    31
    31
    31
    31
    31
    31
    31
    31
    29
    29
    29
    29
    29
    29
    18
    18
    18
    18
    18
    18
    18
    18
    18
    18
    18
    18
    18
    18
    18
    18
    31
    31
    31
    31
    31
    31
    31
    31
    31
    31
    29
    29
    29
    29
    29
    29
    18
    18
    18
    18
    18
    18
    18
    18
    18
    18
    18
    18
    18
    18
    18
    18
    31
    31
    31
    31
    31
    31
    31
    31
    31
    31
    29
    29
    29
    29
    29
    29
    18
    18
    18
    18
    18
    18
    18
    18
    18
    18
    18
    18
    18
    18
    18
    18
    31
    31
    31
    31
    31
    31
    31
    11
    11
    11
    29
    29
    29
    29
    29
    29
    18
    18
    18
    18
    18
    18
    18
    18
    18
    18
    18
    18
    18
    18
    18
    18
    11
    11
    11
    11
    11
    11
    11
    11
    11
    11
    11
    11
    11
    11
    29
    29
    18
    18
    18
    18
    18
    18
    18
    18
    18
    18
    18
    18
    18
    18
    18
    18
    11
    11
    11
    11
    11
    11
    11
    11
    11
    11
    11
    11
    11
    11
    11
    11
    14
    14
    14
    14
    14
    14
    14
    18
    18
    18
    18
    18
    18
    18
    18
    18
    11
    11
    11
    11
    11
    11
    11
    11
    11
    11
    11
    11
    11
    11
    11
    11
    14
    14
    14
    14
    14
    14
    14
    14
    3
    3
    3
    3
    3
    3
    3
    3
    11
    11
    11
    11
    11
    11
    11
    11
    11
    11
    11
    11
    11
    11
    11
    11
    14
    14
    14
    14
    14
    14
    14
    14
    3
    3
    3
    3
    3
    3
    3
    3
    11
    11
    11
    11
    11
    11
    11
    11
    11
    11
    11
    11
    11
    11
    11
    14
    14
    14
    14
    14
    14
    14
    14
    14
    3
    3
    3
    3
    3
    3
    3
    3
    11
    11
    11
    11
    11
    11
    11
    11
    11
    11
    11
    11
    11
    11
    11
    14
    14
    14
    14
    14
    14
    14
    14
    14
    3
    3
    3
    3
    3
    3
    3
    3
    11
    11
    11
    11
    11
    11
    11
    11
    11
    11
    11
    11
    11
    11
    11
    14
    14
    14
    14
    14
    14
    14
    14
    14
    3
    3
    3
    3
    3
    3
    3
    3
    11
    11
    11
    11
    11
    11
    11
    11
    11
    11
    11
    11
    11
    11
    14
    14
    14
    14
    14
    14
    14
    14
    14
    13
    13
    13
    13
    13
    13
    13
    13
    13
    10
    10
    10
    10
    10
    10
    10
    10
    11
    11
    11
    11
    11
    14
    14
    14
    14
    14
    14
    14
    14
    14
    14
    13
    13
    13
    13
    13
    13
    13
    13
    13
    10
    10
    10
    10
    10
    10
    10
    10
    10
    10
    10
    10
    10
    14
    14
    14
    14
    14
    14
    14
    14
    14
    14
    13
    13
    13
    13
    13
    13
    13
    13
    13
    10
    10
    10
    10
    10
    10
    10
    10
    10
    10
    10
    10
    10
    14
    14
    14
    14
    14
    14
    14
    14
    14
    14
    13
    13
    13
    13
    13
    13
    13
    13
    13
    10
    10
    10
    10
    10
    10
    10
    10
    10
    10
    10
    10
    10
    14
    14
    14
    14
    14
    14
    14
    14
    14
    14
    13
    13
    13
    13
    13
    13
    13
    13
    13
    10
    10
    10
    10
    10
    10
    10
    10
    10
    10
    10
    10
    10
    14
    14
    14
    14
    14
    14
    14
    14
    14
    14
    13
    13
    13
    13
    13
    13
    13
    13
    13
    10
    10
    10
    10
    10
    10
    10
    10
    10
    10
    10
    10
    10
    14
    14
    14
    14
    14
    14
    14
    14
    14
    14
    13
    13
    13
    13
    13
    13
    13
    13
    13
    10
    10
    10
    10
    10
    10
    10
    10
    10
    10
    10
    10
    10
    14
    14
    14
    14
    14
    14
    14
    14
    14
    14
    13
    13
    13
    13
    13
    13
    13
    13
    13
    10
    10
    10
    10
    10
    10
    10
    10
    10
    10
    10
    10
    10
    14
    14
    14
    14
    14
    14
    14
    14
    14
    14
    13
    13
    13
    13
    13
    13
    13
    13
    13
    30
    30
    30
    30
    30
    30
    30
    30
    30
    28
    28
    28
    28
    28
    28
    28
    28
    28
    28
    16
    16
    16
    16
    16
    16
    16
    16
    16
    16
    16
    16
    16
    30
    30
    30
    30
    30
    30
    30
    30
    30
    28
    28
    28
    28
    28
    28
    28
    28
    28
    28
    16
    16
    16
    16
    16
    16
    16
    16
    16
    16
    16
    16
    16
    30
    30
    30
    30
    30
    30
    30
    30
    30
    28
    28
    28
    28
    28
    28
    28
    28
    28
    16
    16
    16
    16
    16
    16
    16
    16
    16
    16
    16
    16
    16
    16
    30
    30
    30
    30
    30
    30
    30
    30
    30
    28
    28
    28
    28
    28
    28
    28
    28
    28
    16
    16
    16
    16
    16
    16
    16
    16
    16
    16
    16
    16
    16
    16
    30
    30
    30
    30
    30
    30
    30
    30
    30
    28
    28
    28
    28
    28
    28
    28
    28
    28
    16
    16
    16
    16
    16
    16
    16
    16
    16
    16
    16
    16
    16
    16
    30
    30
    30
    30
    30
    30
    30
    30
    30
    28
    28
    28
    28
    28
    28
    28
    28
    28
    16
    16
    16
    16
    16
    16
    16
    16
    16
    16
    16
    16
    16
    16
    30
    30
    30
    30
    30
    30
    30
    30
    30
    28
    28
    28
    28
    28
    28
    28
    28
    28
    16
    16
    16
    16
    16
    16
    16
    16
    16
    16
    16
    16
    16
    16
    30
    30
    30
    30
    30
    30
    30
    30
    30
    28
    28
    28
    28
    28
    28
    28
    28
    28
    16
    16
    16
    16
    16
    16
    16
    16
    16
    16
    16
    16
    16
    16
    31
    31
    31
    31
    31
    31
    31
    31
    31
    29
    29
    29
    29
    29
    29
    29
    16
    16
    16
    16
    16
    16
    16
    16
    16
    16
    16
    16
    18
    18
    18
    18
    31
    31
    31
    31
    31
    31
    31
    31
    31
    29
    29
    29
    29
    29
    29
    29
    16
    16
    16
    16
    16
    16
    16
    16
    18
    18
    18
    18
    18
    18
    18
    18
    31
    31
    31
    31
    31
    31
    31
    31
    31
    29
    29
    29
    29
    29
    29
    29
    18
    18
    18
    18
    18
    18
    18
    18
    18
    18
    18
    18
    18
    18
    18
    18
    31
    31
    31
    31
    31
    31
    31
    31
    31
    29
    29
    29
    29
    29
    29
    29
    18
    18
    18
    18
    18
    18
    18
    18
    18
    18
    18
    18
    18
    18
    18
    18
    31
    31
    31
    31
    31
    31
    31
    31
    31
    29
    29
    29
    29
    29
    29
    29
    18
    18
    18
    18
    18
    18
    18
    18
    18
    18
    18
    18
    18
    18
    18
    18
    31
    31
    31
    31
    31
    31
    31
    31
    31
    29
    29
    29
    29
    29
    29
    29
    18
    18
    18
    18
    18
    18
    18
    18
    18
    18
    18
    18
    18
    18
    18
    18
    31
    31
    31
    31
    31
    31
    31
    31
    31
    29
    29
    29
    29
    29
    29
    29
    18
    18
    18
    18
    18
    18
    18
    18
    18
    18
    18
    18
    18
    18
    18
    18
    31
    31
    31
    31
    31
    31
    31
    11
    11
    11
    29
    29
    29
    29
    29
    29
    18
    18
    18
    18
    18
    18
    18
    18
    18
    18
    18
    18
    18
    18
    18
    18
    11
    11
    11
    11
    11
    11
    11
    11
    11
    11
    11
    11
    11
    11
    29
    29
    14
    14
    14
    14
    18
    18
    18
    18
    18
    18
    18
    18
    18
    18
    18
    18
    11
    11
    11
    11
    11
    11
    11
    11
    11
    11
    11
    11
    11
    11
    11
    11
    14
    14
    14
    14
    14
    14
    14
    12
    12
    12
    12
    12
    12
    12
    12
    12
    11
    11
    11
    11
    11
    11
    11
    11
    11
    11
    11
    11
    11
    11
    11
    11
    14
    14
    14
    14
    14
    14
    14
    12
    12
    12
    12
    12
    12
    12
    12
    12
    11
    11
    11
    11
    11
    11
    11
    11
    11
    11
    11
    11
    11
    11
    11
    11
    14
    14
    14
    14
    14
    14
    14
    12
    12
    12
    12
    12
    12
    12
    12
    12
    11
    11
    11
    11
    11
    11
    11
    11
    11
    11
    11
    11
    11
    11
    11
    14
    14
    14
    14
    14
    14
    14
    14
    12
    12
    12
    12
    12
    12
    12
    12
    12
    11
    11
    11
    11
    11
    11
    11
    11
    11
    11
    11
    11
    11
    11
    11
    14
    14
    14
    14
    14
    14
    14
    14
    12
    12
    12
    12
    12
    12
    12
    12
    12
    11
    11
    11
    11
    11
    11
    11
    11
    11
    11
    11
    11
    11
    11
    11
    14
    14
    14
    14
    14
    14
    14
    14
    12
    12
    12
    12
    12
    12
    12
    12
    12
    10
    10
    10
    10
    10
    10
    11
    11
    11
    11
    11
    11
    11
    11
    14
    14
    14
    14
    14
    14
    14
    14
    14
    13
    13
    13
    13
    13
    13
    13
    13
    13
    10
    10
    10
    10
    10
    10
    10
    10
    11
    11
    11
    11
    11
    14
    14
    14
    14
    14
    14
    14
    14
    14
    14
    13
    13
    13
    13
    13
    13
    13
    13
    13
    10
    10
    10
    10
    10
    10
    10
    10
    10
    10
    10
    10
    10
    14
    14
    14
    14
    14
    14
    14
    14
    14
    14
    13
    13
    13
    13
    13
    13
    13
    13
    13
    10
    10
    10
    10
    10
    10
    10
    10
    10
    10
    10
    10
    10
    14
    14
    14
    14
    14
    14
    14
    14
    14
    14
    13
    13
    13
    13
    13
    13
    13
    13
    13
    10
    10
    10
    10
    10
    10
    10
    10
    10
    10
    10
    10
    10
    14
    14
    14
    14
    14
    14
    14
    14
    14
    14
    13
    13
    13
    13
    13
    13
    13
    13
    13
    10
    10
    10
    10
    10
    10
    10
    10
    10
    10
    10
    10
    10
    14
    14
    14
    14
    14
    14
    14
    14
    14
    14
    13
    13
    13
    13
    13
    13
    13
    13
    13
    10
    10
    10
    10
    10
    10
    10
    10
    10
    10
    10
    10
    10
    14
    14
    14
    14
    14
    14
    14
    14
    14
    14
    13
    13
    13
    13
    13
    13
    13
    13
    13
    10
    10
    10
    10
    10
    10
    10
    10
    10
    10
    10
    10
    10
    14
    14
    14
    14
    14
    14
    14
    14
    14
    14
    13
    13
    13
    13
    13
    13
    13
    13
    13
    10
    10
    10
    10
    10
    10
    10
    10
    10
    10
    10
    10
    10
    14
    14
    14
    14
    14
    14
    14
    14
    14
    14
    13
    13
    13
    13
    13
    13
    13
    13
    13
    30
    30
    30
    30
    30
    30
    30
    30
    30
    28
    28
    28
    28
    28
    28
    28
    28
    28
    28
    16
    16
    16
    16
    16
    16
    16
    16
    16
    17
    17
    17
    17
    30
    30
    30
    30
    30
    30
    30
    30
    30
    28
    28
    28
    28
    28
    28
    28
    28
    28
    28
    16
    16
    16
    16
    16
    16
    16
    16
    16
    17
    17
    17
    17
    30
    30
    30
    30
    30
    30
    30
    30
    30
    28
    28
    28
    28
    28
    28
    28
    28
    28
    16
    16
    16
    16
    16
    16
    16
    16
    16
    16
    17
    17
    17
    17
    30
    30
    30
    30
    30
    30
    30
    30
    30
    28
    28
    28
    28
    28
    28
    28
    28
    28
    16
    16
    16
    16
    16
    16
    16
    16
    16
    16
    17
    17
    17
    17
    30
    30
    30
    30
    30
    30
    30
    30
    30
    28
    28
    28
    28
    28
    28
    28
    28
    28
    16
    16
    16
    16
    16
    16
    16
    16
    16
    16
    17
    17
    17
    17
    30
    30
    30
    30
    30
    30
    30
    30
    30
    28
    28
    28
    28
    28
    28
    28
    28
    28
    16
    16
    16
    16
    16
    16
    16
    16
    16
    16
    17
    17
    17
    17
    30
    30
    30
    30
    30
    30
    30
    30
    30
    28
    28
    28
    28
    28
    28
    28
    28
    28
    16
    16
    16
    16
    16
    16
    16
    16
    16
    16
    17
    17
    17
    17
    31
    31
    31
    31
    31
    31
    31
    31
    31
    28
    28
    28
    28
    28
    28
    28
    28
    28
    16
    16
    16
    16
    16
    16
    16
    16
    16
    16
    17
    17
    17
    17
    31
    31
    31
    31
    31
    31
    31
    31
    31
    29
    29
    29
    29
    29
    29
    29
    29
    16
    16
    16
    16
    16
    16
    16
    16
    16
    16
    16
    17
    17
    17
    17
    31
    31
    31
    31
    31
    31
    31
    31
    31
    29
    29
    29
    29
    29
    29
    29
    29
    16
    16
    16
    16
    16
    16
    16
    18
    18
    18
    18
    18
    18
    18
    18
    31
    31
    31
    31
    31
    31
    31
    31
    31
    29
    29
    29
    29
    29
    29
    29
    29
    18
    18
    18
    18
    18
    18
    18
    18
    18
    18
    18
    18
    18
    18
    18
    31
    31
    31
    31
    31
    31
    31
    31
    31
    29
    29
    29
    29
    29
    29
    29
    18
    18
    18
    18
    18
    18
    18
    18
    18
    18
    18
    18
    18
    18
    18
    18
    31
    31
    31
    31
    31
    31
    31
    31
    31
    29
    29
    29
    29
    29
    29
    29
    18
    18
    18
    18
    18
    18
    18
    18
    18
    18
    18
    18
    18
    18
    18
    18
    31
    31
    31
    31
    31
    31
    31
    31
    31
    29
    29
    29
    29
    29
    29
    29
    18
    18
    18
    18
    18
    18
    18
    18
    18
    18
    18
    18
    18
    18
    18
    18
    31
    31
    31
    31
    31
    31
    31
    31
    31
    29
    29
    29
    29
    29
    29
    29
    18
    18
    18
    18
    18
    18
    18
    18
    18
    18
    18
    18
    18
    18
    18
    18
    31
    31
    31
    31
    31
    31
    31
    11
    11
    11
    29
    29
    29
    29
    29
    29
    18
    18
    18
    18
    18
    18
    18
    18
    18
    18
    18
    18
    18
    18
    18
    18
    11
    11
    11
    11
    11
    11
    11
    11
    11
    11
    11
    11
    11
    11
    29
    29
    14
    14
    14
    14
    18
    18
    18
    12
    12
    12
    12
    12
    12
    12
    12
    12
    11
    11
    11
    11
    11
    11
    11
    11
    11
    11
    11
    11
    11
    11
    11
    8
    14
    14
    14
    14
    14
    14
    14
    12
    12
    12
    12
    12
    12
    12
    12
    12
    11
    11
    11
    11
    11
    11
    11
    11
    11
    11
    11
    11
    11
    11
    11
    11
    14
    14
    14
    14
    14
    14
    14
    12
    12
    12
    12
    12
    12
    12
    12
    12
    11
    11
    11
    11
    11
    11
    11
    11
    11
    11
    11
    11
    11
    11
    11
    11
    14
    14
    14
    14
    14
    14
    14
    12
    12
    12
    12
    12
    12
    12
    12
    12
    11
    11
    11
    11
    11
    11
    11
    11
    11
    11
    11
    11
    11
    11
    11
    14
    14
    14
    14
    14
    14
    14
    14
    12
    12
    12
    12
    12
    12
    12
    12
    12
    11
    11
    11
    11
    11
    11
    11
    11
    11
    11
    11
    11
    11
    11
    11
    14
    14
    14
    14
    14
    14
    14
    14
    12
    12
    12
    12
    12
    12
    12
    12
    12
    11
    11
    11
    11
    11
    11
    11
    11
    11
    11
    11
    11
    11
    11
    11
    14
    14
    14
    14
    14
    14
    14
    14
    12
    12
    12
    12
    12
    12
    12
    12
    12
    10
    10
    10
    10
    10
    10
    11
    11
    11
    11
    11
    11
    11
    11
    14
    14
    14
    14
    14
    14
    14
    14
    14
    13
    13
    13
    13
    13
    13
    13
    13
    13
    10
    10
    10
    10
    10
    10
    10
    10
    11
    11
    11
    11
    11
    14
    14
    14
    14
    14
    14
    14
    14
    14
    14
    13
    13
    13
    13
    13
    13
    13
    13
    13
    10
    10
    10
    10
    10
    10
    10
    10
    10
    10
    10
    10
    10
    14
    14
    14
    14
    14
    14
    14
    14
    14
    14
    13
    13
    13
    13
    13
    13
    13
    13
    13
    10
    10
    10
    10
    10
    10
    10
    10
    10
    10
    10
    10
    10
    14
    14
    14
    14
    14
    14
    14
    14
    14
    14
    13
    13
    13
    13
    13
    13
    13
    13
    13
    10
    10
    10
    10
    10
    10
    10
    10
    10
    10
    10
    10
    10
    14
    14
    14
    14
    14
    14
    14
    14
    14
    14
    13
    13
    13
    13
    13
    13
    13
    13
    13
    10
    10
    10
    10
    10
    10
    10
    10
    10
    10
    10
    10
    10
    14
    14
    14
    14
    14
    14
    14
    14
    14
    14
    13
    13
    13
    13
    13
    13
    13
    13
    13
    10
    10
    10
    10
    10
    10
    10
    10
    10
    10
    10
    10
    10
    14
    14
    14
    14
    14
    14
    14
    14
    14
    14
    13
    13
    13
    13
    13
    13
    13
    13
    13
    10
    10
    10
    10
    10
    10
    10
    10
    10
    10
    10
    10
    10
    14
    14
    14
    14
    14
    14
    14
    14
    14
    14
    13
    13
    13
    13
    13
    13
    13
    13
    13
    10
    10
    10
    10
    10
    10
    10
    10
    10
    10
    10
    10
    10
    14
    14
    14
    14
    14
    14
    14
    14
    14
    14
    13
    13
    13
    13
    13
    13
    13
    13
    13
    30
    30
    30
    30
    30
    30
    30
    30
    30
    28
    28
    28
    28
    28
    28
    28
    28
    28
    28
    16
    16
    16
    16
    16
    16
    16
    16
    17
    17
    17
    17
    17
    30
    30
    30
    30
    30
    30
    30
    30
    30
    28
    28
    28
    28
    28
    28
    28
    28
    28
    28
    16
    16
    16
    16
    16
    16
    16
    16
    17
    17
    17
    17
    17
    30
    30
    30
    30
    30
    30
    30
    30
    30
    28
    28
    28
    28
    28
    28
    28
    28
    28
    16
    16
    16
    16
    16
    16
    16
    16
    16
    17
    17
    17
    17
    17
    30
    30
    30
    30
    30
    30
    30
    30
    30
    28
    28
    28
    28
    28
    28
    28
    28
    28
    16
    16
    16
    16
    16
    16
    16
    16
    16
    17
    17
    17
    17
    17
    30
    30
    30
    30
    30
    30
    30
    30
    30
    28
    28
    28
    28
    28
    28
    28
    28
    28
    16
    16
    16
    16
    16
    16
    16
    16
    16
    17
    17
    17
    17
    17
    30
    30
    30
    30
    30
    30
    30
    30
    30
    28
    28
    28
    28
    28
    28
    28
    28
    28
    16
    16
    16
    16
    16
    16
    16
    16
    16
    17
    17
    17
    17
    17
    30
    30
    30
    30
    30
    30
    30
    30
    30
    28
    28
    28
    28
    28
    28
    28
    28
    28
    16
    16
    16
    16
    16
    16
    16
    16
    16
    17
    17
    17
    17
    17
    31
    31
    31
    31
    31
    31
    31
    31
    31
    28
    28
    28
    28
    28
    28
    28
    28
    28
    16
    16
    16
    16
    16
    16
    16
    16
    16
    17
    17
    17
    17
    17
    31
    31
    31
    31
    31
    31
    31
    31
    31
    29
    29
    29
    29
    29
    29
    29
    29
    16
    16
    16
    16
    16
    16
    16
    16
    16
    16
    17
    17
    17
    17
    17
    31
    31
    31
    31
    31
    31
    31
    31
    31
    29
    29
    29
    29
    29
    29
    29
    29
    16
    16
    16
    16
    16
    16
    16
    18
    18
    18
    18
    18
    18
    18
    18
    31
    31
    31
    31
    31
    31
    31
    31
    31
    29
    29
    29
    29
    29
    29
    29
    29
    19
    19
    19
    19
    18
    18
    18
    18
    18
    18
    18
    18
    18
    18
    18
    31
    31
    31
    31
    31
    31
    31
    31
    31
    29
    29
    29
    29
    29
    29
    29
    19
    19
    19
    19
    19
    18
    18
    18
    18
    18
    18
    18
    18
    18
    18
    18
    31
    31
    31
    31
    31
    31
    31
    31
    31
    29
    29
    29
    29
    29
    29
    29
    19
    19
    19
    19
    19
    18
    18
    18
    18
    18
    18
    18
    18
    18
    18
    18
    31
    31
    31
    31
    31
    31
    31
    31
    31
    29
    29
    29
    29
    29
    29
    29
    19
    19
    19
    19
    19
    18
    18
    18
    18
    18
    18
    18
    18
    18
    18
    18
    31
    31
    31
    31
    31
    31
    31
    31
    31
    29
    29
    29
    29
    29
    29
    29
    19
    19
    19
    19
    19
    18
    18
    18
    18
    18
    18
    18
    18
    18
    18
    18
    31
    31
    31
    31
    8
    8
    8
    8
    8
    8
    8
    8
    8
    8
    8
    8
    19
    19
    19
    19
    19
    18
    18
    18
    18
    18
    18
    18
    18
    18
    18
    18
    11
    11
    8
    8
    8
    8
    8
    8
    8
    8
    8
    8
    8
    8
    8
    8
    19
    19
    19
    19
    19
    18
    18
    12
    12
    12
    12
    12
    12
    12
    12
    12
    11
    11
    8
    8
    8
    8
    8
    8
    8
    8
    8
    8
    8
    8
    8
    8
    15
    15
    15
    15
    15
    12
    12
    12
    12
    12
    12
    12
    12
    12
    12
    12
    11
    11
    8
    8
    8
    8
    8
    8
    8
    8
    8
    8
    8
    8
    8
    8
    15
    15
    15
    15
    15
    12
    12
    12
    12
    12
    12
    12
    12
    12
    12
    12
    11
    11
    8
    8
    8
    8
    8
    8
    8
    8
    8
    8
    8
    8
    8
    8
    15
    15
    15
    15
    15
    12
    12
    12
    12
    12
    12
    12
    12
    12
    12
    12
    11
    11
    8
    8
    8
    8
    8
    8
    8
    8
    8
    8
    8
    8
    8
    8
    15
    15
    15
    15
    15
    12
    12
    12
    12
    12
    12
    12
    12
    12
    12
    12
    11
    11
    11
    11
    11
    8
    8
    8
    8
    8
    8
    8
    8
    8
    15
    15
    15
    15
    15
    15
    15
    12
    12
    12
    12
    12
    12
    12
    12
    12
    12
    12
    11
    11
    11
    11
    11
    9
    9
    9
    9
    9
    9
    9
    9
    15
    15
    15
    15
    15
    15
    15
    15
    12
    12
    12
    12
    12
    12
    12
    12
    12
    12
    12
    10
    10
    10
    10
    10
    10
    9
    9
    9
    9
    9
    9
    9
    15
    15
    15
    15
    15
    15
    15
    15
    15
    12
    12
    12
    12
    12
    12
    12
    12
    12
    12
    10
    10
    10
    10
    10
    10
    10
    10
    9
    9
    9
    9
    9
    15
    15
    15
    15
    15
    15
    15
    15
    15
    13
    13
    13
    13
    13
    13
    13
    13
    13
    13
    10
    10
    10
    10
    10
    10
    10
    10
    10
    10
    10
    10
    10
    15
    15
    15
    15
    15
    15
    15
    15
    15
    13
    13
    13
    13
    13
    13
    13
    13
    13
    13
    10
    10
    10
    10
    10
    10
    10
    10
    10
    10
    10
    10
    10
    15
    15
    15
    15
    15
    15
    15
    15
    15
    13
    13
    13
    13
    13
    13
    13
    13
    13
    13
    10
    10
    10
    10
    10
    10
    10
    10
    10
    10
    10
    10
    10
    15
    15
    15
    15
    15
    15
    15
    15
    15
    13
    13
    13
    13
    13
    13
    13
    13
    13
    13
    10
    10
    10
    10
    10
    10
    10
    10
    10
    10
    10
    10
    10
    15
    15
    15
    15
    15
    15
    15
    15
    15
    13
    13
    13
    13
    13
    13
    13
    13
    13
    13
    10
    10
    10
    10
    10
    10
    10
    10
    10
    10
    10
    10
    10
    15
    15
    15
    15
    15
    15
    15
    15
    15
    13
    13
    13
    13
    13
    13
    13
    13
    13
    13
    10
    10
    10
    10
    10
    10
    10
    10
    10
    10
    10
    10
    10
    15
    15
    15
    15
    15
    15
    15
    15
    15
    13
    13
    13
    13
    13
    13
    13
    13
    13
    13
    10
    10
    10
    10
    10
    10
    10
    10
    10
    10
    10
    10
    10
    15
    15
    15
    15
    15
    15
    15
    15
    15
    13
    13
    13
    13
    13
    13
    13
    13
    13
    13
    30
    30
    30
    30
    30
    30
    30
    30
    30
    28
    28
    28
    28
    28
    28
    28
    28
    28
    28
    16
    16
    16
    16
    16
    17
    17
    17
    17
    17
    17
    17
    17
    30
    30
    30
    30
    30
    30
    30
    30
    30
    28
    28
    28
    28
    28
    28
    28
    28
    28
    28
    16
    16
    16
    16
    16
    17
    17
    17
    17
    17
    17
    17
    17
    30
    30
    30
    30
    30
    30
    30
    30
    30
    28
    28
    28
    28
    28
    28
    28
    28
    28
    28
    16
    16
    16
    16
    16
    17
    17
    17
    17
    17
    17
    17
    17
    30
    30
    30
    30
    30
    30
    30
    30
    30
    28
    28
    28
    28
    28
    28
    28
    28
    28
    16
    16
    16
    16
    16
    16
    17
    17
    17
    17
    17
    17
    17
    17
    30
    30
    30
    30
    30
    30
    30
    30
    30
    28
    28
    28
    28
    28
    28
    28
    28
    28
    16
    16
    16
    16
    16
    16
    17
    17
    17
    17
    17
    17
    17
    17
    30
    30
    30
    30
    30
    30
    30
    30
    30
    28
    28
    28
    28
    28
    28
    28
    28
    28
    16
    16
    16
    16
    16
    16
    17
    17
    17
    17
    17
    17
    17
    17
    30
    30
    30
    30
    30
    30
    30
    30
    30
    28
    28
    28
    28
    28
    28
    28
    28
    28
    16
    16
    16
    16
    16
    16
    17
    17
    17
    17
    17
    17
    17
    17
    31
    31
    31
    31
    31
    31
    31
    31
    31
    28
    28
    28
    28
    28
    28
    28
    28
    28
    16
    16
    16
    16
    16
    16
    17
    17
    17
    17
    17
    17
    17
    17
    31
    31
    31
    31
    31
    31
    31
    31
    31
    29
    29
    29
    29
    29
    29
    29
    29
    19
    19
    19
    19
    19
    19
    19
    19
    17
    17
    17
    17
    17
    17
    17
    31
    31
    31
    31
    31
    31
    31
    31
    31
    29
    29
    29
    29
    29
    29
    29
    29
    19
    19
    19
    19
    19
    19
    19
    19
    19
    17
    17
    17
    17
    17
    17
    31
    31
    31
    31
    31
    31
    31
    31
    31
    29
    29
    29
    29
    29
    29
    29
    29
    19
    19
    19
    19
    19
    19
    19
    19
    19
    19
    19
    19
    19
    19
    19
    31
    31
    31
    31
    31
    31
    31
    31
    31
    29
    29
    29
    29
    29
    29
    29
    19
    19
    19
    19
    19
    19
    19
    19
    19
    19
    19
    19
    19
    19
    19
    19
    31
    31
    31
    31
    31
    31
    31
    31
    31
    29
    29
    29
    29
    29
    29
    29
    19
    19
    19
    19
    19
    19
    19
    19
    19
    19
    19
    19
    19
    19
    19
    19
    31
    31
    31
    31
    31
    31
    31
    31
    31
    29
    29
    29
    29
    29
    29
    29
    19
    19
    19
    19
    19
    19
    19
    19
    19
    19
    19
    19
    19
    19
    19
    19
    31
    31
    31
    31
    31
    8
    8
    8
    8
    8
    8
    8
    8
    8
    8
    8
    19
    19
    19
    19
    19
    19
    19
    19
    19
    19
    19
    19
    19
    19
    19
    19
    31
    31
    31
    31
    8
    8
    8
    8
    8
    8
    8
    8
    8
    8
    8
    8
    19
    19
    19
    19
    19
    19
    19
    19
    19
    19
    19
    19
    19
    19
    19
    19
    8
    8
    8
    8
    8
    8
    8
    8
    8
    8
    8
    8
    8
    8
    8
    8
    19
    19
    19
    19
    19
    19
    19
    12
    12
    12
    12
    12
    12
    12
    12
    12
    8
    8
    8
    8
    8
    8
    8
    8
    8
    8
    8
    8
    8
    8
    8
    8
    15
    15
    15
    15
    15
    12
    12
    12
    12
    12
    12
    12
    12
    12
    12
    12
    8
    8
    8
    8
    8
    8
    8
    8
    8
    8
    8
    8
    8
    8
    8
    8
    15
    15
    15
    15
    15
    12
    12
    12
    12
    12
    12
    12
    12
    12
    12
    12
    8
    8
    8
    8
    8
    8
    8
    8
    8
    8
    8
    8
    8
    8
    8
    8
    15
    15
    15
    15
    15
    12
    12
    12
    12
    12
    12
    12
    12
    12
    12
    12
    8
    8
    8
    8
    8
    8
    8
    8
    8
    8
    8
    8
    8
    8
    8
    8
    15
    15
    15
    15
    15
    12
    12
    12
    12
    12
    12
    12
    12
    12
    12
    12
    9
    9
    9
    9
    9
    8
    8
    8
    8
    8
    8
    8
    8
    8
    15
    15
    15
    15
    15
    15
    15
    12
    12
    12
    12
    12
    12
    12
    12
    12
    12
    12
    9
    9
    9
    9
    9
    9
    9
    9
    9
    9
    9
    9
    9
    15
    15
    15
    15
    15
    15
    15
    15
    12
    12
    12
    12
    12
    12
    12
    12
    12
    12
    12
    9
    9
    9
    9
    9
    9
    9
    9
    9
    9
    9
    9
    9
    15
    15
    15
    15
    15
    15
    15
    15
    15
    12
    12
    12
    12
    12
    12
    12
    12
    12
    12
    9
    9
    9
    9
    9
    9
    9
    9
    9
    9
    9
    9
    9
    15
    15
    15
    15
    15
    15
    15
    15
    15
    13
    13
    13
    13
    13
    13
    13
    13
    13
    13
    9
    9
    9
    9
    9
    9
    9
    9
    9
    9
    9
    9
    9
    15
    15
    15
    15
    15
    15
    15
    15
    15
    13
    13
    13
    13
    13
    13
    13
    13
    13
    13
    10
    10
    10
    10
    10
    10
    10
    10
    10
    10
    10
    10
    10
    15
    15
    15
    15
    15
    15
    15
    15
    15
    13
    13
    13
    13
    13
    13
    13
    13
    13
    13
    10
    10
    10
    10
    10
    10
    10
    10
    10
    10
    10
    10
    10
    15
    15
    15
    15
    15
    15
    15
    15
    15
    13
    13
    13
    13
    13
    13
    13
    13
    13
    13
    10
    10
    10
    10
    10
    10
    10
    10
    10
    10
    10
    10
    10
    15
    15
    15
    15
    15
    15
    15
    15
    15
    13
    13
    13
    13
    13
    13
    13
    13
    13
    13
    10
    10
    10
    10
    10
    10
    10
    10
    10
    10
    10
    10
    10
    15
    15
    15
    15
    15
    15
    15
    15
    15
    13
    13
    13
    13
    13
    13
    13
    13
    13
    13
    10
    10
    10
    10
    10
    10
    10
    10
    10
    10
    10
    10
    10
    15
    15
    15
    15
    15
    15
    15
    15
    15
    13
    13
    13
    13
    13
    13
    13
    13
    13
    13
    10
    10
    10
    10
    10
    10
    10
    10
    10
    10
    10
    10
    10
    15
    15
    15
    15
    15
    15
    15
    15
    15
    13
    13
    13
    13
    13
    13
    13
    13
    13
    13
    30
    30
    30
    30
    30
    30
    30
    30
    30
    28
    28
    28
    28
    28
    28
    28
    28
    28
    28
    17
    17
    17
    17
    17
    17
    17
    17
    17
    17
    17
    17
    17
    30
    30
    30
    30
    30
    30
    30
    30
    30
    28
    28
    28
    28
    28
    28
    28
    28
    28
    28
    17
    17
    17
    17
    17
    17
    17
    17
    17
    17
    17
    17
    17
    30
    30
    30
    30
    30
    30
    30
    30
    30
    28
    28
    28
    28
    28
    28
    28
    28
    28
    28
    17
    17
    17
    17
    17
    17
    17
    17
    17
    17
    17
    17
    17
    30
    30
    30
    30
    30
    30
    30
    30
    30
    28
    28
    28
    28
    28
    28
    28
    28
    28
    28
    17
    17
    17
    17
    17
    17
    17
    17
    17
    17
    17
    17
    17
    30
    30
    30
    30
    30
    30
    30
    30
    30
    28
    28
    28
    28
    28
    28
    28
    28
    28
    28
    17
    17
    17
    17
    17
    17
    17
    17
    17
    17
    17
    17
    17
    30
    30
    30
    30
    30
    30
    30
    30
    30
    28
    28
    28
    28
    28
    28
    28
    28
    28
    17
    17
    17
    17
    17
    17
    17
    17
    17
    17
    17
    17
    17
    17
    30
    30
    30
    30
    30
    30
    30
    30
    30
    28
    28
    28
    28
    28
    28
    28
    28
    28
    17
    17
    17
    17
    17
    17
    17
    17
    17
    17
    17
    17
    17
    17
    31
    31
    31
    31
    31
    31
    31
    31
    29
    29
    29
    29
    29
    29
    29
    29
    29
    19
    19
    17
    17
    17
    17
    17
    17
    17
    17
    17
    17
    17
    17
    17
    31
    31
    31
    31
    31
    31
    31
    31
    29
    29
    29
    29
    29
    29
    29
    29
    29
    19
    19
    19
    19
    19
    19
    19
    19
    17
    17
    17
    17
    17
    17
    17
    31
    31
    31
    31
    31
    31
    31
    31
    29
    29
    29
    29
    29
    29
    29
    29
    29
    19
    19
    19
    19
    19
    19
    19
    19
    19
    17
    17
    17
    17
    17
    17
    31
    31
    31
    31
    31
    31
    31
    31
    29
    29
    29
    29
    29
    29
    29
    29
    29
    19
    19
    19
    19
    19
    19
    19
    19
    19
    19
    19
    19
    19
    19
    19
    31
    31
    31
    31
    31
    31
    31
    31
    29
    29
    29
    29
    29
    29
    29
    29
    19
    19
    19
    19
    19
    19
    19
    19
    19
    19
    19
    19
    19
    19
    19
    19
    31
    31
    31
    31
    31
    31
    31
    31
    29
    29
    29
    29
    29
    29
    29
    29
    19
    19
    19
    19
    19
    19
    19
    19
    19
    19
    19
    19
    19
    19
    19
    19
    31
    31
    31
    31
    31
    31
    31
    31
    29
    29
    29
    29
    29
    29
    29
    29
    19
    19
    19
    19
    19
    19
    19
    19
    19
    19
    19
    19
    19
    19
    19
    19
    31
    31
    31
    31
    31
    8
    8
    8
    8
    8
    8
    8
    8
    8
    8
    8
    19
    19
    19
    19
    19
    19
    19
    19
    19
    19
    19
    19
    19
    19
    19
    19
    31
    31
    31
    31
    8
    8
    8
    8
    8
    8
    8
    8
    8
    8
    8
    8
    19
    19
    19
    19
    19
    19
    19
    19
    19
    19
    19
    19
    19
    19
    19
    19
    8
    8
    8
    8
    8
    8
    8
    8
    8
    8
    8
    8
    8
    8
    8
    8
    19
    19
    19
    19
    19
    19
    19
    12
    12
    12
    12
    12
    12
    12
    12
    12
    8
    8
    8
    8
    8
    8
    8
    8
    8
    8
    8
    8
    8
    8
    8
    8
    19
    19
    19
    19
    19
    12
    12
    12
    12
    12
    12
    12
    12
    12
    12
    12
    8
    8
    8
    8
    8
    8
    8
    8
    8
    8
    8
    8
    8
    8
    8
    8
    15
    15
    15
    15
    15
    12
    12
    12
    12
    12
    12
    12
    12
    12
    12
    12
    8
    8
    8
    8
    8
    8
    8
    8
    8
    8
    8
    8
    8
    8
    8
    8
    15
    15
    15
    15
    15
    12
    12
    12
    12
    12
    12
    12
    12
    12
    12
    12
    8
    8
    8
    8
    8
    8
    8
    8
    8
    8
    8
    8
    8
    8
    8
    8
    15
    15
    15
    15
    15
    12
    12
    12
    12
    12
    12
    12
    12
    12
    12
    12
    9
    9
    9
    9
    9
    8
    8
    8
    8
    8
    8
    8
    8
    8
    15
    15
    15
    15
    15
    15
    15
    12
    12
    12
    12
    12
    12
    12
    12
    12
    12
    12
    9
    9
    9
    9
    9
    9
    9
    9
    9
    9
    9
    9
    9
    15
    15
    15
    15
    15
    15
    15
    15
    12
    12
    12
    12
    12
    12
    12
    12
    12
    12
    12
    9
    9
    9
    9
    9
    9
    9
    9
    9
    9
    9
    9
    9
    15
    15
    15
    15
    15
    15
    15
    15
    15
    12
    12
    12
    12
    12
    12
    12
    12
    12
    12
    9
    9
    9
    9
    9
    9
    9
    9
    9
    9
    9
    9
    9
    15
    15
    15
    15
    15
    15
    15
    15
    15
    12
    12
    12
    12
    12
    12
    12
    12
    12
    12
    9
    9
    9
    9
    9
    9
    9
    9
    9
    9
    9
    9
    9
    15
    15
    15
    15
    15
    15
    15
    15
    15
    13
    13
    13
    13
    13
    13
    13
    13
    13
    13
    9
    9
    9
    9
    9
    9
    9
    9
    9
    9
    9
    9
    9
    15
    15
    15
    15
    15
    15
    15
    15
    15
    13
    13
    13
    13
    13
    13
    13
    13
    13
    13
    9
    9
    9
    9
    9
    9
    9
    9
    9
    9
    9
    9
    9
    15
    15
    15
    15
    15
    15
    15
    15
    15
    13
    13
    13
    13
    13
    13
    13
    13
    13
    13
    9
    9
    9
    9
    9
    9
    9
    9
    9
    9
    9
    9
    9
    15
    15
    15
    15
    15
    15
    15
    15
    15
    13
    13
    13
    13
    13
    13
    13
    13
    13
    13
    9
    9
    9
    9
    9
    9
    9
    9
    9
    9
    9
    9
    9
    15
    15
    15
    15
    15
    15
    15
    15
    15
    13
    13
    13
    13
    13
    13
    13
    13
    13
    13
    9
    9
    9
    9
    9
    9
    9
    9
    9
    9
    9
    9
    9
    15
    15
    15
    15
    15
    15
    15
    15
    15
    13
    13
    13
    13
    13
    13
    13
    13
    13
    13
    9
    9
    9
    9
    9
    9
    9
    9
    9
    9
    9
    9
    9
    15
    15
    15
    15
    15
    15
    15
    15
    15
    13
    13
    13
    13
    13
    13
    13
    13
    13
    13
    30
    30
    30
    30
    30
    30
    30
    30
    30
    28
    28
    28
    28
    28
    28
    28
    28
    28
    28
    17
    17
    17
    17
    17
    17
    17
    17
    17
    17
    17
    17
    17
    30
    30
    30
    30
    30
    30
    30
    30
    30
    28
    28
    28
    28
    28
    28
    28
    28
    28
    28
    17
    17
    17
    17
    17
    17
    17
    17
    17
    17
    17
    17
    17
    30
    30
    30
    30
    30
    30
    30
    30
    30
    28
    28
    28
    28
    28
    28
    28
    28
    28
    28
    17
    17
    17
    17
    17
    17
    17
    17
    17
    17
    17
    17
    17
    30
    30
    30
    30
    30
    30
    30
    30
    30
    28
    28
    28
    28
    28
    28
    28
    28
    28
    28
    17
    17
    17
    17
    17
    17
    17
    17
    17
    17
    17
    17
    17
    30
    30
    30
    30
    30
    30
    30
    30
    30
    28
    28
    28
    28
    28
    28
    28
    28
    28
    28
    17
    17
    17
    17
    17
    17
    17
    17
    17
    17
    17
    17
    17
    30
    30
    30
    30
    30
    30
    30
    30
    30
    28
    28
    28
    28
    28
    28
    28
    28
    28
    17
    17
    17
    17
    17
    17
    17
    17
    17
    17
    17
    17
    17
    17
    30
    30
    30
    30
    30
    30
    30
    30
    30
    28
    28
    28
    28
    28
    28
    28
    28
    28
    17
    17
    17
    17
    17
    17
    17
    17
    17
    17
    17
    17
    17
    17
    31
    31
    31
    31
    31
    31
    31
    31
    29
    29
    29
    29
    29
    29
    29
    29
    29
    19
    19
    17
    17
    17
    17
    17
    17
    17
    17
    17
    17
    17
    17
    17
    31
    31
    31
    31
    31
    31
    31
    31
    29
    29
    29
    29
    29
    29
    29
    29
    29
    19
    19
    19
    19
    19
    19
    19
    19
    17
    17
    17
    17
    17
    17
    17
    31
    31
    31
    31
    31
    31
    31
    31
    29
    29
    29
    29
    29
    29
    29
    29
    29
    19
    19
    19
    19
    19
    19
    19
    19
    19
    17
    17
    17
    17
    17
    17
    31
    31
    31
    31
    31
    31
    31
    31
    29
    29
    29
    29
    29
    29
    29
    29
    29
    19
    19
    19
    19
    19
    19
    19
    19
    19
    19
    19
    19
    19
    19
    19
    31
    31
    31
    31
    31
    31
    31
    31
    29
    29
    29
    29
    29
    29
    29
    29
    19
    19
    19
    19
    19
    19
    19
    19
    19
    19
    19
    19
    19
    19
    19
    19
    31
    31
    31
    31
    31
    31
    31
    31
    29
    29
    29
    29
    29
    29
    29
    29
    19
    19
    19
    19
    19
    19
    19
    19
    19
    19
    19
    19
    19
    19
    19
    19
    31
    31
    31
    31
    31
    31
    31
    31
    29
    29
    29
    29
    29
    29
    29
    29
    19
    19
    19
    19
    19
    19
    19
    19
    19
    19
    19
    19
    19
    19
    19
    19
    31
    31
    31
    31
    8
    8
    8
    8
    8
    8
    8
    8
    8
    8
    8
    8
    19
    19
    19
    19
    19
    19
    19
    19
    19
    19
    19
    19
    19
    19
    19
    19
    31
    31
    31
    31
    8
    8
    8
    8
    8
    8
    8
    8
    8
    8
    8
    8
    19
    19
    19
    19
    19
    19
    19
    19
    19
    19
    19
    19
    19
    19
    12
    12
    8
    8
    8
    8
    8
    8
    8
    8
    8
    8
    8
    8
    8
    8
    8
    8
    19
    19
    19
    19
    19
    19
    19
    12
    12
    12
    12
    12
    12
    12
    12
    12
    8
    8
    8
    8
    8
    8
    8
    8
    8
    8
    8
    8
    8
    8
    8
    8
    19
    19
    19
    19
    19
    12
    12
    12
    12
    12
    12
    12
    12
    12
    12
    12
    8
    8
    8
    8
    8
    8
    8
    8
    8
    8
    8
    8
    8
    8
    8
    8
    15
    15
    15
    15
    15
    12
    12
    12
    12
    12
    12
    12
    12
    12
    12
    12
    8
    8
    8
    8
    8
    8
    8
    8
    8
    8
    8
    8
    8
    8
    8
    8
    15
    15
    15
    15
    15
    12
    12
    12
    12
    12
    12
    12
    12
    12
    12
    12
    8
    8
    8
    8
    8
    8
    8
    8
    8
    8
    8
    8
    8
    8
    8
    8
    15
    15
    15
    15
    15
    12
    12
    12
    12
    12
    12
    12
    12
    12
    12
    12
    9
    9
    9
    9
    9
    8
    8
    8
    8
    8
    8
    8
    8
    8
    15
    15
    15
    15
    15
    15
    15
    12
    12
    12
    12
    12
    12
    12
    12
    12
    12
    12
    9
    9
    9
    9
    9
    9
    9
    9
    9
    9
    9
    9
    9
    15
    15
    15
    15
    15
    15
    15
    15
    12
    12
    12
    12
    12
    12
    12
    12
    12
    12
    12
    9
    9
    9
    9
    9
    9
    9
    9
    9
    9
    9
    9
    9
    15
    15
    15
    15
    15
    15
    15
    15
    15
    12
    12
    12
    12
    12
    12
    12
    12
    12
    12
    9
    9
    9
    9
    9
    9
    9
    9
    9
    9
    9
    9
    9
    15
    15
    15
    15
    15
    15
    15
    15
    15
    12
    12
    12
    12
    12
    12
    12
    12
    12
    12
    9
    9
    9
    9
    9
    9
    9
    9
    9
    9
    9
    9
    9
    15
    15
    15
    15
    15
    15
    15
    15
    15
    13
    13
    13
    13
    13
    13
    13
    13
    13
    13
    9
    9
    9
    9
    9
    9
    9
    9
    9
    9
    9
    9
    9
    15
    15
    15
    15
    15
    15
    15
    15
    15
    13
    13
    13
    13
    13
    13
    13
    13
    13
    13
    9
    9
    9
    9
    9
    9
    9
    9
    9
    9
    9
    9
    9
    15
    15
    15
    15
    15
    15
    15
    15
    15
    13
    13
    13
    13
    13
    13
    13
    13
    13
    13
    9
    9
    9
    9
    9
    9
    9
    9
    9
    9
    9
    9
    9
    15
    15
    15
    15
    15
    15
    15
    15
    15
    13
    13
    13
    13
    13
    13
    13
    13
    13
    13
    9
    9
    9
    9
    9
    9
    9
    9
    9
    9
    9
    9
    9
    15
    15
    15
    15
    15
    15
    15
    15
    15
    13
    13
    13
    13
    13
    13
    13
    13
    13
    13
    9
    9
    9
    9
    9
    9
    9
    9
    9
    9
    9
    9
    9
    15
    15
    15
    15
    15
    15
    15
    15
    15
    13
    13
    13
    13
    13
    13
    13
    13
    13
    13
    9
    9
    9
    9
    9
    9
    9
    9
    9
    9
    9
    9
    9
    15
    15
    15
    15
    15
    15
    15
    15
    15
    13
    13
    13
    13
    13
    13
    13
    13
    13
    13
    30
    30
    30
    30
    30
    30
    30
    30
    30
    28
    28
    28
    28
    28
    28
    28
    28
    28
    28
    17
    17
    17
    17
    17
    17
    17
    17
    17
    17
    17
    17
    17
    30
    30
    30
    30
    30
    30
    30
    30
    30
    28
    28
    28
    28
    28
    28
    28
    28
    28
    28
    17
    17
    17
    17
    17
    17
    17
    17
    17
    17
    17
    17
    17
    30
    30
    30
    30
    30
    30
    30
    30
    30
    28
    28
    28
    28
    28
    28
    28
    28
    28
    28
    17
    17
    17
    17
    17
    17
    17
    17
    17
    17
    17
    17
    17
    30
    30
    30
    30
    30
    30
    30
    30
    30
    28
    28
    28
    28
    28
    28
    28
    28
    28
    28
    17
    17
    17
    17
    17
    17
    17
    17
    17
    17
    17
    17
    17
    30
    30
    30
    30
    30
    30
    30
    30
    30
    28
    28
    28
    28
    28
    28
    28
    28
    28
    28
    17
    17
    17
    17
    17
    17
    17
    17
    17
    17
    17
    17
    17
    30
    30
    30
    30
    30
    30
    30
    30
    30
    28
    28
    28
    28
    28
    28
    28
    28
    28
    17
    17
    17
    17
    17
    17
    17
    17
    17
    17
    17
    17
    17
    17
    30
    30
    30
    30
    30
    30
    30
    30
    30
    28
    28
    28
    28
    28
    28
    28
    28
    28
    17
    17
    17
    17
    17
    17
    17
    17
    17
    17
    17
    17
    17
    17
    31
    31
    31
    31
    31
    31
    31
    29
    29
    29
    29
    29
    29
    29
    29
    29
    29
    19
    19
    17
    17
    17
    17
    17
    17
    17
    17
    17
    17
    17
    17
    17
    31
    31
    31
    31
    31
    31
    31
    29
    29
    29
    29
    29
    29
    29
    29
    29
    29
    19
    19
    19
    19
    19
    19
    19
    19
    17
    17
    17
    17
    17
    17
    17
    31
    31
    31
    31
    31
    31
    31
    29
    29
    29
    29
    29
    29
    29
    29
    29
    29
    19
    19
    19
    19
    19
    19
    19
    19
    19
    17
    17
    17
    17
    17
    17
    31
    31
    31
    31
    31
    31
    31
    29
    29
    29
    29
    29
    29
    29
    29
    29
    29
    19
    19
    19
    19
    19
    19
    19
    19
    19
    19
    19
    19
    19
    19
    19
    31
    31
    31
    31
    31
    31
    31
    29
    29
    29
    29
    29
    29
    29
    29
    29
    19
    19
    19
    19
    19
    19
    19
    19
    19
    19
    19
    19
    19
    19
    19
    19
    31
    31
    31
    31
    31
    31
    31
    29
    29
    29
    29
    29
    29
    29
    29
    29
    19
    19
    19
    19
    19
    19
    19
    19
    19
    19
    19
    19
    19
    19
    19
    19
    31
    31
    31
    31
    31
    31
    31
    29
    29
    29
    29
    29
    29
    29
    29
    29
    19
    19
    19
    19
    19
    19
    19
    19
    19
    19
    19
    19
    19
    19
    19
    19
    31
    31
    31
    31
    8
    8
    8
    8
    8
    8
    8
    8
    8
    8
    8
    8
    19
    19
    19
    19
    19
    19
    19
    19
    19
    19
    19
    19
    19
    19
    19
    19
    31
    31
    31
    31
    8
    8
    8
    8
    8
    8
    8
    8
    8
    8
    8
    8
    19
    19
    19
    19
    19
    19
    19
    19
    19
    19
    19
    19
    19
    19
    12
    12
    8
    8
    8
    8
    8
    8
    8
    8
    8
    8
    8
    8
    8
    8
    8
    8
    19
    19
    19
    19
    19
    19
    19
    12
    12
    12
    12
    12
    12
    12
    12
    12
    8
    8
    8
    8
    8
    8
    8
    8
    8
    8
    8
    8
    8
    8
    8
    8
    19
    19
    19
    19
    19
    12
    12
    12
    12
    12
    12
    12
    12
    12
    12
    12
    8
    8
    8
    8
    8
    8
    8
    8
    8
    8
    8
    8
    8
    8
    8
    8
    15
    15
    15
    15
    15
    12
    12
    12
    12
    12
    12
    12
    12
    12
    12
    12
    8
    8
    8
    8
    8
    8
    8
    8
    8
    8
    8
    8
    8
    8
    8
    8
    15
    15
    15
    15
    15
    12
    12
    12
    12
    12
    12
    12
    12
    12
    12
    12
    8
    8
    8
    8
    8
    8
    8
    8
    8
    8
    8
    8
    8
    8
    8
    8
    15
    15
    15
    15
    15
    12
    12
    12
    12
    12
    12
    12
    12
    12
    12
    12
    9
    9
    9
    9
    9
    8
    8
    8
    8
    8
    8
    8
    8
    8
    15
    15
    15
    15
    15
    15
    15
    12
    12
    12
    12
    12
    12
    12
    12
    12
    12
    12
    9
    9
    9
    9
    9
    9
    9
    9
    9
    9
    9
    9
    9
    15
    15
    15
    15
    15
    15
    15
    15
    12
    12
    12
    12
    12
    12
    12
    12
    12
    12
    12
    9
    9
    9
    9
    9
    9
    9
    9
    9
    9
    9
    9
    9
    15
    15
    15
    15
    15
    15
    15
    15
    15
    12
    12
    12
    12
    12
    12
    12
    12
    12
    12
    9
    9
    9
    9
    9
    9
    9
    9
    9
    9
    9
    9
    9
    15
    15
    15
    15
    15
    15
    15
    15
    15
    12
    12
    12
    12
    12
    12
    12
    12
    12
    12
    9
    9
    9
    9
    9
    9
    9
    9
    9
    9
    9
    9
    9
    15
    15
    15
    15
    15
    15
    15
    15
    15
    13
    13
    13
    13
    13
    13
    13
    13
    13
    13
    9
    9
    9
    9
    9
    9
    9
    9
    9
    9
    9
    9
    9
    15
    15
    15
    15
    15
    15
    15
    15
    15
    13
    13
    13
    13
    13
    13
    13
    13
    13
    13
    9
    9
    9
    9
    9
    9
    9
    9
    9
    9
    9
    9
    9
    15
    15
    15
    15
    15
    15
    15
    15
    15
    13
    13
    13
    13
    13
    13
    13
    13
    13
    13
    9
    9
    9
    9
    9
    9
    9
    9
    9
    9
    9
    9
    9
    15
    15
    15
    15
    15
    15
    15
    15
    15
    13
    13
    13
    13
    13
    13
    13
    13
    13
    13
    9
    9
    9
    9
    9
    9
    9
    9
    9
    9
    9
    9
    9
    15
    15
    15
    15
    15
    15
    15
    15
    15
    13
    13
    13
    13
    13
    13
    13
    13
    13
    13
    9
    9
    9
    9
    9
    9
    9
    9
    9
    9
    9
    9
    9
    15
    15
    15
    15
    15
    15
    15
    15
    15
    13
    13
    13
    13
    13
    13
    13
    13
    13
    13
    9
    9
    9
    9
    9
    9
    9
    9
    9
    9
    9
    9
    9
    15
    15
    15
    15
    15
    15
    15
    15
    15
    13
    13
    13
    13
    13
    13
    13
    13
    13
    13
    30
    30
    30
    30
    30
    30
    30
    30
    30
    28
    28
    28
    28
    28
    28
    28
    28
    28
    28
    17
    17
    17
    17
    17
    17
    17
    17
    17
    17
    17
    17
    17
    30
    30
    30
    30
    30
    30
    30
    30
    30
    28
    28
    28
    28
    28
    28
    28
    28
    28
    28
    17
    17
    17
    17
    17
    17
    17
    17
    17
    17
    17
    17
    17
    30
    30
    30
    30
    30
    30
    30
    30
    30
    28
    28
    28
    28
    28
    28
    28
    28
    28
    28
    17
    17
    17
    17
    17
    17
    17
    17
    17
    17
    17
    17
    17
    30
    30
    30
    30
    30
    30
    30
    30
    30
    28
    28
    28
    28
    28
    28
    28
    28
    28
    28
    17
    17
    17
    17
    17
    17
    17
    17
    17
    17
    17
    17
    17
    30
    30
    30
    30
    30
    30
    30
    30
    30
    28
    28
    28
    28
    28
    28
    28
    28
    28
    28
    17
    17
    17
    17
    17
    17
    17
    17
    17
    17
    17
    17
    17
    30
    30
    30
    30
    30
    30
    30
    30
    30
    29
    29
    29
    29
    29
    29
    29
    29
    17
    17
    17
    17
    17
    17
    17
    17
    17
    17
    17
    17
    17
    17
    17
    30
    30
    30
    30
    30
    30
    30
    30
    29
    29
    29
    29
    29
    29
    29
    29
    29
    17
    17
    17
    17
    17
    17
    17
    17
    17
    17
    17
    17
    17
    17
    17
    31
    31
    31
    31
    31
    31
    31
    29
    29
    29
    29
    29
    29
    29
    29
    29
    29
    19
    19
    17
    17
    17
    17
    17
    17
    17
    17
    17
    17
    17
    17
    17
    31
    31
    31
    31
    31
    31
    31
    29
    29
    29
    29
    29
    29
    29
    29
    29
    29
    19
    19
    19
    19
    19
    19
    19
    19
    17
    17
    17
    17
    17
    17
    17
    31
    31
    31
    31
    31
    31
    31
    29
    29
    29
    29
    29
    29
    29
    29
    29
    29
    19
    19
    19
    19
    19
    19
    19
    19
    19
    17
    17
    17
    17
    17
    17
    31
    31
    31
    31
    31
    31
    31
    29
    29
    29
    29
    29
    29
    29
    29
    29
    29
    19
    19
    19
    19
    19
    19
    19
    19
    19
    19
    19
    19
    19
    19
    19
    31
    31
    31
    31
    31
    31
    31
    29
    29
    29
    29
    29
    29
    29
    29
    29
    19
    19
    19
    19
    19
    19
    19
    19
    19
    19
    19
    19
    19
    19
    19
    19
    31
    31
    31
    31
    31
    31
    31
    29
    29
    29
    29
    29
    29
    29
    29
    29
    19
    19
    19
    19
    19
    19
    19
    19
    19
    19
    19
    19
    19
    19
    19
    19
    31
    31
    31
    31
    31
    31
    31
    29
    29
    29
    29
    29
    29
    29
    29
    29
    19
    19
    19
    19
    19
    19
    19
    19
    19
    19
    19
    19
    19
    19
    19
    19
    31
    31
    31
    31
    8
    8
    8
    8
    8
    8
    8
    8
    8
    8
    8
    8
    19
    19
    19
    19
    19
    19
    19
    19
    19
    19
    19
    19
    19
    19
    19
    19
    31
    31
    31
    31
    8
    8
    8
    8
    8
    8
    8
    8
    8
    8
    8
    8
    19
    19
    19
    19
    19
    19
    19
    19
    19
    19
    19
    19
    19
    19
    12
    12
    8
    8
    8
    8
    8
    8
    8
    8
    8
    8
    8
    8
    8
    8
    8
    8
    19
    19
    19
    19
    19
    19
    19
    12
    12
    12
    12
    12
    12
    12
    12
    12
    8
    8
    8
    8
    8
    8
    8
    8
    8
    8
    8
    8
    8
    8
    8
    8
    19
    19
    19
    19
    12
    12
    12
    12
    12
    12
    12
    12
    12
    12
    12
    12
    8
    8
    8
    8
    8
    8
    8
    8
    8
    8
    8
    8
    8
    8
    8
    8
    15
    15
    15
    15
    12
    12
    12
    12
    12
    12
    12
    12
    12
    12
    12
    12
    8
    8
    8
    8
    8
    8
    8
    8
    8
    8
    8
    8
    8
    8
    8
    8
    15
    15
    15
    15
    15
    12
    12
    12
    12
    12
    12
    12
    12
    12
    12
    12
    8
    8
    8
    8
    8
    8
    8
    8
    8
    8
    8
    8
    8
    8
    8
    8
    15
    15
    15
    15
    15
    12
    12
    12
    12
    12
    12
    12
    12
    12
    12
    12
    9
    9
    9
    9
    9
    8
    8
    8
    8
    8
    8
    8
    8
    8
    15
    15
    15
    15
    15
    15
    15
    12
    12
    12
    12
    12
    12
    12
    12
    12
    12
    12
    9
    9
    9
    9
    9
    9
    9
    9
    9
    9
    9
    9
    9
    15
    15
    15
    15
    15
    15
    15
    15
    12
    12
    12
    12
    12
    12
    12
    12
    12
    12
    12
    9
    9
    9
    9
    9
    9
    9
    9
    9
    9
    9
    9
    9
    15
    15
    15
    15
    15
    15
    15
    15
    15
    12
    12
    12
    12
    12
    12
    12
    12
    12
    12
    9
    9
    9
    9
    9
    9
    9
    9
    9
    9
    9
    9
    9
    15
    15
    15
    15
    15
    15
    15
    15
    15
    12
    12
    12
    12
    12
    12
    12
    12
    12
    12
    9
    9
    9
    9
    9
    9
    9
    9
    9
    9
    9
    9
    9
    15
    15
    15
    15
    15
    15
    15
    15
    15
    13
    13
    13
    13
    13
    13
    13
    13
    13
    13
    9
    9
    9
    9
    9
    9
    9
    9
    9
    9
    9
    9
    9
    15
    15
    15
    15
    15
    15
    15
    15
    15
    13
    13
    13
    13
    13
    13
    13
    13
    13
    13
    9
    9
    9
    9
    9
    9
    9
    9
    9
    9
    9
    9
    9
    15
    15
    15
    15
    15
    15
    15
    15
    15
    13
    13
    13
    13
    13
    13
    13
    13
    13
    13
    9
    9
    9
    9
    9
    9
    9
    9
    9
    9
    9
    9
    9
    15
    15
    15
    15
    15
    15
    15
    15
    15
    13
    13
    13
    13
    13
    13
    13
    13
    13
    13
    9
    9
    9
    9
    9
    9
    9
    9
    9
    9
    9
    9
    9
    15
    15
    15
    15
    15
    15
    15
    15
    15
    13
    13
    13
    13
    13
    13
    13
    13
    13
    13
    9
    9
    9
    9
    9
    9
    9
    9
    9
    9
    9
    9
    9
    15
    15
    15
    15
    15
    15
    15
    15
    15
    13
    13
    13
    13
    13
    13
    13
    13
    13
    13
    9
    9
    9
    9
    9
    9
    9
    9
    9
    9
    9
    9
    9
    15
    15
    15
    15
    15
    15
    15
    15
    15
    13
    13
    13
    13
    13
    13
    13
    13
    13
    13
    30
    30
    30
    30
    30
    30
    30
    30
    30
    30
    28
    28
    28
    28
    28
    28
    28
    28
    28
    17
    17
    17
    17
    17
    17
    17
    17
    17
    17
    17
    17
    17
    30
    30
    30
    30
    30
    30
    30
    30
    30
    30
    28
    28
    28
    28
    28
    28
    28
    28
    28
    17
    17
    17
    17
    17
    17
    17
    17
    17
    17
    17
    17
    17
    30
    30
    30
    30
    30
    30
    30
    30
    30
    30
    28
    28
    28
    28
    28
    28
    28
    28
    28
    17
    17
    17
    17
    17
    17
    17
    17
    17
    17
    17
    17
    17
    30
    30
    30
    30
    30
    30
    30
    30
    30
    30
    28
    28
    28
    28
    28
    28
    28
    28
    28
    17
    17
    17
    17
    17
    17
    17
    17
    17
    17
    17
    17
    17
    30
    30
    30
    30
    30
    30
    30
    30
    30
    29
    29
    29
    29
    28
    28
    28
    28
    28
    28
    17
    17
    17
    17
    17
    17
    17
    17
    17
    17
    17
    17
    17
    30
    30
    30
    30
    30
    30
    30
    30
    30
    29
    29
    29
    29
    29
    29
    29
    29
    17
    17
    17
    17
    17
    17
    17
    17
    17
    17
    17
    17
    17
    17
    17
    30
    30
    30
    30
    30
    30
    30
    30
    29
    29
    29
    29
    29
    29
    29
    29
    29
    17
    17
    17
    17
    17
    17
    17
    17
    17
    17
    17
    17
    17
    17
    17
    31
    31
    31
    31
    31
    31
    31
    29
    29
    29
    29
    29
    29
    29
    29
    29
    29
    19
    19
    17
    17
    17
    17
    17
    17
    17
    17
    17
    17
    17
    17
    17
    31
    31
    31
    31
    31
    31
    31
    29
    29
    29
    29
    29
    29
    29
    29
    29
    29
    19
    19
    19
    19
    19
    19
    19
    19
    17
    17
    17
    17
    17
    17
    17
    31
    31
    31
    31
    31
    31
    31
    29
    29
    29
    29
    29
    29
    29
    29
    29
    29
    19
    19
    19
    19
    19
    19
    19
    19
    19
    17
    17
    17
    17
    17
    17
    31
    31
    31
    31
    31
    31
    31
    29
    29
    29
    29
    29
    29
    29
    29
    29
    29
    19
    19
    19
    19
    19
    19
    19
    19
    19
    19
    19
    19
    19
    19
    19
    31
    31
    31
    31
    31
    31
    31
    29
    29
    29
    29
    29
    29
    29
    29
    29
    19
    19
    19
    19
    19
    19
    19
    19
    19
    19
    19
    19
    19
    19
    19
    19
    31
    31
    31
    31
    31
    31
    31
    29
    29
    29
    29
    29
    29
    29
    29
    29
    19
    19
    19
    19
    19
    19
    19
    19
    19
    19
    19
    19
    19
    19
    19
    19
    31
    31
    31
    31
    31
    31
    31
    29
    29
    29
    29
    29
    29
    29
    29
    29
    19
    19
    19
    19
    19
    19
    19
    19
    19
    19
    19
    19
    19
    19
    19
    19
    31
    31
    31
    31
    8
    8
    8
    8
    8
    8
    8
    8
    8
    8
    8
    8
    19
    19
    19
    19
    19
    19
    19
    19
    19
    19
    19
    19
    19
    19
    12
    12
    31
    31
    31
    31
    8
    8
    8
    8
    8
    8
    8
    8
    8
    8
    8
    8
    19
    19
    19
    19
    19
    19
    19
    19
    19
    19
    19
    19
    19
    19
    12
    12
    8
    8
    8
    8
    8
    8
    8
    8
    8
    8
    8
    8
    8
    8
    8
    8
    19
    19
    19
    19
    19
    19
    19
    12
    12
    12
    12
    12
    12
    12
    12
    12
    8
    8
    8
    8
    8
    8
    8
    8
    8
    8
    8
    8
    8
    8
    8
    8
    19
    19
    19
    19
    12
    12
    12
    12
    12
    12
    12
    12
    12
    12
    12
    12
    8
    8
    8
    8
    8
    8
    8
    8
    8
    8
    8
    8
    8
    8
    8
    8
    15
    15
    15
    15
    12
    12
    12
    12
    12
    12
    12
    12
    12
    12
    12
    12
    8
    8
    8
    8
    8
    8
    8
    8
    8
    8
    8
    8
    8
    8
    8
    8
    15
    15
    15
    15
    15
    12
    12
    12
    12
    12
    12
    12
    12
    12
    12
    12
    8
    8
    8
    8
    8
    8
    8
    8
    8
    8
    8
    8
    8
    8
    8
    8
    15
    15
    15
    15
    15
    12
    12
    12
    12
    12
    12
    12
    12
    12
    12
    12
    9
    9
    9
    9
    9
    8
    8
    8
    8
    8
    8
    8
    8
    8
    15
    15
    15
    15
    15
    15
    15
    12
    12
    12
    12
    12
    12
    12
    12
    12
    12
    12
    9
    9
    9
    9
    9
    9
    9
    9
    9
    9
    9
    9
    9
    15
    15
    15
    15
    15
    15
    15
    15
    12
    12
    12
    12
    12
    12
    12
    12
    12
    12
    12
    9
    9
    9
    9
    9
    9
    9
    9
    9
    9
    9
    9
    9
    15
    15
    15
    15
    15
    15
    15
    15
    15
    12
    12
    12
    12
    12
    12
    12
    12
    12
    12
    9
    9
    9
    9
    9
    9
    9
    9
    9
    9
    9
    9
    9
    15
    15
    15
    15
    15
    15
    15
    15
    15
    12
    12
    12
    12
    12
    12
    12
    12
    12
    12
    9
    9
    9
    9
    9
    9
    9
    9
    9
    9
    9
    9
    9
    15
    15
    15
    15
    15
    15
    15
    15
    15
    13
    13
    13
    13
    13
    13
    13
    13
    13
    13
    9
    9
    9
    9
    9
    9
    9
    9
    9
    9
    9
    9
    9
    15
    15
    15
    15
    15
    15
    15
    15
    15
    13
    13
    13
    13
    13
    13
    13
    13
    13
    13
    9
    9
    9
    9
    9
    9
    9
    9
    9
    9
    9
    9
    9
    15
    15
    15
    15
    15
    15
    15
    15
    15
    13
    13
    13
    13
    13
    13
    13
    13
    13
    13
    9
    9
    9
    9
    9
    9
    9
    9
    9
    9
    9
    9
    9
    15
    15
    15
    15
    15
    15
    15
    15
    15
    13
    13
    13
    13
    13
    13
    13
    13
    13
    13
    9
    9
    9
    9
    9
    9
    9
    9
    9
    9
    9
    9
    9
    15
    15
    15
    15
    15
    15
    15
    15
    15
    13
    13
    13
    13
    13
    13
    13
    13
    13
    13
    9
    9
    9
    9
    9
    9
    9
    9
    9
    9
    9
    9
    9
    15
    15
    15
    15
    15
    15
    15
    15
    15
    13
    13
    13
    13
    13
    13
    13
    13
    13
    13
    9
    9
    9
    9
    9
    9
    9
    9
    9
    9
    9
    9
    9
    15
    15
    15
    15
    15
    15
    15
    15
    15
    13
    13
    13
    13
    13
    13
    13
    13
    13
    13
    30
    30
    30
    30
    30
    30
    30
    30
    30
    30
    30
    28
    28
    28
    28
    28
    28
    28
    28
    17
    17
    17
    17
    17
    17
    17
    17
    17
    17
    17
    17
    17
    30
    30
    30
    30
    30
    30
    30
    30
    30
    30
    30
    28
    28
    28
    28
    28
    28
    28
    28
    17
    17
    17
    17
    17
    17
    17
    17
    17
    17
    17
    17
    17
    30
    30
    30
    30
    30
    30
    30
    30
    30
    30
    30
    28
    28
    28
    28
    28
    28
    28
    28
    17
    17
    17
    17
    17
    17
    17
    17
    17
    17
    17
    17
    17
    30
    30
    30
    30
    30
    30
    30
    30
    30
    30
    30
    28
    28
    28
    28
    28
    28
    28
    28
    17
    17
    17
    17
    17
    17
    17
    17
    17
    17
    17
    17
    17
    30
    30
    30
    30
    30
    30
    30
    30
    30
    29
    29
    29
    29
    28
    28
    28
    28
    28
    28
    17
    17
    17
    17
    17
    17
    17
    17
    17
    17
    17
    17
    17
    30
    30
    30
    30
    30
    30
    30
    30
    30
    29
    29
    29
    29
    29
    29
    29
    29
    17
    17
    17
    17
    17
    17
    17
    17
    17
    17
    17
    17
    17
    17
    17
    30
    30
    30
    30
    30
    30
    30
    30
    29
    29
    29
    29
    29
    29
    29
    29
    29
    17
    17
    17
    17
    17
    17
    17
    17
    17
    17
    17
    17
    17
    17
    17
    31
    31
    31
    31
    31
    31
    31
    29
    29
    29
    29
    29
    29
    29
    29
    29
    29
    19
    19
    17
    17
    17
    17
    17
    17
    17
    17
    17
    17
    17
    17
    17
    31
    31
    31
    31
    31
    31
    31
    29
    29
    29
    29
    29
    29
    29
    29
    29
    29
    19
    19
    19
    19
    19
    19
    19
    19
    17
    17
    17
    17
    17
    17
    17
    31
    31
    31
    31
    31
    31
    31
    29
    29
    29
    29
    29
    29
    29
    29
    29
    29
    19
    19
    19
    19
    19
    19
    19
    19
    19
    17
    17
    17
    17
    17
    17
    31
    31
    31
    31
    31
    31
    31
    29
    29
    29
    29
    29
    29
    29
    29
    29
    29
    19
    19
    19
    19
    19
    19
    19
    19
    19
    19
    19
    19
    19
    19
    19
    31
    31
    31
    31
    31
    31
    31
    29
    29
    29
    29
    29
    29
    29
    29
    29
    19
    19
    19
    19
    19
    19
    19
    19
    19
    19
    19
    19
    19
    19
    19
    19
    31
    31
    31
    31
    31
    31
    31
    29
    29
    29
    29
    29
    29
    29
    29
    29
    19
    19
    19
    19
    19
    19
    19
    19
    19
    19
    19
    19
    19
    19
    19
    19
    31
    31
    31
    31
    31
    31
    31
    29
    29
    29
    29
    29
    29
    29
    29
    29
    19
    19
    19
    19
    19
    19
    19
    19
    19
    19
    19
    19
    19
    19
    19
    19
    31
    31
    31
    31
    8
    8
    8
    8
    8
    8
    8
    8
    8
    8
    8
    8
    19
    19
    19
    19
    19
    19
    19
    19
    19
    19
    19
    19
    19
    19
    12
    12
    31
    31
    31
    31
    8
    8
    8
    8
    8
    8
    8
    8
    8
    8
    8
    8
    19
    19
    19
    19
    19
    19
    19
    19
    19
    19
    19
    19
    19
    19
    12
    12
    8
    8
    8
    8
    8
    8
    8
    8
    8
    8
    8
    8
    8
    8
    8
    8
    19
    19
    19
    19
    19
    19
    19
    12
    12
    12
    12
    12
    12
    12
    12
    12
    8
    8
    8
    8
    8
    8
    8
    8
    8
    8
    8
    8
    8
    8
    8
    8
    19
    19
    19
    19
    12
    12
    12
    12
    12
    12
    12
    12
    12
    12
    12
    12
    8
    8
    8
    8
    8
    8
    8
    8
    8
    8
    8
    8
    8
    8
    8
    8
    15
    15
    15
    15
    12
    12
    12
    12
    12
    12
    12
    12
    12
    12
    12
    12
    8
    8
    8
    8
    8
    8
    8
    8
    8
    8
    8
    8
    8
    8
    8
    8
    15
    15
    15
    15
    15
    12
    12
    12
    12
    12
    12
    12
    12
    12
    12
    12
    8
    8
    8
    8
    8
    8
    8
    8
    8
    8
    8
    8
    8
    8
    8
    8
    15
    15
    15
    15
    15
    12
    12
    12
    12
    12
    12
    12
    12
    12
    12
    12
    9
    9
    9
    9
    9
    8
    8
    8
    8
    8
    8
    8
    8
    8
    15
    15
    15
    15
    15
    15
    15
    12
    12
    12
    12
    12
    12
    12
    12
    12
    12
    12
    9
    9
    9
    9
    9
    9
    9
    9
    9
    9
    9
    8
    8
    15
    15
    15
    15
    15
    15
    15
    15
    12
    12
    12
    12
    12
    12
    12
    12
    12
    12
    12
    9
    9
    9
    9
    9
    9
    9
    9
    9
    9
    9
    9
    9
    15
    15
    15
    15
    15
    15
    15
    15
    15
    12
    12
    12
    12
    12
    12
    12
    12
    12
    12
    9
    9
    9
    9
    9
    9
    9
    9
    9
    9
    9
    9
    9
    15
    15
    15
    15
    15
    15
    15
    15
    15
    12
    12
    12
    12
    12
    12
    12
    12
    12
    12
    9
    9
    9
    9
    9
    9
    9
    9
    9
    9
    9
    9
    9
    15
    15
    15
    15
    15
    15
    15
    15
    15
    12
    12
    12
    12
    12
    12
    12
    12
    12
    12
    9
    9
    9
    9
    9
    9
    9
    9
    9
    9
    9
    9
    9
    15
    15
    15
    15
    15
    15
    15
    15
    15
    13
    13
    13
    13
    13
    13
    13
    13
    13
    13
    9
    9
    9
    9
    9
    9
    9
    9
    9
    9
    9
    9
    9
    15
    15
    15
    15
    15
    15
    15
    15
    15
    13
    13
    13
    13
    13
    13
    13
    13
    13
    13
    9
    9
    9
    9
    9
    9
    9
    9
    9
    9
    9
    9
    9
    15
    15
    15
    15
    15
    15
    15
    15
    15
    13
    13
    13
    13
    13
    13
    13
    13
    13
    13
    9
    9
    9
    9
    9
    9
    9
    9
    9
    9
    9
    9
    9
    15
    15
    15
    15
    15
    15
    15
    15
    15
    13
    13
    13
    13
    13
    13
    13
    13
    13
    13
    9
    9
    9
    9
    9
    9
    9
    9
    9
    9
    9
    9
    9
    15
    15
    15
    15
    15
    15
    15
    15
    15
    13
    13
    13
    13
    13
    13
    13
    13
    13
    13
    9
    9
    9
    9
    9
    9
    9
    9
    9
    9
    9
    9
    9
    15
    15
    15
    15
    15
    15
    15
    15
    15
    13
    13
    13
    13
    13
    13
    13
    13
    13
    13
    30
    30
    30
    30
    30
    30
    30
    30
    30
    30
    30
    28
    28
    28
    28
    28
    28
    28
    28
    17
    17
    17
    17
    17
    17
    17
    17
    17
    17
    17
    17
    17
    30
    30
    30
    30
    30
    30
    30
    30
    30
    30
    30
    28
    28
    28
    28
    28
    28
    28
    28
    17
    17
    17
    17
    17
    17
    17
    17
    17
    17
    17
    17
    17
    30
    30
    30
    30
    30
    30
    30
    30
    30
    30
    30
    28
    28
    28
    28
    28
    28
    28
    28
    17
    17
    17
    17
    17
    17
    17
    17
    17
    17
    17
    17
    17
    30
    30
    30
    30
    30
    30
    30
    30
    30
    30
    30
    28
    28
    28
    28
    28
    28
    28
    28
    17
    17
    17
    17
    17
    17
    17
    17
    17
    17
    17
    17
    17
    30
    30
    30
    30
    30
    30
    30
    30
    30
    29
    29
    29
    29
    28
    28
    28
    28
    28
    28
    17
    17
    17
    17
    17
    17
    17
    17
    17
    17
    17
    17
    17
    30
    30
    30
    30
    30
    30
    30
    30
    30
    29
    29
    29
    29
    29
    29
    29
    29
    17
    17
    17
    17
    17
    17
    17
    17
    17
    17
    17
    17
    17
    17
    17
    30
    30
    30
    30
    30
    30
    30
    30
    29
    29
    29
    29
    29
    29
    29
    29
    29
    17
    17
    17
    17
    17
    17
    17
    17
    17
    17
    17
    17
    17
    17
    17
    31
    31
    31
    31
    31
    31
    31
    29
    29
    29
    29
    29
    29
    29
    29
    29
    29
    19
    19
    17
    17
    17
    17
    17
    17
    17
    17
    17
    17
    17
    17
    17
    31
    31
    31
    31
    31
    31
    31
    29
    29
    29
    29
    29
    29
    29
    29
    29
    29
    19
    19
    19
    19
    19
    19
    19
    19
    17
    17
    17
    17
    17
    17
    17
    31
    31
    31
    31
    31
    31
    31
    29
    29
    29
    29
    29
    29
    29
    29
    29
    29
    19
    19
    19
    19
    19
    19
    19
    19
    19
    17
    17
    17
    17
    17
    17
    31
    31
    31
    31
    31
    31
    31
    29
    29
    29
    29
    29
    29
    29
    29
    29
    29
    19
    19
    19
    19
    19
    19
    19
    19
    19
    19
    19
    19
    19
    19
    19
    31
    31
    31
    31
    31
    31
    31
    29
    29
    29
    29
    29
    29
    29
    29
    29
    19
    19
    19
    19
    19
    19
    19
    19
    19
    19
    19
    19
    19
    19
    19
    19
    31
    31
    31
    31
    31
    31
    31
    29
    29
    29
    29
    29
    29
    29
    29
    29
    19
    19
    19
    19
    19
    19
    19
    19
    19
    19
    19
    19
    19
    19
    19
    19
    31
    31
    31
    31
    31
    31
    31
    29
    29
    29
    29
    29
    29
    29
    29
    29
    19
    19
    19
    19
    19
    19
    19
    19
    19
    19
    19
    19
    19
    19
    19
    19
    31
    31
    31
    31
    8
    8
    8
    8
    8
    8
    8
    8
    8
    8
    8
    8
    19
    19
    19
    19
    19
    19
    19
    19
    19
    19
    19
    19
    19
    19
    12
    12
    31
    31
    31
    31
    8
    8
    8
    8
    8
    8
    8
    8
    8
    8
    8
    8
    19
    19
    19
    19
    19
    19
    19
    19
    19
    19
    19
    19
    19
    19
    12
    12
    8
    8
    8
    8
    8
    8
    8
    8
    8
    8
    8
    8
    8
    8
    8
    8
    19
    19
    19
    19
    19
    19
    19
    12
    12
    12
    12
    12
    12
    12
    12
    12
    8
    8
    8
    8
    8
    8
    8
    8
    8
    8
    8
    8
    8
    8
    8
    8
    19
    19
    19
    19
    12
    12
    12
    12
    12
    12
    12
    12
    12
    12
    12
    12
    8
    8
    8
    8
    8
    8
    8
    8
    8
    8
    8
    8
    8
    8
    8
    8
    15
    15
    15
    15
    12
    12
    12
    12
    12
    12
    12
    12
    12
    12
    12
    12
    8
    8
    8
    8
    8
    8
    8
    8
    8
    8
    8
    8
    8
    8
    8
    8
    15
    15
    15
    15
    15
    12
    12
    12
    12
    12
    12
    12
    12
    12
    12
    12
    8
    8
    8
    8
    8
    8
    8
    8
    8
    8
    8
    8
    8
    8
    8
    8
    15
    15
    15
    15
    15
    12
    12
    12
    12
    12
    12
    12
    12
    12
    12
    12
    9
    9
    9
    9
    9
    8
    8
    8
    8
    8
    8
    8
    8
    8
    15
    15
    15
    15
    15
    15
    15
    12
    12
    12
    12
    12
    12
    12
    12
    12
    12
    12
    9
    9
    9
    9
    9
    9
    9
    9
    9
    9
    9
    8
    8
    15
    15
    15
    15
    15
    15
    15
    15
    12
    12
    12
    12
    12
    12
    12
    12
    12
    12
    12
    9
    9
    9
    9
    9
    9
    9
    9
    9
    9
    9
    9
    9
    15
    15
    15
    15
    15
    15
    15
    15
    15
    12
    12
    12
    12
    12
    12
    12
    12
    12
    12
    9
    9
    9
    9
    9
    9
    9
    9
    9
    9
    9
    9
    9
    15
    15
    15
    15
    15
    15
    15
    15
    15
    12
    12
    12
    12
    12
    12
    12
    12
    12
    12
    9
    9
    9
    9
    9
    9
    9
    9
    9
    9
    9
    9
    9
    15
    15
    15
    15
    15
    15
    15
    15
    15
    12
    12
    12
    12
    12
    12
    12
    12
    12
    12
    9
    9
    9
    9
    9
    9
    9
    9
    9
    9
    9
    9
    9
    15
    15
    15
    15
    15
    15
    15
    15
    15
    13
    13
    13
    13
    13
    13
    13
    13
    13
    13
    9
    9
    9
    9
    9
    9
    9
    9
    9
    9
    9
    9
    9
    15
    15
    15
    15
    15
    15
    15
    15
    15
    13
    13
    13
    13
    13
    13
    13
    13
    13
    13
    9
    9
    9
    9
    9
    9
    9
    9
    9
    9
    9
    9
    9
    15
    15
    15
    15
    15
    15
    15
    15
    15
    13
    13
    13
    13
    13
    13
    13
    13
    13
    13
    9
    9
    9
    9
    9
    9
    9
    9
    9
    9
    9
    9
    9
    15
    15
    15
    15
    15
    15
    15
    15
    15
    13
    13
    13
    13
    13
    13
    13
    13
    13
    13
    9
    9
    9
    9
    9
    9
    9
    9
    9
    9
    9
    9
    9
    15
    15
    15
    15
    15
    15
    15
    15
    15
    13
    13
    13
    13
    13
    13
    13
    13
    13
    13
    9
    9
    9
    9
    9
    9
    9
    9
    9
    9
    9
    9
    9
    15
    15
    15
    15
    15
    15
    15
    15
    15
    13
    13
    13
    13
    13
    13
    13
    13
    13
    13
    )
    ;
    
    boundaryField
    {
        atmosphere
        {
            type            calculated;
            value           uniform 0;
        }
        walls
        {
            type            calculated;
            value           uniform 0;
        }
    }
    
    
    // ************************************************************************* //
    
    ? file icon cellDist (87,815 bytes) 2017-05-04 15:08 +
  • tgz file icon interDyMFoam_debug.tgz (20,476 bytes) 2017-05-05 10:06

-Relationships
+Relationships

-Notes

~0008077

robertoribeiro (reporter)

Any ideas on this issue? I was able to reproduce it with 16 Procs too, though not so frequently.

I've developing some features for OF addressing load balance with dynamic load, but this problem is critically blocking me

Any help would be appreciated,
Thank you

~0008078

robertoribeiro (reporter)

I was able to force a printStack upon error, and got this (with the latest 2.4.x branch and 16 ranks in two nodes):

Interface Courant Number mean: 0.00146512 max: 0.302876
Courant Number mean: 0.0139884 max: 0.381074
Time = 0.107

PIMPLE: iteration 1
Selected 8 cells for refinement out of 44273.
Refined from 44273 to 44329 cells.
Selected 7 split points out of a possible 1690.
#0 /work/01502/rri/work/openfoam/2.4.x/builds/dev-sandy-icc-impi/OpenFOAM-2.4.x/platforms/linux64IccDPOpt/lib/libOpenFOAM.so(_ZN4Foam5error14safePrintStackERSo+0x23) [0x2b741e44e7e3]
#1 /work/01502/rri/work/openfoam/2.4.x/builds/dev-sandy-icc-impi/OpenFOAM-2.4.x/platforms/linux64IccDPOpt/lib/libOpenFOAM.so(_ZNK4Foam8IOstream10fatalCheckEPKc+0x2c) [0x2b741df9b6ac]
#2 /work/01502/rri/work/openfoam/2.4.x/builds/dev-sandy-icc-impi/OpenFOAM-2.4.x/platforms/linux64IccDPOpt/lib/libincompressibleRASModels.so(_ZN4FoamrsIiEERNS_7IstreamES2_RNS_4ListIT_EE+0x64) [0x2b74197181d4]
#3 /work/01502/rri/work/openfoam/2.4.x/builds/dev-sandy-icc-impi/OpenFOAM-2.4.x/platforms/linux64IccDPOpt/lib/libOpenFOAM.so(_ZN4Foam12globalPoints18receivePatchPointsEbRKNS_3MapIiEERKNS_4ListIiEERNS_14PstreamBuffersERNS_7HashSetIiNS_4HashIiEEEE+0x1b1) [0x2b741e205b21]
#4 /work/01502/rri/work/openfoam/2.4.x/builds/dev-sandy-icc-impi/OpenFOAM-2.4.x/platforms/linux64IccDPOpt/lib/libOpenFOAM.so(_ZN4Foam12globalPoints21calculateSharedPointsERKNS_3MapIiEERKNS_4ListIiEEbb+0x37a) [0x2b741e204dca]
#5 /work/01502/rri/work/openfoam/2.4.x/builds/dev-sandy-icc-impi/OpenFOAM-2.4.x/platforms/linux64IccDPOpt/lib/libOpenFOAM.so(_ZN4Foam12globalPointsC1ERKNS_8polyMeshERKNS_14PrimitivePatchINS_4faceENS_12IndirectListERKNS_5FieldINS_6VectorIdEEEES9_EEbb+0x209) [0x2b741e20b1c9]
#6 /work/01502/rri/work/openfoam/2.4.x/builds/dev-sandy-icc-impi/OpenFOAM-2.4.x/platforms/linux64IccDPOpt/lib/libOpenFOAM.so(_ZNK4Foam14globalMeshData21calcGlobalPointSlavesEv+0x6c) [0x2b741e1dfc5c]
#7 /work/01502/rri/work/openfoam/2.4.x/builds/dev-sandy-icc-impi/OpenFOAM-2.4.x/platforms/linux64IccDPOpt/lib/libOpenFOAM.so(_ZNK4Foam14globalMeshData17globalPointSlavesEv+0x1c) [0x2b741e1dfb4c]
#8 /work/01502/rri/work/openfoam/2.4.x/builds/dev-sandy-icc-impi/OpenFOAM-2.4.x/platforms/linux64IccDPOpt/lib/libOpenFOAM.so(_ZNK4Foam14globalMeshData21calcPointConnectivityERNS_4ListINS1_INS_4PairIiEEEEEE+0x2a) [0x2b741e1df04a]
#9 /work/01502/rri/work/openfoam/2.4.x/builds/dev-sandy-icc-impi/OpenFOAM-2.4.x/platforms/linux64IccDPOpt/lib/libOpenFOAM.so(_ZNK4Foam14globalMeshData20calcGlobalEdgeSlavesEv+0xac) [0x2b741e1dd74c]
#10 /work/01502/rri/work/openfoam/2.4.x/builds/dev-sandy-icc-impi/OpenFOAM-2.4.x/platforms/linux64IccDPOpt/lib/libOpenFOAM.so(_ZNK4Foam14globalMeshData19globalEdgeSlavesMapEv+0x1c) [0x2b741e1e154c]
#11 /work/01502/rri/work/openfoam/2.4.x/builds/dev-sandy-icc-impi/OpenFOAM-2.4.x/platforms/linux64IccDPOpt/lib/libdynamicMesh.so(_ZN4Foam9syncTools12syncEdgeListIiNS_7maxEqOpIiEENS_13mapDistribute9transformEEEvRKNS_8polyMeshERNS_4ListIT_EERKT0_RKSA_RKT1_+0x79) [0x2b741bd35fd9]
#12 /work/01502/rri/work/openfoam/2.4.x/builds/dev-sandy-icc-impi/OpenFOAM-2.4.x/platforms/linux64IccDPOpt/lib/libdynamicMesh.so(_ZNK4Foam11removeFaces13setRefinementERKNS_4ListIiEES4_S4_RNS_14polyTopoChangeE+0xd1d) [0x2b741bda664d]
#13 /work/01502/rri/work/openfoam/2.4.x/builds/dev-sandy-icc-impi/OpenFOAM-2.4.x/platforms/linux64IccDPOpt/lib/libdynamicMesh.so(_ZN4Foam7hexRef815setUnrefinementERKNS_4ListIiEERNS_14polyTopoChangeE+0x974) [0x2b741bd7ad64]
#14 /work/01502/rri/work/openfoam/2.4.x/builds/dev-sandy-icc-impi/OpenFOAM-2.4.x/platforms/linux64IccDPOpt/lib/libdynamicFvMesh.so(_ZN4Foam19dynamicRefineFvMesh8unrefineERKNS_4ListIiEE+0x60) [0x2b741c383d60]
#15 /work/01502/rri/work/openfoam/2.4.x/builds/dev-sandy-icc-impi/OpenFOAM-2.4.x/platforms/linux64IccDPOpt/lib/libdynamicFvMesh.so(_ZN4Foam19dynamicRefineFvMesh6updateEv+0x68a) [0x2b741c38254a]
#16 /work/01502/rri/work/openfoam/2.4.x/builds/dev-sandy-icc-impi/OpenFOAM-2.4.x/platforms/linux64IccDPOpt/bin/interDyMFoam() [0x429392]
#17 /lib64/libc.so.6(__libc_start_main+0xfd) [0x34a9c1ed1d]
#18 /work/01502/rri/work/openfoam/2.4.x/builds/dev-sandy-icc-impi/OpenFOAM-2.4.x/platforms/linux64IccDPOpt/bin/interDyMFoam() [0x426c69]
[2]
[2]
[2] --> FOAM FATAL IO ERROR:
[2] error in IOstream "IOstream" for operation operator>>(Istream&, List<T>&) : reading first token
[2]
[2] file: IOstream at line 0.
[2]
[2] From function IOstream::fatalCheck(const char*) const
[2] in file db/IOstreams/IOstreams/IOstream.C at line 116.
[2]
FOAM parallel run exiting


Eventually I also get the crash in the refine call

~0008081

will (manager)

I can't reproduce this. I'm running openmpi on 32 cores a single machine (no interconnect).

Have you tried openmpi?

Could you change the Allrun to run decomposePar -cellDist? Then if it fails we can then use the 0/cellDist field to do a manual decomposition to get an identical case and hopefully reliably reproduce the error. If you manage this, then please upload the 0/cellDist file.

~0008086

robertoribeiro (reporter)

Done. Here is a link to the entire run with the logs:

https://drive.google.com/file/d/0ByVQEnByzivXOHF3R3Z6Q1UxSGs/view?usp=sharing

I got the same error with openmpi in a different system.

~0008092

will (manager)

Last edited: 2017-05-04 17:32

View 2 revisions

I can't reproduce it, even with the same exact decomposition.

I may just be clutching at straws, but if you put the following in the controlDict, does it still crash?

OptimisationSwitches
{
    commsType blocking;
}

~0008093

robertoribeiro (reporter)

I tried and a whole lot of stuff, like increasing MPI buffer with blocking comms, floatTransfers change, enabling and disabling tree comms, different compilers and MPI implementations, etc.

In all these runs, I realized that the crash never happened with a single node, always with multiple nodes. However, it doesnt make sense to me that the problem is related with the interconnection and also I got the error in different systems. Do have any chance to run this on a cluster?

Based on the printStack above and the error, can you have an idea and describe it on what the system is doing at that point?

Thanks for all your help

~0008094

will (manager)

I can't tell just from the stack, no. The stack only tells us where the failure is happening. The code is doing a syncEdgeList, as you rightly figured out. This in turn requires some point data to be communicated, and it's during this that the failure actually happens. Why the failure happens, I don't know.

Yes, we have got a little multi-node machine. I'll try running on it tomorrow.

~0008099

MattijsJ (reporter)

Looks like something is modifying an edge/face and that change isn't synchronised correctly so one of the processor patches has less faces/edges than its opposite number - this will cause an error when trying to find out connected points by walking through the processor faces. Attached is a version of dev interDyMFoam which has been compiled with FULLDEBUG and has some additional code to prevent protected cells (even though there probably aren't any in your case). Might at least give you a better backtrace.

~0008101

will (manager)

I've now tried it on 36 cores over 6 nodes, and it runs to completion.

~0008102

will (manager)

I think you're on your own. If you are willing, try a full debug build*, and turn on debug switches for globalPoints and globalMeshData.

*i.e., put the line "export WM_COMPILE_OPTION=Debug" in your bashrc, then do a full clean and rebuild.

~0008146

robertoribeiro (reporter)

Hi,

quick question, any particular reason why multiple routine (fvMeshDistribute::distribute, etc ) force the use of nonBlocking comms by using, for instance, PstreamBuffers pBufs(Pstream::commsTypes::nonBlocking)?

Thank you

~0008200

chris (manager)

In the report you say you are using "dev", but the messages suggest "2.4.x". Which version are you using?

~0008202

robertoribeiro (reporter)

I tested both of them, the behavior was similar. I figured that this happened much more frequently with a particular cluster system with high number of nodes, which makes it harder to reproduce.

~0008203

will (manager)

The full case you put on google drive shows that you are using dev, but the commit hash in the logs (793a111bdfb7) doesn't match with anything in foundation dev. Are you using a different fork and/or have you made any changes to the code yourself?
+Notes

-Issue History
Date Modified Username Field Change
2017-04-11 20:37 robertoribeiro New Issue
2017-04-11 20:51 henry Priority high => normal
2017-05-03 19:25 robertoribeiro Note Added: 0008077
2017-05-03 19:44 robertoribeiro Note Added: 0008078
2017-05-04 09:27 will Note Added: 0008081
2017-05-04 15:08 robertoribeiro File Added: cellDist
2017-05-04 15:16 robertoribeiro Note Added: 0008086
2017-05-04 17:31 will Note Added: 0008092
2017-05-04 17:32 will Note Edited: 0008092 View Revisions
2017-05-04 17:55 robertoribeiro Note Added: 0008093
2017-05-04 18:19 will Note Added: 0008094
2017-05-05 10:06 MattijsJ File Added: interDyMFoam_debug.tgz
2017-05-05 10:13 MattijsJ Note Added: 0008099
2017-05-05 14:41 will Note Added: 0008101
2017-05-05 14:59 will Note Added: 0008102
2017-05-12 18:40 robertoribeiro Note Added: 0008146
2017-06-01 08:36 chris Note Added: 0008200
2017-06-01 11:39 robertoribeiro Note Added: 0008202
2017-06-01 11:55 will Note Added: 0008203
+Issue History