import
java.util.*;
class
GFG{
static
String findSum(String str1, String str2)
{
if
(str1.length() > str2.length()) {
String s = str1;
str1=str2;
str2=s;
}
String str =
""
;
int
n1 = str1.length(), n2 = str2.length();
str1 = reverse(str1);
str2 = reverse(str2);
int
carry =
0
;
for
(
int
i =
0
; i < n1; i++) {
int
sum
= ((str1.charAt(i) -
'0'
)
+ (str2.charAt(i) -
'0'
)
+ carry);
str+=(
char
)((sum %
10
+
'0'
));
carry = sum /
10
;
}
for
(
int
i = n1; i < n2; i++) {
int
sum = ((str2.charAt(i) -
'0'
) + carry);
str+=(
char
)(sum %
10
+
'0'
);
carry = sum /
10
;
}
if
(carry >
0
)
str += (carry +
'0'
);
str = reverse(str);
return
str;
}
static
String sumPrefix(String str)
{
String sum =
"0"
;
String curPre =
""
;
for
(
int
i =
0
; i < str.length(); i++)
{
curPre += (
char
)(str.charAt(i));
sum = findSum(curPre, sum);
}
return
sum;
}
static
String reverse(String input) {
char
[] a = input.toCharArray();
int
l, r = a.length -
1
;
for
(l =
0
; l < r; l++, r--) {
char
temp = a[l];
a[l] = a[r];
a[r] = temp;
}
return
String.valueOf(a);
}
public
static
void
main(String[] args)
{
String str =
"1225"
;
System.out.print(sumPrefix(str));
}
}