// Problem: Strange town
// Contest: Luogu
// URL: https://www.luogu.com.cn/problem/CF42D
// Memory Limit: 250 MB
// Time Limit: 2000 ms
//
// Powered by CP Editor (https://cpeditor.org)
#include <iostream>
#include <cstdio>
using namespace std;
const int S=25,BS=1005;
int n,m,val[S],vis[BS];
inline bool check(int x)
{
val[x]=m;
for(int i=0;i<=BS-3;i++) vis[i]=false;
for(int i=1;i<=x;i++)
{
for(int j=1;j<i;j++)
{
if(vis[val[i]+val[j]]) return false;
vis[val[i]+val[j]]=true;
}
}
return true;
}
int main()
{
scanf("%d",&n);
val[1]=0,val[2]=1;
m=2;
for(int i=3;i<=n;i++)
{
while(!check(i)) m++;
}
for(int i=1;i<=n;i++)
{
for(int j=1;j<=n;j++)
{
printf("%d ",i==j?0:val[i]+val[j]);
}
printf("\n");
}
return 0;
}
151A - Soft Drinking | 1352A - Sum of Round Numbers |
281A - Word Capitalization | 1646A - Square Counting |
266A - Stones on the Table | 61A - Ultra-Fast Mathematician |
148A - Insomnia cure | 1650A - Deletions of Two Adjacent Letters |
1512A - Spy Detected | 282A - Bit++ |
69A - Young Physicist | 1651A - Playoff |
734A - Anton and Danik | 1300B - Assigning to Classes |
1647A - Madoka and Math Dad | 710A - King Moves |
1131A - Sea Battle | 118A - String Task |
236A - Boy or Girl | 271A - Beautiful Year |
520B - Two Buttons | 231A - Team |
479C - Exams | 1030A - In Search of an Easy Problem |
158A - Next Round | 71A - Way Too Long Words |
160A - Twins | 1A - Theatre Square |
1614B - Divan and a New Project | 791A - Bear and Big Brother |