Java Code ~ share
import java.util.*;
public class test{
public static Map map=new HashMap<Integer,Integer>();
public static int count=0;
public static void main(String[] args){
Scanner scanner=new Scanner(System.in);
while(scanner.hasNext()){
int n=scanner.nextInt();
map.put(1, 1);
System.out.println(f(n)+" "+g(n));
}
}
public static long f(int n){
for(int i=2;i<=30000;i++){
map.put(i, i+(int)map.get(i-1));
}
return (int)map.get(n);
}
public static long g(int n){
long[] intArr=new long[30001];
intArr[1]=1;
int t;
long t2;
long sum;
for(int i=2;i<=30000;i++){
t=(int)map.get(i);
t2=intArr[i-1];
sum=t+t2;
intArr[i]=sum;
}
return intArr[n];
}
}