• محدودیت زمان: ۱ ثانیه
  • محدودیت حافظه: ۲۵۶ مگابایت

گلابی، یک مدیر فنی منظم و علاقه‌مند به بهینه‌سازی مدیریت تسک‌هاست. او همواره به دنبال روش‌هایی است تا کارها را به شکل بهتر سازماندهی کند و زمان تیمش را به صورت موثرتری مدیریت نماید.

برای مقایسه پیچیدگی تسک‌ها، از واحدی به نام «استوری پوینت» استفاده می‌شود. هرچه استوری پوینت یک تسک بیشتر باشد، آن تسک پیچیده‌تر یا پرریسک‌تر خواهد بود.

برای ساده‌تر شدن تخمین تعداد استوری پوینت‌های یک تسک فنی، معمولاً از اعداد دنباله فیبوناچی استفاده می‌شود. این دنباله با اعداد ۱ و ۲ شروع شده و هر عدد برابر مجموع دو عدد قبلی است. به این ترتیب دنباله به صورت ۱، ۲، ۳، ۵، ۸، ۱۳، ۲۱ و... ادامه می‌یابد. استفاده از این دنباله به دلیل افزایش تدریجی و منطقی آن، در تخمین پیچیدگی تسک‌ها بسیار کارآمد است.

گلابی در جلسات برنامه‌ریزی تیم فنی، درباره تعداد استوری پوینت هر تسک تصمیم‌گیری می‌کند. او می‌داند که برای برگزاری یک مسابقه برنامه‌نویسی، nn استوری پوینت نیاز است و هدفش این است که این مقدار را به کمترین تعداد تسک ممکن تقسیم کند، به طوری که تعداد استوری پوینت هر تسک یکی از اعداد دنباله فیبوناچی باشد. گلابی امیدوار است با این روش برنامه‌ریزی ساده‌تر و کارآمدتری انجام دهد.

ورودی

در تنها خط ورودی، عدد صحیح nn داده می‌شود که تعداد استوری پوینت‌های مورد نیاز برای مسابقه برنامه‌نویسی را مشخص می‌کند.

1n1091 \le n \le 10^9

خروجی

در تنها خط خروجی، کمترین تعداد تسک‌های ممکن را چاپ کنید.

مثال‌ها

ورودی نمونه ۱

4
Plain text

خروجی نمونه ۱

2
Plain text

عدد 44 در دنباله فیبوناچی نیست، اما می‌توان آن را به دو تسک 33 و 11 تقسیم کرد که هر دو جزو دنباله فیبوناچی هستند.

ورودی نمونه ۲

20
Plain text

خروجی نمونه ۲

3
Plain text

عدد 2020 را می‌توان به سه تسک 1313، 55 و 22 تقسیم کرد که همگی در دنباله فیبوناچی قرار دارند.


ارسال پاسخ برای این سؤال
فایلی انتخاب نشده است.