public static Dictionary <int, List <Tuple <int, int, int> > > FindValidVelocityYs(Target target)
        {
            Dictionary <int, List <Tuple <int, int, int> > > dictVoT = new Dictionary <int, List <Tuple <int, int, int> > >();

            foreach (var velY in Enumerable.Range(-130, 1000))
            {
                var sut  = new TrickShotProbe(0, velY);
                int sec  = 0;
                int maxY = int.MinValue;
                do
                {
                    sec++;
                    sut.DoSecondY();
                    if (sut.Y > maxY)
                    {
                        maxY = sut.Y;
                    }
                    if (target.InsideY(sut.Y))
                    {
                        Debug.WriteLine($"velY: {velY}, t: {sec}, Y: {sut.Y},  maxY: {maxY}");
                        if (!dictVoT.ContainsKey(velY))
                        {
                            dictVoT.Add(velY, new List <Tuple <int, int, int> >());
                        }

                        dictVoT[velY].Add(new Tuple <int, int, int>(velY, sec, maxY));
                    }
                } while (sut.Y >= target.Y1);
            }
            return(dictVoT);
        }