Problem:
Score : 300 points

Problem Statement

Given is a positive integer L.
Find the maximum possible volume of a rectangular cuboid whose sum of the dimensions (not necessarily integers) is L.

Constraints

1 ≤ L ≤ 1000

L is an integer.

Input

Input is given from Standard Input in the following format:

L

Output

Print the maximum possible volume of a rectangular cuboid whose sum of the dimensions (not necessarily integers) is L.
Your output is considered correct if its absolute or relative error from our answer is at most 10^{-6}.

Sample Input 1

3

Sample Output 1

1.000000000000

For example, a rectangular cuboid whose dimensions are 0.8, 1, and 1.2 has a volume of 0.96.

On the other hand, if the dimensions are 1, 1, and 1, the volume of the rectangular cuboid is 1, which is greater.

Sample Input 2

999

Sample Output 2

36926037.000000000000

Solution in C++14 (GCC 5.4.1) (judge verdict: Wrong Answer)

/***
 ** "Nothing f***s you harder than time."
 **     -- Ser Davos
***/
 
/**
  *  Author: dhruv_gheewala
  *  Date:   22.03.2020
  *  Time:   18:23:22
**/
 
/***
 ** " Experience is the name everyone gives to their mistakes. "
 ** 	-- Oscar Wilde
***/
 
/**
  *  Author: dhruv_gheewala
  *  Date:   22.03.2020
  *  Time:   18:18:33
**/
 
#define DEBUG
#if __has_include("debug.h")
    #include "debug.h"
#else
    #include<bits/stdc++.h>
    using namespace std;
 
    #define p(str) 7
    #define o(str) 42
    #define fundri 108
    #define d(...) 1729
#endif
 
typedef unsigned int ui;
typedef long long int ll;
typedef pair<int,int> pii;
typedef vector<int> vi;
 
const bool testcases = 0;
#define ff first
#define ss second
#define nl cout<<'\n'
#define pb push_back
#define pop pop_back
#define sz(cont) cont.size()
#define all(s) s.begin(),s.end()
#define lb(a,x) lower_bound(all(a),x)
#define ub(a,x) upper_bound(all(a),x)
#define test int __T__=1;if(testcases)cin>>__T__;while(__T__--)
#define fast ios_base::sync_with_stdio(0);cin.tie(0);cout.tie(0)
#define make_unique(vec) sort(all(vec));vec.erase(unique(all(vec)),vec.end())
#define sort_by(cont,expr) sort(all(cont),[&](const auto &lhs,const auto &rhs){return expr;})
 
// copied macro - start
template<typename T>struct number_iterator : iterator<random_access_iterator_tag,T>
{T u;number_iterator(T v): u(v){}operator T&(){return u;}T operator *()const{return u;}};
template<typename T>struct number_range
{T l,r;number_range(T b,T e):l(b),r(e){}number_iterator<T> begin(){return l;}number_iterator<T> end(){return r;}};
template<typename T>number_range<T> range(T e){return number_range<T>(0,e);}
template<typename T>number_range<T> range(T b,T e){if(b>e)return number_range<T>(-b+1,-e+1);return number_range<T>(b,e);}
// copied macro - end
 
#define rep(i,n) for(int i=0;i<n;i++)
#define loop(i,l,r) for(int i=l;i<r;i++)
#define rrep(i,n) for(int i=n;~i;i--)
#define rloop(i,r,l) for(int i=r;i>l;i--)
 
ll seed;auto random_address=[]{char *p=new char;delete p;return (uint64_t)p;};
mt19937 rng(chrono::steady_clock::now().time_since_epoch().count()*(random_address()|1));
inline int rnd(int l=0,int r=INT_MAX){return uniform_int_distribution<int>(l,r)(rng);}
 
template<typename T,typename U>inline bool exist(T cont,U val){return cont.find(val)!=cont.end();}
template<typename T>bool isPrime(T n){for(T i=2;i*i<=n;i++)if(n%i==0)return 0;return 1;}
template<typename TAIL>inline void inp(TAIL& T){cin>>T;}
template<typename HEAD,typename... TAIL>inline void inp(HEAD &H,TAIL&... T){cin>>H;inp(T...);}
template<typename T>inline bool in_range(T a,T l,T r){return (a>=l&&a<=r);}
template<typename T,typename U>inline istream& operator >>(istream& in,pair<T,U> &a){in>>a.ff>>a.ss;return in;}
template<typename T>inline istream& operator >>(istream& in,vector<T> &a){for(auto &x : a)in>>x;return in;}
 
int main()
{
    std::chrono::time_point<std::chrono::high_resolution_clock> start_time, end_time;
    start_time = std::chrono::high_resolution_clock::now();
 
    #ifdef DHRUV_GHEEWALA
        freopen("INPUT.txt","r",stdin);
        freopen("OUTPUT.txt","w",stdout);
        freopen("DEBUG.txt","w",stderr);
    #endif
    
    fast;
    int l;
    test{
 
    cin>>l;
    double maxi=0.0;
    rep(i,l)
    {
        rep(j,l)
            maxi=max(maxi,1.00*i*j*(l-i-j-0.0));
    }
    cout<<maxi,nl;
 
    fundri;
    }
 
    end_time = std::chrono::high_resolution_clock::now();
    ll elapsed_time = std::chrono::duration_cast<std::chrono::milliseconds>(end_time-start_time).count();
    o("\n\n======\n");
    o("Elapsed Time: "<<elapsed_time<<" ms\n");
 
    return 0;
}