【MX-J3-T1】Seats

题目描述

**注意:题面中所有数组下标都从 $1$ 开始。** 现有一次讲座,有 $a$ 个学生和 $b$ 个老师报名。主办方准备了若干座位,并用一个字符串 $s$ 表示每个座位的类型。对于从左到右的第 $i$ 个座位,$s_i=\texttt{T}$ 表示这是教师座位,$s_i=\texttt{S}$ 表示这是学生座位。 教师座位只能给老师坐,学生座位只能给学生坐,且每个座位只能坐一个人。 然而根据目前的安排方式,并不是所有老师和学生都有自己的座位坐。为此主办方打算进行一些修改。**一次修改**可以选择一个教师座位,将其改成学生座位,或者选择一个学生座位,将其改成教师座位。 请判断至少要多少次修改才能让老师和学生都够坐。特别地,如果无论怎么修改,都无法让所有人有座位,输出 $-1$。

输入输出格式

输入格式


第一行有两个正整数 $a,b$,分别表示学生和老师人数。 第二行有一个字符串,表示主办方每个座位的类型。

输出格式


输出一行一个整数表示答案,见题目描述。

输入输出样例

输入样例 #1

3 4
STTSTTTT

输出样例 #1

1

输入样例 #2

100 100
SSTT

输出样例 #2

-1

输入样例 #3

33 24
SSTTTTSSTSTSTSSTSTSTTTSSSTSSTTSTSSTTTTSTSTTTTSSTTTTTSTTTTSTSSSSS

输出样例 #3

4

说明

**【样例解释 #1】** 有 $3$ 位学生和 $4$ 位老师报名。如果把第 $2$ 个座位调成学生座位,那么学生可以坐第 $1,2,4$ 个座位,教师可以坐第 $3,5,6,7,8$ 个座位中的任意四个。 显然,如果不调整座位,那么学生是不够坐的。 **【样例解释 #2】** 无论如何修改,$100$ 名学生和 $100$ 名老师显然不可能只坐在 $4$ 个座位里,因此输出 $-1$。 **【数据范围】** 本题共 $25$ 个测试点,每个 $4$ 分。设 $n$ 为字符串 $s$ 的字符个数。 |测试点编号|$a,b,n\le$|特殊性质| |:-:|:-:|:-:| |$1$|$100$|$a=b=100$| |$2\sim 8$|$100$|$a+b=n$| |$9\sim 11$|$100$|$s$ 内全是 `S`| |$12\sim 14$|$100$|$s$ 内全是 `T`| |$15\sim 21$|$100$|无特殊性质| |$22\sim 25$|$10^5$|无特殊性质| 对于全体数据,保证 $1\le a,b,n\le 10^5$,字符串 $s$ 内只有大写字母 `S` 或 `T`。