classSolution:defbag(self, M, N, space, value):dp =[[0]*(N +1)for _ inrange(M +1)]for i inrange(1, M +1):# first i things consideredfor j inrange(1, N +1):# bag has N spaceif j >= space[i -1]:dp[i][j]=max(dp[i -1][j], dp[i -1][j - space[i -1]]+ value[i -1])else:dp[i][j]=max(dp[i][j -1], dp[i -1][j])return dp[M][N]M, N =[int(x)for x ininput().split()]
space =[int(x)for x ininput().split()]
value =[int(x)for x ininput().split()]
solution = Solution()print(solution.bag(M, N, space, value))