You have a string of decimal digits s. Let's define bij = si·sj. Find in matrix b the number of such rectangles that the sum bij for all cells (i, j) that are the elements of the rectangle equals a in each rectangle.

A rectangle in a matrix is a group of four integers (x, y, z, t) (x ≤ y, z ≤ t). The elements of the rectangle are all cells (i, j) such that x ≤ i ≤ y, z ≤ j ≤ t.

Input

The first line contains integer a (0 ≤ a ≤ 109), the second line contains a string of decimal integers s (1 ≤ |s| ≤ 4000).

Output

Print a single integer — the answer to a problem.

Please, do not write the %lld specifier to read or write 64-bit integers in С++. It is preferred to use the cin, cout streams or the %I64d specifier.

Examples

Input

10
12345


Output

6


Input

16
439873893693495623498263984765


Output

40
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.util.*;

/**
 * Created with IntelliJ IDEA.
 * User: chinh
 * Date: 12/28/13
 * Time: 9:56 PM
 * To change this template use File | Settings | File Templates.
 */

public class R213D2C {
    public static void main(String[] args) throws Exception{
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        int a = Integer.parseInt(br.readLine());
        String s = br.readLine();
        int n = s.length();
        HashMap<Integer, Integer> map = new HashMap<Integer, Integer>();
        for(int i=0; i<n; i++){
            int sum=0;
            for(int j=i; j<n; j++){
                sum+=s.charAt(j)-'0';
                int count = 0;
                if(map.containsKey(sum)){
                    count = map.get(sum);
                }
                map.put(sum, count+1);
            }
        }
        long result=0;
        for (Map.Entry<Integer, Integer> entry : map.entrySet()) {
            if(entry.getKey()!=0){
                int otherKey = a/entry.getKey();
                if(otherKey*entry.getKey()==a && map.containsKey(otherKey)){
                    result += ((long)entry.getValue())*map.get(otherKey);
                }
            } else
            if(a==0){
                result+= ((long)entry.getValue())*n*(n+1)/2;
            }
        }
        System.out.println(result);
    }

}
