#!/usr/bin/env python3
from collections import deque, Counter
from heapq import heappop, heappush
from bisect import bisect_right

def main():
    H, W, A, B = map(int, input().split())
    [print('0'*A + '1'*(W-A)) for _ in range(B)]
    [print('1'*A + '0'*(W-A)) for _ in range(H-B)]

if __name__ == "__main__":
    main() from collections import deque, Counter from heapq import heappop, heappush from bisect import bisect_right def main():
    H, W, A, B = map(int, input().split())
    [print('0'*A + '1'*(W-A)) for _ in range(B)]
    [print('1'*A + '0'*(W-A)) for _ in range(H-B)] main H, W, A, B = map(int, input().split()) H map(int, input().split()) map int input().split() ().split () input split W A B print('0'*A + '1'*(W-A)) for _ in range(B) for _ in range(B) _ range(B) range B for _ in range(B) print('0'*A + '1'*(W-A)) print '0'*A + '1'*(W-A) '0'*A '0' A '1'*(W-A) '1' W-A W A [print('0'*A + '1'*(W-A)) for _ in range(B)] print('1'*A + '0'*(W-A)) for _ in range(H-B) for _ in range(H-B) _ range(H-B) range H-B H B for _ in range(H-B) print('1'*A + '0'*(W-A)) print '1'*A + '0'*(W-A) '1'*A '1' A '0'*(W-A) '0' W-A W A [print('1'*A + '0'*(W-A)) for _ in range(H-B)] if __name__ == "__main__":
    main() __name__ == "__main__" __name__ "__main__" main() main def main():
    H, W, A, B = map(int, input().split())
    [print('0'*A + '1'*(W-A)) for _ in range(B)]
    [print('1'*A + '0'*(W-A)) for _ in range(H-B)] def main():
    H, W, A, B = map(int, input().split())
    [print('0'*A + '1'*(W-A)) for _ in range(B)]
    [print('1'*A + '0'*(W-A)) for _ in range(H-B)] main
#!/usr/bin/env python3
from collections import deque, Counter
from heapq import heappop, heappush
from bisect import bisect_right

def main():
    H, W, A, B = map(int, input().split())
    [print('0'*A + '1'*(W-A)) for _ in range(B)]
    [print('1'*A + '0'*(W-A)) for _ in range(H-B)]

if __name__ == "__main__":
    main()
