func_code_string: #include <bits/stdc++.h>   using namespace std;   char BUF_I[1048576], *S_I = BUF_I, *T_I = BUF_I;   struct Input {     Input() {}     inline Input &operator>>(char &c) {       return (c = ((S_I == T_I) &&                            (T_I = (S_I = BUF_I) + fread(BUF_I, 1, 1048576, stdin),                             S_I == T_I)                        ? EOF                        : *S_I++),               *this);     }     template <class T>     inline Input &operator>>(T &S_I) {       S_I = 0;       char c;       while (*this >> c, c < 48 || c > 57)         ;       while (S_I = S_I * 10 + c - 48, *this >> c, c > 47 && c < 58)         ;       return *this;     }     inline int Getint() {       char c;       register int S_I = 0;       register bool w = false;       while (*this >> c, c == 45 && (w = true), c < 48 || c > 57)         ;       while (S_I = S_I * 10 + c - 48, *this >> c, c > 47 && c < 58)         ;       return w ? -S_I : S_I;     }   } tin;   char BUF_O[262144], *S_O = BUF_O, *Limit_O = BUF_O + 262144;   struct Output {     ~Output() { Flush(); }     inline int Flush() {       fwrite(BUF_O, 1, S_O - BUF_O, stdout);       S_O = BUF_O;       return 0;     }     inline Output &operator<<(const char &c) {       if (S_O == Limit_O) Flush();       return (*S_O++ = c, *this);     }     template <class T>     inline Output &operator<<(T x) {       static char Stack[25];       static int Top;       if (x < (Top = 0)) *this <<  - , x = -x;       do {         Stack[++Top] = x % 10 + 48;       } while (x /= 10);       while (Top) (*this) << Stack[Top--];       return *this;     }   } tout;   int n, a[1005][1005];   int main() {     tin >> n;     for (int i = 1; i <= n; i++)       for (int j = 1; j <= n; j++) a[i][j] = (i + j - 2) % (n - 1) + 1;     for (int i = 1; i <= n; i++) {       a[i][n] = a[n][i] = a[i][i];       a[i][i] = 0;     }     for (int i = 1; i <= n; i++) {       for (int j = 1; j <= n; j++) tout << a[i][j] <<    ;       tout <<   n ;     }     return 0;   }   