#A0048. 口袋

口袋

题目描述

克拉拉同学平时就喜欢一些奇奇怪怪的东西,她有一个神奇的口袋,她能从口袋里拿出各种神奇的东西。 某一天她发现口袋里出现了一些像数字形状的物品, 我们用 0099 这十种数字来表示不同的物品。 克拉拉有一个非常喜欢的数字xx, 现在她想用口袋里的给出的这些数字形状的物品来组成尽可能多的xx,每个物品只能用一次。 组装过程中克拉拉发现这些像数字形状的物品中,2“2”5“5”倒过来特别像,6“6”9“9” 倒过来也特别像,所以她可以用 2255 互相代替,也能用 6699 互相代替(其他的不能代替)。 举个例子,克拉拉喜欢数字4242,现在口袋里能拿出来顺序为23454“23454” 这五种物品,因此她可以用第一个物品 2“2” 和第三个物品 4“4” 组成4242(可以组成2424,但不是需要的),还能用第四个物品 5“5” 和第五个物品 4“4” 组成4242(其中 55 倒过来可以当作 22 )。 现在想要知道这些物品最多能组成几个克拉拉最喜欢的数字。 请你编程帮克拉拉解决这个问题,并输出能用物品组成 xx 的最多的个数。

输入描述

第一行为一个正整数xx,表示克拉拉最喜欢的数字。 第二行为一个字符串,字符串每一位为 0‘0’9‘9’ 的某个字符,字符串长度为物品的个数(数字之间没有其他符号)。

输出描述

一行,一个整数,表示能用物品拼成最多的xx的个数(拼成xx的次数)。

输入样例1

42
23454

输出样例1

2

样例1 说明

2,4(2, 4)5,4(5, 4)拼成4242,其中 55 可以倒过来当作22。可以证明不能再多拼成一个 4242 了。

输入样例2

169
21891919

输出样例2

1

样例2说明

218919192-“1”-8-“9”-1-“9”-1-9,可以用1,9,9(1,9,9)拼成169169,第一个 99 可以倒过来当 66 使用。因为每个数字只能用一次,因此最多只能拼成一个169169

输入样例3

801
12345678111

输出样例3

0

数据范围

对于 30%30\% 的数据,1x1001 ≤ x ≤ 100,字符串长度不超过2020。 其中 10%10\% 的数据保证x<10x < 10, 另外 10%10\% 的数据保证 xx 中不出现25692、5、6、9。 对于 60%60\% 的数据,1x10001 ≤ x ≤ 1000, 字符串长度不超过100100; 对于 100%100\% 的数据,1x1000001 ≤ x ≤ 100000,字符串长度不超过200000200000