Задача C1. ОЦЕНКИ

На ръководителите на отбори за олимпиадите по програмиране също не им е лесно. Ето в каква ситуация могат да попаднат те. На олимпиадата има два състезателни дни с по три задачи, решението на всяка от които се оценява от 0 до 100 точки, така че резултатът на всеки от тримата състезатели в един отбор е между 0 и 300 точки за всеки ден. За да се запази класирането в тайна до момента на награждаването, не се съобщават сумарните резултати на участниците, но някои ръководители, понякога, успяват да научат получените точки за всеки от двата дни на учениците от N-те противникови отбора, без да знаят кой резултат на кой ученик е. И тогава започват сметките! Като се знае сумарният брой точки X на най-добре представилия се техен ученик, целта е да се пресметне какво може да бъде най-високото му класиране, т.е. на кое място би се наредил сред състезателите от N-те противникови отбора, при най-благоприятното съчетаване на точките от първия и втория ден. Помогнете на такива ръководители. Напишете програма GRADE.EXE, която да пресмята най-доброто възможно класиране на ученика с X точки .
Входните данни ще бъдат зададени на стандартния вход. В първия му ред, разделени с един интервал ще бъдат зададени числата X и N, 3N100. Всеки от следващите N реда ще съдържа шестте оценки на състезателите от поредния отбор, разделени с по един интервал. Първите три числа са оценките на тримата състезатели от първия ден, а следващите три – от втория ден.    
На стандартния изход програмата трябва да изведе намереното най-добро възможно класиране на “нашия” ученик. Ако един резултат на противников състезател от двата дни е равен на X, ще считаме че нашият ученик ще бъде класиран преди съответния противник, имащ същия резултат.  

ПРИМЕР

Вход							Изход
421 3						1
124 288 67 133 154 200
12 201 300 220 76 123
84 112 106 200 99 99

 

	Задача C2. ЧИСЛОВИ КВАДРАТИ

Напишете програма SQUARE.EXE, която представя цялото положително число N като сума от възможно най-малко на брой точни числови квадрати. 

Програмата трябва да въведе стойността на N (N<105) от стандартния вход.

 На един ред в стандартния изход програмата трябва да изведе  намереният брой на точните числови квадрати, чиято сума е равна на N, а след това и самите числови квадрати, разделени с по един интервал. Ако задачата има няколко решения, трябва да се изведе едно от тях.

ПРИМЕР

Вход 

10

Изход

2 1 9 

 

	Задача C3. ПРОСТИ ЧИСЛА

	Учителят в школата по математика написал на дъската няколко прости числа, по-малки от 1000, но не оставил интервали между отделните числа. Учениците трябвало да открият кои са числата.
	Помогнете на своите приятели, като напишете програма PRIMES.EXE, която въвежда низ от най-много 30 цифри и извежда всички начини, по които може да се получи този низ, чрез долепване на едно или повече прости числа, по-малки от 1000. 
Низът се въвежда от стандартния вход, а резултатът трябва да се изведе на стандартния изход. Всяко намерено решение трябва да се изведе на отделен ред, а числата в реда да бъдат разделени с по един интервал. Не се допускат числа с първа цифра нула. Решенията трябва да бъдат подредени лексикографски (това означава по първото число във всеки ред, а когато първите числа съвпадат – по вторите и т.н.). 

ПРИМЕР

Вход 

373

Изход

3 7 3
3 73
37 3
373