"Bağışlayın, amma bu ayın 10-da keçiriləcək məclisə qatıla bilmirəm. Bilirsiniz ki, mənim tətil günlərim yalnız cümə axşamlarıdır. Məclisi səbirsizliklə gözləyirdim, amma orada iştirak etməkdən imtina etməliyəm."
"Fərqi yoxdur. Ümid edirəm ki, növbəti dəfə iştirak edəcəksiniz."
Belə vəziyyətlərlə heç rastlaşmısınızmı? Onlar haqqında nə qədər təəssüf etsəniz də, yenə də heç nə edə bilmirsiniz. Buna görə də, müəyyən bir dövrdə tələblərimizə uyğun gələn günlərin sayını, yalnız tarixə deyil, həftənin gününə də uyğun olaraq necə bilmək üçün bir yol tapmaq istəyirik.
Bu məsələdə, qədimdən gələcəyə qədər xüsusi bir təqvim nəzərə alınır. Təqvimdə aşağıdakı qaydalar müəyyən edilir:
Təqvimdə, 1 il M.Ö. ilindən əvvəlki il 1 il M.S. ilidir. Konvensiyaya görə, 1 il M.Ö. 0, 2 il M.Ö. −1 ilə təmsil edilir və s.
Həftədə yeddi gün var: Bazar ertəsi, Çərşənbə axşamı, Çərşənbə, Cümə axşamı, Cümə, Şənbə və Bazar. Bu qaydada təkrarən baş verir. Təqvimdə, 1 yanvar, 1 il M.S. Bazar ertəsidir. Başqa bir tarixdə həftənin günü 1 yanvar, 1 il M.S. ilə uyğun olaraq müəyyən edilir.
4-ə bölünən, amma 100-ə bölünməyən il sıçrayış ilidir. 400-ə bölünən il də sıçrayış ilidir. Bu qayda M.Ö. illərinə də tətbiq edilir. Məsələn, 5 il M.Ö. sıçrayış ilidir, çünki bu il −4 ilə təmsil edilir.
Bir il on iki aydan ibarətdir. Yanvar, Mart, May, İyul, Avqust, Oktyabr və Dekabr aylarında hər biri 31 gün var. Aprel, İyun, Sentyabr və Noyabr aylarında hər biri 30 gün var. Fevral ayında isə, il sıçrayış ilidirsə 29 gün, əks halda 28 gün var.
Proqramınız 2000000 il M.Ö. ilə 2000000 il M.S. arasında tarixləri emal etməlidir.
Bu məsələnin giriş faylı bir sıra məlumat dəstləri ehtiva edəcək. Hər bir məlumat dəsti bir sətirdə veriləcək və iki tam ədəd ilə başlayacaq. Birinci tam ədəd m (0 ≤ m ≤ 6) tələb olunan həftənin günüdür, burada m = 0 Bazar, m = 1 Bazar ertəsi, m = 2 Çərşənbə axşamı və s. təmsil edir. İkinci tam ədəd n (0 ≤ n ≤ 31) tələb olunan tarix günüdür. Bundan sonra altı tam ədəd olacaq, y_1, m_1, d_1, y_2, m_2, d_2. y_1, m_1 və d_1 başlanğıc tarixinin il hissəsi, ay hissəsi və gün hissəsidir, və y_2, m_2 və d_2 son tarixinin il hissəsi, ay hissəsi və gün hissəsidir. Başlanğıc tarix və son tarix təqvimə uyğun olacaq. Son tarix başlanğıc tarixdən əvvəl olmayacaq.
Girişin sonu iki sıfır olan bir sətir ilə işarələnir. Bu sətir emal edilməməlidir.
Hər bir məlumat dəsti üçün çıxış bir sətir daxil etməlidir ki, bu da başlanğıc tarixdən son tarixə qədər tələblərimizə uyğun gələn günlərin sayını bildirir (başlanğıc tarix və son tarix daxil olmaqla). Burada, bir tarix tələblərimizə uyğun gəlir deyirik ki, əgər bir tarixdə həftənin günü m-ə bərabərdirsə və bu tarixdə gün hissəsi n-ə bərabərdirsə. Çıxışda əlavə boşluqlar və ya boş sətirlər çap etməməlisiniz.
Nümunə 1