/// MICA INTRODUCERE IN C++ ///

/// Informatica sau algoritmica este una dintre materiile studiate la scoala asa ca voi trece rapid peste bazele
/// limbajului C++ , prespunand ca majoritatea lucrurilor le stiti de la scoala

#include <fstream>  /// declaram stream-urile - aici lucram pe fisiere , deci e necesar fstream 
// imi permint sa fac o paranteza , astfel vreau sa accesntuez cain C++ este prea cunoscut faptul ca 
// streamurile nu mai trebuie declarate ca in vechiul C cu terminatia .h

using namespace std;

int n; // variabilele pot fi declarate global (cum am facut pe aceasta linie) sau local , cum veti vedea mai jos
// avantajul sau , mai bine zis , specificitatea declararii globale este faptul ca varibilele globale sunt initializate cu 0

int main()
{
	freopen("proiect.in","r",stdin); // citirea mea preferata este cea cu "freopen" : am deschis fisierul pentru citire 
	freopen("proiect.out","w",stdout); // la fel am deschis fisierul de iesire
	// o sa abordam citirea si tiparirea in alte probleme
	scanf("%d",&n); // asa se face citirea ... semnul "&" reprezinta adresa viabilei
	// %d corespunde variabilelor de tip "int"
	// %ld corespunde variabilelor de tip "long"
	// %I64d corespunde variabilelor de tip "long long"
	// %c corespunde variabilelor de tip "char" - caractere
	// acestea sunt cele mai cunoscute tipuri de variabile
	int i=1,j; // in orice declarare de varibile , fie ele locale sau globale le putem atribui o valoare initiala 
	
	// OPERATIILE
	// sunt disponibile 6 operatii in C++  
	i=i+1; // adunare "+"
	i=i-1; // scadere "-"
	i=i*2; // inmultire "*"
	i=i/2; // impartire "/"
	i=i%2; // modulo "%" (restul la impartire)
	i=sqrt(i); // radical "sqrt()"
	/// STRUCTURA DECIZIONALA "if"
	if (n==1) // PC (pseudo-cod): daca n=1 atunci
		printf("DA"); /// asa se face afisrarea
		else /// PC: altfel
			printf("NU\n"); // "\n" reprezinta carcaterul pentru "newline"
	
	/// STRUCTURA REPETITIVA "while"
	while (i<n)
		++i; // PC: cattimp i<n itireaza i(i=i+1)
	
	/// STRUCTURA REPETITIVA "for"
	for (i=1;i<=n;++i) // pentru i=1,n executa (de la 1 pana la n cu pas 1)		
		scanf("%d",&j); /// citeste j;
	// cele 3 componente esentiale ale "for"-ului sunt declararea valori de inceput (i=1) , declararea coditiei de incetare (i<=n)
	// si declararea pasului (++i sau i+=2 sau i-=2 , etc)
	// pirma si a 3-a structura pot lipsi din alcatuirea forului 
	// PONT: un for e mai rapid decat un while deci in loc sa folosesti un while mai bine folosesti un for 
	// (fara 2 parti , daca e cazul)
	
	/// VECTORII 
	// problabil ati intalinit notiunea de "vector" in geometrie , aici vectorul e o serie de variabile
	int a[1000]; // serie de 1000 de variabile ... numerotarea lor incepe de la 0 , deci avem acum sirul a[0],a[1], ... , a[999]
	for (i=1;i<=n;++i) 
		scanf("%d",&a[i]); // citirea vecorului se poate face ca o variabila , acesti vectori sunt utili cand ai de lucrat cu 
	// mult de o variabila
	
	// MATRICIILE
	int b[1000][1000];
	for (i=1;i<=n;++i) 
		for (j=1;j<=n;++j)
		scanf("%d",&a[i][j]); // matricea este o multime de vectori 
	// matricile pot fi bidimensionale , tridimensionale , ndimensionale 
	// in practica se folosesc cel mai des matricile bidimensionale
		
	// BLOCUL DE INSTRUCTIUNI
	for (i=1;i<=n;++i)
	{
		++j;
		if (n%2==0)
			printf("par");
	}  /// daca doriti sa folositi mai multe intructiuni trebuie sa le puneti intre { si }
	/// acoladele sunt ca si begin-end-urile din Pascal
	return 0; 
	// orice program are tendinta sa returneze o valoare ; merge sa dati "return 1" , dar sa nu incercati asta la olimpiade 
}
