This repository has been archived on 2023-11-20. You can view files and clone it, but cannot push or open issues or pull requests.
foam-extend4.1-coherent-io/tutorials/solidMechanics/elasticContactSolidFoam/sphereAndBrick/constant/cellDecomposition
2013-09-17 16:03:51 +01:00

10680 lines
22 KiB
C++

/*--------------------------------*- C++ -*----------------------------------*\
| ========= | |
| \\ / F ield | OpenFOAM Extend Project: Open source CFD |
| \\ / O peration | Version: 1.6-ext |
| \\ / A nd | Web: www.extend-project.de |
| \\/ M anipulation | |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
class labelList;
location "constant";
object cellDecomposition;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
10656
(
7
7
6
6
6
5
5
4
7
7
6
6
6
5
5
4
7
7
6
6
6
5
5
4
7
7
6
6
6
5
5
4
7
7
6
6
6
5
5
4
7
7
6
6
6
5
5
4
7
7
6
6
6
5
5
4
7
7
6
6
6
5
5
4
7
7
6
6
6
5
5
4
7
7
6
6
6
5
5
4
7
7
6
6
6
5
5
4
7
7
6
6
6
5
5
4
7
7
6
6
6
5
5
4
7
7
6
6
6
5
5
4
7
7
6
6
6
5
5
4
7
7
6
6
6
5
5
4
7
7
6
6
6
5
5
4
7
7
6
6
6
5
5
4
7
7
6
6
6
5
5
4
7
7
6
6
6
5
5
4
7
7
6
6
6
5
5
4
7
7
6
6
6
5
5
4
7
7
6
6
6
5
5
4
7
7
6
6
6
5
5
4
7
7
6
6
6
5
5
4
7
7
6
6
6
5
5
4
7
7
6
6
6
5
5
4
7
7
6
6
6
5
5
4
7
7
6
6
6
5
5
4
7
7
6
6
6
5
5
4
7
7
6
6
6
5
5
4
7
7
6
6
6
5
5
4
7
7
6
6
6
5
5
4
7
7
6
6
6
5
5
4
7
7
6
6
6
5
5
4
7
7
6
6
6
5
5
4
7
7
6
6
6
5
5
4
7
7
6
6
6
5
5
4
7
7
6
6
6
5
5
4
7
7
6
6
6
5
5
4
7
7
6
6
6
5
5
4
7
7
6
6
6
5
5
4
7
7
6
6
6
5
5
4
7
7
6
6
6
5
5
4
7
7
6
6
6
5
5
4
7
7
6
6
6
5
5
4
7
7
6
6
6
5
5
4
7
7
6
6
6
5
5
4
7
7
6
6
6
5
5
4
7
7
6
6
6
5
5
4
7
7
6
6
6
5
5
4
7
7
6
6
6
5
5
4
7
7
6
6
6
5
5
4
7
7
6
6
6
5
5
4
7
7
6
6
6
5
5
4
7
7
6
6
6
5
5
4
7
7
6
6
6
5
5
4
7
7
6
6
6
5
5
4
7
7
6
6
6
5
5
4
7
7
6
6
6
5
5
4
7
7
6
6
6
5
5
4
7
7
6
6
6
5
5
4
7
7
6
6
6
5
5
4
7
7
6
6
6
5
5
4
7
7
6
6
6
5
5
4
7
7
6
6
6
5
5
4
7
7
6
6
6
5
5
4
7
7
6
6
6
5
5
4
7
7
6
6
6
5
5
4
7
7
6
6
6
5
5
4
7
7
6
6
6
5
5
4
7
7
6
6
6
5
5
4
7
7
6
6
6
5
5
4
7
7
6
6
6
5
5
4
7
7
6
6
6
5
5
4
7
7
6
6
6
5
5
4
7
7
6
6
6
5
5
4
7
7
6
6
6
5
5
4
7
7
6
6
6
5
5
4
7
7
6
6
6
5
5
4
7
7
7
6
6
5
5
4
7
7
6
6
6
5
5
4
7
7
6
6
6
5
5
4
7
7
6
6
6
5
5
4
7
7
6
6
6
5
5
4
7
7
6
6
6
5
5
4
7
7
6
6
6
5
5
4
7
7
6
6
6
5
5
4
7
7
6
6
6
5
5
4
7
7
6
6
6
5
5
4
7
7
6
6
6
5
5
4
7
7
6
6
6
5
5
4
7
7
6
6
6
5
5
4
7
7
6
6
6
5
5
4
7
7
6
6
6
5
5
4
7
7
6
6
6
5
5
4
7
7
7
6
6
5
5
4
7
7
7
6
6
5
5
4
7
7
7
6
6
5
5
4
7
7
6
6
6
5
5
4
7
7
6
6
6
5
5
4
7
7
6
6
6
5
5
4
7
7
6
6
6
5
5
4
7
7
6
6
6
5
5
4
7
7
6
6
6
5
5
4
7
7
6
6
6
5
5
4
7
7
6
6
6
5
5
4
7
7
6
6
6
5
5
4
7
7
6
6
6
5
5
4
7
7
6
6
6
5
5
4
7
7
6
6
6
5
5
4
7
7
6
6
6
5
5
4
7
7
7
6
6
5
5
4
7
7
7
6
6
5
5
4
7
7
7
6
6
5
5
4
7
7
7
6
6
5
5
4
7
7
7
6
6
5
5
4
7
7
6
6
6
5
5
4
7
7
6
6
6
5
5
4
7
7
6
6
6
5
5
4
7
7
6
6
6
5
5
4
7
7
6
6
6
5
5
4
7
7
6
6
6
5
5
4
7
7
6
6
6
5
5
4
7
7
6
6
6
5
5
4
7
7
6
6
6
5
5
4
7
7
6
6
6
5
5
4
7
7
6
6
6
5
5
4
7
7
7
6
6
5
5
4
7
7
7
6
6
5
5
4
7
7
7
6
6
5
5
4
7
7
7
6
6
5
5
4
7
7
7
6
6
5
5
4
7
7
7
6
6
5
5
4
7
7
7
6
6
5
5
4
7
7
6
6
6
5
5
4
7
7
6
6
6
5
5
4
7
7
6
6
6
5
5
4
7
7
6
6
6
5
5
4
7
7
6
6
6
5
5
4
7
7
6
6
6
5
5
4
7
7
6
6
6
5
5
4
7
7
6
6
6
5
5
4
7
7
6
6
6
5
5
4
7
7
7
6
6
5
5
5
7
7
7
6
6
5
5
5
7
7
7
6
6
5
5
4
7
7
7
6
6
5
5
4
7
7
7
6
6
5
5
4
7
7
7
6
6
5
5
4
7
7
7
6
6
5
5
4
7
7
7
6
6
5
5
4
7
7
7
6
6
5
5
4
7
7
6
6
6
5
5
4
7
7
6
6
6
5
5
4
7
7
6
6
6
5
5
4
7
7
6
6
6
5
5
4
7
7
6
6
6
5
5
4
7
7
6
6
6
5
5
4
7
7
6
6
6
5
5
4
7
7
7
6
6
5
5
5
7
7
7
6
6
5
5
5
7
7
7
6
6
5
5
5
7
7
7
6
6
5
5
5
7
7
7
6
6
5
5
4
7
7
7
6
6
5
5
4
7
7
7
6
6
5
5
4
7
7
7
6
6
5
5
4
7
7
7
6
6
5
5
4
7
7
7
6
6
5
5
4
7
7
7
6
6
5
5
4
7
7
6
6
6
5
5
4
7
7
6
6
6
5
5
4
7
7
6
6
6
5
5
4
7
7
6
6
6
5
5
4
7
7
6
6
6
5
5
4
7
7
7
6
6
5
5
5
7
7
7
6
6
5
5
5
7
7
7
6
6
5
5
5
7
7
7
6
6
5
5
5
7
7
7
6
6
5
5
5
7
7
7
6
6
5
5
5
7
7
7
6
6
5
5
4
7
7
7
6
6
5
5
4
7
7
7
6
6
5
5
4
7
7
7
6
6
5
5
4
7
7
7
6
6
5
5
4
7
7
7
6
6
5
5
4
7
7
7
6
6
5
5
4
7
7
7
6
6
5
5
4
7
7
6
6
6
5
5
4
7
7
6
6
6
5
5
4
7
7
7
6
6
5
5
5
7
7
7
6
6
5
5
5
7
7
7
6
6
5
5
5
7
7
7
6
6
5
5
5
7
7
7
6
6
5
5
5
7
7
7
6
6
5
5
5
7
7
7
6
6
5
5
5
7
7
7
6
6
5
5
5
7
7
7
6
6
5
5
4
7
7
7
6
6
5
5
4
7
7
7
6
6
5
5
4
7
7
7
6
6
5
5
4
7
7
7
6
6
5
5
4
7
7
7
6
6
5
5
4
7
7
7
6
6
5
5
4
7
7
7
6
6
5
5
4
7
7
7
6
6
5
5
5
7
7
7
6
6
5
5
5
7
7
7
6
6
5
5
5
7
7
7
6
6
5
5
5
7
7
7
6
6
5
5
5
7
7
7
6
6
5
5
5
7
7
7
6
6
5
5
5
7
7
7
6
6
5
5
5
7
7
7
6
6
5
5
5
7
7
7
6
6
5
5
5
7
7
7
6
6
5
5
4
7
7
7
6
6
5
5
4
7
7
7
6
6
5
5
4
7
7
7
6
6
5
5
4
7
7
7
6
6
5
5
4
7
7
7
6
6
5
5
4
7
7
7
6
6
5
5
5
7
7
7
6
6
5
5
5
7
7
7
6
6
5
5
5
7
7
7
6
6
5
5
5
7
7
7
6
6
5
5
5
7
7
7
6
6
5
5
5
7
7
7
6
6
5
5
5
7
7
7
6
6
5
5
5
7
7
7
6
6
5
5
5
7
7
7
6
6
5
5
5
7
7
7
6
6
5
5
5
7
7
7
6
6
5
5
5
7
7
7
6
6
5
5
4
7
7
7
6
6
5
5
4
7
7
7
6
6
5
5
4
7
7
7
6
6
5
5
4
7
7
7
6
6
5
5
5
7
7
7
6
6
5
5
5
7
7
7
6
6
5
5
5
7
7
7
6
6
5
5
5
7
7
7
6
6
5
5
5
7
7
7
6
6
5
5
5
7
7
7
6
6
5
5
5
7
7
7
6
6
5
5
5
7
7
7
6
6
5
5
5
7
7
7
6
6
5
5
5
7
7
7
6
6
5
5
5
7
7
7
6
6
5
5
5
7
7
7
6
6
5
5
5
7
7
7
6
6
5
5
5
7
7
7
6
6
5
5
4
7
7
7
6
6
5
5
4
0
0
0
0
1
1
1
2
2
2
0
0
0
0
1
1
1
2
2
2
0
0
0
1
1
1
1
2
2
2
0
0
0
1
1
1
1
2
2
2
0
0
0
1
1
1
1
2
2
2
0
0
0
1
1
1
1
2
2
2
0
0
0
1
1
1
1
2
2
2
0
0
0
1
1
1
1
2
2
2
0
0
0
1
1
1
1
2
2
2
0
0
0
1
1
1
2
2
2
2
0
0
0
1
1
1
2
2
2
2
0
0
0
1
1
1
2
2
2
2
0
0
0
1
1
1
2
2
2
2
0
0
0
1
1
1
2
2
2
2
0
0
0
1
1
1
2
2
2
2
0
0
0
1
1
1
2
2
2
2
0
0
0
1
1
1
2
2
2
2
0
0
0
1
1
1
2
2
2
2
0
0
0
1
1
1
2
2
2
3
0
0
0
1
1
1
2
2
2
3
0
0
0
0
1
1
1
2
2
2
0
0
0
0
1
1
1
2
2
2
0
0
0
0
1
1
1
2
2
2
0
0
0
1
1
1
1
2
2
2
0
0
0
1
1
1
1
2
2
2
0
0
0
1
1
1
1
2
2
2
0
0
0
1
1
1
1
2
2
2
0
0
0
1
1
1
1
2
2
2
0
0
0
1
1
1
1
2
2
2
0
0
0
1
1
1
2
2
2
2
0
0
0
1
1
1
2
2
2
2
0
0
0
1
1
1
2
2
2
2
0
0
0
1
1
1
2
2
2
2
0
0
0
1
1
1
2
2
2
2
0
0
0
1
1
1
2
2
2
2
0
0
0
1
1
1
2
2
2
2
0
0
0
1
1
1
2
2
2
2
0
0
0
1
1
1
2
2
2
2
0
0
0
1
1
1
2
2
2
2
0
0
0
1
1
1
2
2
2
3
0
0
0
0
1
1
1
2
2
2
0
0
0
0
1
1
1
2
2
2
0
0
0
0
1
1
1
2
2
2
0
0
0
1
1
1
1
2
2
2
0
0
0
1
1
1
1
2
2
2
0
0
0
1
1
1
1
2
2
2
0
0
0
1
1
1
1
2
2
2
0
0
0
1
1
1
1
2
2
2
0
0
0
1
1
1
1
2
2
2
0
0
0
1
1
1
1
2
2
2
0
0
0
1
1
1
2
2
2
2
0
0
0
1
1
1
2
2
2
2
0
0
0
1
1
1
2
2
2
2
0
0
0
1
1
1
2
2
2
2
0
0
0
1
1
1
2
2
2
2
0
0
0
1
1
1
2
2
2
2
0
0
0
1
1
1
2
2
2
2
0
0
0
1
1
1
2
2
2
2
0
0
0
1
1
1
2
2
2
2
0
0
0
1
1
1
2
2
2
3
0
0
0
0
1
1
1
2
2
2
0
0
0
0
1
1
1
2
2
2
0
0
0
0
1
1
1
2
2
2
0
0
0
0
1
1
1
2
2
2
0
0
0
1
1
1
1
2
2
2
0
0
0
1
1
1
1
2
2
2
0
0
0
1
1
1
1
2
2
2
0
0
0
1
1
1
1
2
2
2
0
0
0
1
1
1
1
2
2
2
0
0
0
1
1
1
1
2
2
2
0
0
0
1
1
1
2
2
2
2
0
0
0
1
1
1
2
2
2
2
0
0
0
1
1
1
2
2
2
2
0
0
0
1
1
1
2
2
2
2
0
0
0
1
1
1
2
2
2
2
0
0
0
1
1
1
2
2
2
2
0
0
0
1
1
1
2
2
2
2
0
0
0
1
1
1
2
2
2
2
0
0
0
1
1
1
2
2
2
2
0
0
0
1
1
1
2
2
2
2
0
0
0
0
1
1
1
2
2
2
0
0
0
0
1
1
1
2
2
2
0
0
0
0
1
1
1
2
2
2
0
0
0
0
1
1
1
2
2
2
0
0
0
1
1
1
1
2
2
2
0
0
0
1
1
1
1
2
2
2
0
0
0
1
1
1
1
2
2
2
0
0
0
1
1
1
1
2
2
2
0
0
0
1
1
1
1
2
2
2
0
0
0
1
1
1
1
2
2
2
0
0
0
1
1
1
1
2
2
2
0
0
0
1
1
1
2
2
2
2
0
0
0
1
1
1
2
2
2
2
0
0
0
1
1
1
2
2
2
2
0
0
0
1
1
1
2
2
2
2
0
0
0
1
1
1
2
2
2
2
0
0
0
1
1
1
2
2
2
2
0
0
0
1
1
1
2
2
2
2
0
0
0
1
1
1
2
2
2
2
0
0
0
1
1
1
2
2
2
2
0
0
0
0
1
1
1
2
2
2
0
0
0
0
1
1
1
2
2
2
0
0
0
0
1
1
1
2
2
2
0
0
0
0
1
1
1
2
2
2
0
0
0
1
1
1
1
2
2
2
0
0
0
1
1
1
1
2
2
2
0
0
0
1
1
1
1
2
2
2
0
0
0
1
1
1
1
2
2
2
0
0
0
1
1
1
1
2
2
2
0
0
0
1
1
1
1
2
2
2
0
0
0
1
1
1
1
2
2
2
0
0
0
1
1
1
2
2
2
2
0
0
0
1
1
1
2
2
2
2
0
0
0
1
1
1
2
2
2
2
0
0
0
1
1
1
2
2
2
2
0
0
0
1
1
1
2
2
2
2
0
0
0
1
1
1
2
2
2
2
0
0
0
1
1
1
2
2
2
2
0
0
0
1
1
1
2
2
2
2
0
0
0
1
1
1
2
2
2
2
0
0
0
0
1
1
1
2
2
2
0
0
0
0
1
1
1
2
2
2
0
0
0
0
1
1
1
2
2
2
0
0
0
0
1
1
1
2
2
2
0
0
0
0
1
1
1
2
2
2
0
0
0
1
1
1
1
2
2
2
0
0
0
1
1
1
1
2
2
2
0
0
0
1
1
1
1
2
2
2
0
0
0
1
1
1
1
2
2
2
0
0
0
1
1
1
1
2
2
2
0
0
0
1
1
1
1
2
2
2
0
0
0
1
1
1
1
2
2
2
0
0
0
1
1
1
2
2
2
2
0
0
0
1
1
1
2
2
2
2
0
0
0
1
1
1
2
2
2
2
0
0
0
1
1
1
2
2
2
2
0
0
0
1
1
1
2
2
2
2
0
0
0
1
1
1
2
2
2
2
0
0
0
1
1
1
2
2
2
2
0
0
0
1
1
1
2
2
2
2
0
0
0
0
1
1
1
2
2
2
0
0
0
0
1
1
1
2
2
2
0
0
0
0
1
1
1
2
2
2
0
0
0
0
1
1
1
2
2
2
0
0
0
0
1
1
1
2
2
2
0
0
0
1
1
1
1
2
2
2
0
0
0
1
1
1
1
2
2
2
0
0
0
1
1
1
1
2
2
2
0
0
0
1
1
1
1
2
2
2
0
0
0
1
1
1
1
2
2
2
0
0
0
1
1
1
1
2
2
2
0
0
0
1
1
1
1
2
2
2
0
0
0
1
1
1
2
2
2
2
0
0
0
1
1
1
2
2
2
2
0
0
0
1
1
1
2
2
2
2
0
0
0
1
1
1
2
2
2
2
0
0
0
1
1
1
2
2
2
2
0
0
0
1
1
1
2
2
2
2
0
0
0
1
1
1
2
2
2
2
0
0
0
1
1
1
2
2
2
2
0
0
0
0
1
1
1
2
2
2
0
0
0
0
1
1
1
2
2
2
0
0
0
0
1
1
1
2
2
2
0
0
0
0
1
1
1
2
2
2
0
0
0
0
1
1
1
2
2
2
0
0
0
0
1
1
1
2
2
2
0
0
0
1
1
1
1
2
2
2
0
0
0
1
1
1
1
2
2
2
0
0
0
1
1
1
1
2
2
2
0
0
0
1
1
1
1
2
2
2
0
0
0
1
1
1
1
2
2
2
0
0
0
1
1
1
1
2
2
2
0
0
0
1
1
1
2
2
2
2
0
0
0
1
1
1
2
2
2
2
0
0
0
1
1
1
2
2
2
2
0
0
0
1
1
1
2
2
2
2
0
0
0
1
1
1
2
2
2
2
0
0
0
1
1
1
2
2
2
2
0
0
0
1
1
1
2
2
2
2
0
0
0
1
1
1
2
2
2
2
0
0
0
0
1
1
1
2
2
2
0
0
0
0
1
1
1
2
2
2
0
0
0
0
1
1
1
2
2
2
0
0
0
0
1
1
1
2
2
2
0
0
0
0
1
1
1
2
2
2
0
0
0
0
1
1
1
2
2
2
0
0
0
1
1
1
1
2
2
2
0
0
0
1
1
1
1
2
2
2
0
0
0
1
1
1
1
2
2
2
0
0
0
1
1
1
1
2
2
2
0
0
0
1
1
1
1
2
2
2
0
0
0
1
1
1
1
2
2
2
0
0
0
1
1
1
1
2
2
2
0
0
0
1
1
1
2
2
2
2
0
0
0
1
1
1
2
2
2
2
0
0
0
1
1
1
2
2
2
2
0
0
0
1
1
1
2
2
2
2
0
0
0
1
1
1
2
2
2
2
0
0
0
1
1
1
2
2
2
2
0
0
0
1
1
1
2
2
2
2
0
0
0
0
1
1
1
2
2
2
0
0
0
0
1
1
1
2
2
2
0
0
0
0
1
1
1
2
2
2
0
0
0
0
1
1
1
2
2
2
0
0
0
0
1
1
1
2
2
2
0
0
0
0
1
1
1
2
2
2
0
0
0
0
1
1
1
2
2
2
0
0
0
1
1
1
1
2
2
2
0
0
0
1
1
1
1
2
2
2
0
0
0
1
1
1
1
2
2
2
0
0
0
1
1
1
1
2
2
2
0
0
0
1
1
1
1
2
2
2
0
0
0
1
1
1
1
2
2
2
0
0
0
1
1
1
2
2
2
2
0
0
0
1
1
1
2
2
2
2
0
0
0
1
1
1
2
2
2
2
0
0
0
1
1
1
2
2
2
2
0
0
0
1
1
1
2
2
2
2
0
0
0
1
1
1
2
2
2
2
0
0
0
1
1
1
2
2
2
2
0
0
0
0
1
1
1
2
2
2
0
0
0
0
1
1
1
2
2
2
0
0
0
0
1
1
1
2
2
2
0
0
0
0
1
1
1
2
2
2
0
0
0
0
1
1
1
2
2
2
0
0
0
0
1
1
1
2
2
2
0
0
0
0
1
1
1
2
2
2
0
0
0
1
1
1
1
2
2
2
0
0
0
1
1
1
1
2
2
2
0
0
0
1
1
1
1
2
2
2
0
0
0
1
1
1
1
2
2
2
0
0
0
1
1
1
1
2
2
2
0
0
0
1
1
1
1
2
2
2
0
0
0
1
1
1
1
2
2
2
0
0
0
1
1
1
2
2
2
2
0
0
0
1
1
1
2
2
2
2
0
0
0
1
1
1
2
2
2
2
0
0
0
1
1
1
2
2
2
2
0
0
0
1
1
1
2
2
2
2
0
0
0
1
1
1
2
2
2
2
0
0
0
0
1
1
1
2
2
2
0
0
0
0
1
1
1
2
2
2
0
0
0
0
1
1
1
2
2
2
0
0
0
0
1
1
1
2
2
2
0
0
0
0
1
1
1
2
2
2
0
0
0
0
1
1
1
2
2
2
0
0
0
0
1
1
1
2
2
2
0
0
0
0
1
1
1
2
2
2
0
0
0
1
1
1
1
2
2
2
0
0
0
1
1
1
1
2
2
2
0
0
0
1
1
1
1
2
2
2
0
0
0
1
1
1
1
2
2
2
0
0
0
1
1
1
1
2
2
2
0
0
0
1
1
1
1
2
2
2
0
0
0
1
1
1
2
2
2
2
0
0
0
1
1
1
2
2
2
2
0
0
0
1
1
1
2
2
2
2
0
0
0
1
1
1
2
2
2
2
0
0
0
1
1
1
2
2
2
2
0
0
0
1
1
1
2
2
2
2
0
0
0
0
1
1
1
2
2
2
0
0
0
0
1
1
1
2
2
2
0
0
0
0
1
1
1
2
2
2
0
0
0
0
1
1
1
2
2
2
0
0
0
0
1
1
1
2
2
2
0
0
0
0
1
1
1
2
2
2
0
0
0
0
1
1
1
2
2
2
0
0
0
0
1
1
1
2
2
2
0
0
0
1
1
1
1
2
2
2
0
0
0
1
1
1
1
2
2
2
0
0
0
1
1
1
1
2
2
2
0
0
0
1
1
1
1
2
2
2
0
0
0
1
1
1
1
2
2
2
0
0
0
1
1
1
1
2
2
2
0
0
0
1
1
1
1
2
2
2
0
0
0
1
1
1
2
2
2
2
0
0
0
1
1
1
2
2
2
2
0
0
0
1
1
1
2
2
2
2
0
0
0
1
1
1
2
2
2
2
0
0
0
1
1
1
2
2
2
2
0
0
0
0
1
1
1
2
2
2
0
0
0
0
1
1
1
2
2
2
0
0
0
0
1
1
1
2
2
2
0
0
0
0
1
1
1
2
2
2
0
0
0
0
1
1
1
2
2
2
0
0
0
0
1
1
1
2
2
2
0
0
0
0
1
1
1
2
2
2
0
0
0
0
1
1
1
2
2
2
0
0
0
0
1
1
1
2
2
2
0
0
0
1
1
1
1
2
2
2
0
0
0
1
1
1
1
2
2
2
0
0
0
1
1
1
1
2
2
2
0
0
0
1
1
1
1
2
2
2
0
0
0
1
1
1
1
2
2
2
0
0
0
1
1
1
1
2
2
2
0
0
0
1
1
1
2
2
2
2
0
0
0
1
1
1
2
2
2
2
0
0
0
1
1
1
2
2
2
2
0
0
0
1
1
1
2
2
2
2
0
0
0
1
1
1
2
2
2
2
0
0
0
0
1
1
1
2
2
2
0
0
0
0
1
1
1
2
2
2
0
0
0
0
1
1
1
2
2
2
0
0
0
0
1
1
1
2
2
2
0
0
0
0
1
1
1
2
2
2
0
0
0
0
1
1
1
2
2
2
0
0
0
0
1
1
1
2
2
2
0
0
0
0
1
1
1
2
2
2
0
0
0
0
1
1
1
2
2
2
0
0
0
1
1
1
1
2
2
2
0
0
0
1
1
1
1
2
2
2
0
0
0
1
1
1
1
2
2
2
0
0
0
1
1
1
1
2
2
2
0
0
0
1
1
1
1
2
2
2
0
0
0
1
1
1
1
2
2
2
0
0
0
1
1
1
1
2
2
2
0
0
0
1
1
1
2
2
2
2
0
0
0
1
1
1
2
2
2
2
0
0
0
1
1
1
2
2
2
2
0
0
0
1
1
1
2
2
2
2
0
0
0
0
1
1
1
2
2
2
0
0
0
0
1
1
1
2
2
2
0
0
0
0
1
1
1
2
2
2
0
0
0
0
1
1
1
2
2
2
0
0
0
0
1
1
1
2
2
2
0
0
0
0
1
1
1
2
2
2
0
0
0
0
1
1
1
2
2
2
0
0
0
0
1
1
1
2
2
2
0
0
0
0
1
1
1
2
2
2
0
0
0
0
1
1
1
2
2
2
0
0
0
1
1
1
1
2
2
2
0
0
0
1
1
1
1
2
2
2
0
0
0
1
1
1
1
2
2
2
0
0
0
1
1
1
1
2
2
2
0
0
0
1
1
1
1
2
2
2
0
0
0
1
1
1
1
2
2
2
0
0
0
1
1
1
2
2
2
2
0
0
0
1
1
1
2
2
2
2
0
0
0
1
1
1
2
2
2
2
0
0
0
1
1
1
2
2
2
2
0
0
0
0
1
1
1
2
2
2
0
0
0
0
1
1
1
2
2
2
0
0
0
0
1
1
1
2
2
2
0
0
0
0
1
1
1
2
2
2
0
0
0
0
1
1
1
2
2
2
0
0
0
0
1
1
1
2
2
2
0
0
0
0
1
1
1
2
2
2
0
0
0
0
1
1
1
2
2
2
0
0
0
0
1
1
1
2
2
2
0
0
0
0
1
1
1
2
2
2
0
0
0
1
1
1
1
2
2
2
0
0
0
1
1
1
1
2
2
2
0
0
0
1
1
1
1
2
2
2
0
0
0
1
1
1
1
2
2
2
0
0
0
1
1
1
1
2
2
2
0
0
0
1
1
1
1
2
2
2
0
0
0
1
1
1
1
2
2
2
0
0
0
1
1
1
2
2
2
2
0
0
0
1
1
1
2
2
2
2
0
0
0
1
1
1
2
2
2
2
0
0
0
0
1
1
1
2
2
2
0
0
0
0
1
1
1
2
2
2
0
0
0
0
1
1
1
2
2
2
0
0
0
0
1
1
1
2
2
2
0
0
0
0
1
1
1
2
2
2
0
0
0
0
1
1
1
2
2
2
0
0
0
0
1
1
1
2
2
2
0
0
0
0
1
1
1
2
2
2
0
0
0
0
1
1
1
2
2
2
0
0
0
0
1
1
1
2
2
2
0
0
0
0
1
1
1
2
2
2
0
0
0
1
1
1
1
2
2
2
0
0
0
1
1
1
1
2
2
2
0
0
0
1
1
1
1
2
2
2
0
0
0
1
1
1
1
2
2
2
0
0
0
1
1
1
1
2
2
2
0
0
0
1
1
1
1
2
2
2
0
0
0
1
1
1
2
2
2
2
0
0
0
1
1
1
2
2
2
2
0
0
0
1
1
1
2
2
2
2
0
0
0
0
1
1
1
2
2
2
0
0
0
0
1
1
1
2
2
2
0
0
0
0
1
1
1
2
2
2
0
0
0
0
1
1
1
2
2
2
0
0
0
0
1
1
1
2
2
2
0
0
0
0
1
1
1
2
2
2
0
0
0
0
1
1
1
2
2
2
0
0
0
0
1
1
1
2
2
2
0
0
0
0
1
1
1
2
2
2
0
0
0
0
1
1
1
2
2
2
0
0
0
0
1
1
1
2
2
2
0
0
0
1
1
1
1
2
2
2
0
0
0
1
1
1
1
2
2
2
0
0
0
1
1
1
1
2
2
2
0
0
0
1
1
1
1
2
2
2
0
0
0
1
1
1
1
2
2
2
0
0
0
1
1
1
1
2
2
2
0
0
0
1
1
1
1
2
2
2
0
0
0
1
1
1
2
2
2
2
0
0
0
1
1
1
2
2
2
2
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
4
4
3
3
3
3
3
3
3
3
3
3
3
3
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
5
5
5
4
4
4
4
4
4
4
4
4
4
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
7
7
6
6
6
6
6
6
6
6
6
6
6
6
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
4
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
4
4
4
4
4
3
3
3
3
3
3
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
5
5
5
5
5
5
4
4
4
4
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
7
7
7
7
7
6
6
6
6
6
6
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
4
4
4
3
3
3
3
3
3
3
3
3
3
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
5
5
4
4
4
4
4
4
4
4
4
4
4
4
4
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
6
5
5
5
5
5
5
5
5
5
5
5
5
5
5
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
5
5
5
5
5
5
4
4
4
4
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
6
6
6
6
6
6
5
5
5
5
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
5
5
4
4
4
4
4
4
4
4
4
4
4
4
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
6
6
6
6
5
5
5
5
5
5
5
5
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
3
4
4
5
5
6
7
7
3
4
4
5
5
6
7
7
3
3
4
5
5
6
6
7
3
3
4
4
5
6
6
7
3
3
4
4
5
6
6
7
3
3
4
4
5
6
6
7
3
3
4
4
5
6
6
7
3
3
4
4
5
6
6
7
3
3
4
4
5
6
6
7
3
3
4
4
5
6
6
7
3
3
4
4
5
6
6
7
3
3
4
4
5
6
6
7
3
3
4
4
5
6
6
7
3
3
4
5
5
6
7
7
3
4
4
5
5
6
7
7
3
4
4
5
5
6
7
7
4
4
4
5
5
6
7
7
3
4
4
5
5
6
7
7
3
4
4
5
5
6
7
7
3
4
4
5
5
6
7
7
3
4
4
5
5
6
7
7
3
3
4
5
5
6
7
7
3
3
4
5
5
6
6
7
3
3
4
4
5
6
6
7
3
3
4
4
5
6
6
7
3
3
4
5
5
6
6
7
3
3
4
5
5
6
7
7
3
4
4
5
5
6
7
7
3
4
4
5
5
6
7
7
3
4
4
5
5
6
7
7
3
4
4
5
5
6
7
7
4
4
4
5
5
6
7
7
4
4
5
5
6
6
7
7
4
4
5
5
5
6
7
7
4
4
4
5
5
6
7
7
3
4
4
5
5
6
7
7
3
4
4
5
5
6
7
7
3
4
4
5
5
6
7
7
3
4
4
5
5
6
7
7
3
4
4
5
5
6
7
7
3
4
4
5
5
6
7
7
3
4
4
5
5
6
7
7
3
4
4
5
5
6
7
7
3
4
4
5
5
6
7
7
3
4
4
5
5
6
7
7
4
4
4
5
5
6
7
7
4
4
5
5
6
6
7
7
4
4
5
5
6
6
7
7
4
4
5
5
6
6
7
7
4
4
5
5
6
6
7
7
4
4
5
5
6
6
7
7
4
4
5
5
6
6
7
7
4
4
5
5
6
6
7
7
4
4
5
5
6
6
7
7
4
4
5
5
6
6
7
7
4
4
5
5
5
6
7
7
4
4
5
5
5
6
7
7
4
4
5
5
6
6
7
7
4
4
5
5
6
6
7
7
4
4
5
5
6
6
7
7
4
4
5
5
6
6
7
7
4
4
5
5
6
6
7
7
4
4
5
5
6
6
7
7
4
4
5
5
6
6
7
7
4
5
5
5
6
6
7
7
4
5
5
5
6
6
7
7
4
4
5
5
6
6
7
7
4
4
5
5
6
6
7
7
4
4
5
5
6
6
7
7
4
4
5
5
6
6
7
7
4
4
5
5
6
6
7
7
4
4
5
5
6
6
7
7
4
4
5
5
6
6
7
7
4
4
5
5
6
6
7
7
4
4
5
5
6
6
7
7
4
4
5
5
6
6
7
7
4
4
5
5
6
6
7
7
4
4
5
5
6
6
7
7
4
5
5
5
6
6
7
7
4
5
5
5
6
6
7
7
4
5
5
6
6
6
7
7
4
5
5
6
6
6
7
7
4
5
5
6
6
6
7
7
4
5
5
6
6
6
7
7
4
5
5
6
6
6
7
7
4
5
5
5
6
6
7
7
4
5
5
5
6
6
7
7
4
5
5
5
6
6
7
7
4
5
5
5
6
6
7
7
4
5
5
5
6
6
7
7
4
5
5
6
6
6
7
7
4
5
5
6
6
6
7
7
4
5
5
6
6
6
7
7
4
5
5
6
6
6
7
7
4
5
5
6
6
6
7
7
4
5
5
6
6
6
7
7
3
3
4
4
4
4
3
3
4
4
4
4
3
3
4
4
4
4
3
3
3
4
4
4
3
3
3
4
4
4
3
3
3
4
4
4
3
3
3
4
4
4
3
3
3
4
4
4
3
3
3
4
4
4
3
3
3
4
4
4
3
3
3
4
4
4
3
3
3
4
4
4
3
3
3
4
4
4
3
3
4
4
4
4
3
3
4
4
4
4
3
4
4
4
4
4
4
4
4
4
5
5
4
4
4
4
5
5
3
4
4
4
4
5
3
4
4
4
4
5
3
4
4
4
4
5
3
3
4
4
4
5
3
3
4
4
4
5
3
3
4
4
4
5
3
3
4
4
4
5
3
3
4
4
4
5
3
3
4
4
4
5
3
4
4
4
4
5
3
4
4
4
4
5
3
4
4
4
4
5
4
4
4
4
5
5
4
4
4
4
5
5
4
4
5
5
5
5
4
4
4
5
5
5
4
4
4
5
5
5
4
4
4
5
5
5
4
4
4
5
5
5
4
4
4
5
5
5
4
4
4
5
5
5
4
4
4
4
5
5
4
4
4
4
5
5
4
4
4
5
5
5
4
4
4
5
5
5
4
4
4
5
5
5
4
4
4
5
5
5
4
4
4
5
5
5
4
4
5
5
5
5
4
4
5
5
5
5
5
5
5
5
5
6
5
5
5
5
5
6
5
5
5
5
5
6
4
5
5
5
5
6
4
5
5
5
5
5
4
5
5
5
5
5
4
4
5
5
5
5
4
4
5
5
5
5
4
4
5
5
5
5
4
4
5
5
5
5
4
5
5
5
5
5
4
5
5
5
5
6
4
5
5
5
5
6
5
5
5
5
5
6
5
5
5
5
5
6
5
5
5
5
5
6
5
5
6
6
6
6
5
5
5
6
6
6
5
5
5
6
6
6
5
5
5
6
6
6
5
5
5
6
6
6
5
5
5
6
6
6
5
5
5
5
6
6
5
5
5
5
6
6
5
5
5
5
6
6
5
5
5
5
6
6
5
5
5
6
6
6
5
5
5
6
6
6
5
5
5
6
6
6
5
5
5
6
6
6
5
5
6
6
6
6
5
5
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
7
7
7
7
7
7
7
7
7
7
7
7
6
7
7
7
7
7
6
7
7
7
7
7
6
7
7
7
7
7
6
6
7
7
7
7
6
6
7
7
7
7
6
6
7
7
7
7
6
6
7
7
7
7
6
6
7
7
7
7
6
7
7
7
7
7
6
7
7
7
7
7
6
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
4
4
4
3
3
3
3
3
3
3
3
3
3
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
4
4
3
3
3
3
3
3
3
3
3
3
3
3
3
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
4
3
3
3
3
3
3
3
3
3
3
3
3
3
3
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
4
4
4
4
4
3
3
3
3
3
3
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
4
4
4
4
3
3
3
3
3
3
3
3
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
4
4
4
3
3
3
3
3
3
3
3
3
3
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
4
4
4
3
3
3
3
3
3
3
3
3
3
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
4
4
4
3
3
3
3
3
3
3
3
3
3
3
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
4
4
4
3
3
3
3
3
3
3
3
3
3
3
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
4
4
4
3
3
3
3
3
3
3
3
3
3
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
4
4
4
3
3
3
3
3
3
3
3
3
3
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
4
4
4
4
3
3
3
3
3
3
3
3
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
4
4
4
4
4
3
3
3
3
3
3
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
4
3
3
3
3
3
3
3
3
3
3
3
3
3
3
4
4
4
4
4
4
4
4
4
3
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
4
3
3
3
3
3
3
3
3
3
3
3
3
3
3
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
4
4
4
3
3
3
3
3
3
3
3
3
3
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
3
4
4
5
5
6
7
7
3
4
4
5
5
6
7
7
3
3
4
5
5
6
7
7
3
3
4
4
5
6
6
7
3
3
4
4
5
6
6
7
3
3
4
4
5
6
6
7
3
3
4
4
5
6
6
7
3
3
4
4
5
6
6
7
3
3
4
4
5
6
6
7
3
3
4
4
5
6
6
7
3
3
4
4
5
6
6
7
3
3
4
4
5
6
6
7
3
3
4
4
5
6
6
7
3
3
4
5
5
6
7
7
3
4
4
5
5
6
7
7
3
4
4
5
5
6
7
7
4
4
4
5
5
6
7
7
3
4
4
5
5
6
7
7
3
4
4
5
5
6
7
7
3
4
4
5
5
6
7
7
3
4
4
5
5
6
7
7
3
3
4
5
5
6
7
7
3
3
4
5
5
6
6
7
3
3
4
4
5
6
6
7
3
3
4
4
5
6
6
7
3
3
4
5
5
6
7
7
3
3
4
5
5
6
7
7
3
4
4
5
5
6
7
7
3
4
4
5
5
6
7
7
3
4
4
5
5
6
7
7
3
4
4
5
5
6
7
7
4
4
4
5
5
6
7
7
4
4
5
5
6
6
7
7
4
4
5
5
6
6
7
7
4
4
4
5
5
6
7
7
3
4
4
5
5
6
7
7
3
4
4
5
5
6
7
7
3
4
4
5
5
6
7
7
3
4
4
5
5
6
7
7
3
4
4
5
5
6
7
7
3
4
4
5
5
6
7
7
3
4
4
5
5
6
7
7
3
4
4
5
5
6
7
7
3
4
4
5
5
6
7
7
3
4
4
5
5
6
7
7
4
4
4
5
5
6
7
7
4
4
5
5
6
6
7
7
4
4
5
5
6
6
7
7
4
4
5
5
6
6
7
7
4
4
5
5
6
6
7
7
4
4
5
5
6
6
7
7
4
4
5
5
6
6
7
7
4
4
5
5
6
6
7
7
4
4
5
5
6
6
7
7
4
4
5
5
6
6
7
7
4
4
5
5
5
6
7
7
4
4
5
5
5
6
7
7
4
4
5
5
6
6
7
7
4
4
5
5
6
6
7
7
4
4
5
5
6
6
7
7
4
4
5
5
6
6
7
7
4
4
5
5
6
6
7
7
4
4
5
5
6
6
7
7
4
4
5
5
6
6
7
7
4
5
5
5
6
6
7
7
4
5
5
5
6
6
7
7
4
4
5
5
6
6
7
7
4
4
5
5
6
6
7
7
4
4
5
5
6
6
7
7
4
4
5
5
6
6
7
7
4
4
5
5
6
6
7
7
4
4
5
5
6
6
7
7
4
4
5
5
6
6
7
7
4
4
5
5
6
6
7
7
4
4
5
5
6
6
7
7
4
4
5
5
6
6
7
7
4
4
5
5
6
6
7
7
4
4
5
5
6
6
7
7
4
5
5
5
6
6
7
7
4
5
5
5
6
6
7
7
4
5
5
6
6
6
7
7
4
5
5
6
6
6
7
7
4
5
5
6
6
6
7
7
4
5
5
6
6
6
7
7
4
5
5
6
6
6
7
7
4
5
5
6
6
6
7
7
4
5
5
5
6
6
7
7
4
5
5
5
6
6
7
7
4
5
5
5
6
6
7
7
4
5
5
5
6
6
7
7
4
5
5
6
6
6
7
7
4
5
5
6
6
6
7
7
4
5
5
6
6
6
7
7
4
5
5
6
6
6
7
7
4
5
5
6
6
6
7
7
4
5
5
6
6
6
7
7
)
// ************************************************************************* //