#include <bits/stdc++.h>
using namespace std;
const int MaxN = 110;
const complex<double> I(0, 1);
const double pi = acos(-1);
int n;
complex<double> p[MaxN];
int main() {
  cin >> n;
  if (n <= 4) {
    puts("No solution");
    return 0;
  }
  double R = 800, eps = 0.5;
  if (n > 10) R = 1000;
  for (int i = 0; i < n; ++i) p[i] = R * exp(2 * pi * i / n * I);
  double len = 0;
  for (int i = 0; i < n - 1; ++i) {
    complex<double> a = p[i] - p[i + 1];
    complex<double> b = p[(i + 3) % n] - p[(i + 2) % n];
    len += eps;
    p[i + 1] += a / abs(a) * len;
    p[(i + 2) % n] += b / abs(b) * len;
  }
  for (int i = 0; i < n; ++i)
    printf("%.10lf %.10lf\n", p[i].real(), p[i].imag());
  return 0;
}
