#include <bits/stdc++.h>
#define dbug(x) cout<<#x<<"="<<x<<endl
using namespace std;
template <typename T> void read(T &t) {
	t=0; char ch=getchar(); int f=1;
	while ('0'>ch||ch>'9') { if (ch=='-') f=-1; ch=getchar(); }
	do {(t*=10)+=ch-'0';ch=getchar();} while ('0'<=ch&&ch<='9'); t*=f;
}
typedef long long ll;
const double pi=acos(-1.0);
const int maxn=3010;
int n,L; ll m;
double t[maxn];
double a,b,x,y,tmp;
int main() {
	//freopen("1.txt","r",stdin);
	read(n); read(L);
	m=(ll)n*(n-1)*(n-2)/6;
	for (int i=1;i<=n;i++) read(t[i]);
	for (int i=1;i<=n;i++)
	for (int j=i+1,k;j<=n;j++) {
		tmp=(t[i]+t[j])/2;
		tmp=2*pi*tmp/L;
		k=j-i-1;
		x=cos(tmp);
		y=sin(tmp);
		a+=x*(n-2-k);
		b+=y*(n-2-k);
		tmp+=pi;
		x=cos(tmp);
		y=sin(tmp);
		a+=x*k;
		b+=y*k;
	}
	printf("%.10lf %.10lf\n",a/m,b/m);
	return 0;
}