#!/usr/bin/python3

import sys
import random

default = {
    "n": 10,
    "m": 10,
    "corner": 4,
    "edge": 0,
    "interior": 0,
}

def cmdlinearg(name):
    for arg in sys.argv:
        if arg.startswith(name + "="):
            return arg.split("=")[1]
    return default[name]

def main():
    random.seed(int(sys.argv[-1]))
    n = int(cmdlinearg("n"))
    m = int(cmdlinearg("m"))
    corner = int(cmdlinearg("corner"))
    edge = int(cmdlinearg("edge"))
    interior = int(cmdlinearg("interior"))
    
    c_tot = [(0, 0), (0, m-1), (n-1, 0), (n-1, m-1)]
    e_tot = []
    i_tot = []
    for i in range(0, n):
        for j in range(0, m):
            if i == 0 or j == 0 or i == n-1 or j == m-1:
                min_dist = 12039
                for (r, c) in c_tot:
                    min_dist = min(min_dist, abs(i-r)+abs(j-c))
                if min_dist > 1:
                    e_tot.append((i, j))
            else:
                i_tot.append((i, j))
    
    overlaps = []
    overlaps += random.sample(c_tot, corner)
    overlaps += random.sample(e_tot, edge)
    overlaps += random.sample(i_tot, interior)
    overlaps = set(overlaps)

    print(n,m)
    for i in range(0, n):
        line = []
        for j in range(0, m):
            if (i, j) in overlaps:
                line.append('2')
            else:
                line.append('1')
        print("".join(line))



if __name__ == "__main__":
    main()