P2516 [CF1366G] Construct the String
省选
题目描述

Let's denote the function $f(s)$ that takes a string $s$ consisting of lowercase Latin letters and dots, and returns a string consisting of lowercase Latin letters as follows:

  1. let $r$ be an empty string;
  2. process the characters of $s$ from left to right. For each character $c$, do the following: if $c$ is a lowercase Latin letter, append $c$ at the end of the string $r$; otherwise, delete the last character from $r$ (if $r$ is empty before deleting the last character — the function crashes);
  3. return $r$ as the result of the function.

You are given two strings $s$ and $t$. You have to delete the minimum possible number of characters from $s$ so that $f(s) = t$ (and the function does not crash). Note that you aren't allowed to insert new characters into $s$ or reorder the existing ones.

Input

The input consists of two lines: the first one contains $s$ — a string consisting of lowercase Latin letters and dots, the second one contains $t$ — a string consisting of lowercase Latin letters ($1 \le |t| \le |s| \le 10000$).

Additional constraint on the input: it is possible to remove some number of characters from $s$ so that $f(s) = t$.

Output

Print one integer — the minimum possible number of characters you have to delete from $s$ so $f(s)$ does not crash and returns $t$ as the result of the function.

输入格式

见题面 Input 部分

输出格式

见题面 Output 部分

样例输入
a.ba.b. abb
样例输出
2