AT_past201912_i 部品調達
Description
[problemUrl]: https://atcoder.jp/contests/past201912-open/tasks/past201912_i
あなたは、あるものを作るために $ N $ 種類の部品、部品 $ 1,\ \ldots,\ N $ を購入しようとしている。ネット通販サイトを探すと、部品のセット販売が $ M $ 件見つかった。
$ i $ 件目のセット販売 $ (1\ \leqq\ i\ \leqq\ M) $ の情報は、長さ $ N $ の文字列 $ S_i $ と整数 $ C_i $ の組として与えられる。$ S_i $ の $ j $ 文字目 $ (1\ \leqq\ j\ \leqq\ N) $ は、このセットが部品 $ j $ を含むとき `Y`、含まないとき `N` である。また、このセットは $ C_i $ 円で販売されている。
これらのセットのうち何個かを購入し、$ N $ 種類の部品をすべて $ 1 $ 個以上手に入れるのに必要な金額を求める (または、それが不可能であることを報告する) プログラムを作成せよ。
Input Format
入力は以下の形式で標準入力から与えられる。
> $ N $ $ M $ $ S_1 $ $ C_1 $ $ S_2 $ $ C_2 $ $ : $ $ S_M $ $ C_M $
Output Format
すべての部品を $ 1 $ 個以上手に入れることが可能であれば、それに必要な最小金額を表す整数を出力せよ。
そうでなければ、`-1` と出力せよ。
Explanation/Hint
### 注意
この問題に対する言及は、2019年12月29日 05:00 JST まで禁止されています。言及がなされた場合、賠償が請求される可能性があります。
試験後に総合得点や認定級を公表するのは構いませんが、どの問題が解けたかなどの情報は発信しないようにお願いします。
### 制約
- $ 1\ \leqq\ N\ \leqq\ 10 $
- $ 1\ \leqq\ M\ \leqq\ 1,000 $
- $ S_i $ は長さ $ N $ の文字列である。
- $ S_i $ の各文字は `Y` または `N` である。
- $ 1\ \leqq\ C_i\ \leqq\ 1,000,000,000 $
- $ C_i $ は整数である。
### Sample Explanation 1
$ 2 $ 番目と $ 3 $ 番目のセットを購入すると、$ 20\ +\ 10\ =\ 30 $ 円で部品 $ 1,\ 2,\ 3 $ すべてが揃う。
### Sample Explanation 2
部品 $ 5 $ がどのセットにも含まれておらず、すべての部品を揃えることは不可能である。