Your parentheses are wrong in several places. Proper indentation can make these errors more clear:

    IF(
        CONTAINS(
            "Re-Admit...",
            TEXT(LastName)
        ), // <-- missing closing parenthesis added
        "1",
        IF(
            CONTAINS(
                "Re-Admit 2...",
                TEXT(LastName)
            ), // <-- missing closing parenthesis added
            "2", // <-- extra closing parenthesis removed
            IF(
                CONTAINS(
                    "Re-Admit 3...",
                    TEXT(LastName)
                ), // <-- missing closing parenthesis added
                "3", // <-- extra closing parenthesis removed
                ""
            ) // <-- close third IF formula
        ) // <-- close second IF formula (added)
    ) // <-- close first IF formula (added)

I believe the first `CONTAINS` check will actually catch all the values from the subsequent checks, so you should also reverse the order, checking the `"1"` case last.