program zeller(input, output);
{t+ }
var     day, month, year,
        zday, m, y1, y2 : integer;
        NewDay          : String[4];

begin
   writeln('This program computes the day of the Week from the Date');
   writeln;
   write('Enter month:');
   read(month);
   writeln;
   write('Enter day:');
   read(day);
   writeln;
   write('Enter year XXXX :');
   read(year);
   if month < 3
   then begin
      m:=month + 10;
      year:=year - 1
   end else
      m:=month - 2;

   y1:=year div 100;
   y2:=year mod 100;

   zday:=(day + trunc(2.6*m - 0.1)
              + y2 + y2 div 4
                   + y1 div 4 - 2*y1 + 49) mod 7;

   writeln;
   Case zday of
        0 : Newday := 'Sun';
        1 : Newday := 'Mon';
        2 : NewDay := 'Tue';
        3 : NewDay := 'Wed';
        4 : NewDay := 'Thu';
        5 : NewDay := 'Fri';
        6 : NewDay := 'Sat';
    end;

   write('Day of the week:',Newday)
end.

                                                        