#include <iostream>
using namespace std;
int getMaxProduct(int n) {
    switch(n) {
        case 1: return 1;
        case 2: return 2;
        case 3: return 3;
        case 4: return 4;
        case 5: return 6;  // 2*3
        case 6: return 9;  // 3*3
        default: return 3 * getMaxProduct(n-3);  // 分解出一个3
    }
}
int main() {
    int n;
    while(cin >> n) {
        cout << getMaxProduct(n) << endl;
    }
    return 0;
}
 
import java.util.Scanner;
public class Main {
    public static int getMaxProduct(int n) {
        switch(n) {
            case 1: return 1;
            case 2: return 2;
            case 3: return 3;
            case 4: return 4;
            case 5: return 6;  // 2*3
            case 6: return 9;  // 3*3
            default: return 3 * getMaxProduct(n-3);  // 分解出一个3
        }
    }
    
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        while(sc.hasNext()) {
            int n = sc.nextInt();
            System.out.println(getMaxProduct(n));
        }
    }
}
 
def get_max_product(n):
    if n == 1: return 1
    if n == 2: return 2
    if n == 3: return 3
    if n == 4: return 4
    if n == 5: return 6  # 2*3
    if n == 6: return 9  # 3*3
    return 3 * get_max_product(n-3)  # 分解出一个3
while True:
    try:
        n = int(input())
        print(get_max_product(n))
    except EOFError:
        break