Не могу слить 2 упорядоченных массива в 1

Не могу составить программу для слияния 2х упорядоченных массивов. При запуске вылетает исключение, сам не могу понять что нужно изменить или дописать

Console.Write("Введите размер первого массива: ");
            int n = Convert.ToInt32(Console.ReadLine());
            Console.Write("Введите размер второго массива: ");
            int m = Convert.ToInt32(Console.ReadLine());
            int[] a = new int[n];
            int[] b = new int[m];
            Random r = new Random();
            for (int i = 0; i < n; i++)
            {
                a[i] = r.Next(10, 100);
            }
            for (int i = 0; i < m; i++)
            {
                b[i] = r.Next(10, 100);
            }
            Array.Sort(a);
            Array.Sort(b);
            Console.WriteLine();
            Console.Write("Массив №1: ");
            for (int i = 0; i < n; i++)
            {
                Console.Write(a[i] + "  ");
            }
            Console.WriteLine();
            Console.Write("Массив №2: ");
            for (int i = 0; i < m; i++)
            {
                Console.Write(b[i] + "  ");
            }
            int k = 0;
            int[] c = new int[n + m];
            for (int i = 0; i < n + m; i++)
            {
                int f = 0;
                for (int j = 0; j < m && f == 0; j++)
                {
                    if (a[i] < b[j])
                    {
                        c[k] = a[i];
                        f = 1;
                        k++;
                    }
                    else
                    {
                        c[k] = b[j];
                        k++;
                    }
                }
            }
            Console.WriteLine();
            Console.Write("Массив №3: ");
            for (k = 0; k < n + m; k++)
            {
                Console.Write(c[k] + "  ");
            }

Ответы (0 шт):