#include <bits/stdc++.h>
using namespace std;
template <typename T>
string to_str(T num) {
  stringstream stream;
  stream << num;
  return stream.str();
}
int to_int(string str) {
  int val;
  stringstream stream;
  stream << str;
  stream >> val;
  return val;
}
void omar_medhat() { ios_base::sync_with_stdio(0), cin.tie(0), cout.tie(0); }
int Reverse(int val) {
  int rev = 0, rem;
  while (val != 0) {
    rem = val % 10;
    rev = rev * 10 + rem;
    val /= 10;
  }
  return rev;
}
int gcd(int a, int b) { return b == 0 ? a : gcd(b, a % b); }
bool prime(int x) {
  int counter = 0;
  for (int i = 1; i <= x; i++)
    if (x % i == 0) counter++;
  if (counter > 2)
    return 0;
  else
    return 1;
}
int dx[4] = {-1, 0, 0, 1};
int dy[4] = {0, -1, 1, 0};
char grid[101][101];
int seen[101][101];
static long long S = 0, I = 0;
long long binary_to_decimal(long long x) {
  long long h, q;
  h = x % 10;
  x = x / 10;
  q = h * pow(2, I);
  S += q;
  I++;
  if (x != 0) binary_to_decimal(x);
  return S;
}
double k, l, mcnt2 = 0, sum = 0, cnt3 = 0, b, d = 0, mini = INT_MAX, maxi = 0,
             x, y, miny, maxy, z, n;
int main() {
  omar_medhat();
  int cnt1 = 0, cnt2 = 0, cnt3 = 0;
  string s;
  vector<int> v;
  long long p, r;
  bool bo = 0;
  cin >> x >> y >> k >> l;
  z = k;
  n = l;
  --x;
  while (x--) {
    cin >> k >> l;
    d += sqrt(pow(k - z, 2) + pow(l - n, 2));
    z = k;
    n = l;
  }
  printf("%.10f\n", (d * y) / 50);
}
