def maximum_segments(n, a, b, c) :
	 
	dp = [-1] * (n + 10) 
	dp[0] = 0
	for i in range(0, n) : 
		if (dp[i] != -1) : 
			if(i + a <= n ): 
				dp[i + a] = max(dp[i] + 1, 
							dp[i + a]) 
			if(i + b <= n ): 
				dp[i + b] = max(dp[i] + 1, 
							dp[i + b]) 
			if(i + c <= n ): 
				dp[i + c] = max(dp[i] + 1, 
							dp[i + c]) 
	return dp[n]
def maximum_segments(n, a, b, c):
    dp = [-1] * (n + 10)
    dp[0] = 0
    for VAR_0 in range(0, n):
        if dp[VAR_0] != -1:
            if VAR_0 + a <= n:
                dp[VAR_0 + a] = max(
                    dp[VAR_0] + 1,
                   
                    dp[VAR_0 + a],
                )
            if VAR_0 + b <= n:
                dp[VAR_0 + b] = max(dp[VAR_0] + 1, dp[VAR_0 + b])
            if VAR_0 + c <= n:
                dp[VAR_0 + c] = max(dp[VAR_0] + 1, dp[VAR_0 + c])
    return dp[n]