Problem:
Problem H: Eleven Lover

Edward Leven loves multiples of eleven very much. When he sees a number, he always tries
to find consecutive subsequences (or substrings) forming multiples of eleven. He calls such
subsequences as 11-sequences. For example, he can find an 11-sequence 781 in a number 17819.

He thinks a number which has many 11-sequences is a good number. He would like to find out
a very good number. As the first step, he wants an easy way to count how many 11-sequences
are there in a given number. Even for him, counting them from a big number is not easy.
Fortunately, one of his friends, you, is a brilliant programmer. He asks you to write a program
to count the number of 11-sequences. Note that an 11-sequence must be a positive number
without leading zeros.

Input

The input is a sequence of lines each of which contains a number consisting of less than or equal
to 80000 digits.

The end of the input is indicated by a line containing a single zero, which should not be processed.

Output

For each input number, output a line containing the number of 11-sequences.

You can assume the answer fits in a 32-bit signed integer.

Sample Input

17819
1111
11011
1234567891011121314151617181920
0

Output for the Sample Input

1
4
4
38

Solution in Ruby (judge verdict: Runtime Error)

def calc(a,i,j,l)
  n=0
  l=l%(10**(j+1))
  n=l/(10**i)
  if n==0
    return 0
  end
  if n%11==0
    return 1
  else
    return 0
  end
end

while n=gets.to_i
  if n==0
    break
  end
  count=0
  ans=0
  l=m=n
  while n>0
    n=n/10
    count+=1
  end
  a=Array.new(count)
  for i in 0..count-1
    a[i]=m%10
    m=m/10
  end
  for i in 0..count-2
    for j in i+1..count-1
      if a[j]==0
        next
      end
      ans+=calc(a,i,j,l)
    end
  end
  print ans,"\n"
end