Công tác bảo vệ tại các khu công nghiệp được thực hiện 24/24 giờ tất cả các ngày trong năm, vì vậy mỗi nhân viên trong đội bảo vệ có lịch nghỉ riêng quy định ngay từ trước khi năm mới bắt đầu và có dạng là ngày thứ mấy nào đầu tiên hay cuối cùng của một tháng cụ thể nào đó, ví dụ "ngày thứ ~2~ đầu tiên của tháng giêng" hay "ngày thứ tư cuối cùng của tháng sáu".
Lịch nghỉ của một người có ~n~ ngày, mỗi ngày nghỉ được nêu dưới dạng "first thứ of tháng" hoặc "last thứ of tháng", trong đó thứ nhận một trong số các giá trị monday, tuesday, wednesday, thursday, friday, saturday, sunday
, tháng có các giá trị lần lượt là january, february, march, april, may, june, july, august, september,october, november, december
.
Cho ~n~, thứ của ngày đầu tiên trong năm, thông báo yes
nếu đó là năm nhuận và no
trong trường hợp ngược lại, các ngày nghỉ theo dạng đã nêu. Hãy xác định ngày tương ứng trong tháng mà người đó được nghỉ.
Dữ liệu vào
- Dòng đầu tiên chứa số nguyên ~n~ ~(1 \leq n \leq 168)~,
- Dòng thứ hai chứa thông tin về thứ của ngày đầu năm và năm đó có nhuận hay không,
- Mỗi dòng trong ~n~ dòng sau chứa thông tin về một ngày nghỉ.
Dữ liệu ra
Các ngày được nghỉ trong tháng tương ứng, mỗi ngày trên một dòng.
Sample Input
5
wednesday no
last monday of january
first friday of february
last saturday of september
first sunday of july
first monday of january
Sample Output
27
7
27
6
6
Nguồn: Kỹ thuật lập trình - thầy Nguyễn Thanh Tùng
Comments