#include <cstdio>
#include <cmath>
#include <cstring>
#include <cstdlib>
#include <algorithm>

const int MAXN = 3e3 + 10;
const double PI = acos(-1.0);

int n, L;
double r[MAXN];

int main() {
	scanf("%d%d", &n, &L);
	for (int i = 1, x; i <= n; ++i) scanf("%d", &x), r[i] = 2.0 * x * PI / L;
	std::sort(r + 1, r + n + 1);
	double X = 0, Y = 0;
	for  (int i = 1; i <= n; ++i)
		for (int j = i + 1; j <= n; ++j) {
			double mid = (r[i] + r[j]) / 2, awa = mid + PI;
			X += cos(mid) * (n + i - 1 - j), Y += sin(mid) * (n + i - 1 - j);
			X += cos(awa) * (j - i - 1), Y += sin(awa) * (j - i - 1);
		}
	double tot = 1.0 * n * (n - 1) * (n - 2) / 6;
	printf("%.15lf %.15lf\n", X / tot, Y / tot);
	return 0;
}