아직 만들고 있는 페이지입니다.

이 페이지는 아직 만드는 중입니다. 보이는 내용은 바뀔 수 있습니다.

Гигаскелеты

시간 제한1초메모리 제한1024 MB

요약
주어진 수들을 임의의 두 원소의 최소공배수를 나누어떨어뜨리는 원소가 그룹 안에 있도록 묶고, 각 그룹 최소공배수의 합이 최소가 되게 나눈다.
난이도

보통10점 중 6점

유형
정수론, 정렬, 그리디
정답자
아직 제출이 없습니다

문제

В самый канун Хэллоуина nn скелетов со всех окрестных кладбищ планируют как следует напугать живых. Скелет под номером ii состоит из a_ia\_i костей и обладает неуклюжестью a_ia\_i.

Понятно, что чем более скелет неуклюжий, тем менее он страшный, а поэтому некоторые скелеты планируют собраться в гигаскелетов, чтобы минимизировать суммарную неуклюжесть. Каждый гигаскелет состоит из нескольких (возможно, одного) обычных скелетов, и его неуклюжесть определяется как НОК (наименьшее общее кратное) неуклюжестей входящих в него скелетов.

К сожалению, не любой набор скелетов может стать гигаскелетом --- если набор скелетов в гигаскелете не НОК-широкий, в какой-то момент гигаскелет просто комично развалится. Набор скелетов ⟨i_1,i_2,…,i_t⟩\langle i\_1, i\_2, \ldots, i\_t \rangle называется НОК-широким тогда и только тогда, когда для любых i_xi\_x и i_yi\_y из набора найдется такой i_ki\_k тоже из набора, что НОК(a_i_x,a_i_y)≤a_i_k(a\_{i\_x}, a\_{i\_y}) \leq a\_{i\_k}.

Поскольку цель скелетов, все-таки --- напугать людей, а не насмешить, они хотят разбиться на НОК-широкие группы так, чтобы суммарная неуклюжесть получаемых из них гигаскелетов была как можно меньше. Помогите им в осуществлении этого злодейского плана!

입력

В первой строке дано целое число nn (1≤n≤2⋅1051 \leq n \leq 2 \cdot 10^5).

Во второй строке через пробел перечислены nn целых чисел a_ia\_i (1≤a_i≤2⋅1051 \leq a\_i \leq 2 \cdot 10^5) --- количество костей в каждом скелете.

출력

Выведите в первой строке целое число mm --- количество гигаскелетов, которые следует собрать, чтобы минимизировать их суммарную неуклюжесть.

В следующих mm строках выведите описания гигаскелетов по одному на строке. В каждом описании выведите сначала количество скелетов в гигаскелете, а затем через пробел количество костей в каждом из них.

Если возможных оптимальных ответов несколько, выведите любой.

힌트

Обратите внимание, любой скелет сам по себе обраузет НОК-широкую группу и может собраться в небольшого гигаскелета в одиночку.

예제2

  1. 예제 1

    입력
    5
    1 2 3 4 5
    
    예상 출력
    3
    1 5
    2 2 4
    2 1 3
    
  2. 예제 2

    입력
    3
    7 13 31
    
    예상 출력
    3
    1 31
    1 13
    1 7