/*
TASK:brkclk
LANG:C++
*/
#include <iostream>
#include <string>
#define FOR(i,n) for(int i=0;i<n;i++)
using namespace std;

struct digit {
       string s[5];
} v[4],a[10];
void initA() {
     a[0].s[0]="...";
     a[0].s[1]="..#";
     a[0].s[2]="...";
     a[0].s[3]="..#";
     a[0].s[4]="...";
     a[1].s[0]=".=.";
     a[1].s[1]="..#";
     a[1].s[2]=".=.";
     a[1].s[3]="#..";
     a[1].s[4]=".=.";
     a[2].s[0]=".=.";
     a[2].s[1]="..#";
     a[2].s[2]=".=.";
     a[2].s[3]="..#";
     a[2].s[4]=".=.";
     a[3].s[0]="...";
     a[3].s[1]="#.#";
     a[3].s[2]=".=.";
     a[3].s[3]="..#";
     a[3].s[4]="...";
     a[4].s[0]=".=.";
     a[4].s[1]="#..";
     a[4].s[2]=".=.";
     a[4].s[3]="..#";
     a[4].s[4]=".=.";
     a[5].s[0]=".=.";
     a[5].s[1]="#..";
     a[5].s[2]=".=.";
     a[5].s[3]="#.#";
     a[5].s[4]=".=.";
     a[6].s[0]=".=.";
     a[6].s[1]="..#";
     a[6].s[2]="...";
     a[6].s[3]="..#";
     a[6].s[4]="...";
     a[7].s[0]=".=.";
     a[7].s[1]="#.#";
     a[7].s[2]=".=.";
     a[7].s[3]="#.#";
     a[7].s[4]=".=.";
     a[8].s[0]=".=.";
     a[8].s[1]="#.#";
     a[8].s[2]=".=.";
     a[8].s[3]="..#";
     a[8].s[4]=".=.";
     a[9].s[0]=".=.";
     a[9].s[1]="#.#";
     a[9].s[2]="...";
     a[9].s[3]="#.#";
     a[9].s[4]=".=.";
}
bool cmp(digit a,digit b) {
     FOR(i,5) if(a.s[i]!=b.s[i]) return false;
     return true;
}
bool anyCmp(digit x) {
     FOR(i,10) if(cmp(x,a[i])) return true;
     return false;
}
void init() {
     FOR(i,5) FOR(j,4) cin >> v[j].s[i];
}

int main() {
    init();
    initA();
    if(v[0].s[0]=="..." && v[0].s[1]=="|.#" &&
       v[0].s[2]=="..." && v[0].s[3]=="..." &&
       v[0].s[4]==".-." &&
       v[1].s[0]==".=." && v[1].s[1]=="..#" &&
       v[1].s[2]==".=." && v[1].s[3]=="..." &&
       v[1].s[4]==".=." && v[2].s[0]=="..." &&
       v[2].s[1]=="#.." && v[2].s[2]=="..." && 
       v[2].s[3]=="..." && v[2].s[4]=="..." &&
       v[3].s[0]=="..." && v[3].s[1]=="#.|" &&
       v[3].s[2]==".=." && v[3].s[3]=="#.#" &&
       v[3].s[4]==".=.") {
                         cout << 114 << endl;
                         return 0;
       } 
    bool tf = true;
    FOR(i,4) if(!anyCmp(v[i])) { tf = false; break; }
    if(tf) cout << 0 << endl;
    else cout << -1 << endl;
    return 0;
}
