#agc026d. [agc026_d]Histogram Coloring

[agc026_d]Histogram Coloring

問題文

高さ 10910^9 マス,幅 NN マスのグリッドを考え,左から i(1leqileqN)i(1 \\leq i \\leq N) 番目,下から j(1leqjleq109)j(1 \\leq j \\leq 10^9) 番目のマス目を (i,j)(i, j) と表すことにします。

すぬけ君は各 i=1,2,...,Ni = 1, 2, ..., N について,左から ii 列目のマスたちを,下から hih_i 個を残すように切り取りました。 そして赤,青の絵の具を使い,マス目を絵の具で塗ります。 以下の条件を満たすような塗り分け方は何通りか求めて下さい。ただし答えは非常に大きくなるので,109+710^9+7 で割った余りを出力して下さい。

  • 全ての(切り取った後に残された)マスたちは,赤,青のどちらかの色に塗られている。
  • 全ての 1leqileqN11 \\leq i \\leq N-1, 1leqjleqmin(hi,hi+1)11 \\leq j \\leq min(h_i, h_{i+1})-1 について,(i,j),(i,j+1),(i+1,j),(i+1,j+1)(i, j), (i, j+1), (i+1, j), (i+1, j+1) の4マスのなかにちょうど 22 個ずつ赤色と青色のマスが存在する。

制約

  • 1leqNleq1001 \\leq N \\leq 100
  • 1leqhileq1091 \\leq h_i \\leq 10^9

入力

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

NN h1h_1 h2h_2 ...... hNh_N

出力

塗り分け方の個数を 109+710^9+7 で割った余りを出力せよ。


入力例 1

9
2 3 5 4 1 2 4 2 1

出力例 1

12800

以下に塗り分け方の一例を示します。


  #```