#include using namespace std; typedef long long ll; templatebool chmax(T &a, const T &b) { if (abool chmin(T &a, const T &b) { if (b #define vl vector #define vii vector> #define vll vector> #define vvi vector> #define vvl vector> #define vvii vector>> #define vvll vector>> #define vst vector #define pii pair #define pll pair #define pb push_back #define all(x) (x).begin(),(x).end() #define mkunique(x) sort(all(x));(x).erase(unique(all(x)),(x).end()) #define fi first #define se second #define mp make_pair #define si(x) int(x.size()) const int mod=998244353,MAX=300005,INF=15<<26; vst solve(int H,int W,int K){ if(K==0){ return vst(H,string(W,'.')); } if(H==1){ if(K==1){ string re(W,'.'); re[0]='#'; return {re}; }else{ return {}; } } if(H==2){ if(2<=K&&K<=W){ vst res(H,string(W,'.')); res[0][0]='#'; res[1][0]='#'; for(int j=1;j0){ int can=min(W-2,need); Z.pb(can); need-=can; if(need>=2){ need--; }else if(need==1){ Z.pb(0); need--; } } int sz=si(Z); for(int i=0;i>H>>W>>K; bool fl=false; if(H>W){ fl=true; swap(H,W); } auto res=solve(H,W,K); if(si(res)==0){ cout<<-1<<"\n"; }else{ if(fl){ for(int j=0;j