AT_dwango2017final_a 計算ドリル

Description

[problemUrl]: https://atcoder.jp/contests/dwacon2017-honsen/tasks/dwango2017final_a ニコニコテレビちゃんは、頭の体操として簡単な計算をすることにしました。 ところでニコニコテレビちゃんは人間ではないので、逆ポーランド記法で計算をします。 具体的には、`0` ~ `9`, `-`, `+` からなる文字列 $ S $ について、以下の規則に従い計算をします。 - まず、最初の時点では空の、無限に長いスタックを $ 1 $ つ持っていると考える。そして、$ S $ の文字を前から見ていく。 - もし`0` ~ `9`が出てきたら、そのままスタックへ積む。 - もし`+`が出てきたら、スタックから1個取り出し $ a $、もう1個取り出し $ b $ とする。そして $ b+a $ をスタックへ積む。 - もし`-`が出てきたら、スタックから1個取り出し $ a $、もう1個取り出し $ b $ とする。そして $ b-a $ をスタックへ積む。 - 最後に、スタックの中身が $ 1 $ 個ならばそれが答えである - もし $ 1 $ 個ではなかったり、途中で取り出そうとしたがスタックが空だったりした場合は $ S $ は正しい式ではない。 ニコニコテレビちゃんは、適当に文字列 $ S $ を書きました。 これに対してただ計算するだけではつまらないので、以下の問題を解くことにしました。 - この文字列を $ K $ 文字まで書き換えて、正しい式にできるか?また、出来るならば正しい式のうち、計算した答えの最大値はいくつか? しかしこれは難しすぎたので、あなたが代わりに解いて助けてあげてください。

Input Format

入力は以下の形式で標準入力から与えられる。 > $ K $ $ S $

Output Format

もし正しい式に出来ないならば `NG` と出力してください。 出来るならば `OK` と出力し、更に次の行に計算した答えの最大値を出力してください。

Explanation/Hint

### 制約 - $ S $ は、`0` ~ `9`、`-`、`+` からなる文字列である - $ 1\ ≦\ |S|\ ≦\ 52 $ - $ 0\ ≦\ K\ ≦\ |S| $ ### Sample Explanation 1 この式は、普通の記法で表すと`2+1`となります ### Sample Explanation 2 `29+`に書き換えると、答えが最大になります ### Sample Explanation 3 `91-`に書き換えると、答えが最大になります ### Sample Explanation 4 このような式は、逆ポーランド記法としては正しい式ではありません ### Sample Explanation 5 `12+4+6+`と書き換えると、答えが最大になります