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 class TextEdit { static String _fieldOrder = "startIndex endIndex text"; int startIndex; int endIndex; String text; TextEdit() {} TextEdit(int startIndex, int endIndex, String text) { this.text = text; this.endIndex = endIndex; this.startIndex = startIndex;} public String toString() { return "TextEdit(" + startIndex + ", " + endIndex + ", " + text + ")"; }public boolean equals(Object o) { if (!(o instanceof TextEdit)) return false; TextEdit x = (TextEdit) o; return eq(startIndex, x.startIndex) && eq(endIndex, x.endIndex) && eq(text, x.text); } public int hashCode() { int h = -939447049; h = h*2+_hashCode(startIndex); h = h*2+_hashCode(endIndex); h = h*2+_hashCode(text); return h; } } static boolean eq(Object a, Object b) { return a == b || (a == null ? b == null : b != null && a.equals(b)); } static int _hashCode(Object a) { return a == null ? 0 : a.hashCode(); } static String str(Object o) { return o == null ? "null" : o.toString(); } static String str(char[] c) { return new String(c); } }