using
System;
using
System.Collections.Generic;
class
GFG
{
static
bool
[]prime =
new
bool
[100006];
static
void
SieveOfEratosthenes(
int
n)
{
for
(
int
i = 1; i <= n; i++)
prime[i] =
true
;
prime[1] =
false
;
for
(
int
p = 2; p * p <= n; p++)
{
if
(prime[p] ==
true
)
{
for
(
int
i = p * 2; i <= n; i += p)
prime[i] =
false
;
}
}
}
static
void
sortedArray(
int
[]arr,
int
n)
{
SieveOfEratosthenes(100005);
List<
int
> v =
new
List<
int
>();
for
(
int
i = 0; i < n; ++i)
{
if
(prime[arr[i]] ==
false
)
v.Add(arr[i]);
}
v.Sort();
int
j = 0;
for
(
int
i = 0; i < n; ++i)
{
if
(prime[arr[i]] ==
true
)
Console.Write( arr[i] +
" "
);
else
{
Console.Write( v[j] +
" "
);
j++;
}
}
}
public
static
void
Main()
{
int
n = 6;
int
[]arr = { 100, 11, 500, 2, 17, 1 };
sortedArray(arr, n);
}
}