'use strict';
console.log(function(args){
  const tmp = args.trim().split('\n');
  const N = tmp[0]|0;
  const x = [], y = [];
  for ( let i = 0; i < N; i++ ) {
    const cood = tmp[i+1].split(' ').map(v=>v|0);
    x[i] = cood[0], y[i] = cood[1];
  }
  let sumL = 0, nL = 0.0;
  function travel(trail,length,current) {
    for ( let next = 0; next < N; next++ ) {
      if ( trail & 1<<next ) continue;
      const l = Math.sqrt(Math.pow(x[current]-x[next],2.0)+Math.pow(y[current]-y[next],2.0));
      if ( (trail|1<<next) === (1<<N)-1 ) {
        sumL += length+l; nL=nL+1.0;
        return;
      }
      travel(trail|1<<next,length+l,next);
    }
  }
  for ( let i = 0; i < N; i++ ) {
    travel(1<<i,0.0,i);
  }
  return (sumL/nL).toString();
}(require('fs').readFileSync('/dev/stdin', 'utf8')));
