#include<iostream.h>
#include<conio.h>
char *months[]={"Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"};
void cal(int yr,int mo,int fd,int da);
void main(){
int days[12]={31,28,31,30,31,30,31,31,30,31,30,31};
long int ndays,ldays,tdays,tydays;
int i,y,m,fday,d;
clrscr();
cout<<"Enter the YEAR & MONTH";
cin>>y>>m;
ndays=(y-1)*365l;
ldays=(y-1)/400-(y-1)/100+(y-1)/4;
tdays=ndays+ldays;
if(y%400==0&&y%1001==0||y%4==0)
days[1]=29;
else
days[1]=28;
d=days[m-1];
tydays=0;
for(i=0;i<=m-2;i++)
tydays=tydays+days[i];
tdays=tdays+tydays;
fday=tdays%7;
cal(y,m,fday,d);
}
void cal(int yr,int mo,int fd,int da)
{
int i,r,c;
clrscr();
gotoxy(25,5);
cout<<months[mo-1]<<yr;
gotoxy(5,6);
cout<<"_________________________________________________________";
gotoxy(10,7);
cout<<"Mon Tue Wed Thur Fri Sat Sun";
gotoxy(5,8);
cout<<"_________________________________________________________";
r=10;
c=11+fd*6;
for(i=1;i<=da;i++){
gotoxy(c,r);
cout<<i;
if(c<=41)
c=c+6;
else
{
c=11;
r=r+1;
}
}
gotoxy(5,16);
cout<<"_________________________________________________________";
}
I2luY2x1ZGU8aW9zdHJlYW0uaD4KICNpbmNsdWRlPGNvbmlvLmg+CiBjaGFyICptb250aHNbXT17IkphbiIsIkZlYiIsIk1hciIsIkFwciIsIk1heSIsIkp1biIsIkp1bCIsIkF1ZyIsIlNlcCIsIk9jdCIsIk5vdiIsIkRlYyJ9Owogdm9pZCBjYWwoaW50IHlyLGludCBtbyxpbnQgZmQsaW50IGRhKTsKIHZvaWQgbWFpbigpewogaW50IGRheXNbMTJdPXszMSwyOCwzMSwzMCwzMSwzMCwzMSwzMSwzMCwzMSwzMCwzMX07CiBsb25nIGludCBuZGF5cyxsZGF5cyx0ZGF5cyx0eWRheXM7CiBpbnQgaSx5LG0sZmRheSxkOwogY2xyc2NyKCk7CiBjb3V0PDwiRW50ZXIgdGhlIFlFQVIgJiBNT05USCI7CiBjaW4+Pnk+Pm07CiBuZGF5cz0oeS0xKSozNjVsOwogbGRheXM9KHktMSkvNDAwLSh5LTEpLzEwMCsoeS0xKS80OwogdGRheXM9bmRheXMrbGRheXM7CiBpZih5JTQwMD09MCYmeSUxMDAxPT0wfHx5JTQ9PTApCiBkYXlzWzFdPTI5OwogZWxzZQogZGF5c1sxXT0yODsKIGQ9ZGF5c1ttLTFdOwogdHlkYXlzPTA7CiBmb3IoaT0wO2k8PW0tMjtpKyspCiB0eWRheXM9dHlkYXlzK2RheXNbaV07CiB0ZGF5cz10ZGF5cyt0eWRheXM7CiBmZGF5PXRkYXlzJTc7CiBjYWwoeSxtLGZkYXksZCk7CiB9CiB2b2lkIGNhbChpbnQgeXIsaW50IG1vLGludCBmZCxpbnQgZGEpCiB7CiBpbnQgaSxyLGM7CiBjbHJzY3IoKTsKIGdvdG94eSgyNSw1KTsKIGNvdXQ8PG1vbnRoc1ttby0xXTw8eXI7CiBnb3RveHkoNSw2KTsKIGNvdXQ8PCJfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18iOwogZ290b3h5KDEwLDcpOwogY291dDw8Ik1vbiAgIFR1ZSAgIFdlZCAgIFRodXIgICBGcmkgICBTYXQgICBTdW4iOwogZ290b3h5KDUsOCk7CiBjb3V0PDwiX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fIjsKIHI9MTA7CiBjPTExK2ZkKjY7CiBmb3IoaT0xO2k8PWRhO2krKyl7CiBnb3RveHkoYyxyKTsKIGNvdXQ8PGk7CiBpZihjPD00MSkKIGM9Yys2OwogZWxzZQogewogYz0xMTsKIHI9cisxOwogfQogfQogZ290b3h5KDUsMTYpOwogY291dDw8Il9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXyI7CiBnZXRjaCgpOwogfQ==