private static String step3(String str) {
    // (m > 0) ICATE -> IC
    if ((str.endsWith("icate")) && (stringMeasure(str.substring(0, str.length() - 3)) > 0)) {
      return str.substring(0, str.length() - 3);
      // (m > 0) ATIVE ->
    }
    else if ((str.endsWith("ative")) && (stringMeasure(str.substring(0, str.length() - 5)) > 0)) {
      return str.substring(0, str.length() - 5);
      // (m > 0) ALIZE -> AL
    }
    else if ((str.endsWith("alize")) && (stringMeasure(str.substring(0, str.length() - 3)) > 0)) {
      return str.substring(0, str.length() - 3);
      // (m > 0) ICITI -> IC
    }
    else if ((str.endsWith("iciti")) && (stringMeasure(str.substring(0, str.length() - 3)) > 0)) {
      return str.substring(0, str.length() - 3);
      // (m > 0) ICAL -> IC
    }
    else if ((str.endsWith("ical")) && (stringMeasure(str.substring(0, str.length() - 2)) > 0)) {
      return str.substring(0, str.length() - 2);
      // (m > 0) FUL ->
    }
    else if ((str.endsWith("ful")) && (stringMeasure(str.substring(0, str.length() - 3)) > 0)) {
      return str.substring(0, str.length() - 3);
      // (m > 0) NESS ->
    }
    else if ((str.endsWith("ness")) && (stringMeasure(str.substring(0, str.length() - 4)) > 0)) {
      return str.substring(0, str.length() - 4);
    }
    return str;
  }
private static String step3(String str)