#include<bits/stdc++.h>
using
namespace
std;
string divide(string number,
int
divisor)
{
string ans;
int
idx = 0;
int
temp = number[idx] -
'0'
;
while
(temp < divisor)
temp = temp * 10 + (number[++idx] -
'0'
);
while
(number.size() > idx) {
ans += (temp / divisor) +
'0'
;
temp = (temp % divisor) * 10 + number[++idx] -
'0'
;
}
if
(ans.length() == 0)
return
"0"
;
return
ans;
}
string multiply(string num1, string num2)
{
int
len1 = num1.size();
int
len2 = num2.size();
if
(len1 == 0 || len2 == 0)
return
"0"
;
vector<
int
> result(len1 + len2, 0);
int
i_n1 = 0;
int
i_n2 = 0;
for
(
int
i=len1-1; i>=0; i--)
{
int
carry = 0;
int
n1 = num1[i] -
'0'
;
i_n2 = 0;
for
(
int
j=len2-1; j>=0; j--)
{
int
n2 = num2[j] -
'0'
;
int
sum = n1*n2 + result[i_n1 + i_n2] + carry;
carry = sum/10;
result[i_n1 + i_n2] = sum % 10;
i_n2++;
}
if
(carry > 0)
result[i_n1 + i_n2] += carry;
i_n1++;
}
int
i = result.size() - 1;
while
(i>=0 && result[i] == 0)
i--;
if
(i == -1)
return
"0"
;
string s =
""
;
while
(i >= 0)
s += std::to_string(result[i--]);
return
s;
}
string Sum(string n)
{
string y=to_string(stol(n)+1);
string res=multiply(n,y);
string ans=divide(res,2);
return
ans;
}
int
main()
{
string n =
"12345678910"
;
cout<<Sum(n);
}