Fox Ciel is playing a game with numbers now. 

Ciel has *n* positive integers: *x*<sub class="lower-index">1</sub>, *x*<sub class="lower-index">2</sub>, ..., *x*<sub class="lower-index">*n*</sub>. She can do the following operation as many times as needed: select two different indexes *i* and *j* such that *x*<sub class="lower-index">*i*</sub> &gt; *x*<sub class="lower-index">*j*</sub> hold, and then apply assignment *x*<sub class="lower-index">*i*</sub> = *x*<sub class="lower-index">*i*</sub> - *x*<sub class="lower-index">*j*</sub>. The goal is to make the sum of all numbers as small as possible.

Please help Ciel to find this minimal sum.
The first line contains an integer *n* (2 ≤ *n* ≤ 100). Then the second line contains *n* integers: *x*<sub class="lower-index">1</sub>, *x*<sub class="lower-index">2</sub>, ..., *x*<sub class="lower-index">*n*</sub> (1 ≤ *x*<sub class="lower-index">*i*</sub> ≤ 100).
#include <bits/stdc++.h>
using namespace std;
#define fur(i,a,b) for(int i=a;i<b;i++)
#define forin(a,b) for(auto& a:b)
//Compiler version g++ 6.3.0
//  NOTE:-
//  ANSWER IS "GCD(or HCF)" x "N"
int main()
{
  int n;cin>>n;
  vector<int> v(n);
  forin(i,v)cin>>i;
  sort(v.begin(),v.end());
  for(int i=v[0];i>0;i--)
  {
    int no=0;
    forin(x,v)
      if(x%i!=0){no=1;break;}
    if(no) continue;
    cout<<i*n; exit(0);
  }
}