#include <vector>#include <deque>#include <queue>#include <stack>#include <algorithm>#include <iostream>#include <iomanip>#include <cstdio>#include <cmath>#include <cstdlib>#include <cstring>using namespace std;#define inf 2147480000struct hammer{ double x;double y;}map[1001],final[1001];double val[1001];int n,o;double m,su,ax,ay;double ping(double a) {return a*a;}double cal(double a,double b) {return sqrt(ping(a-ax)+ping(b-ay));}int main(int argc, char *argv[]){ int p=0; while(cin>>n>>m) { p++; su=0;ax=0;ay=0; for(int i=1;i<=n;i++) { scanf("%lf%lf",&map[i].x,&map[i].y); val[i]=cal(map[i].x,map[i].y);su+=val[i];ax=map[i].x;ay=map[i].y; } ax=0;ay=0; double ca=su/(m+1); double did=ca;o=0; for(int i=1;i<=n;i++) { double a=cal(map[i].x,map[i].y); if(a>did) { o++;final[o].x=did*(map[i].x-map[i-1].x)/val[i]+ax; final[o].y=did*(map[i].y-map[i-1].y)/val[i]+ay; ax=final[o].x;ay=final[o].y;did=ca;i--; if(o==m) break; } else if(a==did) { o++;final[o].x=map[i].x;final[o].y=map[i].y;ax=map[i].x;ay=map[i].y;did=ca; if(o==m) break; } else { did=did-a;ax=map[i].x;ay=map[i].y; } } printf("Route %dn",p); for(int i=1;i<=o;i++) { printf("CP%d: (%.3lf, %.3lf)n",i,final[i].x,final[i].y); } } return 0;}


