#include <bits/stdc++.h>
using namespace std;
const double eps = 0.01;
struct Poi {
  double x, y;
  Poi() {}
  Poi(double x, double y) : x(x), y(y) {}
  Poi operator+(const Poi& rhs) const { return Poi(x + rhs.x, y + rhs.y); }
  Poi operator-(const Poi& rhs) const { return Poi(x - rhs.x, y + rhs.y); }
  Poi operator*(double p) const { return Poi(x * p, y * p); }
};
Poi P[110];
int n;
Poi rotate(const Poi& v, double a) {
  return Poi(v.x * cos(a) - v.y * sin(a), v.x * sin(a) + v.y * cos(a));
}
int main() {
  scanf("%d", &n);
  if (n <= 4) {
    puts("No solution");
  } else {
    Poi v(1, 0);
    double alpha = 2 * M_PI / n;
    double len = 300;
    for (int i = 1; i < n; i++) {
      P[i] = P[i - 1] + v * len;
      len += eps;
      v = rotate(v, alpha);
    }
    len = -P[n - 1].y / v.y;
    P[n] = P[n - 1] + v * len;
    for (int i = 1; i <= n; i++) {
      printf("%lf %lf\n", P[i].x, P[i].y);
    }
  }
  return 0;
}
