class MatchPosition {

  private final int start;
  private final int end;

  MatchPosition(int start, int end) {
    this.start = start;
    this.end = end;
  }

  int getStart() {
    return start;
  }

  int getEnd() {
    return end;
  }

  @Override
  public String toString() {
    return start + "-" + end;
  }

  @Override
  public boolean equals(Object o) {<FILL_FUNCTION_BODY>}

  @Override
  public int hashCode() {
    return Objects.hash(start, end);
  }

}

    if (this == o) return true;
    if (o == null || getClass() != o.getClass()) return false;
    MatchPosition other = (MatchPosition) o;
    return Objects.equals(start, other.start) && Objects.equals(end, other.end);
  
<no_super_class>