/* package whatever; // don't place package name! */

import java.util.*;
import java.lang.*;
import java.io.*;

/* Name of the class has to be "Main" only if the class is public. */
class Ideone
{
	public static void main (String[] args) throws java.lang.Exception
	{
		System.out.println(combine(Optional.empty(), Optional.empty()));
		System.out.println(combine(Optional.of(1),   Optional.empty()));
		System.out.println(combine(Optional.empty(), Optional.of(2)));
		System.out.println(combine(Optional.of(1),   Optional.of(2)));
	}
	
	private static Optional<Integer> combine(Optional<Integer> a, Optional<Integer> b) {
		return a.map(x -> b.map(y -> x + y).orElse(x)).or(() -> b);
	}
}