'''
Когда Павел учился в школе, он запоминал таблицу умножения прямоугольными блоками. Для тренировок ему бы очень пригодилась программа, которая показывала бы блок таблицы умножения.

Напишите программу, на вход которой даются четыре числа aa, bb, cc и dd, каждое в своей строке. Программа должна вывести фрагмент таблицы умножения для всех чисел отрезка [a; b][a;b] на все числа отрезка [c;d][c;d].

Числа aa, bb, cc и dd являются натуральными и не превосходят 10, a \le ba≤b, c \le dc≤d.

Следуйте формату вывода из примера, для разделения элементов внутри строки используйте '\t' — символ табуляции. Заметьте, что левым столбцом и верхней строкой выводятся сами числа из заданных отрезков — заголовочные столбец и строка таблицы.﻿

Sample Input 1:

7
10
5
6
Sample Output 1:

	5	6
7	35	42
8	40	48
9	45	54
10	50	60
Sample Input 2:

5
5
6
6
Sample Output 2:

	6
5	30
Sample Input 3:

1
3
2
4
Sample Output 3:

	2	3	4
1	2	3	4
2	4	6	8
3	6	9	12

'''

a = int(input())
b = int(input())
c = int(input())
d = int(input())

#a = 5; b = 5;
#c = 6; d = 6;

for i in range(a,(b+2)):
    for j in range(c,(d+2)):

        if (i==a) and (j==c):
            print(' ', sep = '\t', end = '\t')

        if (j==c) and (i!=a):
            print(i-1, sep = '\t', end = '\t')

        if (i==a) and (j!=c):
            print(j-1, sep = '\t', end = '\t')

        if (i!=a) and (j!=c):
            print(((i-1)*(j-1)), sep = '\t', end = '\t')
    print('')
