====== شماره‌تلفن‌ها ====== می‌دانید چرا روی شماره‌ی تلفن‌ها یا موبایل‌ها حروف انگلیسی وجود دارد؟ چون مردم از این حروف برای حفظ کردن شماره‌ی یک فرد استفاده می‌کرده‌اند. در واقع به جای شماره حروفی که روی دکمه‌های شماره‌گیر وجود دارد را به خاطر می‌سپرده‌اند. یک شماره‌گیر را در نظر بگیرید که به دکمه‌هایش این حروف اطلاق گشته است: ۱)$IJ$ ۲)$ABC$ ۳)$DEF$ ۴)$GH$ ۵)$KL$ ۶)$MN$ ۷)$PRS$ ۸)$TUV$ ۹)$WXY$ ۱۰)$OQZ$ حال فرض کنید یک معلمی دارید که او را خیلی دوست دارید با این شماره تلفن: ۲۸۵۵۳۰۴ شماره تلفن این معلم می‌تواند این طوری نوشته شود: $BULLDPG$ شما باید برنامه‌ای بنویسید که یک شماره‌تلفن را با کم‌ترین تعداد کلمه بسازد. ===== ورودی ===== در سطر اول فایل ورودی شماره تلفن داده شده است. این شماره حداکثر ۱۰۰ رقمی است. در سطر بعدی تعداد کلمات فرهنگ لغت داده شده است. (حداکثر ۵۰۰۰۰) سپس در هر کدام از خطوط باقی‌مانده یک کلمه حداکثر ۵۰ حرفی آمده است. ===== خروجی ===== در تنها سطر فایل خروجی دنباله‌ی متناظر با کم‌ترین تعداد کلمه‌ نوشته شده است. کلمه‌های این دنباله را به یک $space$ از هم جدا کنید. اگر جوابی برای ورودی وجود نداشت در خروجی ''No solution'' بنویسید. اگر چندین جواب درست با کم‌ترین تعداد کلمه وجود داشت هر کدام را که دوست دارید بنویسید. ===== محدودیت‌ها ===== * محدودیت زمان: ۱ ثانیه * محدودیت حافظه: ۶۰۰ کیلوبایت ===== ورودي و خروجي نمونه ===== ^ ورودي نمونه ^ خروجي نمونه ^ |7325189087 \\ 5 \\ it \\ your \\ reality \\ real \\ our|reality our| |4294967296 \\ 5 \\ it \\ your \\ reality \\ real \\ our|No solution| * [[سوال ۱۲|سوال بعد]] * [[سوال ۱۰|سوال قبل]]