cuburi

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 cuburi.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 cuburi.out va contine un singur numar reprezentand numarul de cuburi mici care si-au pastrat orientarea initiala.

Restrictii

Exemplu

cuburi.in

cuburi.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

Timp maxim de executie/test: 0.1 secunde

student Marius Andrei

Facultatea de Automatica si Calculatoare

Contact:marsamg@yahoo.com