#include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #define rep(x, s, t) for(llint (x) = (s); (x) <= (t); (x)++) #define reps(x, s) for(llint (x) = 0; (x) < (llint)(s).size(); (x)++) #define chmin(x, y) (x) = min((x), (y)) #define chmax(x, y) (x) = max((x), (y)) #define all(x) (x).begin(),(x).end() #define outl(x) cout << x << endl #define SP << " " << #define inf 1e18 using namespace std; typedef long long llint; typedef long long ll; typedef pair P; ll n, d; ll ans[1005][1005]; int main(void) { ios::sync_with_stdio(0); cin.tie(0); cin >> n >> d; ans[1][1] = 1; rep(i, 2, n) ans[i-1][i] = ans[i][i-1] = 1; rep(i, 1, n){ ll p = n+1 - d*i; if(p <= 1) break; ans[p-1][p] = ans[p][p-1] = 0; ans[1][p] = ans[p][1] = 1; } rep(i, 1, n){ rep(j, 1, n) cout << ans[i][j]; cout << endl; } return 0; }