#include<iostream>
using namespace std;
class D {
int g,m,a;
bool val(int d,int m, int y);
public:
void out();
void mod(int gg,int mm,int aa);
D(int gg,int mm,int aa);
};
bool D::val(int d,int m, int y){
if((d > 31) || (m > 12))return 0;
else if((m==11 || m==4 || m==6 || m==9) && d > 30)return 0;
else if(y/4!=0 && m==2 && d > 28)return 0;
else return 1;
}
void D::out(){
if(g==0)cout << "data non valida";
else cout << endl << g << "." << m << "." << a << endl;
}
void D::mod(int gg,int mm,int aa){ if(val(gg,mm,aa)){g=gg;m=mm;a=aa;}
}
D::D(int gg,int mm,int aa){ if(val(gg,mm,aa)){g=gg;m=mm;a=aa;}
else{a=0;g=0;m=0;}
}
main(){
D d(11,2,70);
d.out();
d.mod(29,2,70);
d.out();
d.mod(22,8,95);
d.out();
}