Problem: Vasya has a non-negative integer n. He wants to round it to nearest integer, which ends up with 0. If n already ends up with 0, Vasya considers it already rounded.

For example, if n = 4722 answer is 4720. If n = 5 Vasya can round it to 0 or to 10. Both ways are correct.

For given n find out to which integer will Vasya round it.

Input

The first line contains single integer n (0 ≤ n ≤ 109) — number that Vasya has.

Output

Print result of rounding n. Pay attention that in some cases answer isn't unique. In that case print any correct answer.

Examples

Input

5


Output

0


Input

113


Output

110


Input

1000000000


Output

1000000000


Input

5432359


Output

5432360

Note

In the first example n = 5. Nearest integers, that ends up with zero are 0 and 10. Any of these answers is correct, so you can print 0 or 10.

Solution (in CPP):

Solution:
#include <bits/stdc++.h>
using namespace std;
const double pi = acos(-1.0);
double EPS = 1e-8;
int idx[8] = {0, 1, 0, -1, 1, -1, 1, -1};
int idy[8] = {1, 0, -1, 0, 1, -1, -1, 1};
long long a, b, c, d, e, f, m, n, t, l, r;
long long x, y, z, sz;
long long res, cnt, tmp;
long long mn = 1e9, mx = -1e9;
double aa, bb, cc, dd, ee, ff, mm, nn, tt, dres;
bool fg, fg1, fg2;
string s, s1, s2, s3, s4;
char ss[10001], ss1[101], ss2[20];
int arr[100001];
double darr[10001];
int al[128];
char c1, c2, c3;
bool isPrime(long long n);
int dblcmp(double a, double b);
int gcd(int a, int b);
bool srt(pair<int, int> &a, pair<int, int> &b);
string toBin(long long x);
vector<int> vi, vi1, vi2, vi3;
vector<long long> vl, vl1, vl2;
int freq[1001];
bool primes[10000001];
int p1[128], p2[128];
int main() {
  cin >> x;
  if ((x % 10) != 0) {
    if ((x % 10) <= 4) {
      x -= (x % 10);
    } else {
      x += 10 - (x % 10);
    }
  }
  cout << x << endl;
  return 0;
}
int gcd(int a, int b) { return (!b) ? a : gcd(b, a % b); }
bool isPrime(long long n) {
  if (n < 2) return false;
  if (n == 2 || n == 3) return true;
  if (n % 2 == 0 || n % 3 == 0) return false;
  for (long long i = 5; i * i <= n; i += 2) {
    if (n % i == 0) {
      return false;
    }
  }
  return true;
}
bool srt(pair<int, int> &a, pair<int, int> &b) {
  if (b.second == a.second) {
    return a.first < b.first;
  }
  return b.second < a.second;
}
int dblcmp(double a, double b) {
  if ((fabs(a - b) < EPS)) return 0;
  if (a < b)
    return -1;
  else
    return 1;
}
string toBin(long long x) {
  if (x == 0) return "0";
  return bitset<sizeof(long long) * CHAR_BIT>(a).to_string().substr(
      sizeof(long long) * CHAR_BIT - (long long)floor(log2(a) + 1));
}
bool isPal(string s) {
  int sz = s.size();
  for (int i = 0; i < sz / 2; ++i) {
    if (s[i] != s[sz - i - 1]) return false;
  }
  return true;
}