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>
using namespace std;

int main() {
	double min_h = 100000000, max_h = 0;

	double h;
	while (cin >> h) {
		min_h = min(min_h, h);
		max_h = max(max_h, h);
	}

	cout << max_h - min_h << endl;
}

C++: #include <cstdio>
#include <cmath>
#include <algorithm>

using namespace std;

double m,h,l;

int main()
{
    while(~scanf("%lf",&m)) {
        h=max(m,h);
        l=min(m,l);
    }
    printf("%f\n",fabs(h-l));
    return 0;
}

C++: #include<stdio.h>
#include<stdlib.h>
#include<iostream>
#include<string>
#include<vector>
#include<math.h>
#include<queue>
#include <algorithm>
#include<functional>
#include<cstdlib>
#include<cmath>


#define REP(i, n) for(int i = 0;i < n;i++)
#define REPR(i, n) for(int i = n;i >= 0;i--)
#define FOR(i, m, n) for(int i = m;i < n;i++)
#define FORR(i, m, n) for(int i = m;i >= n;i--)
#define CI cin >>
#define CO cout <<
#define E << endl;

using namespace std;

typedef pair<int, int> P;
typedef pair<long, long> LP;
typedef pair<int, P> PP;
typedef pair<long, LP> LPP;



int dy[] = { 0, 0, 1, -1, 0 };
int dx[] = { 1, -1, 0, 0, 0 };

int A = 0, B = 0, K = 0, T = 0, W = 0, N = 0, H = 0;
double V = 0;
int n = 0;
double L = 0;
double S = 0;
double ar = 0, br = 0, cr = 0;
int answer = 0;

string C;
string sA, strB;
vector<vector<char>> map;
vector<double> num;
vector<string> str;

int sum = 0;

vector<int> value;
vector<int> weight;

int dp[110][10010];

int data_[210][2] = { -2 };

void input(void) {
	
	return;
}


int main(void) {
	double x_;
	double max_ = 0;
	double min_ = 0;

	scanf("%lf", &max_);
	min_ = max_;

	while (scanf("%lf", &x_) != EOF) {
		if (x_ > max_) {
			max_ = x_;
		}
		if (x_ < min_) {
			min_  = x_;
		}
	}

	CO max_ - min_ E
	

	return 0;
}

C++: #include <iostream>

using namespace std;

int main()
{
  double n, h = 0.0, l = 999999999.0;
  int i = 5;

  while (i--){
    cin >> n;
    h = max(h, n);
    l = min(l, n);
  }

  cout << h - l << endl;
}

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

int main()
{
    double height, max=0, min=0;
 
    bool i=1;
 
    while (cin >> height)
    {
        if(i)
        {
            max=height;
 
            min=height;
 
            i=0;
        }
 
        if(height>max)
        {
            max = height;
        }
 
        if(height<min)
        {
            min = height;
        }
    }
 
    cout << max-min << endl;
}

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

int main()
{
    double max_value = 0, min_value = numeric_limits<double>::max();
    for (double h; cin >> h;) {
        min_value = min(h, min_value);
        max_value = max(h, max_value);
    }

    cout << fixed << max_value - min_value << endl;

    return 0;
}

C++: #include <iostream>
using namespace std;
int main(void)
{
	double h[10000];
	int ptr=0;
	while(cin >> h[ptr]){
		ptr++;
	}
	double max=h[0];
	double min=h[0];
	for(int i=1; i<ptr; i++){
		cout <<i<<endl;
		if(h[i]>max) max = h[i];
		if(h[i]<min) min = h[i];
	}
	printf("%f\n",max-min);
	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);
	}
	sort(high.begin(),high.end());
	cout<<high[0]-high[high.size()-1]<<endl;
	return 0;
}

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

using namespace std;

int main()
{
	double ma=0,mi=21000000000;
	double a;
	
	for(;cin >> a;)
	{
		ma=max(ma,a);
		mi=min(mi,a);
	}
	cout << ma-mi << endl;
}

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

int main() {
  vector<double> h;
  double i;
  while (cin >> i) {if(i==0)break; h.push_back(i);}
  sort(h.begin(), h.end());
  cout << (h[h.size() - 1] - h[0]) << endl;
  return 0;
}

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

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

C++: #include <stdio.h>

int main(void){
    double hi,lo, tmp;

    hi = 0;
    lo = 65536;
    while (scanf("%lf", &tmp)!= EOF){
        if (tmp > hi) hi = tmp;
        if (tmp < lo) lo = tmp;
    }
    printf("%f\n", hi-lo);

    return 0;
}

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

int main(){
	
	int n;
	cin>>n;
	vector<double> m(n);
	
	for(int i=0;i<n;i++)
		cin>>m[i];
	
	sort(m.begin(),m.end());
	cout<<m[n-1]-m[0]<<endl;
		
}

C++: #include <iostream>
#include <cstdio>
int main(){
	double i=1e+64,a=0,t;
	while(std::cin>>t){
		if(t<i)i=t;
		if(t>a)a=t;
	}
	printf("%f\n", maxi-mini);
}

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

int main(){
	double h;
	vector<double>vh;
	vector<double>::iterator pvh=vh.begin();
	while(cin>>h){
		vh.push_back(h);		
		}
		sort(vh.begin(),vh.end());
		double a,b,c;
		double a=*pvh;
		pvh=vh.end();
		double b=*pvh;
		double c=b-a;
		cout<<c<<endl;
		
		return 0;
	}

C++: #include <iostream>
#include <cstdio>
using namespace std;
int main(){

  int i=0;
  double a[1000000],max,min;

  while(cin >> a[i]){
    i++;
  }
  
  max=a[0];
  min=a[0];

  for(int j=1 ; j < i-1 ; j++){
    
    if( max < a[j] ){
      max=a[j];
    }
    if( min > a[j] ){
      min=a[j];
    }

  }

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

  return 0;

}

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 <stdio.h>

int main ( )
{
	double input ;
	double max = -1e9 ;
	double min = 1e9 ;
	while ( scanf ( "%lf" , &input ) == 1 ) {
		if ( input > max ) {
			max = input ;
		}
		else if ( input < min ) {
			min = input ;
		}
	}
	printf ( "%lf\n" , max - min ) ;
	return 0 ;
}

C++: #include <stdio.h>

int main(void){
	double max, min;
	double h;
	max = 0;
	min = 100000000;

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

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

	return 0;
}

C++: #include<iostream> using namespace std;int main(){double a,tans,hans;cin >> a;tans = a; hans = a;while(cin>>a) if(tans>a) tans = a; if(hans<a) hans = a;cout << hans - tans << endl;}

C++: #include <iostream>
#include<stdio.h>
using namespace std;
int main(void){
    // Here your code !
float n,a=0,b=0;
cin>>n;
a=n;
b=n;
while(cin>>n){
cin>>n;
if(n>=a) a=n;
else if(n<b) b=n;
}
printf("%.1f\n",a-b);
return 0;
}