using System;

class Program
{
    static void Main()
    {
        string input = Console.ReadLine();
        while (input != "0 0")
        {
            int rectcount = 0; // ??£?????¢?????°
            int width = 0; // ?????????
            int height = 0; // ????????????

            // ??????????????°????????°?????????
            int line = int.Parse(input.Split(' ')[0]);
            int row = int.Parse(input.Split(' ')[1]);

            int[] lines = new int[line]; // ??????????????????????´?????????????
            int[] rows = new int[row]; // ???????????????????´?????????????

            // ????????????????????????????????????????´?????????????????????????????¨????
            for (int l = 0; l < line; l++)
            {
                var lineh = int.Parse(Console.ReadLine());
                lines[l] = lineh;
                height += lineh;
            }
            for (int r = 0; r < row; r++)
            {
                var roww = int.Parse(Console.ReadLine());
                rows[r] = roww;
                width += roww;
            }

            /*
             * 1????????????????????????????????¨????????£?????????????????????????????????????¶??????????????????????
             * ?????????????????¨???????????????????????§?±??????????????????????????????¨????????????????´??????????
             * ????????????????????????????????????????£?????????????????????????????????????????±?????????¨????????????
             */

            /*
             * ???????????????????????¨???????????????????????????????????????????´?????????????
             * ?????????????????????????????????????????? - 1???
             */
            int[] heightpossible = new int[height];
            int[] widthpossible = new int[width];

            // j????????????????????£?¶???????i???????????????????¬?????¨?????????????
            int linesum;
            for (int i = 1; i <= line; i++)
            {
                for(int j = 0; j <= line - i; j++)
                {
                    linesum = 0;
                    for (int k = 1; k <= i; k++)
                    {
                        linesum += lines[j + k - 1]; 
                    }
                    heightpossible[linesum - 1] += 1; // ?±?????????????????????????????????°???+1
                }
            }

            // j????????????????????£?¶???????i????????????????¬?????¨?????????????
            int rowsum;
            for (int i = 1; i <= row; i++)
            {
                for (int j = 0; j <= row - i; j++)
                {
                    rowsum = 0;
                    for (int k = 1; k <= i; k++)
                    {
                        rowsum += rows[j + k - 1];
                    }
                    widthpossible[rowsum - 1] += 1; // ?±??????????????????????????????°???+1
                }
            }

            // ????????????????????°???*???????????????????????°??????????????§????????£?????¢????????°????±???????
            for (int a = 0; a <= Math.Min(width, height) - 1; a++)
            {
                rectcount += widthpossible[a] * heightpossible[a];
            }
            
            // ??????????¬??????\?????????
            Console.WriteLine(rectcount);
            input = Console.ReadLine();
        }
    }
}

Measured memory_bytes: 17988