/*
URL: http://judge.u-aizu.ac.jp/onlinejudge/description.jsp?id=2182
?????????: Eleven lover

2017/5/8:
19:06:21 ????????????????????????????????????????????§???????????¨????????£?????????
19:07:50 ????????????????????????????????????????????????????????°??£???????????£??????????????????????????¢??¬????°???????????????§????????£????????????????????£????????????
19:08:53 ??????Square Route??¨????????????????????????????????????1????????¶??????????????????????????????????????????????\???????????????????????????????????????????????????¨??????????????????????????¨????????????????????????
19:09:57 ??¢???????????°???3?????\?????????????????????????¢???????????????§??????????????????????????????????????????
19:11:11 Edward Leven????????????
19:11:55 ????????¨???80000???????????????????????§???????????????????????????????????¨????????±?????¨???????????¨??§???????????????????????????????????????C++???string???????§???????????????????
19:12:53 ??¨????????????????????¨???????????¨????¨???£?????????????????????????????¨???????????£??????????????????
19:14:15 ??¨???????????????????????????11????????°??§???????????¨????§£???????????°???????????????????????????11???????????????1?????????????¶???????????????????????????????
19:16:18 ?????§?????????????????????????????????????????±??????????????????????????????
19:16:44 ??¨??????????????\????????????????¬??????????????????????flip??????????????°?´??????????????????????????????????AC?¢??????§????????????????????°???
19:17:39 ???????¨?????????¶?????????
19:18:09 single zero??§????????????????§£
19:22:23 ??¨??????????????\?????¨???????????????C++??§??????????????????????????¢??°?????????????????????????????????????????????????????????????????£?¨?????????????
19:26:12 ?????£??±?????¢??°???????????¨?????????????????£????????????????????¨????????????
19:28:07 ???????????????string??¨???vector??£??????????¢???????????????\?????????????????§?????£???????????????????????£??????????????????????????????????????¢??°????????¨?????????????????°?????°??????????????????????????????
19:33:09 ??????????§£?????????????????????????????????????????????????????????????????¨??????????????????????????????
19:34:27 ??????????????????0?????¢?????????????????????????????????????????????????????????????????£??±?????\????????????????????????
19:55:45 ??\????????????????????????????????§????????????????????°????????¨??????????????????????????????
19:59:32 ???????????????????????§????¨?????????¨??????????????????0????????£????????????????????????
20:01:32 ????????????0????¶?????????????????????¨???????????????????????¨11??¨110?????????????????§?????????
20:08:32 ????????????????§£??????????????????????????????????????¨?????????????????°???????????????????????????????????????????????????
20:09:02 ???????????????????????????????????¨???????????¬??????git????????????
20:09:24 ????????????git?????????????????????????????????
20:09:54 ????????????????????????????????????????????????????????????a_1, a_2, ... , a_n??¨???????????????????????????????????????????????????0????????°????????±??\???????????±???????????????????????????????????????????±?\sum_{l} (l-1)a_l ?????£??????????????????????£???§???????????????????????????????????¨?????\???????????\??????????????????
20:15:47 ?????????????????????????????????????????????
20:29:28 ???????????????????????????????????¢?????????
20:31:31 ?????????????????¨?????????????????°???????????§??§?????????????????????????????§??°??????

2017/5/15:
12:51:30 ?????????????????????????????¨????????????????????????????????????????????????????????°????????¬?????????????????????5???????????????????????????
12:57:45 ???????????§??????????????°????????¨???index?????¬??§?????¬?????£??????????????¨??????????????°??????????¶????????????????
13:00:50 ???????????¨???AC????????????
*/

#include <iostream>
#include <string>
#include <vector>
using namespace std;

int main()
{
	while(true){
		string str;
		cin >> str;
		if(str == "0") { //???????????????????????¨???operator==??£???string????????£?????£??? ??? ???????????????(http://www.cplusplus.com/reference/string/string/operators/)?????????STL
			return 0;
		}

		vector<int> arr_sum; // arr_sum[4] = (str[0] - str[1] + str[2] - arr[3]) % 11
		arr_sum.push_back(0);
		int tmp = 0;
		int flag = 1;
		for(int i=0; i<str.size(); i++){		
			tmp += flag * static_cast<int>(str[i] - '0') + 11;
			flag *= -1;
			tmp %= 11;
			arr_sum.push_back(tmp);
		}

		//????????£??¨????????¨???mod11??§?????????????????´??????????????????????????°??????????????????
		//??????????????????0?????¢??????????????????
		//????????????11???????????????????????£?¶????????????????????????´???????????¨??????????????????

		
		//????¨??????????????????????????????????????????°?????£?¶??????????????????°n???????????????n(n-1)/2???????????????
		// 0,1,0,0 -> 2?????? 0,0,1,0 -> 1???
		// ??¨???????????¨??§??????????????£????????°????????¨??????????????????????§£????????°??????

		vector<int> foo[11];
		// arr_sum: [0, 1, 10, 2, 9, 3, 8, 4, 7, 5, 4, 4, 3, 4, 3, 5, 4, 7, 6, 10, 9, 3, 2, 8, 7, 3, 2, 10, 9, 7, 5, 5] ??????
		// foo[4]: [1,2,1,1] (arr_sum???[****,4,***,4,4,**,4,*********]????????§)
		foo[arr_sum[0]].push_back(1);
		for(int i=1; i<arr_sum.size(); i++){
			if(arr_sum[i] == arr_sum[i-1]) {
				foo[arr_sum[i]].back()++;
			} else {
				foo[arr_sum[i]].push_back(1);
			}
		}

		int ans = 0; // ????????¨?????¨???

		for(int i=0; i<11; i++){
			// a_0, a_1, a_2, ... , a_n??¨???????????????????????????????????????????????????0????????°????????±??\???????????±???????????????????????????????????????????±?\sum_{l} l*a_{l} 
			for(int j=0; j<foo[i].size(); j++) {
				ans += j * foo[i][j];
			}
		}
		
		cout << ans << endl;


	}
}

Measured memory_bytes: 4160