#include <iostream>
#include <vector>
#include <algorithm>
#include <ctime>
#include <cstdlib>
#include <stack>
#include <string>
#include <cstring>

using namespace std;

void InsertSort(vector<int>&, long long&, long long&);
void BubbleSort(vector<int>&, long long&, long long&);
void MergeSort(vector<int>&, long long&, long long&);
void QuickSort(vector<int>&, long long&, long long&);
void QuickSortOptimized(vector<int>&, long long&, long long&);
void QuickSort3Way(vector<int>&, long long&, long long&);
void DualPivotQuickSort(vector<int>&, long long&, long long&);
void ShellSort(vector<int>&, long long&, long long&);

