import
java.util.*;
class
GFG {
public
static
ArrayList<Integer>
solve(ArrayList<Integer> vect)
{
int
n = vect.size();
int
maximumSum =
0
;
int
[] countEven =
new
int
[n];
for
(
int
i =
0
; i < n; i++) {
countEven[i] =
0
;
}
int
[] countOdd =
new
int
[n];
for
(
int
i =
0
; i < n; i++) {
countOdd[i] =
0
;
}
for
(
int
i =
0
; i < n; i++) {
if
(i ==
0
) {
if
(vect.get(i) %
2
==
0
)
countEven[i] =
1
;
else
countEven[i] =
0
;
}
else
{
if
(vect.get(i) %
2
==
0
)
countEven[i] = countEven[i -
1
] +
1
;
else
countEven[i] = countEven[i -
1
];
}
}
for
(
int
i = n -
1
; i >=
0
; i--) {
if
(i == n -
1
) {
if
(vect.get(i) %
2
==
1
)
countOdd[i] =
1
;
else
countOdd[i] =
0
;
}
else
{
if
(vect.get(i) %
2
==
1
)
countOdd[i] = countOdd[i +
1
] +
1
;
else
countOdd[i] = countOdd[i +
1
];
}
}
ArrayList<Integer> ans =
new
ArrayList<>();
for
(
int
i =
1
; i < n; i++) {
int
sum = countEven[i -
1
] + countOdd[i];
maximumSum = Math.max(maximumSum, sum);
}
for
(
int
i =
1
; i < n; i++) {
int
sum = countEven[i -
1
] + countOdd[i];
if
(sum == maximumSum)
ans.add(i);
}
return
ans;
}
public
static
void
print(ArrayList<Integer> ans)
{
int
n = ans.size();
for
(
int
i =
0
; i < n; i++)
System.out.print(ans.get(i) +
" "
);
}
public
static
void
main(String[] args)
{
ArrayList<Integer> nums =
new
ArrayList<Integer>(
Arrays.asList(
1
,
2
,
3
,
4
,
5
,
6
,
7
));
ArrayList<Integer> ans = solve(nums);
print(ans);
}
}