public interface Predicate {
  boolean ok(int value);
}
 
public class GreaterThan implements Predicate {
  private int _value = 0;

  public GreaterThan(int value) { _value = value; }
  public boolean ok(int value) { return _value < value; }
}
 
public class EqualTo implements Predicate {
  private int _value = 0;

  public EqualTo(int value) { _value = value; }
  public boolean ok(int value) { return _value == value; }
}
 
public class DataStore {
  private int _vector[] = { -1, 0, 1 };

  public boolean satisfies(Predicate predicate) {
    for (int value : _vector) {
      if (predicate.ok(value)) return true;
    }
    return false;
  }
}
 
public class Application {
  public static void main(String args[]) {
    DataStore ds = new DataStore();

    System.out.println(ds.satisfies(new EqualTo(-1)) ? "YES" : "NO"); 
    System.out.println(ds.satisfies(new GreaterThan(2)) ? "YES" : "NO");
  }
}