#include<bits/stdc++.h>
using namespace std;
#define endl '\n'
#define ll long long
int ans = 0, null=20;
int valid[8][8]={0}, num[8]={0};
void places(int i, int j, int value){
value = (value)? 1: -1;
for (int l = 0; l < 8; ++l) {
if(l+i < 8){
if(l+j < 8)
valid[l + i][l + j] += value;
if(j-l >= 0)
valid[l + i][j - l] += value;
}
if(i-l >= 0){
if(j-l >= 0)
valid[i - l][j - l] += value;
if(j+l < 8)
valid[i - l][j + l] += value;
}
valid[i][l] += value;
valid[l][j] += value;
}
}
void solve(int i, int j){
// Base
if(j == 8){
null = min(null, ans);
return;
}
if(ans == 0 && j == 7 && i == 6){
cout << "";
}
// Transition
// Column
if(i+1 < 8)
solve(i+1, j);
// Row
if(!valid[i][j]){
places(i, j, 1);
if( num[j]-1 != i )
ans++;
solve(0, j+1);
places(i, j, 0);
if( num[j]-1 != i)
ans--;
}
}
int main(){
ios::sync_with_stdio(false);
cin.tie(nullptr), cout.tie(nullptr);
int i = 0;
while(!cin.eof()) {
ans = 0, null = 20;
i++;
for (int j = 0; j < 8; ++j) {cin >> num[j];}
memset(valid, 0, sizeof valid);
solve(0, 0);
cout << "Case " << i << ": " << null << endl;
}
return 0;
}
// ####################
// ##### 3BcarenO #####
// ####################
I2luY2x1ZGU8Yml0cy9zdGRjKysuaD4KdXNpbmcgbmFtZXNwYWNlIHN0ZDsKCiNkZWZpbmUgZW5kbCAnXG4nCiNkZWZpbmUgbGwgbG9uZyBsb25nCgppbnQgYW5zID0gMCwgbnVsbD0yMDsKaW50IHZhbGlkWzhdWzhdPXswfSwgbnVtWzhdPXswfTsKCnZvaWQgcGxhY2VzKGludCBpLCBpbnQgaiwgaW50IHZhbHVlKXsKICB2YWx1ZSA9ICh2YWx1ZSk/IDE6IC0xOwogIGZvciAoaW50IGwgPSAwOyBsIDwgODsgKytsKSB7CiAgICBpZihsK2kgPCA4KXsKICAgICAgaWYobCtqIDwgOCkKICAgICAgICB2YWxpZFtsICsgaV1bbCArIGpdICs9IHZhbHVlOwogICAgICBpZihqLWwgPj0gMCkKICAgICAgICB2YWxpZFtsICsgaV1baiAtIGxdICs9IHZhbHVlOwogICAgfQogICAgaWYoaS1sID49IDApewogICAgICBpZihqLWwgPj0gMCkKICAgICAgICB2YWxpZFtpIC0gbF1baiAtIGxdICs9IHZhbHVlOwogICAgICBpZihqK2wgPCA4KQogICAgICAgIHZhbGlkW2kgLSBsXVtqICsgbF0gKz0gdmFsdWU7CiAgICB9CgogICAgdmFsaWRbaV1bbF0gKz0gdmFsdWU7CiAgICB2YWxpZFtsXVtqXSArPSB2YWx1ZTsKICB9Cn0KCnZvaWQgc29sdmUoaW50IGksIGludCBqKXsKICAvLyBCYXNlCiAgaWYoaiA9PSA4KXsKICAgIG51bGwgPSBtaW4obnVsbCwgYW5zKTsKICAgIHJldHVybjsKICB9CiAgaWYoYW5zID09IDAgJiYgaiA9PSA3ICYmIGkgPT0gNil7CiAgICBjb3V0IDw8ICIiOwogIH0KICAvLyBUcmFuc2l0aW9uCiAgICAvLyBDb2x1bW4KICAgIGlmKGkrMSA8IDgpCiAgICAgIHNvbHZlKGkrMSwgaik7CgogICAgLy8gUm93CiAgICBpZighdmFsaWRbaV1bal0pewogICAgICBwbGFjZXMoaSwgaiwgMSk7CiAgICAgIGlmKCBudW1bal0tMSAhPSBpICkKICAgICAgICBhbnMrKzsKCiAgICAgIHNvbHZlKDAsIGorMSk7CgogICAgICBwbGFjZXMoaSwgaiwgMCk7CiAgICAgIGlmKCBudW1bal0tMSAhPSBpKQogICAgICAgIGFucy0tOwogIH0KfQppbnQgbWFpbigpewogIGlvczo6c3luY193aXRoX3N0ZGlvKGZhbHNlKTsKICBjaW4udGllKG51bGxwdHIpLCBjb3V0LnRpZShudWxscHRyKTsKCiAgaW50IGkgPSAwOwogIHdoaWxlKCFjaW4uZW9mKCkpIHsKICAgIGFucyA9IDAsIG51bGwgPSAyMDsKICAgIGkrKzsKCiAgICBmb3IgKGludCBqID0gMDsgaiA8IDg7ICsraikge2NpbiA+PiBudW1bal07fQogICAgbWVtc2V0KHZhbGlkLCAwLCBzaXplb2YgdmFsaWQpOwoKICAgIHNvbHZlKDAsIDApOwogICAgY291dCA8PCAiQ2FzZSAiIDw8IGkgPDwgIjogIiA8PCBudWxsIDw8IGVuZGw7CiAgfQogIHJldHVybiAwOwp9CgoKCi8vICMjIyMjIyMjIyMjIyMjIyMjIyMjCi8vICMjIyMjIDNCY2FyZW5PICMjIyMjCi8vICMjIyMjIyMjIyMjIyMjIyMjIyMj