#C, 242 bytes
Yeah.
It's about 160 bytes without no input rule.
<!-- language: lang-c -->
#define p putchar
a,b,c,d,e,i,j;g(a,c,e){p(c);for(i=0;i++<a-2;)p(e);p(c);puts("");}h(b,d){for(i=0;i++<b;){p(d);puts("");}}main(q,w)char**w;{a=w[1];b=w[2];c=w[3];d=w[4];e=w[5];if(q==1)a=3,b=1,c=d=e=99;g(a,c,e);h(b,d);g(a,c,e);h(b,d);g(a,c,e);}
[Ideone, no input](https://ideone.com/MvXBkA)