<html><head><meta name="color-scheme" content="light dark"></head><body><pre style="word-wrap: break-word; white-space: pre-wrap;">import java.util.Scanner;
import java.util.function.IntFunction;
import java.util.function.UnaryOperator;

public class Lab5 {

	public static void main(String[] args) {
		Scanner in;
		int input;
		do {
			in = new Scanner(System.in);
			System.out.println("Please enter a positive odd integer: ");
		} while (!in.hasNextInt() || !isOdd(input = in.nextInt()) || !isPositive(input));

		System.out.println(sumOddNumbers(input));
	}

	private static boolean isOdd(int num) {
		return apply(num, n -&gt; n + 2,
				n -&gt; (n == Integer.MAX_VALUE) ? true : null,
				n -&gt; (n == Integer.MIN_VALUE) ? false : null);
	}

	private static boolean isPositive(int num) {
		return apply(num, n -&gt; n - 1,
				n -&gt; (n == 0) ? true : null,
				n -&gt; (n == Integer.MIN_VALUE) ? false : null);
	}

	private static int sumOddNumbers(int max) {
		return apply(1, n -&gt; n + 2,
				n -&gt; (n == max) ? (int) StrictMath.pow((max &gt;&gt; 1) + 1, 2) : null);
	}

	private static &lt;T&gt; T apply(int num, UnaryOperator&lt;Integer&gt; mutator, IntFunction&lt;T&gt;... predicates) {
		while (true) {
			for (IntFunction&lt;T&gt; predicate : predicates) {
				T result = predicate.apply(num);
				if (result != null) {
					return result;
				}
			}

			num = mutator.apply(num);
		}
	}
}
</pre></body></html>