如何使WR(The solution failed some test cases)消失

#include<iostream>
#include<math.h>
using namespace std;
int main()
{
    int y,m,d;
    while(cin>>y>>m>>d)
    {
        if(m==1||m==3||m==5||m==7||m==8||m==10)
        {
            if(d==31)
                cout<<y<<" "<<m+1<<" "<<"1"<<endl;
            else
                cout<<y<<" "<<m<<" "<<d+1<<endl;
        }
        else if(m==12)
        {
            if(d==31)
                cout<<y+1<<" "<<"1"<<" "<<"1"<<endl;
            else
                cout<<y<<" "<<m<<" "<<d+1<<endl;
        }
        else if(m==4||m==6||m==9||m==11)
        {
            if(d==31)
                cout<<y<<" "<<m+1<<" "<<"1"<<endl;
            else
                cout<<y<<" "<<m<<" "<<d+1<<endl;
        }
        else
        {
            if(y%400==0||y%4==0&&y%100!=0)
            {
                if(d==29)
                    cout<<y<<" "<<m+1<<" "<<"1"<<endl;
                else
                    cout<<y<<" "<<m<<" "<<d+1<<endl;
            }
            else
            {
                if(d==28)
                    cout<<y<<" "<<m+1<<" "<<"1"<<endl;
                else
                    cout<<y<<" "<<m<<" "<<d+1<<endl;
            }
        }
    }
    return 0;
}