Problem:
Sum of Numbers

Write a program which reads an integer and prints sum of its digits.

Input

The input consists of multiple datasets. For each dataset, an integer x is given in a line. The number of digits in x does not exceed 1000.

The input ends with a line including single zero. Your program should not process for this terminal symbol.

Output

For each dataset, print the sum of digits in x.

Sample Input

123
55
1000
0

Sample Output

6
10
1

Solution in C++ (judge verdict: Time Limit Exceeded)

#include <bits/stdc++.h>
using namespace std;

int main() {
	int a, ans, t, c, A;
	while(1){
		ans = 0;
		t = 10;
		cin >> a;
		if(a == 0) break;
		A = a;
		while(a / t > 0){
			t *= 10;
		}
		for(int i = t / 10; i >= 10; i /= 10){
			ans += a / i;
			a %= i;
		}
		ans += a % 10;
		cout << ans << endl;
	}
	return 0;
}