#include<iostream>
#include<cstdio>
#include<cmath>
#define FOR(i,a,b) for(int i=a;i<=b;i++)
using namespace std;
typedef long double dou;
const int N=3030;
const dou pi=acos(-1.0);
int n,L;
dou sum,t[N];
struct vec{
	dou x,y;
	vec(){}
	vec(dou _x,dou _y){x=_x,y=_y;}
	vec(dou _t){x=cos(_t),y=sin(_t);}
	vec operator + (const vec&a)const{return vec(x+a.x,y+a.y);}
	vec operator - (const vec&a)const{return vec(x-a.x,y-a.y);}
	vec operator * (const vec&a)const{return vec(x*a.x-y*a.y,x*a.y+y*a.x);}
}m,s,v,ans,a[N];
int main(){
	//freopen("1.in","r",stdin);
	scanf("%d%d",&n,&L);
	FOR(i,1,n){
		scanf("%Lf",&t[i]);
		t[i]*=2*pi/L;
		a[i]=vec(t[i]);
	}
	FOR(i,3,n){
		m=s=vec(0,0);
		FOR(j,1,i-1){
			v=vec((t[i]+t[j])/2);
			sum=sum+m.x;
			ans=ans+v*m+s*(a[i]-v);
			m.x++,s=s+vec(pi-(t[i]-t[j])/2);
		}
	}
	printf("%.15Lf %.15Lf",ans.x/sum,ans.y/sum);
} 