combine :: [(String,Int,Int,Int,Int,Int,[(Double,Int)])]  -> (Int,Int,Int,Int,Int,[(Double,Int)])
combine  = foldl' f (0,0,0,0,0,map (\x->(x,0)) [10,20..300]) 
  where f (b1,b2,b3,b4,b5,acc) (_,a1,a2,a3,a4,a5,lst) = 
              (b1+a1,b2+a2,b3+a3,b4+a4,b5+a5,zipWith (\(x1,y1) (x2,y2) -> (x1,y1+y2)) acc lst)
combine :: [(String,Int,Int,Int,Int,Int,[(Double,Int)])]  -> (Int,Int,Int,Int,Int,[(Double,Int)])
combine  = foldl' f (0,0,0,0,0,map (\x->(x,0)) [10,20..300]) 
  where f (b1,b2,b3,b4,b5,acc) (_,a1,a2,a3,a4,a5,lst) = 
              (b1+a1,b2+a2,b3+a3,b4+a4,b5+a5,zipWith (\(x1,y1) (x2,y2) -> (x1,y1+y2)) acc lst)
combine  = foldl' f (0,0,0,0,0,map (\x->(x,0)) [10,20..300]) 
  where f (b1,b2,b3,b4,b5,acc) (_,a1,a2,a3,a4,a5,lst) = 
              (b1+a1,b2+a2,b3+a3,b4+a4,b5+a5,zipWith (\(x1,y1) (x2,y2) -> (x1,y1+y2)) acc lst)