炼金术士

题目描述

作为一名炼金术士,你需要使用仓库中的 nn 份炼金资材来完成 mm 份订单。每份资材和每个订单都对应一个 111010 的等级。

你可以通过以下两种方式生产药剂:

  1. 直接制作:使用一份等级为 LL 的资材,可以直接制作出一瓶等级为 LL 的炼金药剂。
  2. 合成升级:将两瓶相同等级 LL 的药剂,可以合成一瓶等级为 L+1L+1 的药剂。

每个订单都需要一瓶特定等级的药剂来完成。你的目标是,在现有资材的限制下,尽可能多地完成订单。

输入格式

第一行包含两个整数 nnmm,分别表示仓库中的资材数量和订单数量。

第二行包含 nn 个整数,表示仓库里每份资材的等级。

第三行包含 mm 个整数,表示每个订单所需的药剂等级。

输出格式

输出一个整数,表示你最多可以完成的订单数量。

样例

样例输入 1

8 5
1 3 4 9 6 6 4 8
1 5 9 3 7

样例输出 1

5

样例输入 2

5 7
1 1 9 9 10
2 10 5 4 7 2 10

样例输出 2

3

提示

数据范围与约定

对于 100%100\% 的数据,保证:

  • 1n,m1061 \le n, m \le 10^6

相关