#abc256c. [abc256_c]Filling 3x3 array

[abc256_c]Filling 3x3 array

问题描述

给定六个整数:h1,h2,h3,w1,w2h_1, h_2, h_3, w_1, w_2w3w_3
考虑在一个 3×33 \times 3 的方格中每个方格上写入一个正整数,以满足以下所有条件:

  • 对于 i=1,2,3i=1,2,3,从上往下数第 ii 行的数字之和为 hih_i
  • 对于 j=1,2,3j=1,2,3,从左往右数第 jj 列的数字之和为 wiw_i

例如,如果 (h1,h2,h3)=(5,13,10)(h_1, h_2, h_3) = (5, 13, 10)(w1,w2,w3)=(6,13,9)(w_1, w_2, w_3) = (6, 13, 9),则以下三种方式都满足条件。 (还有其他满足条件的方式。)

image

有多少种满足条件的写数字的方式?

约束条件

  • 3h1,h2,h3,w1,w2,w3303 \leq h_1, h_2, h_3, w_1, w_2, w_3 \leq 30
  • 输入中的所有值都是整数。

输入

输入以以下格式从标准输入中给出:

h1h_1 h2h_2 h3h_3 w1w_1 w2w_2 w3w_3

输出

打印满足条件的写数字的方式的数量。


示例输入1

3 4 6 3 3 7

示例输出1

1

以下是唯一满足条件的方式。因此,应该打印出 11

image2


示例输入2

3 4 5 6 7 8

示例输出2

0

可能没有满足条件的方式。


示例输入3

5 13 10 6 13 9

示例输出3

120

示例输入4

20 25 30 22 29 24

示例输出4

30613