Trò chơi xếp diêm

Xem PDF



Dạng bài
Ngôn ngữ cho phép
C#, C++, Clang, Clang++, Cobol, D, Groovy, Haskell, Java, JS, Kotlin, Lua, Node JS, ObjectiveC, OCaml, Output, PHP, Prolog, Pypy, Pypy 3, Python, Ruby, Rust, Scala, Scratch, Swift
Điểm: 300 (p) Thời gian: 1.0s Bộ nhớ: 256M Input: bàn phím Output: màn hình

Hôm nay, Nam tìm thấy một hộp diêm cũ trên gác. Vì đang chán, cậu nghĩ ra một trò chơi với các que diêm. Nam rất thích hình chữ nhật, vì vậy cậu muốn xếp các que diêm để tạo thành một hình chữ nhật rỗng (chỉ chứa các cạnh và độ dài các cạnh là số nguyên dương). Trong hộp diêm có \(N\) que diêm, Nam muốn dùng tất cả \(N\) que diêm này để tạo thành được một hình chữ nhật duy nhất. Trong lúc xếp, cậu tự hỏi liệu hình chữ nhật cậu tạo được có thể có diện tích nhỏ nhất và lớn nhất là bao nhiêu? Nam đã tính ra được, tuy vậy đáp số lại quá lớn nên cậu không chắc về đáp án của mình. Bạn hãy lập trình để giúp Nam xem cậu ấy có tính đúng không nhé.

Input

  • Dòng duy nhất chứa số nguyên dương \(N\) \((1 \leq N \leq 10^8)\)

Output

  • In ra 2 dòng là kết quả của bài toán:

    • Nếu Nam tạo được hình chữ nhật, dòng đầu in ra diện tích nhỏ nhất, dòng thứ hai in ra diện tích lớn nhất.
    • Nếu Nam không tạo được hình chữ nhật, cả 2 dòng đều in ra số \(-1\)
  • Với mỗi test, mỗi đáp án đúng bạn sẽ được 50% số điểm của test đó.

Scoring

  • \(30\%\) số test ứng với \(1 \leq N \leq 10^3\)
  • \(30\%\) số test khác ứng với \(N \leq 10^5\)
  • \(40\%\) số test còn lại ứng với \(N \leq 10^8\)

Example

Test 1

Input
10
Output
4
6

Test 2

Input
12
Output
5
9

Test 3

Input
5
Output
-1
-1

Bình luận

Không có bình luận nào.