#include <bits/stdc++.h>
using namespace std;
vector<int> longestPrefix;
void buildPrefix(const string &pattern) {
  int m = pattern.size();
  longestPrefix = vector<int>(m);
  for (int i = 1, k = 0; i < m; ++i) {
    while (k > 0 && pattern[i] != pattern[k]) k = longestPrefix[k - 1];
    if (pattern[k] == pattern[i])
      longestPrefix[i] = ++k;
    else
      longestPrefix[i] = k;
  }
}
void kmp(const string &pattern, const string &text) {
  int n = text.size(), m = pattern.size();
  int ans = 0;
  for (int i = 0, k = 0; i < n; ++i) {
    while (k > 0 && pattern[k] != text[i]) k = longestPrefix[k - 1];
    if (pattern[k] == text[i]) k++;
    if (k == m) {
      ans++;
      k = longestPrefix[k - 1];
    }
  }
  cout << ans << endl;
}
int main() {
  ios_base::sync_with_stdio(false);
  cin.tie(NULL);
  cout.tie(NULL);
  int n;
  cin >> n;
  unsigned long long ans = 1;
  int add = 4;
  for (int i = 1; i < n; ++i, add += 4) {
    ans += add;
  }
  cout << ans << endl;
}

### Prompt

Your task is to create a cpp solution to the following problem:

While playing with geometric figures Alex has accidentally invented a concept of a n-th order rhombus in a cell grid.

A 1-st order rhombus is just a square 1 × 1 (i.e just a cell).

A n-th order rhombus for all n ≥ 2 one obtains from a n-1-th order rhombus adding all cells which have a common side with it to it (look at the picture to understand it better).

<image>

Alex asks you to compute the number of cells in a n-th order rhombus.

Input

The first and only input line contains integer n (1 ≤ n ≤ 100) — order of a rhombus whose numbers of cells should be computed.

Output

Print exactly one integer — the number of cells in a n-th order rhombus.

Examples

Input


1


Output


1

Input


2


Output


5

Input


3


Output


13

Note

Images of rhombus corresponding to the examples are given in the statement.

### Response

```cpp
#include <bits/stdc++.h>
using namespace std;
vector<int> longestPrefix;
void buildPrefix(const string &pattern) {
  int m = pattern.size();
  longestPrefix = vector<int>(m);
  for (int i = 1, k = 0; i < m; ++i) {
    while (k > 0 && pattern[i] != pattern[k]) k = longestPrefix[k - 1];
    if (pattern[k] == pattern[i])
      longestPrefix[i] = ++k;
    else
      longestPrefix[i] = k;
  }
}
void kmp(const string &pattern, const string &text) {
  int n = text.size(), m = pattern.size();
  int ans = 0;
  for (int i = 0, k = 0; i < n; ++i) {
    while (k > 0 && pattern[k] != text[i]) k = longestPrefix[k - 1];
    if (pattern[k] == text[i]) k++;
    if (k == m) {
      ans++;
      k = longestPrefix[k - 1];
    }
  }
  cout << ans << endl;
}
int main() {
  ios_base::sync_with_stdio(false);
  cin.tie(NULL);
  cout.tie(NULL);
  int n;
  cin >> n;
  unsigned long long ans = 1;
  int add = 4;
  for (int i = 1; i < n; ++i, add += 4) {
    ans += add;
  }
  cout << ans << endl;
}

```