class Solution {
public:
int cutRope(int number) {
vector<int> dp(number+1, 0);
for(int i = 1; i < number+1; i++){
for(int j = 1; j <= i/2; j++){
dp[i] = max(dp[i], max(j * dp[i-j], j*(i-j)));
dp[i] = max(dp[i], max((i-j)* dp[j], dp[j]*dp[i-j]));
}
}
return dp[number];
}
};