const double eps = 1e-8;
const double pi = acos(-1);
int sgn( double x )
{
if ( fabs(x)<eps ) return 0;
if ( x<0 ) return -1;
if ( x>0 ) return 1;
}
struct point
{
double x,y;
point(){}
point( double _x , double _y ){ x = _x; y = _y; }
point operator-( point b )const{ return point(x-b.x,y-b.y); }
point Rotate( point p , double angle )
{
point v = (*this)-p;
double c = cos(angle);
double s = sin(angle);
return point( p.x+v.x*c-v.y*s , p.y+v.x*s+v.y*c );
}
}p[100010];
int main()
{
scanf( "%lf%lf%lf%d" , &A , &w , &h , &n ); A = pi*A/180;
for ( int i=1 ; i<=n ; i++ ) scanf( "%lf%lf" , &p[i].x , &p[i].y );
for ( int i=2 ; i<=n ; i++ ) p[i] = p[i].Rotate( p[1] , A );
return 0;
}