#include <stdio.h>
int main( ) {
int year, jan1, n;
scanf ( "%d%d%d" , & year
, & jan1
, & n
) ; int leap = 0 ;
if ( year % 400 == 0 || ( year % 4 == 0 && year % 100 != 0 ) )
leap = 1 ;
for ( int i= 0 ; i< n; i++ ) {
int month, date;
scanf ( "%d%d" , & month
, & date
) ; int days = 0 ;
switch ( month) {
case 1 : case 3 : case 5 : case 7 : case 8 : case 10 :
if ( date <= 0 || date > 31 )
days = - 2 ;
break ;
case 4 : case 6 : case 9 : case 11 :
if ( date <= 0 || date > 30 )
days = - 2 ;
break ;
case 2 :
if ( date <= 0 || date > ( 28 + leap) )
days = - 2 ;
break ;
default :
days = - 1 ;
break ;
}
if ( days == 0 ) {
days = days + date - 1 ;
for ( int j= 1 ; j< month; j++ ) {
switch ( j) {
case 1 : case 3 : case 5 : case 7 : case 8 : case 10 :
days += 31 ;
break ;
case 4 : case 6 : case 9 : case 11 :
days += 30 ;
break ;
case 2 :
( leap) ? ( days += 29 ) : ( days += 28 ) ;
break ;
default :
break ;
}
}
printf ( "%d " , ( jan1
+ ( days
% 7 ) ) % 7 ) ; } else {
}
}
return 0 ;
}
I2luY2x1ZGUgPHN0ZGlvLmg+CgppbnQgbWFpbigpIHsKCWludCB5ZWFyLCBqYW4xLCBuOwoJc2NhbmYgKCIlZCVkJWQiLCAmeWVhciwgJmphbjEsICZuKTsKCWludCBsZWFwID0gMDsKCWlmICggeWVhciAlIDQwMCA9PSAwIHx8ICggeWVhciAlIDQgPT0gMCAmJiB5ZWFyICUgMTAwICE9IDAgKSApCgkJbGVhcCA9IDE7Cglmb3IgKGludCBpPTA7IGk8bjsgaSsrKSB7CgkJaW50IG1vbnRoLCBkYXRlOwoJCXNjYW5mICgiJWQlZCIsICZtb250aCwgJmRhdGUpOwoJCWludCBkYXlzID0gIDA7CgkJc3dpdGNoIChtb250aCkgewoJCQljYXNlIDE6IGNhc2UgMzogY2FzZSA1OiBjYXNlIDc6IGNhc2UgODogY2FzZSAxMDoKCQkJCWlmICggZGF0ZSA8PSAwIHx8IGRhdGUgPiAzMSApCgkJCQkJZGF5cyA9IC0yOwoJCQkJYnJlYWs7CgkJCWNhc2UgNDogY2FzZSA2OiBjYXNlIDk6IGNhc2UgMTE6CgkJCQlpZiAoIGRhdGUgPD0gMCB8fCBkYXRlID4gMzAgKQoJCQkJCWRheXMgPSAtMjsKCQkJCWJyZWFrOwoJCQljYXNlIDI6CgkJCQlpZiAoIGRhdGUgPD0gMCB8fCBkYXRlID4gKDI4K2xlYXApICkKCQkJCQlkYXlzID0gLTI7CgkJCQlicmVhazsKCQkJZGVmYXVsdDoKCQkJCWRheXMgPSAtMTsKCQkJCWJyZWFrOwoJCX0KCQlpZiAoIGRheXMgPT0gMCApIHsKCQkJZGF5cyA9IGRheXMgKyBkYXRlIC0xOwoJCQlmb3IgKGludCBqPTE7IGo8bW9udGg7IGorKykgewoJCQkJc3dpdGNoIChqKSB7CgkJCQkJY2FzZSAxOiBjYXNlIDM6IGNhc2UgNTogY2FzZSA3OiBjYXNlIDg6IGNhc2UgMTA6CgkJCQkJCWRheXMgKz0gMzE7CgkJCQkJCWJyZWFrOwoJCQkJCWNhc2UgNDogY2FzZSA2OiBjYXNlIDk6IGNhc2UgMTE6CgkJCQkJCWRheXMgKz0gMzA7CgkJCQkJCWJyZWFrOwoJCQkJCWNhc2UgMjoKCQkJCQkJKGxlYXApPyAoIGRheXMgKz0gMjkgKSA6ICggZGF5cyArPSAyOCApOwoJCQkJCQlicmVhazsKCQkJCQlkZWZhdWx0OgoJCQkJCQlicmVhazsKCQkJCX0KCQkJfQoJCQlwcmludGYgKCIlZCAiLCAoamFuMSsoZGF5cyU3KSklNyk7CQkJCgkJfSBlbHNlIHsKCQkJcHJpbnRmKCIlZCAiLCBkYXlzKTsKCQl9Cgl9CglyZXR1cm4gMDsKfQ==