#include int trx[150]; int try[150]; double trr[150]; int a,b,pocnej,poc,X,Y,N,rad; int i,j,k,x; int main() { while (1) { scanf("%d %d %f\n%d\n",&X,&Y,&rad,&N); if (rad < 0) return(0); a = 0; for (i = 0; i < N; i++) { scanf("%d %d\n",&trx[i-a],&try[i-a]); trr[i-a] = sqrt( (double) (X-trx[i-a])*(X-trx[i-a]) + (Y-try[i-a])*(Y-try[i-a])); /* printf("[%f] \n",trr[i-a]);*/ if (trr[i-a] > (double) rad) a++; } x = a; pocnej = 0; for (i = 0; i < N-x; i++) { for (j = 0; j < N-x; j++) { a = try[i] + try[j]; b = -1 * (trx[i] + try[j]); poc = 0; for (k = 0; k < N-x; k++) { if ( (a*trx[k]+b*try[k]) >= 0) { poc++; /* printf("%d \n",poc); */ } } if (pocnej < poc) pocnej = poc; } } printf("%d\n",pocnej); } }