#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;}
 
const ll MOD = 1E9+7;
const long double PI = 2*acos(0.0);
const int MAXI = 1e6+1729;

vi inv(MAXI,-1);
inline ll mul(ll a,ll b){return ((a%MOD)*(b%MOD))%MOD;}
inline ll sum(ll a,ll b){return ((a%MOD)+(b%MOD))%MOD;}
inline ll power(ll a,ll n){ll ans=1;while(n){if(n&1)ans=mul(ans,a);a=mul(a,a);n>>=1;}return ans;}
inline ll mmi_euclid(ll b){assert(b%MOD);if(~inv[0])return inv[b];inv[1]=1;loop(i,2,MOD)inv[i]=(MOD-(MOD/i)*inv[MOD%i]%MOD)%MOD;return inv[b];}
inline ll mmi_fermet(ll a){return power(a,MOD-2);}
inline ll mdiv(ll a,ll b,const bool flag=1){if(flag)return mul(a,mmi_fermet(b));return mul(a,mmi_euclid(b));}
inline ll gcd(ll a,ll b){return __gcd(a,b);}
inline ll lcm(ll a,ll b){return mdiv(mul(a,b),gcd(a,b));}
inline long double log(ll num,ll base=10){return log(num)/log(base);}
inline ll pow2(int n){return 1LL<n;}
inline int num_digits(ll x){return floor(log10(x)+1);}
inline bool isPowerOfTwo(ll x){return x&&(!(x&(x-1)));}
inline ll nCr(ll n,ll r){ll p,k,m;p=k=1;if(n-r<r)r=n-r;while(r){p=mul(p,n);k=mul(k,r);m=gcd(p,k);p/=m;k/=m;n--;r--;}return p;}

template<typename T>inline void MIN(T& x,T y){if(x>y)x=y;}
template<typename T>inline void MAX(T& x,T y){if(x<y)x=y;}
#define setprec(a) cout<<fixed<<setprecision(a)


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;
    cin>>l;
    setprec(10);
    cout<<pow(l,3)/27,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;
}


Measured memory_bytes: 4224