Chính phương

Xem PDF



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

Cho một dãy số nguyên không âm \(A = (a_1, a_2, ..., a_n)\). Đếm số cặp \((i, j)\) thoả mãn:

  • \(1 \le i < j \le n\)
  • \(a_i \times a_j\) là số chính phương

Một số nguyên không âm \(a\) được gọi là số chính phương nếu tồn tại số nguyên không âm \(b\) sao cho \(a = b^2\).

Input

  • Dòng đầu tiên chứa số nguyên \(n\) (\(2 \le n \le 2\cdot 10^5\)) - số phần tử của dãy \(A\).
  • Dòng thứ hai chứa \(n\) số nguyên không âm \(a_1, a_2, ..., a_n\) (\(0 \le a_i \le 2\cdot 10^5\)) - các phần tử của dãy \(A\).

Output

  • In ra số cặp \((i, j)\) thoả mãn tìm được.

Example

Test 1

Input
5
0 3 2 8 12
Output
6
Note

\(6\) cặp thoả mãn là \((1, 2), (1, 3), (1, 4), (1, 5), (2, 5), (3, 4)\).

Scoring

  • Subtask \(1\) (\(50\%\) số điểm): \(n \le 2000\)
  • Subtask \(2\) (\(50\%\) số điểm): Không có giới hạn gì thêm

Bình luận (6)

Mới nhất
Tải bình luận...