编程介的小学生 2017-06-10 15:32 采纳率: 20.5%
浏览 668
已采纳

Special Experiment

As we know, an atom can be in different energy states (or "energy levels"). Usually, when it transits from a higher energy state to a lower one, it will emit a photon, whose energy is equal to the difference in energy of these two states. Absorption of photons is the reverse process. If a photon, whose energy equal to the difference in energy of two states of an atom, passes by, it may be absorbed and its energy will put the atom into a higher energy level. For most elements, the atom can transit between any two states directly, by emitting or absorbing only one photon. Scientists are puzzled by a new element that they discovered recently. For two certain energy states, the atom of this element can transit between them directly (emitting or absorbing one and only one photon), but for some other pairs of energy states, the atom cannot.

Generally speaking, when an atom transits among energy states one after another, a trail of events (emitting or absorbing a photon) occurs. For example, when transiting from energy state Ei1 to Eit, the atom follows this sequence:

Ei1, Ei2, Ei3, ..., Eik, ..., Eit

Eik (1 <= k <= t) represents a certain energy state. During the of process of transiting from Eik to Eik+1, one and only one photon is emitted or absorbed.

The atom can be in any energy state and transit to some other one. But as we mentioned above, for some pairs of energy states, this special atom cannot transit between them directly. What's more, when its energy state changes from one to another, for example, from Ej1 to Ejw, it can only follow a unique sequence Ej1, Ej2, Ej3, ..., Ejw. And the most interesting thing is that it can only follow another unique sequence Ejw, ..., Ej3, Ej2, Ej1, when it transits back from Ejw to Ej1. You can find that it is the reversion of the former one! Right! Isn't it special?

Now, the scientists need your help today. In an experiment, some atoms of this new element will be put into a container. Any two atoms would be regarded as "dangerous atoms" if they satisfy one of the following conditions:

They are in the same energy state.
They are in different energy states. But if one of them emits or absorbs a photon, they will be in the same states too.
You must make sure that there are no dangerous atoms in this container. And the higher the total energy of the atoms in the container is, the more easily will the experiment succeed.

Now, the scientists have told you all photons that the atoms of this element can emit or absorb, as well as the energy of all atom states. They ask you calculate the highest total energy that the atoms in the container can reach.

Input

There are several testcases in the input. Each begins with a line containing two integers N, M (0 < N, M <= 200), representing the number of the energy levels and the number of the different photons that this kind of atom can emit or absorb respectively. The two numbers are followed by exactly N + M lines, which contain one positive integer each. These N + M positive integers are not greater than 1,000,000. The first N distinguishing integers are the energy of the atom in the N different energy states in ascending order. The next M integers correspond to the energy of the M different photons, which can be emitted or absorbed by atoms of this element. If the difference in energy of any two states equals to the energy of one of the M photons, the atom can transit between these two states directly.

There is no blank line between two data sets. The last testcase is followed by a line containing two zeros.

Output

For each testcase, output one line containing an integer, which indicates the highest total energy that the atoms in the container can reach. There should be no blank line between any two cases.

Sample Input

3 1
2
4
6
2
0 0

Sample Output

8

  • 写回答

1条回答 默认 最新

  • devmiao 2017-06-28 16:42
    关注
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥100 Jenkins自动化部署—悬赏100元
  • ¥15 关于#python#的问题:求帮写python代码
  • ¥20 MATLAB画图图形出现上下震荡的线条
  • ¥15 关于#windows#的问题:怎么用WIN 11系统的电脑 克隆WIN NT3.51-4.0系统的硬盘
  • ¥15 perl MISA分析p3_in脚本出错
  • ¥15 k8s部署jupyterlab,jupyterlab保存不了文件
  • ¥15 ubuntu虚拟机打包apk错误
  • ¥199 rust编程架构设计的方案 有偿
  • ¥15 回答4f系统的像差计算
  • ¥15 java如何提取出pdf里的文字?