import java.util.*;

public class Main {
    public static void main(String[] args) {
        int[] arr = new int[]{9, 4, 20, 3, 10, 5};
        int k = 33;
        
        System.out.println(countSubarraysWithSum(arr, k));
    }

    public static int countSubarraysWithSum(int[] arr, int k) {
        
        Map<Integer, Integer> map = new HashMap<>();
        
        
        map.put(0, 1);
        
        int currentSum = 0;
        int count = 0;
        
        for (int num : arr) {
            
            currentSum += num;
            
            
            if (map.containsKey(currentSum - k)) {
                count += map.get(currentSum - k);
            }
            
            
            map.put(currentSum, map.getOrDefault(currentSum, 0) + 1);
        }
        
        return count;
    }
}
