Avem un cub de dimensiune N format din N^3 cuburi de dimensiuni egale cu unitatea. Consideram coltul (0,0,0) ca fiind coltul de stanga jos spate al cubului. Prin acest colt vom identifica fiecare cub mic.
Asupra acestor cuburi se aplica mai multe operatii.
O operatie consta in alegerea unui paralelipiped format din o parte din aceste cuburi si inversarea orientarii cuburilor ce fac parte din acest paralelipiped. Invesarea orientarii inseamna o rotire a cubului cu 180 de grade in jurul axei Ox. Cu alte cuvinte fata de sus ajunge jos si invers.
Daca se alege paralelipipedul cu colturile in (0,0,0) si (1,2,1) practic cuburile cu coltul stanga jos spate in (0,0,0) si (0,1,0) isi vor schimba orientarea.
Cerinta
Scrieti un program care afla, dupa sfarsitul tuturor operatiilor, cate cuburi si-au pastrat orientarea initiala.
Date de intrare
Pe prima linie a fisierului de intrare cuburi1.in sunt scrise numerele N si M, reprezentand latura cubului mare si numarul de operatii.
Pe urmatoarele M linii sunt date cate 6 numere intregi despartite de un spatiu X1 Y1 Z1 X2 Y2 Z2 reprezentand colturile paralelipipedului asupra caruia se aplica o operatie de inversare a orientari.
Date de iesire
Prima linie a fisierului cuburi1.out va contine un singur numar reprezentand numarul de cuburi mici care si-au pastrat orientarea initiala.
Restrictii
1 <= N <= 50
1 <= M <= 10 000
0 <= X1 < X2 <= N
0 <= Y1 < Y2 <= N
0 <= Z1 < Z2 <= N
Exemplu
cuburi1.in
cuburi1.out
Comentarii
3 2 0 0 0 2 2 2 1 1 1 3 3 3
13
Cu cele 2 operatii au fost inversate 8 + 8 = 16 cuburi. Dar cubul (1,1,1) a fost inversat de doua ori deci practic si-a pastrat orientarea initiala. Astfel 27(cuburi intiale) - 14 = 13 cuburi si-au pastrat orientarea