GCD of Contiguous Subsequence 2

2 secs 1024 MB
take44444

GCD of Contiguous Subseqence 2


問題文


長さの数列が与えられます.「数列の空でない全ての連続部分列」における「連続部分列の長さ 全要素の最大公約数」の総和をで割ったあまりを求めてください.つまり,

で割ったあまりを求めてください.

ただし,部分列の要素が同じでも、取り出す位置が異なっていれば別の部分列として数えます.

また,数列の要素がつの場合はその要素の値を最大公約数とします.つまり,任意の自然数について,です.

制約


  • 入力はすべて整数

入力



出力


で割ったあまりを出力してください.

サンプル


入力例1
5
8 3 80 4 164
出力例1
310

以下では をポイントと呼びます.

  • の長さは,最大公約数はなのでポイントはです.
  • の長さは,最大公約数はなのでポイントはです.
  • の長さは,最大公約数はなのでポイントはです.
  • の長さは,最大公約数はなのでポイントはです.
  • の長さは,最大公約数はなのでポイントはです.
  • の長さは,最大公約数はなのでポイントはです.
  • の長さは,最大公約数はなのでポイントはです.
  • の長さは,最大公約数はなのでポイントはです.
  • の長さは,最大公約数はなのでポイントはです.
  • の長さは,最大公約数はなのでポイントはです.
  • の長さは,最大公約数はなのでポイントはです.
  • の長さは,最大公約数はなのでポイントはです.
  • の長さは,最大公約数はなのでポイントはです.
  • の長さは,最大公約数はなのでポイントはです.
  • の長さは,最大公約数はなのでポイントはです.

これらを合計するとになります.

入力例2
5
12 12 12 12 6
出力例2
330

提出


Go (1.14)