Falling Disks Problem

Here is my implementation of the falling disks solution.

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace FallingDisksConsoleEx1
{
    class Program
    {
        static void Main(string[] args)
        {
            // int[] ringsArray = { 5, 6, 4, 3, 6, 2, 3 };
            // int[] disksArray = { 2, 3, 5, 2, 4 };
            int[] ringsArray = { 5, 4, 3, 2, 1};
            int[] disksArray = { 4, 5, 3, 2, 1 };
            List<int> ringsCollection = new List<int>(ringsArray);
            List<int> disksCollection = new List<int>(disksArray);

            int numberOfFittingDisks = 0;
            
            foreach (int iDisk in disksCollection)
            {
                if ((ringsCollection.Count > 0) && (ringsCollection.Where(r => (r >= iDisk)).ToList().Count > 0))
                {
                    int stopIndex = ringsCollection.FindIndex(r => (iDisk > r));

                    if (stopIndex == -1)
                    {
                        ringsCollection.RemoveAt((ringsCollection.Count - 1));
                    }
                    else
                    {
                        if (iDisk > ringsCollection[stopIndex])
                        {
                            ringsCollection.RemoveRange((stopIndex - 1), (ringsCollection.Count - (stopIndex - 1)));
                        }
                        else
                        {
                            ringsCollection.RemoveRange(stopIndex, (ringsCollection.Count - stopIndex));
                        }
                    }

                    ++numberOfFittingDisks;
                }
            }

        }
    }
}