#include <stdio.h>
#include <string.h>
#include <time.h>

const char weekname[7][10] = {"日曜日","月曜日","火曜日","水曜日","木曜日","金曜日","土曜日"};
const int table_mdays[2][12] = {{31,28,31,30,31,30,31,31,30,31,30,31},{31,29,31,30,31,30,31,31,30,31,30,31}};
int isleap(int year){
    return year % 4 == 0 && year % 100 != 0 || year % 400 == 0;
}
int mdays(int year, int month){
    return table_mdays[isleap(year)][month-1];
}
int week_name2no(const char *str){
    int i;
    for(i = 0; i < 7; i++){
        if(strcmp(str, weekname[i]) == 0){
            break;
        }
    }
    return i;
}

int calc_day(int year, int month, int weeknum, int weekno){   
    struct tm tm_in = {0,0,0,1,month-1,year-1900,0,0,0};
    time_t t = mktime(&tm_in);
    struct tm *tm_out = localtime(&t);    
    int firstweekno = tm_out->tm_wday;
    int day = (weekno - firstweekno + 7) % 7 + 1;
    day += 7 * (weeknum-1);
    if(day < 1 || day > mdays(year, month)){
        day = -1;
    }
    return day;
}

int main(void){
    char buf[128] = {};
    int year, month, weeknum, weekno, day;
    char weekstr[10];
    while(fgets(buf, 127, stdin) != NULL){
        if(sscanf(buf, "%d-%d,第%d%[^\n]", &year, &month, &weeknum, weekstr) < 4){
            puts("Invalid input.");
            continue;
        }
        weekno = week_name2no(weekstr);
        if(weekno >= 7){
            puts("Invalid input.");
            continue;
        }
        if(year < 1900 || month < 1 || month > 12){
            puts("Invalid date.");
            continue;
        }
        day = calc_day(year, month, weeknum, weekno);
        if(day == -1){
            puts("Invalid date.");
        }else{
            printf("%d-%02d-%02d\n", year, month, day);
        }
    }
    return 0;
}
