def f(h,v):r="+"+"+".join("-"*i for i in h)+"+\n";print r+r.join(("|"+"|".join(" "*i for i in h)+"|\n")*i for i in v)+r

# Examples
print "Test f([0], [0]):"
f([0],[0])
print "Expected:"
print """\
++
++
"""
print "Test f([1, 2], [1, 2]):"
f([1, 2], [1, 2])
print "Expected:"
print """\
+-+--+
| |  |
+-+--+
| |  |
| |  |
+-+--+
"""
print "Test f([1, 0, 3, 0, 2, 0], [2, 1, 0, 0]):"
f([1, 0, 3, 0, 2, 0], [2, 1, 0, 0])
print "Expected:"
print """\
+-++---++--++
| ||   ||  ||
| ||   ||  ||
+-++---++--++
| ||   ||  ||
+-++---++--++
+-++---++--++
+-++---++--++
"""