from sys import stdin





def main() -> None:

    n = int(next_str())



    for i in range(1, n + 1):

        if not judge(i + 1, n):

            print((i ** 2))

            break





def judge(i: int, n: int) -> bool:

    if i ** 2 <= n:

        return True

    return False





def next_str() -> str:

    result = ""

    while True:

        tmp = stdin.read(1)

        if tmp.strip() != "":

            result += tmp

        elif tmp != '\r':

            break

    return result





if __name__ == '__main__':

    main()
from sys import stdin





def main() -> None:

    n = int(next_str())

    print((int(n ** 0.5) ** 2))



def next_str() -> str:

    result = ""

    while True:

        tmp = stdin.read(1)

        if tmp.strip() != "":

            result += tmp

        elif tmp != '\r':

            break

    return result





if __name__ == '__main__':

    main()
from sys import stdin


def main() -> None:
    n = int(next_str())
    for i in range(1, n + 1):
        if not judge(i + 1, n):
            print((i**2))
            break


def judge(i: int, n: int) -> bool:
    if i**2 <= n:
        return True
    return False


def next_str() -> str:
    result = ""
    while True:
        tmp = stdin.read(1)
        if tmp.strip() != "":
            result += tmp
        elif tmp != "\r":
            break
    return result


if __name__ == "__main__":
    main()

from sys import stdin


def main() -> None:
    n = int(next_str())
    print((int(n**0.5) ** 2))


def next_str() -> str:
    result = ""
    while True:
        tmp = stdin.read(1)
        if tmp.strip() != "":
            result += tmp
        elif tmp != "\r":
            break
    return result


if __name__ == "__main__":
    main()

-    for i in range(1, n + 1): -        if not judge(i + 1, n): -            print((i**2)) -            break - - -def judge(i: int, n: int) -> bool: -    if i**2 <= n: -        return True -    return False +    print((int(n**0.5) ** 2))