A - 添字

Time Limit: 2 sec / Memory Limit: 256 MB

問題文

文字列 s と整数 i (1≦i≦|s|) が与えられます。 si 文字目を出力してください。

なお、|s| は文字列 s の長さを表します。

制約

  • 1≦|s|≦100
  • s は英小文字のみからなる。
  • 1≦i≦|s|

入力

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

s
i

出力

si 文字目を出力せよ。


入力例1

atcoder
3

出力例1

c

入力例2

beginner
1

出力例2

b

入力例3

contest
7

出力例3

t

入力例4

z
1

出力例4

z
B - 直方体

Time Limit: 2 sec / Memory Limit: 256 MB

問題文

正の整数 ABC が与えられます。 幅 A、高さ B、奥行き C の直方体の体積を X とします。 X10^9+7 で割った余りを求めてください。

なお、いくつかのプログラミング言語では、整数型が表せる値に上限があることに注意してください。

制約

  • ABC は整数である。
  • 1≦A,B,C≦10^9

入力

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

A B C

出力

X10^9+7 で割った余りを出力せよ。


入力例1

2 3 4

出力例1

24

入力例2

10000 1000 100

出力例2

1000000000

入力例3

100000 1 100000

出力例3

999999937

X=10^{10} なので、10^9+7 で割った余りである 999999937 を出力します。


入力例4

1000000000 1000000000 1000000000

出力例4

999999664

X=10^{27} なので、10^9+7 で割った余りである 999999664 を出力します。

C - 背の順

Time Limit: 2 sec / Memory Limit: 256 MB

問題文

高橋学級には N 人の生徒がいます。 生徒は 1 から N まで出席番号が振られています。 i 番目の生徒の身長は a_i です。 a_i はすべて相異なります。

高橋先生は N 人の生徒を背の高い方から順に並べました。 N 人の生徒の出席番号を背の高い方から順に出力してください。

制約

  • 2≦N≦10^5
  • a_i は整数である。
  • 1≦a_i≦10^9
  • a_i はすべて相異なる。

部分点

  • 30 点分のテストケースでは、N≦1000 を満たす。

入力

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

N
a_1 a_2 ... a_N

出力

N 行出力せよ。 i 行目には、i 番目に背の高い生徒の出席番号を出力せよ。


入力例1

3
140 180 160

出力例1

2
3
1

生徒の身長を大きい方から順に並べると 180160140 となります。 この順に生徒の出席番号を並べると 231 となります。


入力例2

2
1000000000 1

出力例2

1
2

入力例3

8
3 1 4 15 9 2 6 5

出力例3

4
5
7
8
3
1
6
2
D - 徒競走

Time Limit: 3 sec / Memory Limit: 256 MB

問題文

N 匹のうさぎがいます。 うさぎは 1 から N まで番号が振られています。

これら N 匹のうさぎが徒競走をしました。 同着はいませんでした。 このとき、着順は N! 通り考えられます。

高橋君は M 人の観客から情報を集めました。 i 番目の観客によると、うさぎ x_i はうさぎ y_i よりも先にゴールしたそうです。

すべての観客の情報に合致するような着順が何通り考えられるか求めてください。

制約

  • 2≦N≦16
  • 1≦M≦N(N-1)/2
  • 1≦x_i,y_i≦N
  • x_i≠y_i
  • (x_i,y_i) の組はすべて相異なる。
  • すべての観客の情報に合致するような着順が少なくともひとつ存在する。

部分点

  • 30 点分のテストケースでは、N≦8 を満たす。

入力

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

N M
x_1 y_1
x_2 y_2
:
x_M y_M

出力

すべての観客の情報に合致するような着順が何通り考えられるか出力せよ。


入力例1

3 2
2 1
2 3

出力例1

2

次の 2 通りが考えられます。

  • (2,1,3)
  • (2,3,1)

入力例2

5 5
1 2
2 3
3 5
1 4
4 5

出力例2

3

次の 3 通りが考えられます。

  • (1,2,3,4,5)
  • (1,2,4,3,5)
  • (1,4,2,3,5)

入力例3

16 1
1 2

出力例3

10461394944000

答えは 32 bit 整数型に収まらない場合があります。 なお、このケースは部分点のテストケースには含まれません。