#L3204. 「BalticOI 2019 Day2」汤姆的餐厅

「BalticOI 2019 Day2」汤姆的餐厅

Tom's Kitchen

题目来源:BalticOI 2019 Day2 T1


题目描述

Tom's Kitchen 是一家非常受欢迎的餐厅,其受欢迎的原因之一是每份菜都由至少 KK 名厨师进行准备。今天有 NN 份菜需要准备,第 ii 份菜的准备时间是 AiA_i 小时。

Tom 可以雇佣 MM 名厨师,厨师 jj 最多可以工作 BjB_j 小时。此外,即使厨师 jj 的工作时间不到 BjB_j 小时,他也会得到工作 BjB_j 小时的报酬。一名厨师可以花不同的时间准备不同的菜,但是每一道菜都需要由至少 KK 名厨师准备,并且他们花的时间总和恰好为 AiA_i。当一名厨师准备菜品时,他总会花正整数小时。

Tom 需要一套最优的雇佣厨师方案,以使得厨师不工作就获得报酬的小时数(即所有雇佣厨师的总工作时间上限与准备所有菜的总时间之差)尽可能小。


输入格式

第一行包含三个正整数:N,M,KN, M, K

第二行包含 NN 个整数 AiA_i,第三行包含 MM 个整数 BjB_j


输出格式

如果不存在一套方案可以完成所有菜的准备工作,输出 Impossible。否则输出一个整数,代表厨师不工作就获得报酬的小时数的最小值。


样例 1

输入

1 2 2
5
3 4

输出

2

解释
Tom 需要雇佣这两位厨师来完成所有菜的准备工作。准备所有菜的时间为 55 小时,但 Tom 需要支付 3+4=73+4=7 小时的费用,即厨师不工作就能得到 22 小时的工资。


样例 2

输入

1 1 2
5
5

输出

Impossible

解释
准备一份菜需要至少两位厨师,但只能雇佣一位厨师,因此不能完成准备工作。


样例 3

输入

3 3 3
3 3 2
3 3 3

输出

Impossible

解释
第三份菜无法由三位厨师来准备,因为准备第三份菜的时间只有 22 小时(这意味着如果由三名厨师准备第三份菜的话,至少有一位厨师的准备时间是 00 小时,而这是不符合题目要求的)。