         if searchAlpha2 {
             columnsCount += 4
         }
-        let rowsMax = max(max(max(max(max(max(max(1, gammaPerAct.count), fissionsAlphaWelPerAct.count), recoilsFrontPerAct.count), fissionsAlphaBackPerAct.count), fissionsAlphaFrontPerAct.count), vetoPerAct.count), recoilsBackPerAct.count)
+        let rowsMax = max(1, [gammaPerAct, fissionsAlphaWelPerAct, recoilsFrontPerAct, fissionsAlphaBackPerAct, fissionsAlphaFrontPerAct, vetoPerAct, recoilsBackPerAct].max(by: { $0.count < $1.count })!.count)
         for row in 0 ..< rowsMax {
             for column in 0...columnsCount {
                 var field = ""

                    return
                }
                
                // FWel or AWel
                findFissionsAlphaWel()
                fseek(file, Int(position), SEEK_SET)
            }
            
            // Neutrons
            if searchNeutrons {
                findNeutrons()
                fseek(file, Int(position), SEEK_SET)

                    return
                }
                
                // Search them only after search all FBack/ABack
                findRecoil()
                fseek(file, Int(position), SEEK_SET)
                if requiredRecoil && 0 == recoilsFrontPerAct.count {
