問題文
あるウェブサイトの不正利用フィルターは、以下の正規表現を使用して、あるフォントの作成必要がある文字を一致させます。
|
|
上記のフィルターは、CJK統合漢字のURO追加部分(初期の一部)、拡張A追加部分及び拡張BからGまでのすべての文字(もちろん、空のコード位置及び互換漢字補助を含む)の編集に一致します。頻度の高い文字については、フォントに既に含まれている場合でも、編集時にフィルターがトリガーされるため、フォントを作成する際に参考として使用するのは不便です。したがって、この正規表現を修正して、Unicodeの新しい漢字に一致しますが、既に含まれている部分を省いて、重複トリガーを回避します。フォントが更新されるたびに、このフィルターの正規表現も更新し、更新で追加済みの部分を除外する必要があります。
入力形式
1行に2つの正規表現文字列$a,b$が含まれており、それぞれに一致する文字の集合が$A,B$とします。
出力形式
最も短い$A \setminus B$に一致できる正規表現を出力せよ。また、-[]
以外の文字はUnicodeコードポイントの昇順に並べること。
入出力の例
入力例1
|
|
出力例1
|
|
入力例2
|
|
出力例2
|
|
説明・ヒント
- $a$と$b$はどちらも、
[
で始まり]
で終わる文字列で、その間にはCJK統合漢字または-
しか含まれません。 - $B \subset A$を満たし、かつ、$A$の要素数は$3 \times 10^5$以下とします。
abc
のように3つの連続したコード位置に一致する場合は、[abc]
ではなく[a-c]
を使用してください。