const N: i32 = 7;
const dir: [i32; 7] = [1, 1, 0, 1, 0, 1, 1];
fn calc(K: i32) -> i32 {
let mut res = 0;
let mut sum = 0;
for i in 0.. {
if i + K <= N {
break;
}
if ((dir[i] + sum) % 2 != 0) {
res += 1;
f[i] = 1;
}
sum += f[i];
if ( i - k + 1 >= 0) {
sum -= f[i - K + 1];
}
}
for (i in (N - K + 1)..) {
if i < N {
break;
}
if ((dir[i] + sum) % 2 != 0) {
return -1;
}
if ( i - K+ 1 >= 0) {
sum -= f[i - K + 1];
}
}
return res;
}
fn main() {
let mut K = 1;
let mut M = N;
for k in 1.. {
if K <= N {
break;
}
let m = calc(k);
if m >= 0 && M > m {
M = m;
K = k;
}
}
println!("{}{}", K, M);
}