#include<stdio.h>
#include<math.h>
using namespace std;

int main()
{
    double K,L,M,H,N,A[120],B[120],C,D,R;
    int I;
    while(scanf("%lf",&N)&&N){
      for(I=1;I<=N;I++){
        scanf("%lf %lf",&A[I],&B[I]);
      }
      scanf("%lf",&R);
      bool Flag=1;
      /*for(I=1;I<N&&Flag;I++){
            if(B[I]==B[I+1]){
                H=(A[I+1]+A[I])/2;
                K=(A[I]*A[I])-(2*A[I]*H)+(H*H)+(B[I]*B[I])-(R*R);
                K=(2*B[I]*2*B[I])-(4*K);
                K=K+0.000000001;
                if(K<0) Flag=0;
            }
            else{
                C=-(A[I]*A[I])+(A[I+1]*A[I+1])-(B[I]*B[I])+(B[I+1]*B[I+1])/(2*(B[I+1]-B[I]));
                D=(A[I+1]-A[I])/(B[I+1]-B[I]);
                M=(A[I]*A[I])+(B[I]*B[I])-(2*B[I]*C)+(C*C)-(R*R);
                L=(2*B[I]*D)-(2*A[I])-(2*C*D);
                H=(L*L)-(4*((D*D)+1)*M);
                printf("%lf\n",H);
                H=H+0.000000001;
                //||(D*D+1)==0
                if(H<0||(D*D+1)==0) Flag=0;
            }
        }*/
        if(B[I]==B[I+1]){
                H=(A[I+1]+A[I])/2;
                K=(A[I]*A[I])-(2*A[I]*H)+(H*H)+(B[I]*B[I])-(R*R);
                K=((2*B[I]*2*B[I])-(4*K));
                K=K+0.000000001;
                if(K<0) Flag=0;
                else{
                    K=sqrt(K);
                    K=(2*B[I]+K)/2;
                }
            }
            else{
                C=-(A[I]*A[I])+(A[I+1]*A[I+1])-(B[I]*B[I])+(B[I+1]*B[I+1])/(2*(B[I+1]-B[I]));
                D=(A[I+1]-A[I])/(B[I+1]-B[I]);
                M=(A[I]*A[I])+(B[I]*B[I])-(2*B[I]*C)+(C*C)-(R*R);
                L=(2*B[I]*D)-(2*A[I])-(2*C*D);
                H=((L*L)-(4*((D*D)+1)*M));
                printf("%lf\n",H);
                H=H+0.000000001;
                //||(D*D+1)==0
                if(H<0||(D*D+1)==0) Flag=0;
                else{
                    H=sqrt(H);
                    H=(-1*(L)+H)/(2*(D*D+1));
                    K=C-(H*D);
                }
            }
            for(I=1;I<N&&Flag;I++){
                M=(A[I]-H)*(A[I]-H)+(B[I]-K)*(B[I]-K);
                L=R*R;
                if(M>L) Flag=0;
            }
        if(Flag)
        printf("The polygon can be packed in the circle.\n");
        else
        printf("There is no way of packing that polygon.\n");
    }
    return 0;
}