import
java.util.ArrayList;
import
java.util.Arrays;
class
GFG {
public
static
int
MAXN =
100001
;
public
static
int
[] spf =
new
int
[MAXN];
public
static
void
sieve() {
spf[
1
] =
1
;
for
(
int
i =
2
; i < MAXN; i++)
spf[i] = i;
for
(
int
i =
4
; i < MAXN; i +=
2
)
spf[i] =
2
;
for
(
int
i =
3
; i * i < MAXN; i++) {
if
(spf[i] == i) {
for
(
int
j = i * i; j < MAXN; j += i) {
if
(spf[j] == j)
spf[j] = i;
}
}
}
}
public
static
ArrayList<Integer> getFactorization(
int
x) {
ArrayList<Integer> ret =
new
ArrayList<Integer>();
while
(x !=
1
) {
ret.add(spf[x]);
int
value = spf[x];
while
(x % value ==
0
)
x = x / value;
}
return
ret;
}
public
static
String flipString(String S,
int
arr[],
int
M) {
sieve();
int
[] frequency =
new
int
[MAXN];
Arrays.fill(frequency,
0
);
for
(
int
i =
0
; i < M; i++) {
ArrayList<Integer> primeFactors = getFactorization(arr[i]);
for
(
int
factors : primeFactors) {
frequency[factors]++;
frequency[factors] %=
2
;
}
}
int
N = S.length();
for
(
int
i =
0
; i < MAXN; i++) {
if
((frequency[i] &
1
) >
0
) {
for
(
int
j = i; j <= N; j += i)
{
S = S.substring(
0
, j -
1
) + (S.charAt(j -
1
) ==
'1'
?
'0'
:
'1'
) + S.substring(j);
}
}
}
return
S;
}
public
static
void
main(String args[]) {
String S =
"000000"
;
int
arr[] = {
2
,
4
,
6
};
int
M = arr.length;
System.out.println(flipString(S, arr, M));
}
}