import java.util.*;

// -------- Base class ----------
class MessageCleaner {
    public String cleanText(String msg) {
        return msg; // default behavior (will be overridden)
    }
}

// ------------ Derived class that performs actual cleaning -------------
class AdvancedMessageCleaner extends MessageCleaner {

    @Override
    public String cleanText(String msg) {

        // If message contains a hyphen '-' → invalid
        if (msg.contains("-")) {
            return "Invalid input";
        }

        // If message contains a negative integer → any occurrence like "-5"
        for (int i = 0; i < msg.length(); i++) {
            if (msg.charAt(i) == '-' && i + 1 < msg.length() && Character.isDigit(msg.charAt(i + 1))) {
                return "Invalid input";
            }
        }

        // Remove all NON-alphanumeric characters
        StringBuilder cleaned = new StringBuilder();
        for (char ch : msg.toCharArray()) {
            if (Character.isLetterOrDigit(ch)) {
                cleaned.append(ch);
            }
        }

        return cleaned.toString();
    }
}

// ---------------- Main Class -----------------
public class Main {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);

        if (!sc.hasNextLine()) {
            System.out.println("Invalid input");
            return;
        }

        String message = sc.nextLine();

        // Polymorphism: parent reference → child object
        MessageCleaner cleaner = new AdvancedMessageCleaner();

        String result = cleaner.cleanText(message);

        System.out.println(result);
    }
}
