public int MutationInterestFactor(List <Slide> slides, int firstIndex, int secondIndex, int mode) { int interestFactor = 0; int slidesCount = Slides.Count() - 1; int difference = Math.Abs(firstIndex - secondIndex); if (mode == 1 && difference != 1) { interestFactor += CalculateInterestFactorForOneSlide(slides, firstIndex); interestFactor += CalculateInterestFactorForOneSlide(slides, secondIndex); } else { int start = firstIndex > secondIndex ? (secondIndex > 0 ? secondIndex - 1 : secondIndex) : (firstIndex > 0 ? firstIndex - 1 : firstIndex); int end = secondIndex < firstIndex ? (secondIndex > 0 ? firstIndex + 1 : secondIndex) : (secondIndex < slidesCount ? secondIndex + 1 : secondIndex); interestFactor = CalculateSlidesBetweenTwoPoints(slides, start, end); } return(interestFactor); }