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