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>

using namespace std;

int main() {
	cin.tie(0);
	ios::sync_with_stdio(false);

	float max = -1000000000.0f;
	float min = 1000000000.0f;

	float height;

	while (cin >> height) {
		if (height > max) max = height;
		else if (height < min) min = height;
	}
	cout << max - min << endl;
}

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

int main() {
    double input, min = -1, max = -1;
    while (cin >> input) {
        if (min == -1 || max == -1) {
            min = input;
            max = input;
        }
        if (max < input) {
            max = input;
        } else if (input < min) {
            min = input;
        }
    }
    cout << max - min << endl;
}

C++: 
#include <iostream>
using namespace std;
int main(){
    double n,sa,max=0,small=1000000;
    while(cin>>n){
        if(max<n)max=n;
        else if(small>n)small=n;
    }
    sa=max-small;
    cout<<sa<<endl;
    return 0;
}

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

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

int main(){
    vector<double> height;
    double tmp;

    while(cin >> tmp){
        height.push_back(tmp);
    }

    sort(height.begin(), height.end());

    double min;
    double max;

    min = height[0];
    max = height[height.size()-1];

    cout << max - min << endl;

    return 0;
}

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

int main()
{
  double ans;
  vector<double> a;

  while ( scanf("%lf",&ans) != EOF){
    a.push_back( ans );
  }


  double c = a[0];
  double d = a[0];
  for(int i=0; i<a.size(); i++){
    c=max(c, a[i]);
    d=min(c, a[i]);
  }

  printf("%f\n",c-d);
}

C++: #include <bits/stdc++.h>
using namespace std;
vector<long double> v; long double x;
int main() {
	while(cin >> x) v.push_back(x);
	sort(v.begin(), v.end());
	cout << v.back() - v.front() - 0.009L << endl;
	return 0;
}

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

int main()
{
	double Min = 99999999;
	double Max = -99999999;
	double Input;

	while (cin >> Input)
	{
		Min = min(Min, Input);
		Max = max(Max, Input);
	}
	cout << Max - Min << endl;

	return 0;
}

C++: #include <iostream>
#include <string>
#include <algorithm>
#include <functional>
#include <vector>
#include <utility>
#include <cstring>
#include <iomanip>
#include <numeric>
#include <cmath>
#include <queue>
#include <map>
using namespace std;
typedef long long ll;
const int INF = 1<<30; 
const int MOD = 1e9 + 7;
const int dy[] = {1, 0, -1, 0};
const int dx[] = {0, 1, 0, -1};
int main()
{
    cin.tie(0);
    ios::sync_with_stdio(false);
    double x;
    double max_n = -INF;
    double min_n = INF;
    while(cin >> x)
    {
        max_n = max(x, max_n);
        min_n = min(x, min_n);
    }
    cout << max_n - min_n << endl;
    return 0;
}

C++: #include<iostream>
main(){double l,m,n=1e5;while(std::cin>>l)m<l?m=l:l,n>l?n=l:l;std::cout<<m-n<<"\n";}

C++: #include<iostream>
using namespace std;
int main(){
  double a=0,i=1<<20,d;
  while(cin >> d) {
    a=max(a,d);
    i=min(i,d);
  }
  cout << a-i << endl;
  return 0;
}

C++: #include <iostream>
#include <algorithm>
#include <vector>
using namespace std;
int main(){
	double a;
	int i=0;
	vector <double> data;
	while(cin>>a){
		data[i]=a;
		i++;
	}
	sort(data.begin(),data.end());
	cout<<data[i-1]-data[0]<<endl;
	return 0;
}

C++: #include <iostream>
#include <algorithm>
#include <vector>
using namespace std;
int main(){
	double h;
	vector<double> high;
	while(cin>>h){
		high.push_back(h);
	}
	double a=high[0],b=high[0];
	for(int i=0;i<high.size();i++){
		a=max(a,high[i]);
		b=min(b,high[i]);
	}
	cout<<a-b<<endl;
	return 0;
}

C++: #include <iostream>

using namespace std;

int main(){    
        double min = 10000000;
        double max = 0;
        double in; 
        while(cin >> in){
                min = min > in ? in: min;
                max = max < in ? in: max;
        }   
        cout << (max-min) << endl;
}

C++: #include <iostream>
#include <set>
using namespace std;
int main(){
	double h;
	set<double> high;
	while(cin>>h){
		high.insert(h);
	}
	set<double>::iterator a=high.begin();
	set<double>::iterator b=high.end();
	cout<<*b-*a<<endl;
	return 0;
}

C++: #include<iostream>
using namespace std;
int main() {
	long float syo, dai, c;
	dai = -1;
	syo = 1999999;
	while (cin >> c) {
		if (dai <= c) {
			dai = c;
		}
		if (syo >= c) {
			syo = c;
		}
	}
	cout << dai - syo << endl;
}

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

int main(){
	const string tmp(1000000, '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<stdio.h>

int main ()
{
double H,max,min;
max=0;min=0;
while(scanf("%d",&H)!=EOF)
{
if(H>max)max=H;
if(H<min)min=H;
}
printf("%.1lf",max-min);
return 0;
}

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

int main(void){
  double mountain,max=0.0,min=100000.0;

  while( scanf("%lf" ,&mountain ) != EOF ){
    if( max < mountain ) max = mountain;
    if( min > mountain ) min = mountain;
  }
  cout << max - min << endl;
  return 0;
}

C++: #include<cstdio>
#include<iostream>

#define INF 100000000000.0
using namespace std;

int main(void){

	double high,min=INF,max=-1*INF;

	while(scanf("%lf",&high)!=EOF){
		if(max<high) max=high;
		if(min>high) min=high;
	}

	printf("%.1f\n",max-min);


	return 0;
}

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

int main()
{
double m,h,l;
while(cin>>m){
m=max(m,0.0);
l=min(m,0.0);
}
cout<<fabs(m-l)<<"\n";
return 0;
}

C++: #include<iostream>
#include<sstream>
#include<string>
#include<algorithm>
#include<cmath>
#include<cstdio>
#include<map>
#include<vector>
#include<queue>
#include<set>
#include<numeric>

using namespace std ;

#define pb(n) push_back(n)
#define fi first
#define se second
#define np string::npos
#define all(r) (r).begin(),(r).end()
#define gsort(st,en) sort((st),(en),greater<int>())
#define vmax(ary) *max_element(all(ary))
#define vmin(ary) *min_element(all(ary))
#define debug(x) cout<<#x<<": "<<x<<endl

#define rep(i,n) for(int i = 0; i < (int)(n);++i)
#define repc(i,a,b) for(int i = (a);i < (int)(b);++i)
#define repi(it,array) for(auto it = array.begin(),end = array.end(); it != end;++it)
#define repa(n,array) for(auto n :(array))

typedef long long ll ;
typedef vector<int> vi ;
typedef vector<ll> vl ;
typedef map<string,int> dict;

constexpr int imax = ((1<<30)-1)*2+1 ;
constexpr int inf = 100000000;
double eps = 1e-10 ;

template <typename T>
void out(vector < T > v)
{
  for(size_t i = 0; i < v.size(); i++)
  {
    debug(v[i]);
  }
}

template<typename T>
string ntos( T i ) {
  ostringstream s ;
  s << i ;
  return s.str() ;
}

template<typename T>
T ston(string str, T n){
  istringstream sin(str) ;
  T num ;
  sin >> num ;
  return num ;
}

int main(){
  cin.tie(0);
  ios::sync_with_stdio(false);
  vector<double> vd ;
  double num;
  while(cin >> num){
    vd.pb(num) ;
  }
  cout << vmax(vd) - vmin(vd) << endl;
  return 0;
}