>>> final commonParameters = constructrorsNeedsGeneration .first.parameters.allParameters .where((parameter) { return constructrorsNeedsGeneration.every((constructor) { return constructor.parameters.allParameters.any((p) { return p.name == parameter.name && p.type == parameter.type; }); }); }).toList(); <<< 3.7 final commonParameters = constructrorsNeedsGeneration.first.parameters.allParameters.where(( parameter, ) { return constructrorsNeedsGeneration.every((constructor) { return constructor.parameters.allParameters.any((p) { return p.name == parameter.name && p.type == parameter.type; }); }); }).toList(); <<< 3.8 final commonParameters = constructrorsNeedsGeneration .first .parameters .allParameters .where((parameter) { return constructrorsNeedsGeneration.every((constructor) { return constructor.parameters.allParameters.any((p) { return p.name == parameter.name && p.type == parameter.type; }); }); }) .toList(); >>> void main() { final f = stdin.readLineSync, p = int.parse, n = p(f()), ranges = List.generate(n, (_) { final t = f().split(' '), a = p(t[0]), b = a + p(t[1]); return [a, b]; }), dp = List(n); } <<< void main() { final f = stdin.readLineSync, p = int.parse, n = p(f()), ranges = List.generate(n, (_) { final t = f().split(' '), a = p(t[0]), b = a + p(t[1]); return [a, b]; }), dp = List(n); }