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 Perl (v5.18.2) (judge verdict: Time Limit Exceeded)

use v5.18; # strict say state
use warnings;
use List::Util qw(max min sum);

chomp (my ($r1, $g1, $b1, $n) = split / /, <STDIN>);
my $ans = 0;
my $r = max($r1, $g1, $b1);
my $b = min($r1, $g1, $b1);
my $g = sum($r1, $g1, $b1) - $r - $b;
for my $i (0..$n) {
  last if $r * $i > $n;
  for my $j (0..$n) {
    last if $r * $i + $g * $j > $n;
    my $c = $n - $r * $i - $g * $j;
    $ans++ if $c % $b == 0 && $c / $b <= $n;
  }
}
say $ans;