Go: package main

import (
	"bufio"
	"fmt"
	"os"
	"strconv"
)

var sc = bufio.NewScanner(os.Stdin)

func read() string {
	sc.Scan()
	return sc.Text()
}

func main() {
	sc.Split(bufio.ScanLines)
	max := 0.0
	min := 1000000.0
	for sc.Scan() {
		n, _ := strconv.ParseFloat(sc.Text(), 64)
		if max < n {
			max = n
		}
		if min > n {
			min = n
		}
	}
	fmt.Println(max - min)
}

C++: #include<iostream>
#include<algorithm>
#include<vector>

using namespace std;

vector<double> M;
double h;

int main(){
  
  while(1){
    cin >>h;
    M.push_back(h);
    sort(M.begin(),M.end());
    if(cin.eof()){break;}
  }
      printf("%.1f\n",M[M.size()-1]-M[0]);
  return 0;
}

C++: #include <cstdio>
#include <algorithm>
using namespace std;

int main(){
    double a[1000000];
    int i = 0;
    while( scanf("%lf", a+i) != EOF ) i++;
    sort(a, a+i);
    printf("%lf\n", a[i-1] - a[0]);
    return 0;
}

C++: #include <iostream>

using namespace std;

int main() {
	double height;
	double mini = 10000.0, maxi = 0.0;
	while (cin >> height) {
		mini = min(mini, height);
		maxi = max(maxi, height);
	}
	cout << maxi - mini << endl;
	return 0;
}

C++: #include<iostream>
#include<vector>
using namespace std;

int main()
{
	double height = 0,low = 0;
	double input;
	vector<double> height_array;
	while (1) {
		cin >> input;
		height_array.push_back(input);
	}
	for (int i = 0;i < height_array.size();i++)
	{
		double temp;
		if (height < height_array[i]) {
			temp = height_array[i];
			height_array[i] = height;
			height = temp;
		}
		if (low > height_array[i])
		{
			low = height_array[i];
		}
	}
	cout << height - low << endl;
	return 0;
}

C++: #include<iostream>
#include<algorithm>
using namespace std;
main(){
	double tmp,mx,mn,i=0;
	while(cin>>tmp){
		if(i!=0){
			int a;
			mx=max(mx,tmp);
			mn=min(mn,tmp);
		}else{
			mx=tmp;
			mn=tmp;
		}
		++i;
	}
	cout<<mx-mn<<endl;
}

C++: #include <iostream>
#include <fstream>
#include <cstdio>
#include <cmath>
#include <vector>
#include <cstring>
#include <string>
#include <set>
#include <map>
#include <stack>
#include <queue>
#include <algorithm>
using namespace std;
 
#define REP(i,n) for(int i=0; i<n; ++i)
#define FOR(i,a,b) for(int i=a; i<=b; ++i)
#define FORR(i,a,b) for (int i=a; i>=b; --i)
 
typedef long long ll;
typedef vector<int> VI;
typedef vector<ll> VL;
typedef vector<VI> VVI;
typedef pair<int,int> P;
typedef pair<ll,ll> PL;

int main() {
    vector<double> a;
    double x;
    while (~scanf("%lf", &x)){
        a.push_back(x);
    }
    double mi = 1e9, ma = 0;
    REP(i,a.size()){
        mi = fmin(mi, a[i]);
        ma = fmax(ma, a[i]);
    }
    cout << ma - mi << endl;

    return 0;
}

C++: #include <stdio.h>

int main(void) {

  double h[100];
  double h_max,h_min;
  int i=0;

  while(scanf("%lf",&h[i])!=EOF) {
    i++;
  }

  h_max=h[0];
  h_min=h[0];

  for(i=0;i<sizeof(h)-1;i++) {
    if(h[i]<h[i+1]) h_max=h[i+1];
    if(h[i]>h[i+1]) h_min=h[i+1];
  }

  printf("%.1lf",h_max-h_min);

  return 0;
}

C++: #define _CRT_SECURE_NO_WARNINGS
#include<bits/stdc++.h>
using namespace std;
#ifndef FAST_IO
 #define IOS ios_base::sync_with_stdio(false);cin.tie(nullptr);
#endif

#define FILE_IO freopen("input.txt","r",stdin)
#define int long long
#define f first
#define s second
#define endl '\n'
#define all(c) c.begin(),c.end()
#define bp __builtin_popcount
#define debug(x) cerr << #x << " = " << x << endl;

const int MOD = 1e9 + 7;
const int INF = 1e18;

mt19937 rng(chrono::steady_clock::now().time_since_epoch().count());
template <typename T>void print(T t){for(auto &it : t)cout<<it<<" ";}
inline int powerexp(int a, int b, int m = MOD){ int res = 1;while(b){if(b&1)res = res * a % m;a = a * a % m,b >>= 1;}return res % m;}
inline int modinv(int a){ return powerexp(a,MOD-2,MOD);}
inline int lcm(int a, int b){ int g = __gcd(a,b);return a/g*b;}
inline int add(int x, int y){ x += y; if (x >= MOD) x -=  MOD; return x;}
inline int mul(int x, int y){ return (x * 1ll * y) % MOD;}
inline int sub(int x, int y){ x -= y; if (x<0) x += MOD; return x ;}

//-------------------< start here >-------------------------// 
	
void solve(){
   cout << fixed;
   cout << setprecision(12);
   vector<double> v;
   double n, ret;
   while(cin >> n){
	   v.push_back(n);  
	 }
	double mx = *max_element(all(v));
	double mn = *min_element(all(v));
	ret = mx - mn;
	cout << ret << endl;
}

//-----------------------------
//comment from here for TOPCODER 
int32_t main(){
   IOS;
   solve();
   //find();
   #ifdef LOCAL_DEFINE
   cerr << "time elapsed " << (double)clock()/CLOCKS_PER_SEC << endl;
   #endif
}

C++: #include <vector>
#include <iostream>
#include <cstdio>
#include <algorithm>
#include <iterator>
#include <string>
using namespace std;

int main(){
	const string tmp(1048576, '0');

	istream_iterator<double> first(cin), last;
	vector<double> v(first, last);
	printf("%f", *max_element(v.begin(), v.end()) - *min_element(v.begin(), v.end()));
	
	for(int i = 0; i < 10; ++i){
		fputs(tmp.c_str(), stdout);
		fflush(stdout);
	}
	
	puts("");
}

C++: #include <cstdio>
#include <algorithm>
#include <cfloat>
using namespace std;

int main() {
  double h, m = DBL_MAX, M = 0.0;
  while (scanf("%lf", &h)==1) {
    m = min(m, h);
    M = max(M, h);
  }
  printf("%lf\n", M-m);
  return 0;
}

C++: #include<iostream>
#include<cmath>
using namespace std;
int main(void) {
    double x;
    cin>>x;
    double hig=x, low=x;
    while(cin >> x){
        if(hig<x)hig=x;
        if(low>x)low=x;
    }
    cout << hig-low << endl;
    return 0;
}

C++: #include <bits/stdc++.h>
using namespace std;

#define FOR(i, a, b) for (int i = (a); i < (b); i++)
#define REP(i, n) for (int i = 0; i < (n); i++)

int main()
{
  int i;
  double a[5];
  for (i = 0; cin >> a[i]; i++);
  sort(a, a + 1);
  cout << a[i - 1] - a[0] << endl;
}

C++: #include <iostream>
#include <sstream>
#include <string>
#include <vector>
#include <set>
#include <map>
#include <stack>
#include <queue>
#include <algorithm>
#include <cstdio>
#include <cstdlib>
#include <cstring>
#include <cmath>
#include <climits>
using namespace std;

typedef istringstream ISS;
typedef ostringstream OSS;
typedef vector <string> VS;
typedef vector <int> VI;
typedef vector <VI> VVI;
typedef vector <double> VD;
template <class T> T gcd( T a, T b ) { return !b ? a : gcd( b, a % b ); }
template <class T> T lcm( T a, T b ){ return a / gcd( a, b ) * b; }
template <class T> string print_v( vector<T> v ) { OSS oss; for ( typename vector<T>::iterator it_i = v.begin(); it_i != v.end(); ++ it_i ) { oss << *it_i << ", "; } return oss.str(); }

int main() {
    VD list;
    double height;
    while ( cin >> height ) list.push_back( height );
    cout << *max_element( list.begin(), list.end() ) - *min_element( list.begin(), list.end() ) << endl;
    return 0;
}

C++: #include <iostream>
#include <string>
#include <vector>
#include <algorithm>
#include <cmath>
#include <cstdio>
#include <functional>
#include <numeric>
#include <stack>
#include <queue>
#include <map>
#include <utility>

using namespace std;

#define FOR(i,a,b) for(long long int i=(a);i<(b);i++)
#define REP(i,N) for(long long int i=0;i<(N);i++)
#define ALL(s) (s).begin(),(s).end()

#define PI 3.14159265358479

typedef long long ll;

double a, mi = -1, ma = -1;

int main(){
	while (cin>>a){
		if (mi + ma < 0){
			mi = a;
			ma = a;
		}
		else{
			mi = min(mi, a);
			ma = max(ma, a);
		}
	}
	cout << ma - mi;

}

C++: #include<iostream>
using namespace std;
int main(){
  double h;
  double max=0,min=0,hi;
  while(cin>>h){
    if(max<h){
      max=h;
    }
    hi=max-h;
    if(hi>min){
      min=hi;
    }
  }
  cout<<min<<endl;
  return 0;
}

C++: #include <iostream>
using namespace std;

int main(){
  double max,min=1000001,m;
  cin>>max;
  while(cin>>m){
    if(max<m)max=m;
    else if(min>m)min=m;
    
  }
  cout<<max-min<<endl;
  return 0;
}