/****************************************************************
*	Author: huhao
*	Email: 826538400@qq.com
*	Create time: 2020-02-15 14:28:12
****************************************************************/
#include<stdio.h>
#include<string.h>
#include<math.h>
#include<algorithm>
#define fr(i,a,b) for(int i=(a),end_##i=(b);i<=end_##i;i++)
#define fd(i,a,b) for(int i=(a),end_##i=(b);i>=end_##i;i--)
int read()
{
	int r=0,t=1,c=getchar();
	while(c<'0'||c>'9')
	{
		t=c=='-'?-1:1;
		c=getchar();
	}
	while(c>='0'&&c<='9')
	{
		r=(r<<3)+(r<<1)+(c^48);
		c=getchar();
	}
	return r*t;
}
#define pdd std::pair<double,double>
const int N=3010;
const double pi=acos(-1.);
int n,a[N];
double l;
pdd ans;
pdd operator*(pdd a,double b){ return pdd(a.first*b,a.second*b); }
pdd operator+(pdd a,pdd b){ return pdd(a.first+b.first,a.second+b.second); }
pdd calc(double x){ return pdd(cos(x*l),sin(x*l)); }
int main()
{
	n=read(); l=pi/read();
	fr(i,1,n) a[i]=read();
	fr(i,1,n) fr(j,i+1,n) ans=ans+calc(a[j]+a[i])*((-(j-i-1)+n-(j-i+1))*(a[j]-a[i]>int(pi/l+0.5)?-1:1));
	ans=ans*(6./n/(n-1)/(n-2));
	printf("%.10lf %.10lf\n",ans.first,ans.second);
//	printf("%lf %lf\n",calc(4).first,calc(4).second);
	return 0;
}