#include <stdio.h>
#include <stdlib.h>


int intcmp(const void* a_, const void* b_) {
	const int* a = a_;
	const int* b = b_;

	return (*a < *b) ? -1 : ((*a > *b) ? 1 : 0);
}

int main(void) {
	int n;
	scanf("%d", &n);
	int a[n];

	for (int i = 0; i < n; i++) {
		scanf("%d", a+i);
	}
	qsort(a, n, sizeof(int), intcmp);
	for (int i = 0; i < n; i++) {
		printf("%d ", a[i]);
	}
	printf("\n");
	
	int ans = 0;
	for (int i = 0; i < n; i++) {
		if (i < n - 1 && a[i] == a[i + 1]) {
			continue;
		}
		int flag = 1;
		for (int j = 0; j < i; j++) {
			if (a[i] % a[j] == 0) {
				flag = 0;
				break;
			}
		}
		ans += flag;
	}
	printf("%d\n", ans);

	return 0;
}
