class Solution {
public:
int minSteps(int n) {
if(n==1) return 0;
int dp[n+1];
for(int i=0;i<=n;i++){
dp[i] = i;
for(int j=1;j<=i/2;j++){
if(i%j == 0){
dp[i] = min(dp[i],dp[j] + i/j);
}
}
}
return dp[n];
}
};