Language: C++

#include <iostream>
#include <string>
#include <vector>
#include <set>
#include <unordered_map>
#define ll __int128
using namespace std;

#define MOD 1000000007

class Solver
{
public:
	ll n;
	vector<ll> arr;


	Solver() {
		cin >> n;
		for (int i = 0; i < n; ++i)
		{
			ll tmp;
			cin >> tmp;
			arr.push_back(tmp);
		}
		
	}

	void exec() {
		ll ans = 0;
		ll alcm = arr[0];
		for (int i = 1; i < n; ++i)
		{
			alcm = lcm(alcm, arr[i]);
		}
		// cout << alcm << endl;
		for (int i = 0; i < n; ++i)
		{
			ans = (ans + (( (alcm % MOD) * invMod(arr[i]) ) % MOD ) ) % MOD;
		}

		cout << ans << endl;
	}
	ll gcd(ll a, ll b) {
  		return b != 0 ? gcd(b, a % b) : a;
	}	
	ll lcm(ll a, ll b) {
	  return a * b / gcd(a, b);
	}
	// a x + b y = gcd(a, b)
	ll extgcd(ll a, ll b, ll &x, ll &y) {
	  int g = a; x = 1; y = 0;
	  if (b != 0) g = extgcd(b, a % b, y, x), y -= (a / b) * x;
	  return g;
	}
	ll invMod(ll a) {
	  ll x, y;
	  if (extgcd(a, MOD, x, y) == 1) return (x + MOD) % MOD;
	  else                         return 0; // unsolvable
	}
};


int main(){
	Solver co = Solver();
	co.exec(); 
}


Compiler output:
a.cc: In constructor 'Solver::Solver()':
a.cc:19:21: error: no match for 'operator>>' (operand types are 'std::istream' {aka 'std::basic_istream<char>'} and '__int128')
   19 |                 cin >> n;
      |                 ~~~ ^~ ~
      |                 |      |
      |                 |      __int128
      |                 std::istream {aka std::basic_istream<char>}
In file included from /usr/include/c++/14/iostream:42,
                 from a.cc:1:
/usr/include/c++/14/istream:170:7: note: candidate: 'std::basic_istream<_CharT, _Traits>::__istream_type& std::basic_istream<_CharT, _Traits>::operator>>(bool&) [with _CharT = char; _Traits = std::char_traits<char>; __istream_type = std::basic_istream<char>]' (near match)
  170 |       operator>>(bool& __n)
      |       ^~~~~~~~
/usr/include/c++/14/istream:170:7: note:   conversion of argument 1 would be ill-formed:
a.cc:19:24: error: cannot bind non-const lvalue reference of type 'bool&' to a value of type '__int128'
   19 |                 cin >> n;
      |                        ^
/usr/include/c++/14/istream:174:7: note: candidate: 'std::basic_istream<_CharT, _Traits>& std::basic_istream<_CharT, _Traits>::operator>>(short int&) [with _CharT = char; _Traits = std::char_traits<char>]' (near match)
  174 |       operator>>(short& __n);
      |       ^~~~~~~~
/usr/include/c++/14/istream:174:7: note:   conversion of argument 1 would be ill-formed:
a.cc:19:24: error: cannot bind non-const lvalue reference of type 'short int&' to a value of type '__int128'
   19 |                 cin >> n;
      |                        ^
/usr/include/c++/14/istream:177:7: note: candidate: 'std::basic_istream<_CharT, _Traits>::__istream_type& std::basic_istream<_CharT, _Traits>::operator>>(short unsigned int&) [with _CharT = char; _Traits = std::char_traits<char>; __istream_type = std::basic_istream<char>]' (near match)
  177 |       operator>>(unsigned short& __n)
      |       ^~~~~~~~
/usr/include/c++/14/istream:177:7: note:   conversion of argument 1 would be ill-formed:
a.cc:19:24: error: cannot bind non-const lvalue reference of type 'short unsigned int&' to a value of type '__int128'
   19 |                 cin >> n;
      |                        ^
/usr/include/c++/14/istream:181:7: note: candidate: 'std::basic_istream<_CharT, _Traits>& std::basic_istream<_CharT, _Traits>::operator>>(int&) [with _CharT = char; _Traits = std::char_traits<char>]' (near match)
  181 |       operator>>(int& __n);
      |       ^~~~~~~~
/usr/include/c++/14/istream:181:7: note:   conversion of argument 1 would be ill-formed:
a.cc:19:24: error: cannot bind non-const lvalue reference of type 'int&' to a value of type '__int128'
   19 |                 cin >> n;
      |                        ^
/usr/include/c++/14/istream:184:7: note: candidate: 'std::basic_istream<_CharT, _Traits>::__istream_type& std::basic_istream<_CharT, _Traits>::operator>>(unsigned int&) [with _CharT = char; _Traits = std::char_traits<char>; __istream_type = std::basic_istream<char>]' (near match)
  184 |       operator>>(unsigned int& __n)
      |       ^~~~~~~~
/usr/include/c++/14/istream:184:7: note:   conversion of argument 1 would be ill-formed:
a.cc:19:24: error: cannot bind non-const lvalue reference of type 'unsigned int&' to a value of type '__int128'
   19 |                 cin >> n;
      |                        ^
/usr/include/c++/14/istream:188:7: note: candidate: 'std::basic_istream<_CharT, _Traits>::__istream_type& std::basic_istream<_CharT, _Traits>::operator>>(long int&) [with _CharT = char; _Traits = std::char_traits<char>; __istream_type = std::basic_istream<char>]' (near match)
  188 |       operator>>(long& __n)
      |       ^~~~~~~~
/usr/include/c++/14/istream:188:7: note:   conversion of argument 1 would be ill-formed:
a.cc:19:24: error: cannot bind non-const lvalue reference of type 'long int&' to a value of type '__int128'
   19 |                 cin >> n;
      |                        ^
/usr/include/c++/14/istream:192:7: note: candidate: 'std::basic_istream<_CharT, _Traits>::__istream_type& std::basic_istream<_CharT, _Traits>::operator>>(long unsigned int&) [with _CharT = char; _Traits = std::char_traits<char>; __istream_type = std::basic_istream<char>]' (near match)
  192 |       operator>>(unsigned long& __n)
      |       ^~~~~~~~
/usr/include/c++/14/istream:192:7: note:   conversion of argument 1 would be ill-formed:
a.cc:19:24: error: cannot bind non-const lvalue reference of type 'long unsigned int&' to a value of type '__int128'
   19 |                 cin >> n;
      |                        ^
/usr/include/c++/14/istream:199:7: note: candidate: 'std::basic_istream<_CharT, _Traits>::__istream_type& std::basic_istream<_CharT, _Traits>::operator>>(long long int&) [with _CharT = char; _Traits = std::char_traits<char>; __istream_type = std::basic_istream<char>]' (near match)
  199 |       operator>>(long long& __n)
      |       ^~~~~~~~
/usr/include/c++/14/istream:199:7: note:   conversion of argument 1 would be ill-formed:
a.cc:19:24: error: cannot bind non-const lvalue reference of type 'long long int&' to a value of type '__int128'
   19 |                 cin >> n;
      |                        ^
/usr/include/c++/14/istream:203:7: note: candidate: 'std::basic_istream<_CharT, _Traits>::__istream_type& std::basic_istream<_CharT, _Traits>::operator>>(long long unsigned int&) [with _CharT = char; _Traits = std::char_traits<char>; __istream_type = std::basic_istream<char>]' (near match)
  203 |       operator>>(unsigned long long& __n)
      |       ^~~~~~~~
/usr/include/c++/14/istream:203:7: note:   conversion of argument 1 would be ill-formed:
a.cc:19:24: error: cannot bind non-const lvalue reference of type 'long long unsigned int&' to a value of type '__int128'
   19 |                 cin >> n;
      |                        ^
/usr/include/c++/14/istream:219:7: note: candidate: 'std::basic_istream<_CharT, _Traits>::__istream_type& std::basic_istream<_CharT, _Traits>::operator>>(float&) [with _CharT = char; _Traits = std::char_traits<char>; __istream_type = std::basic_istream<char>]' (near match)
  219 |       operator>>(float& __f)
      |       ^~~~~~~~
/usr/include/c++/14/istream:219:7: note:   conversion of argument 1 would be ill-formed:
a.cc:19:24: error: cannot bind non-const lvalue reference of type 'float&' to a value of type '__int128'
   19 |                 cin >> n;
      |                        ^
/usr/include/c++/14/istream:223:7: note: candidate: 'std::basic_istream<_CharT, _Traits>::__istream_type& std::basic_istream<_CharT, _Traits>::operator>>(double&) [with _CharT = char; _Traits = std::char_traits<char>; __istream_type = std::basic_istream<char>]' (near match)
  223 |       operator>>(double& __f)
      |       ^~~~~~~~
/usr/include/c++/14/istream:223:7: note:   conversion of argument 1 would be ill-formed:
a.cc:19:24: error: cannot bind non-const lvalue reference of type 'double&' to a value of type '__int128'
   19 |                 cin >> n;
      |                        ^
/usr/include/c++/14/istream:227:7: note: candidate: 'std::basic_istream<_CharT, _Traits>::__istream_type& std::basic_istream<_CharT, _Traits>::operator>>(long double&) [with _CharT = char; _Traits = std::char_traits<char>; __istream_type = std::basic_istream<char>]' (near match)
  227 |       operator>>(long double& __f)
      |       ^~~~~~~~
/usr/include/c++/14/istream:227:7: note:   conversion of argument 1 would be ill-formed:
a.cc:19:24: error: cannot bind non-const lvalue reference of type 'long double&' to a value of type '__int128'
   19 |                 cin >> n;
      |                        ^
/usr/include/c++/14/istream:328:7: note: candidate: 'std::basic_istream<_CharT, _Traits>::__istream_type& std::basic_istream<_CharT, _Traits>::operator>>(void*&) [with _CharT = char; _Traits = std::char_traits<char>; __istream_type = std::basic_istream<char>]' (near match)
  328 |       operator>>(void*& __p)
      |       ^~~~~~~~
/usr/include/c++/14/istream:328:7: note:   conversion of argument 1 would be ill-formed:
a.cc:19:24: error: invalid conversion from '__int128' to 'void*' [-fpermissive]
   19 |                 cin >> n;
      |                        ^
      |                        |
      |                        __int128
a.cc:19:24: error: cannot bind rvalue '(void*)((long int)((Solver*)this)->Solver::n)' to 'void*&'
/usr/include/c++/14/istream:122:7: note: candidate: 'std::basic_istream<_CharT, _Traits>::__istream_type& std::basic_istream<_CharT, _Traits>::operator>>(__istream_type& (*)(__istream_type&)) [with _CharT = char; _Traits = std::char_traits<char>; __istream_type = std::basic_istream<char>]' (near match)
  122 |       operator>>(__istream_type& (*__pf)(__istream_type&))
      |       ^~~~~~~~
/usr/include/c++/14/istream:122:7: note:   conversion of argument 1 would be ill-formed:
a.cc:19:24: error: invalid conversion from '__int128' to 'std::basic_istream<char>::__istream_type& (*)(std::basic_istream<char>::__istream_type&)' {aka 'std::basic_istream<char>& (*)(std::basic_istream<char>&)'} [-fpermissive]
   19 |                 cin >> n;
      |                        ^
      |                        |
      |                        __int128
/usr/include/c++/14/istream:126:7: note: candidate: 'std::basic_istream<_CharT, _Traits>::__istream_type& std::basic_istream<_CharT, _Traits>::operator>>(__ios_type& (*)(__ios_type&)) [with _CharT = char; _Traits = std::char_traits<char>; __istream_type = std::basic_istream<char>; __ios_type = std::basic_ios<char>]' (near match)
  126 |       operator>>(__ios_type& (*__pf)(__ios_type&))
      |       ^~~~~~~~
/usr/include/c++/14/istream:126:7: note:   conversion of argument 1 would be ill-formed:
a.cc:19:24: error: invalid conversion from '__int128' to 'std::basic_istream<char>::__ios_type& (*)(std::basic_istream<char>::__ios_type&)' {aka 'std::basic_ios<char>& (*)(std::basic_ios<char>&)'} [-fpermissive]
   19 |                 cin >> n;
      |                        ^
      |                        |
      |                        __int128
/usr/include/c++/14/istream:133:7: note: candidate: 'std::basic_istream<_CharT, _Traits>::__istream_type& std::basic_istream<_Cha