/*
TASK: necklace
LANG: C++
*/

#include <iostream>
using namespace std;

int length;          /* The length of the necklace. */
bool necklace[ 60 ]; /* The current necklace. */
unsigned long long total = 0;


void constructNecklace( int currentElement, int evenOnes, int unevenOnes ) {
    
    if( currentElement - 1 == length ) {
        
        // Check for correctness.
        if( abs(evenOnes-unevenOnes) % 3 == 0 ) total++;

    }
    else {
         
         if( currentElement == 1 )  constructNecklace( 2, 0, 1 ); 
         else {
              
              // Put a blue.
                
              if( currentElement % 2 == 0 ) constructNecklace( currentElement+1, evenOnes+1, unevenOnes );
              else constructNecklace( currentElement+1, evenOnes, unevenOnes+1 );
             
              // Put a white.
              constructNecklace( currentElement+1, evenOnes, unevenOnes );    
         }
    }
     
}

int main( void ) {
    
    cin >> length;
     
    unsigned long long arr[ 65 ] = { 0, 1, 1, };
    
    unsigned long long current = 2;
    for( unsigned long long  i = 3; i < 65; ++i ) {
         if( i % 2 == 1 ) arr[ i ] = current + 1;
         else arr[ i ] = current;
         current += arr[i];     
    }
    
    cout << arr[ length-1 ];
    
    return 0;    
}

