<?php
// paiza POH! vol.2
// result:
// http://p...content-available-to-author-only...a.jp/poh/paizen/result/d548b3ab8816ce66e9d6803dd491e75f
// author: Leonardone @ NEETSDKASU
fscanf ( STDIN
, "%d %d " , $h , $w ) ;
for ( $y = 0 ; $y < $h ; $y ++ ) {
$count = 0 ;
for ( $x = $w - 1 ; $x >= 0 ; $x -- ) {
if ( $str [ $x ] == '0' ) {
$count ++;
} else {
$count = 0 ;
}
$space2right [ $y ] [ $x ] = $count ;
}
}
for ( $y = 0 ; $y < $h ; $y ++ ) {
for ( $x = 0 ; $x < $w ; $x ++ ) {
if ( $space2right [ $y ] [ $x ] == 0 ) {
continue ;
}
$s = 1 ;
$t = $space2right [ $y ] [ $x ] ;
for ( $i = $y ; $i < $h && $space2right [ $i ] [ $x ] > 0 ; $i ++ ) {
if ( $space2right [ $i ] [ $x ] < $t ) {
$t = $space2right [ $i ] [ $x ] ;
}
$table [ $s ] [ $t ] ++;
$s ++;
}
}
}
for ( $i = 0 ; $i < $n ; $i ++ ) {
fscanf ( STDIN
, "%d %d " , $s , $t ) ; if ( $s > $h || $t > $w ) {
echo '0' , PHP_EOL;
} else {
if ( $cache [ $s ] [ $t ] > 0 ) {
echo ( $cache [ $s ] [ $t ] - 1 ) , PHP_EOL;
} else {
$count = 0 ;
for ( $j = $t ; $j <= $w ; $j ++ ) {
$count += $table [ $s ] [ $j ] ;
}
$cache [ $s ] [ $t ] = $count + 1 ;
echo $count , PHP_EOL;
}
}
}
PD9waHAKLy8gcGFpemEgUE9IISB2b2wuMgovLyByZXN1bHQ6Ci8vIGh0dHA6Ly9wLi4uY29udGVudC1hdmFpbGFibGUtdG8tYXV0aG9yLW9ubHkuLi5hLmpwL3BvaC9wYWl6ZW4vcmVzdWx0L2Q1NDhiM2FiODgxNmNlNjZlOWQ2ODAzZGQ0OTFlNzVmCi8vIGF1dGhvcjogTGVvbmFyZG9uZSBAIE5FRVRTREtBU1UKCmZzY2FuZihTVERJTiwgIiVkICVkIiwgJGgsICR3KTsKCiR0YWJsZSA9IGFycmF5KCk7CiRjYWNoZSA9IGFycmF5KCk7CiRzcGFjZTJyaWdodCA9IGFycmF5KCk7Cgpmb3IgKCR5ID0gMDsgJHkgPCAkaDsgJHkrKykgewoJZnNjYW5mKFNURElOLCAiJXMiLCAkc3RyKTsKCSRjb3VudCA9IDA7CgkkdGFibGVbJHldID0gYXJyYXlfZmlsbCgwLCAkdywgMCk7IAoJJGNhY2hlWyR5XSA9IGFycmF5X2ZpbGwoMCwgJHcsIDApOyAKCSRzcGFjZTJyaWdodFskeV0gPSBhcnJheV9maWxsKDAsICR3LCAwKTsgCglmb3IgKCR4ID0gJHcgLSAxOyAkeCA+PSAwOyAkeC0tKSB7CgkJaWYgKCRzdHJbJHhdID09ICcwJykgewoJCQkkY291bnQrKzsKCQl9IGVsc2UgewoJCQkkY291bnQgPSAwOwoJCX0KCQkkc3BhY2UycmlnaHRbJHldWyR4XSA9ICRjb3VudDsKCX0KfQoKZm9yICgkeSA9IDA7ICR5IDwgJGg7ICR5KyspIHsKCWZvciAoJHggPSAwOyAkeCA8ICR3OyAkeCsrKSB7CgkJaWYgKCRzcGFjZTJyaWdodFskeV1bJHhdID09IDApIHsKCQkJY29udGludWU7CgkJfQoJCSRzID0gMTsKCQkkdCA9ICRzcGFjZTJyaWdodFskeV1bJHhdOwoJCWZvciAoJGkgPSAkeTsgJGkgPCAkaCAmJiAkc3BhY2UycmlnaHRbJGldWyR4XSA+IDA7ICRpKyspIHsKCQkJaWYgKCRzcGFjZTJyaWdodFskaV1bJHhdIDwgJHQpIHsKCQkJCSR0ID0gJHNwYWNlMnJpZ2h0WyRpXVskeF07CgkJCX0KCQkJJHRhYmxlWyRzXVskdF0rKzsKCQkJJHMrKzsKCQl9Cgl9Cn0KCmZzY2FuZihTVERJTiwgIiVkIiwgJG4pOwoKZm9yICgkaSA9IDA7ICRpIDwgJG47ICRpKyspIHsKCWZzY2FuZihTVERJTiwgIiVkICVkIiwgJHMsICR0KTsKCWlmICgkcyA+ICRoIHx8ICR0ID4gJHcpIHsKCQllY2hvICcwJywgUEhQX0VPTDsKCX0gZWxzZSB7CgkJaWYgKCRjYWNoZVskc11bJHRdID4gMCkgewoJCQllY2hvICgkY2FjaGVbJHNdWyR0XSAtIDEpLCBQSFBfRU9MOwoJCX0gZWxzZSB7CgkJCSRjb3VudCA9IDA7CgkJCWZvciAoJGogPSAkdDsgJGogPD0gJHc7ICRqKyspIHsKCQkJCSRjb3VudCArPSAkdGFibGVbJHNdWyRqXTsKCQkJfQoJCQkkY2FjaGVbJHNdWyR0XSA9ICRjb3VudCArIDE7CgkJCWVjaG8gJGNvdW50LCBQSFBfRU9MOwoJCX0KCX0KfQo=