import java.util.Scanner;

public class Lab5 {
    public static void main(String[] args) {

        int C17 = 2430 % 17;
        System.out.println("\n---------------------------------------------------------------------------------------------------------------------");
        System.out.println("  C17 = " + C17 + ", So, the task is:  delete all previous occurrences of the last letter of each word of the specified text");
        System.out.println("---------------------------------------------------------------------------------------------------------------------");

        Scanner scanner = new Scanner(System.in);
        String input = null;
        while (input == null || input.isEmpty()) {
            System.out.print("\nEnter a string: ");
            input = scanner.nextLine();
        }
        try {
            StringBuilder sb = new StringBuilder(input);
            String[] words = sb.toString().split("\\s+");
            for (int i = 0; i < words.length; i++) {
                String word = words[i];
                char lastChar = word.charAt(word.length() - 1);
                if (!Character.isLetterOrDigit(lastChar)) {
                    // Last character is a punctuation mark
                    int lastLetterIndex = -1;
                    for (int j = word.length() - 2; j >= 0; j--) {
                        if (Character.isLetter(word.charAt(j))) {
                            lastLetterIndex = j;
                            break;
                        }
                    }
                    if (lastLetterIndex != -1) {
                        char lastLetter = word.charAt(lastLetterIndex);
                        String newWord = "";
                        for (int j = 0; j < word.length() - 1; j++) {
                            if (!Character.isLetterOrDigit(word.charAt(j)) || word.charAt(j) != lastLetter) {
                                newWord += word.charAt(j);
                            }
                        }
                        newWord += lastChar;
                        words[i] = newWord;
                    }
                } else {
                    // Last character is a letter or a digit
                    char lastLetter = lastChar;
                    String newWord = "";
                    for (int j = 0; j < word.length() - 1; j++) {
                        if (!Character.isLetterOrDigit(word.charAt(j)) || word.charAt(j) != lastLetter) {
                            newWord += word.charAt(j);
                        }
                    }
                    newWord += lastLetter;
                    words[i] = newWord;
                }
            }
            System.out.print("\nFinal string: ");
            System.out.println(String.join(" ", words));
        } catch (Exception e) {
            System.out.println("An error occurred: " + e.getMessage());
        }
    }
}

