小红组比赛
时间限制:C/C++/Rust/Pascal 1秒,其他语言2秒
空间限制:C/C++/Rust/Pascal 256 M,其他语言512 M
64bit IO Format: %lld

题目描述

\,\,\,\,\,\,\,\,\,\,小红希望出一场题目,但是他的实力又不够,所以他想到可以从以前的比赛中各抽一题,来组成一场比赛。不过一场比赛的难度应该是有限制的,所以所以这一场比赛会给一个目标难度分数 \rm target 。
\,\,\,\,\,\,\,\,\,\,小红选 n 场比赛,每场 m 个题,小红会从每一场选一道题,使其组成的题的难度分数尽量接近 \rm target 。小红想知道挑选的题的难度分数与 \rm target 相差的最小值是多少。

输入描述:

\,\,\,\,\,\,\,\,\,\,第一行输入两个整数 n, m\ (1 \leq n \leq 100, 1 \leq m \leq 20) 代表小红选了 n 场比赛,每场比赛有 m 道题。
\,\,\,\,\,\,\,\,\,\,此后 n 行,第 i 行输入 m 个整数 a_{i,j}\ (1 \leq a_{i,j} \leq 50) 代表第 i 场比赛的第 j 道题的难度分数。
\,\,\,\,\,\,\,\,\,\,最后一行输入一个整数 {\rm target}\ (1 \leq {\rm target} \leq 5000) 代表小红希望这一场比赛的难度分数。

输出描述:

\,\,\,\,\,\,\,\,\,\,在一行上输出一个整数,表示挑选的题的难度分数与 \rm target 相差的最小值。
示例1

输入

复制
3 3
1 4 7
2 5 8
3 6 9
10

输出

复制
1

说明

\,\,\,\,\,\,\,\,\,\,小红可以选第一场比赛的第一道题,第二场比赛的第一道题,第三场比赛的第二道题,这样挑选的题的难度分数为 1 + 2 + 6 = 9,与 \rm target 相差的最小值为 1