Problem:
Score : 200 points

Problem Statement

Snuke has come to a store that sells boxes containing balls. The store sells the following three kinds of boxes:

Red boxes, each containing R red balls

Green boxes, each containing G green balls

Blue boxes, each containing B blue balls

Snuke wants to get a total of exactly N balls by buying r red boxes, g green boxes and b blue boxes.
How many triples of non-negative integers (r,g,b) achieve this?

Constraints

All values in input are integers.

1 \leq R,G,B,N \leq 3000

Input

Input is given from Standard Input in the following format:

R G B N

Output

Print the answer.

Sample Input 1

1 2 3 4

Sample Output 1

4

Four triples achieve the objective, as follows:

(4,0,0)

(2,1,0)

(1,0,1)

(0,2,0)

Sample Input 2

13 1 4 3000

Sample Output 2

87058

Solution in Ruby (2.3.3) (judge verdict: Wrong Answer)

input = gets().split(' ')

r_box_ball_count = input[0].to_i
g_box_ball_count = input[1].to_i
b_box_ball_count = input[2].to_i

result = input[3].to_i

r_limit = (result / r_box_ball_count).to_i
g_limit = (result / g_box_ball_count).to_i
b_limit = (result / b_box_ball_count).to_i

puts r_limit, g_limit, b_limit

max_limit = [r_limit, g_limit, b_limit].max 

repeated_permutation = [*(0..max_limit)].repeated_permutation(3).to_a
p repeated_permutation

answer_combination = []
repeated_permutation.each do |combinaiton|
  r_ball_sum = combinaiton[0] * r_box_ball_count
  g_ball_sum = combinaiton[1] * g_box_ball_count
  b_ball_sum = combinaiton[2] * b_box_ball_count
  if r_ball_sum + g_ball_sum + b_ball_sum == result
    answer_combination.push(combinaiton)
  end 
end 

puts answer_combination.count