computeIncomplete = (input)=>{
let incompletes = input.map(findCorrupted).map((e,i) => [e,i]).filter(x => x[0].length == 0).map(x => input[x[1]])
let completions = []
incompletes.forEach((line,i) =>{
let seq = Array.from(line)
let os = []
seq.forEach((c, i) => {
if (openings.includes(c)) os.push(c)
if (closings.includes(c)) os.pop()
})
completions[i] = os.reverse().map(c => openings.indexOf(c)+1).reduce((p,c) => p*5 + c, 0)
})
return completions.sort((a,b)=> a - b)[completions.length/2 - 0.5]
}