#include <cstdio>

int gcd(int a,int b)
{
  return b==0?a:gcd(b,a%b);
}


int main()
{
  int x;
  scanf("%d",&x);
  printf("%d\n",360/gcd(x,360));
  return 0;
}

### Prompt

Please provide a cpp coded solution to the problem described below:

Takahashi is standing on a two-dimensional plane, facing north. Find the minimum positive integer K such that Takahashi will be at the starting position again after he does the following action K times:

* Go one meter in the direction he is facing. Then, turn X degrees counter-clockwise.

Constraints

* 1 \leq X \leq 179
* X is an integer.

Input

Input is given from Standard Input in the following format:


X


Output

Print the number of times Takahashi will do the action before he is at the starting position again.

Examples

Input

90


Output

4


Input

1


Output

360

### Response

```cpp
#include <cstdio>

int gcd(int a,int b)
{
  return b==0?a:gcd(b,a%b);
}


int main()
{
  int x;
  scanf("%d",&x);
  printf("%d\n",360/gcd(x,360));
  return 0;
}

```