Masala D

Xotira 32 MB Vaqt 1000 ms
14

Robot muhandissi

Uzoq kelajakda siz robotni dasturlash bo'yicha yetakchi muhandissiz. Sizga yangi vazifa topshirildi.

Robotga berilgan butun son nn ni shunday bo'laklarga ajratish kerakki, u bo'laklar raqamlari faqat 00 va 11 dan iborat bo'lsin. Robot bu bo'laklarni yig'ib, asosiy maqsadni bajarishi kerak. Robot qancha ko'p bo'lak ishlatsa, uning energiya sarfi shuncha yuqori bo'ladi. Shuning uchun siz nn ni imkon qadar minimal bo'laklar soniga ajratishingiz kerak.

Bo'laklash shartlari:

  • Robot bo'laklarni yig'ib, sonni qayta tiklay olishi kerak a1+a2+...+ak=na_1+a_2+...+a_k=n.
  • Har bir bo'lak aia_i faqat 00 va 11 raqamlaridan tashkil topgan son (masalan, 1,10,11,100,...1,10,11,100,...) bo'lishi kerak. Boshqa raqamlar (masalan, 2,5,92,5,9) robotning tizimida xatolik keltirib chiqaradi.
  • Robot bo'laklarning sonini minimal qilishga intilishi kerak.

Sizga berilgan topshiriq shundan iboratki, yuqoridagi shartlarni qonoatlantiradigan dasturni robotga yozib berishdan iborat.


Kiruvchi ma'lumotlar:

Kirish faylining yagona satrida n(1n106)n(1\leq n\leq 10^6) butun soni beriladi.


Chiquvchi ma'lumotlar:

Chiqish faylining dastlabki satrida minimal kk sonini chop eting, kiyingi satrda probil bilan ajratilgan holda a1,a2,...,aka_1,a_2,...,a_k ni chop etasiz. Agar bir nechta yechim mavjud bo'lsa ulardan birini chop etishingiz mumkun.


Misollar
# input.txt output.txt
1
4
4
1 1 1 1
2
21
2
10 11