#include using namespace std; using ll = long long; using ull = unsigned long long; using ld = long double; using pii = pair; using pll = pair; using vll = vector; const ll INF = LLONG_MAX / 4; bool chmin(auto& a, const auto& b) { return a > b ? a = b, 1 : 0; } bool chmax(auto& a, const auto& b) { return a < b ? a = b, 1 : 0; } auto sz(const auto& a) { return ssize(a); } #define OVERLOAD_REP(a, b, c, d, name, ...) name #define rep(...) OVERLOAD_REP(__VA_ARGS__, REP3, REP2, REP1, REP0)(__VA_ARGS__) #define REP0(x) for (ll _rep_counter = 0; _rep_counter < (x); ++_rep_counter) #define REP1(i, x) for (ll i = 0; (i) < (x); ++(i)) #define REP2(i, l, r) for (ll i = (l); (i) < (r); ++(i)) #define REP3(i, l, r, c) for (ll i = (l); ((c) > 0 ? (i) < (r) : (i) > (r)); i += (c)) #define each(x,a) for (auto&& x : a) #define MOD 998244353 #define ll0 ((ll)0) void solve() { ll n; cin >> n; vector v(n, vll(n, 0)); rep(i, n) { v[i][n-1-i] = 1; if(i > 0) v[i][n-1-i+1] = 1; if(i < n-1) v[i][n-1-i-1] = 1; } rep(i, n) { string s = ""; rep(j, n) { s += ".#"[v[i][j]]; } cout << s << endl; } } int main() { cin.tie(nullptr); ios_base::sync_with_stdio(false); solve(); }