#include <bits/stdc++.h>
using namespace std;
const int INF = 0x3f3f3f3f;
int n;
long double len[101];
long double ran() {
  long double Tmp = rand() % 50000 + 10000;
  return Tmp / 1000;
}
int main() {
  scanf("%d", &n);
  srand(time(0));
  if (n <= 4) {
    puts("No solution");
    return 0;
  }
  for (int i = 1; i <= n; ++i) len[i] = 500;
  long double deg = 3.1415926535897932384626433832795 -
                    (n - 2) * 3.1415926535897932384626433832795 / n;
  for (int T = 1; T <= INF; ++T) {
    bool bad = 0;
    for (int i = 1; i <= n; ++i)
      for (int j = i + 1; j <= n; ++j) bad |= abs(len[i] - len[j]) < 0.002;
    if (bad) {
      for (int i = 1; i <= n; ++i) {
        long double tmp = ran();
        len[i] += tmp;
        len[(i + 1) % n + 1] += tmp;
        len[i % n + 1] -= 2.0 * cos(deg) * tmp;
      }
    } else
      break;
  }
  long double x = 0, y = 0;
  vector<pair<long double, long double> > ans;
  long double d = 0;
  for (int i = 1; i <= n; ++i) {
    ans.push_back(make_pair(x, y));
    y += sin(d) * len[i];
    x += cos(d) * len[i];
    d += deg;
  }
  for (auto it : ans) {
    printf("%.3Lf %.3Lf\n", it.first, it.second);
  }
  return 0;
}
