#include <bits/stdc++.h>
using namespace std;
vector<string> v;
void print(int x){
while(x--) cout << "-";
}
string print2(int x){
string s = "";
while(x--) s += "-";
return s;
}
void calc(int idx , int num){
// cout << idx << " " << num << endl;
v[idx] = print2(num);
if(num == 1) return ;
int add = pow(2,num-2);
calc(idx - add , num - 1) ;
calc(idx + add , num - 1);
}
void mountain( int p){
v.clear();
v.resize(pow(2,p-1));
calc(pow(2,p-2) , p - 1);
for(int i=1 ; i<pow(2,p-1) ; i++){
cout << v[i] << endl;
}
}
int main() {
int l , p ;
cin >> l >> p ;
for(int i=0 ; i<=l ; i++){
print(p) ; cout << i << endl;
if(i != l){
mountain(p);
}
}
return 0;
}
Copy