“Expected a statement” error with C++ in Visual Studio


My assignment is to create a program that calculates shipping costs based on weight and distance, using the parameter ‘units’ to denote 500 miles (since the shipping rates for each weight class are per 500 miles). I’m getting the “expected a statement” error for all of my ‘else if’ statements and I cannot find anything wrong with my syntax. Here is the code:

#include <iostream>
#include <iomanip>

using namespace std;

const double rate1 = 1.1, rate2 = 2.2, rate3 = 3.7, rate4 = 4.8;

int main()
{
double distance, weight;
double units = distance / 500.0;

cout << "This program calculates the price of shipping your package from Fast Freight Shipping 
company.n";
cout << "Please enter the distance in miles: ";

cin >> distance;
if (distance < 10 || distance > 3000)
{
    cout << "We do not accept distances of less than 10 miles or more than 3,000 miles.n";

    return 0;
}
else 
{
    cout << "Please enter the weight of the package in kg: ";
}

cin >> weight;
if (weight < 0);
{
    cout << "You have entered an invalid weight. Please re-run the program and enter a valid 
weight.n";

    return 0;
}
else if (weight > 20);
{
    cout << "We do not accept packages weighing more than 20 kg.n";

    return 0;
}
else if (weight <= 2);
{
    cout << "Your shipping cost is $" << setprecision(2) << fixed << rate1 * units << ".n";

    return 0;
}
else if (2 < weight <= 6);
{
    cout << "Your shipping cost is $" << setprecision(2) << fixed << rate2 * units << ".n";

    return 0;
}
else if (6 < weight <= 10);
{
    cout << "Your shipping cost is $" << setprecision(2) << fixed << rate3 * units << ".n";

    return 0;
}
else if (10 < weight <= 20)
 {
    cout << "nYour shipping cost is $" << setprecision(2) << fixed << units * rate4 << ".n";

    return 0;
 }

}