//Jeigu reiksme egzistuoja hierarchineje strukturoje grazinama lygi, jei ne grazinamas 0
            public virtual int RastiLygiKaiReiksmeEgzistuoja(Susikirtimas susikirtimas, int reiksme, int lygis)
            {
                if (susikirtimas == null)
                {
                    return(0);
                }

                if (susikirtimas.reiksme == reiksme)
                {
                    return(lygis);
                }

                int kitasLygis = RastiLygiKaiReiksmeEgzistuoja(susikirtimas.kaire, reiksme, lygis + 1);

                if (kitasLygis != 0)
                {
                    return(kitasLygis);
                }

                kitasLygis = RastiLygiKaiReiksmeEgzistuoja(susikirtimas.desine, reiksme, lygis + 1);
                return(kitasLygis);
            }
 //Grazina reiksmes lygi
 public virtual int RastiLygi(Susikirtimas node, int reiksme)
 {
     return(RastiLygiKaiReiksmeEgzistuoja(node, reiksme, 1));
 }
 public Susikirtimas(int d)
 {
     reiksme = d;
     kaire   = desine = null;
 }