#include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include using namespace std; typedef long long int lint; typedef pair IP; typedef pair LLP; typedef pairCP; #define rep(i, n) for (int i = 0; i < n; i++) #define repr(i, n) for (int i = n; i >= 0; i--) #define sort(v) sort((v).begin(), (v).end()) #define reverse(v) reverse((v).begin(), (v).end()) #define upper(v,hoge) upper_bound(v.begin(),v.end(),hoge) #define lower(v,hoge) lower_bound(v.begin(),v.end(),hoge) #define llower(v,hoge) *lower_bound(v.begin(), v.end(), hoge) #define lupper(v,hoge) *upper_bound(v.begin(), v.end(), hoge) int main() { string S; cin >> S; int Y = stoi(S.substr(0, 4)); int M = stoi(S.substr(5, 2)); int D = stoi(S.substr(8, 2)); D += 2; //M繰り上げ if (M == 2) { //2月 if (Y % 4 == 0 && (Y % 100 != 0 || Y % 400 == 0)) { //うるう年(29) if (D > 29) { D = D - 29; M++; } } else { if (D > 28) { D = D - 28; M++; } } } else if (M == 4 || M == 6 || M == 9 || M == 11) { //(30) if (D > 30) { D = D - 30; M++; } } else { //(31) if (D > 31) { D = D - 31; M++; } } //Y繰り上げ if (M > 12) { M = M - 12; Y++; } ostringstream A; A << setfill('0') << setw(4) << Y; string a = A.str(); ostringstream B; B << setfill('0') << setw(2) << M; string b = B.str(); ostringstream C; C << setfill('0') << setw(2) << D; string c = C.str(); cout << a << '/' << b << '/' << c << endl; }