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

import java.util.function.*;
import java.util.*;
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
	{
		Supplier<String> supplier = () -> "Hello";
		System.out.println(supplier);
		System.out.println(lazy(supplier));
	}
	
static <T> Supplier<T> lazy(Supplier<? extends T> delegate) {
  return new Supplier<T>() {
    @Override public T get() { return delegate.get(); }
    @Override public String toString() { return Objects.toString(get()); }
  };
}
}