





'''simple docstring'''


def 						__a(SCREAMING_SNAKE_CASE_	:       str     ):



    '''simple docstring'''





    _lowerCAmelCase						      =   0

    # if input_string is "aba" than new_input_string become "a|b|a"
    _lowerCAmelCase						      =   ""
    _lowerCAmelCase						      =   ""

    # append each character + "|" in new_string for range(0, length-1)
    for i in input_string[: len(SCREAMING_SNAKE_CASE_     ) - 1]:
        new_input_string += i + "|"
    # append last character
    new_input_string += input_string[-1]

    # we will store the starting and ending of previous furthest ending palindromic
    # substring
    _lowerCAmelCase      ,      _lowerCAmelCase						      =   0, 0

    # length[i] shows the length of palindromic substring with center i
    _lowerCAmelCase						      =   [1 for i in range(len(SCREAMING_SNAKE_CASE_     )     )]

    # for each character in new_string find corresponding palindromic string
    _lowerCAmelCase						      =   0
    for j in range(len(SCREAMING_SNAKE_CASE_     )     ):
        _lowerCAmelCase						      =   1 if j > r else min(length[l + r - j] // 2		,							r - j + 1     )
        while (
            j - k >= 0
            and j + k < len(SCREAMING_SNAKE_CASE_     )
            and new_input_string[k + j] == new_input_string[j - k]
        ):
            k += 1

        _lowerCAmelCase						      =   2 * k - 1

        # does this string is ending after the previously explored end (that is r) ?
        # if yes the update the new r to the last index of this
        if j + k - 1 > r:
            _lowerCAmelCase						      =   j - k + 1  # noqa: E741
            _lowerCAmelCase						      =   j + k - 1

        # update max_length and start position
        if max_length < length[j]:
            _lowerCAmelCase						      =   length[j]
            _lowerCAmelCase						      =   j

    # create that string
    _lowerCAmelCase						      =   new_input_string[start - max_length // 2 : start + max_length // 2 + 1]
    for i in s:
        if i != "|":
            output_string += i

    return output_string


if __name__ == "__main__":
       import doctest

       doctest.testmod()






"""simple docstring"""




def       a_ (	lowercase__ :str     ):
			__lowerCamelCase          =      [int(lowercase__     ) for i in ip_va_address.split("""."""     ) if i.isdigit()]
			return len(lowercase__     ) == 4 and all(0 <= int(lowercase__     ) <= 254 for octet in octets     )


if __name__ == "__main__":
					__magic_name__						: Tuple    =				input().strip()
					__magic_name__						: Optional[int]    =				'valid' if is_ip_va_address_valid(ip) else 'invalid'
					print(f"""{ip} is a {valid_or_invalid} IP v4 address.""")




