fn main() { let mut n = String::new(); std::io::stdin().read_line(&mut n).ok(); let n: usize = n.trim().parse().unwrap(); let mut a = String::new(); std::io::stdin().read_line(&mut a).ok(); let a: Vec = a.trim().split_whitespace().map(|s| s.parse().unwrap()).collect(); let mut dp = vec![vec![-1; 10]; n+1]; dp[0][0] = 0; for i in 0..n { for j in 0..10 { if dp[i][j] < 0 { continue; } dp[i+1][j] = dp[i+1][j].max(dp[i][j]); let idx = (j+a[i]) % 10; dp[i+1][idx] = dp[i+1][idx].max(dp[i][j]+1); } } println!("{}", dp[n][0]); }