import java.util.*;
import java.util.zip.*;
import java.util.List;
import java.util.regex.*;
import java.util.concurrent.*;
import java.util.concurrent.atomic.*;
import java.util.concurrent.locks.*;
import javax.swing.*;
import javax.swing.event.*;
import javax.swing.text.*;
import javax.swing.table.*;
import java.io.*;
import java.net.*;
import java.lang.reflect.*;
import java.lang.ref.*;
import java.lang.management.*;
import java.security.*;
import java.security.spec.*;
import java.awt.*;
import java.awt.event.*;
import java.awt.image.*;
import javax.imageio.*;
import java.math.*;
class main {

static <A, B> Map<A, B> getMultipleKeys_ordered(Map<A, B> map, A... keys) {
  Map<A, B> map2 = new LinkedHashMap();
  if (map != null && keys != null) for (A key : keys)
    map2.put(key, map.get(key));
  return map2;
}

static <A, B> Map<A, B> getMultipleKeys_ordered(Map<A, B> map, Iterable<A> keys) {
  Map<A, B> map2 = new LinkedHashMap();
  if (map != null && keys != null) for (A key : keys)
    map2.put(key, map.get(key));
  return map2;
}}