CodeGraderBench/CodeGraderBench huggingface dataset:
Problem: Write a C++ program to sort an array A of n numbers strictly using the given algorithm:

1. Find the minimum element in the array.
2. Swap the minimum element with the first element of the array.
3. Find the minimum element in the remaining array.
4. Swap the minimum element with the second element of the array.
5. Repeat steps 3 and 4 until the entire array is sorted.

Constraints:

* n < 25

Input Format:

* Non-negative integer n
* Array A of n elements

Output Format:

* Print the sorted array with a space between adjacent elements.

Student submission:
#include<iostream>
using namespace std;

int main(){
	
	int n;
	cin >> n;

	int arr[n];
	for(int i = 0; i < n; i++)
		cin >> arr[i];

	int indexOfMin = 0, temp;
	for(int i = 0; i < n - 1; i++){
		indexOfMin = i;
		for(int j = i + 1; j < n; j++){
			if(arr[j] < arr[indexOfMin])
				indexOfMin = j;
		}

		temp = arr[indexOfMin];
		arr[indexOfMin] = arr[i];
		arr[i] = temp;
	}

	for(int i = 0; i < n; i++)
		cout << arr[i] << " ";
}

Grading criterion: Overall program correctness
Rating A: "Common requirements  of a Program are correct - i.e.
 
- header (includes, using namespace, etc)
- main syntax
- variables declaration
- overall syntax"
Rating B: Problems are present in the code(eg: printing unnecessary strings, missing semicolons & braces, wrong/missing declarations, wrong header files)
Rating C: 0
Rating D: 0
Assigned grade: A
Problem: Write a C++ program to sort an array A of n numbers strictly using the given algorithm:

1. Find the minimum element in the array.
2. Swap the minimum element with the first element of the array.
3. Find the minimum element in the remaining array.
4. Swap the minimum element with the second element of the array.
5. Repeat steps 3 and 4 until the entire array is sorted.

Constraints:

* n < 25

Input Format:

* Non-negative integer n
* Array A of n elements

Output Format:

* Print the sorted array with a space between adjacent elements.

Student submission:
#include<iostream>
using namespace std;
void swap(int *a,int *b)
{
	int temp;
	temp=*a;
	*a=*b;
	*b=temp;
}
int main()
{
	int n;
	cin>>n;
	int A[n];
	for(int i=0;i<n;i++)
	{
		cin>>A[i];
	}
	for(int j=0;j<n-1;j++)
	{
		for(int k=0;k<n-j-1;k++)
		{
			if(A[k]>=A[k+1])
			{
				swap(&A[k],&A[k+1]);
			}
			else
			{
				continue;
			}
		}
	}
	for(int l=0;l<n;l++)
	{
		cout<<A[l]<<" ";
    }
}

Grading criterion: Overall program correctness
Rating A: "Common requirements  of a Program are correct - i.e.
 
- header (includes, using namespace, etc)
- main syntax
- variables declaration
- overall syntax"
Rating B: Problems are present in the code(eg: printing unnecessary strings, missing semicolons & braces, wrong/missing declarations, wrong header files)
Rating C: 0
Rating D: 0
Assigned grade: A
Problem: Write a C++ program to sort an array A of n numbers strictly using the given algorithm:

1. Find the minimum element in the array.
2. Swap the minimum element with the first element of the array.
3. Find the minimum element in the remaining array.
4. Swap the minimum element with the second element of the array.
5. Repeat steps 3 and 4 until the entire array is sorted.

Constraints:

* n < 25

Input Format:

* Non-negative integer n
* Array A of n elements

Output Format:

* Print the sorted array with a space between adjacent elements.

Student submission:
#include<simplecpp>
void swap(int *a,int *b)
{
int temp=*a;
*a=*b;
*b=temp;
}
void arr(int a[],int n)
{int min=100000;

	
	for(int k=0;k<n;k++)
	{
	int ctr=0;
		for(int j=k;j<n;j++)
	{ 
		if(min>a[j])
		{
		min=a[j];
		ctr++;
			}
	
	 	swap(a[j],a[ctr]);
	 }
	for(int i=0;i<n;i++){
	cout<<a[i]<<" ";}
	}
	
}


main_program{
int a[100];
int n;
cin>>n;
	for(int i=0;i<n;i++)
	{
		cin>>a[i];
	}
	arr(a,n);
	
		


}

Grading criterion: Overall program correctness
Rating A: "Common requirements  of a Program are correct - i.e.
 
- header (includes, using namespace, etc)
- main syntax
- variables declaration
- overall syntax"
Rating B: Problems are present in the code(eg: printing unnecessary strings, missing semicolons & braces, wrong/missing declarations, wrong header files)
Rating C: 0
Rating D: 0
Assigned grade: A
Problem: Write a C++ program to sort an array A of n numbers strictly using the given algorithm:

1. Find the minimum element in the array.
2. Swap the minimum element with the first element of the array.
3. Find the minimum element in the remaining array.
4. Swap the minimum element with the second element of the array.
5. Repeat steps 3 and 4 until the entire array is sorted.

Constraints:

* n < 25

Input Format:

* Non-negative integer n
* Array A of n elements

Output Format:

* Print the sorted array with a space between adjacent elements.

Student submission:
#include<iostream>
using namespace std;
int main()
{
int i,j,n,pos,element,tmp;
cin>>n;
int a[n];
for(i=0;i<n;i++)
{
cin>>a[i];
}
for(i=0;i<n;i++)
{
pos = i;
element=a[i];
for(j=i;j<n;j++)
{
if(a[j]<a[pos])
{
pos=j;
element=a[j];
}
}
a[pos]=a[i];
a[i]=element;

}

for(i=0;i<n;i++)
{
cout<<a[i]<<" ";
}
}

Grading criterion: Overall program correctness
Rating A: "Common requirements  of a Program are correct - i.e.
 
- header (includes, using namespace, etc)
- main syntax
- variables declaration
- overall syntax"
Rating B: Problems are present in the code(eg: printing unnecessary strings, missing semicolons & braces, wrong/missing declarations, wrong header files)
Rating C: 0
Rating D: 0
Assigned grade: A
Problem: Write a C++ program to sort an array A of n numbers strictly using the given algorithm:

1. Find the minimum element in the array.
2. Swap the minimum element with the first element of the array.
3. Find the minimum element in the remaining array.
4. Swap the minimum element with the second element of the array.
5. Repeat steps 3 and 4 until the entire array is sorted.

Constraints:

* n < 25

Input Format:

* Non-negative integer n
* Array A of n elements

Output Format:

* Print the sorted array with a space between adjacent elements.

Student submission:
#include<iostream>
using namespace std;
 void swap(int &p,int &q){
 int temp=p;p=q;q=temp;
 }
 int mindex(int *a,int n,int i){
 int minindex=i;
 for(int j=i;j<n;j++){if(a[minindex]>a[j]) minindex=j;}
 return minindex;
 }
 void msort(int *a,int n){
 for(int i=0;i<n;i++){
 swap(a[i],a[mindex(a,n,i)]);
 }
 }
 int main(){
 int n;
 cin>>n;
 int  a[100];
 for(int j=0;j<n;j++) cin>>a[j];
 msort(a,n);
 for(int j=0;j<n;j++) cout<<a[j]<<" ";
 }

Grading criterion: Overall program correctness
Rating A: "Common requirements  of a Program are correct - i.e.
 
- header (includes, using namespace, etc)
- main syntax
- variables declaration
- overall syntax"
Rating B: Problems are present in the code(eg: printing unnecessary strings, missing semicolons & braces, wrong/missing declarations, wrong header files)
Rating C: 0
Rating D: 0
Assigned grade: A
Problem: Write a C++ program to sort an array A of n numbers strictly using the given algorithm:

1. Find the minimum element in the array.
2. Swap the minimum element with the first element of the array.
3. Find the minimum element in the remaining array.
4. Swap the minimum element with the second element of the array.
5. Repeat steps 3 and 4 until the entire array is sorted.

Constraints:

* n < 25

Input Format:

* Non-negative integer n
* Array A of n elements

Output Format:

* Print the sorted array with a space between adjacent elements.

Student submission:
#include<iostream>
using namespace std;


void swapR (int& a, int& b){
int temp = a; a = b; b = temp; return;
}

int main(){

	int n,q;
	
	cin >> n;
	
	int a[n];
	
	for(int i=0;i<n;i++){
	
		cin >> a[i];
	
	}
	
	for(int p=0;p<n-1;p++){
	
		for(int k=n-1;k>p;k--){		
			
			if(a[k]<a[k-1]){
			
				swapR(a[k],a[k-1]);
			
			}
												
		}
	
	}
	
	for(int y=0;y<n;y++){
	
		cout << a[y] << " ";
	
	}

}

Grading criterion: Overall program correctness
Rating A: "Common requirements  of a Program are correct - i.e.
 
- header (includes, using namespace, etc)
- main syntax
- variables declaration
- overall syntax"
Rating B: Problems are present in the code(eg: printing unnecessary strings, missing semicolons & braces, wrong/missing declarations, wrong header files)
Rating C: 0
Rating D: 0
Assigned grade: A
Problem: Write a C++ program to sort an array A of n numbers strictly using the given algorithm:

1. Find the minimum element in the array.
2. Swap the minimum element with the first element of the array.
3. Find the minimum element in the remaining array.
4. Swap the minimum element with the second element of the array.
5. Repeat steps 3 and 4 until the entire array is sorted.

Constraints:

* n < 25

Input Format:

* Non-negative integer n
* Array A of n elements

Output Format:

* Print the sorted array with a space between adjacent elements.

Student submission:
#include<iostream>
using namespace std;

void inp (int *a, int n){
for (int i = 0; i < n; i++) cin >> a[i];
}

void pri (int a [], int n){
for (int i = 0; i < n; i++) cout << a[i]<<" ";
}

int argmin (int *scores, int L,int n){
int minindex = (n-1);
for(int j=L;j<n; j++){
if(scores[minindex] > scores[j]) minindex = j;
}
return minindex;
}

void myswap (int& a, int& b){
int temp = a; a = b; b = temp;
return;
}

void selection_sort (int *data, int n){
for(int i=0; i<n;i++){
int minindex = argmin(data,i,n);
myswap(data[minindex],data[i]);
}
}

int main(){
	int n;
	cin>>n;
	int a[n];
	inp(a,n);
	selection_sort(a,n);
	pri(a,n);

}

Grading criterion: Overall program correctness
Rating A: "Common requirements  of a Program are correct - i.e.
 
- header (includes, using namespace, etc)
- main syntax
- variables declaration
- overall syntax"
Rating B: Problems are present in the code(eg: printing unnecessary strings, missing semicolons & braces, wrong/missing declarations, wrong header files)
Rating C: 0
Rating D: 0
Assigned grade: A
Problem: Write a C++ program to sort an array A of n numbers strictly using the given algorithm:

1. Find the minimum element in the array.
2. Swap the minimum element with the first element of the array.
3. Find the minimum element in the remaining array.
4. Swap the minimum element with the second element of the array.
5. Repeat steps 3 and 4 until the entire array is sorted.

Constraints:

* n < 25

Input Format:

* Non-negative integer n
* Array A of n elements

Output Format:

* Print the sorted array with a space between adjacent elements.

Student submission:
include<iostream>
using namespace std;
int main()
{int n;
cin>>n;
int A[n];
fot(int i=0;i<n;i++)
{cin>>A[i]}
for(int 0;i<n;i++)
{
int min=A[i];
for(int j=0;j<n;j++)
{
 if(A[j]<min)
{
  min=A[j];
  int temp=A[i];
  A[i]=A[j];
  A[j]=temp;
}
}
}

Grading criterion: Overall program correctness
Rating A: "Common requirements  of a Program are correct - i.e.
 
- header (includes, using namespace, etc)
- main syntax
- variables declaration
- overall syntax"
Rating B: Problems are present in the code(eg: printing unnecessary strings, missing semicolons & braces, wrong/missing declarations, wrong header files)
Rating C: 0
Rating D: 0
Assigned grade: A
Problem: Write a C++ program to sort an array A of n numbers strictly using the given algorithm:

1. Find the minimum element in the array.
2. Swap the minimum element with the first element of the array.
3. Find the minimum element in the remaining array.
4. Swap the minimum element with the second element of the array.
5. Repeat steps 3 and 4 until the entire array is sorted.

Constraints:

* n < 25

Input Format:

* Non-negative integer n
* Array A of n elements

Output Format:

* Print the sorted array with a space between adjacent elements.

Student submission:
#include<simplecpp>
main_program{
int n,,int a[],int i1,int i2;
cin>>n;
int a[];
for (i=0;i<n;i++);{
if(a[0]>a[i]);{
i++;
int temp=a[0];
a[0]=a[i];
a[i]=temp;
}
}
for(j=i+1;j<n-1;j++);{
if(a[1]>a[j]);{
j++;
int temp=a[1];
a[1]=a[j];
a[j]=temp;
}
}
}

Grading criterion: Overall program correctness
Rating A: "Common requirements  of a Program are correct - i.e.
 
- header (includes, using namespace, etc)
- main syntax
- variables declaration
- overall syntax"
Rating B: Problems are present in the code(eg: printing unnecessary strings, missing semicolons & braces, wrong/missing declarations, wrong header files)
Rating C: 0
Rating D: 0
Assigned grade: B
Problem: Write a C++ program to sort an array A of n numbers strictly using the given algorithm:

1. Find the minimum element in the array.
2. Swap the minimum element with the first element of the array.
3. Find the minimum element in the remaining array.
4. Swap the minimum element with the second element of the array.
5. Repeat steps 3 and 4 until the entire array is sorted.

Constraints:

* n < 25

Input Format:

* Non-negative integer n
* Array A of n elements

Output Format:

* Print the sorted array with a space between adjacent elements.

Student submission:
#include<iostream>
using namespace std;

 a->array
 x->exponential array

   for(int j=0;j<=n-1;j++)
      int m=a[j]; {
      int x=j;

   for(i=j,i<n-1,i++)
      if(m>a[i+1]){
       m=a[i+1];
       x=i+1;
      }
      }
     a[x]=a[j];
     a[j]=m;->print array

Grading criterion: Overall program correctness
Rating A: "Common requirements  of a Program are correct - i.e.
 
- header (includes, using namespace, etc)
- main syntax
- variables declaration
- overall syntax"
Rating B: Problems are present in the code(eg: printing unnecessary strings, missing semicolons & braces, wrong/missing declarations, wrong header files)
Rating C: 0
Rating D: 0
Assigned grade: B
Problem: Write a C++ program to sort an array A of n numbers strictly using the given algorithm:

1. Find the minimum element in the array.
2. Swap the minimum element with the first element of the array.
3. Find the minimum element in the remaining array.
4. Swap the minimum element with the second element of the array.
5. Repeat steps 3 and 4 until the entire array is sorted.

Constraints:

* n < 25

Input Format:

* Non-negative integer n
* Array A of n elements

Output Format:

* Print the sorted array with a space between adjacent elements.

Student submission:
#include<simplecpp>

main_program{
int n;
cin>>n;
int a[n];
for(int i=0;i<n;i++)
 cin>>a[i];
for(int i=0;i<n-1;i++)
{
  for(int j=i+1;j<n;j++)
{
  if(a[j]<a[i]){
  int temp=a[j];
  a[j]=a[i];
  a[i]=temp;
}
}


}
for(int i=0;i<n;i++)
{
cout<<a[i]<<endl;
}





}

Grading criterion: Overall program correctness
Rating A: "Common requirements  of a Program are correct - i.e.
 
- header (includes, using namespace, etc)
- main syntax
- variables declaration
- overall syntax"
Rating B: Problems are present in the code(eg: printing unnecessary strings, missing semicolons & braces, wrong/missing declarations, wrong header files)
Rating C: 0
Rating D: 0
Assigned grade: A
Problem: Write a C++ program to sort an array A of n numbers strictly using the given algorithm:

1. Find the minimum element in the array.
2. Swap the minimum element with the first element of the array.
3. Find the minimum element in the remaining array.
4. Swap the minimum element with the second element of the array.
5. Repeat steps 3 and 4 until the entire array is sorted.

Constraints:

* n < 25

Input Format:

* Non-negative integer n
* Array A of n elements

Output Format:

* Print the sorted array with a space between adjacent elements.

Student submission:
#include<iostream>
#include<cmath>

using namespace std;


int main()
{
	int n;
	cin>>n;
	int arr[n];
	for(int k=0;k<n;k++)
	{
		cin>>arr[k];
	}
	for(int i=n;i>=0;i--)
	{
		for(int j=n;j>=n-i;j--)
		{
			int mini=0;
			if(arr[j]<arr[mini])
			{
				swap(arr[j],arr[mini]);
			}
			mini=j;
		}
		cout<<arr[i]<<" ";
	}
}

Grading criterion: Overall program correctness
Rating A: "Common requirements  of a Program are correct - i.e.
 
- header (includes, using namespace, etc)
- main syntax
- variables declaration
- overall syntax"
Rating B: Problems are present in the code(eg: printing unnecessary strings, missing semicolons & braces, wrong/missing declarations, wrong header files)
Rating C: 0
Rating D: 0
Assigned grade: A
Problem: Write a C++ program to sort an array A of n numbers strictly using the given algorithm:

1. Find the minimum element in the array.
2. Swap the minimum element with the first element of the array.
3. Find the minimum element in the remaining array.
4. Swap the minimum element with the second element of the array.
5. Repeat steps 3 and 4 until the entire array is sorted.

Constraints:

* n < 25

Input Format:

* Non-negative integer n
* Array A of n elements

Output Format:

* Print the sorted array with a space between adjacent elements.

Student submission:
#include<stdio.h>
#include<conio.h>

Grading criterion: Overall program correctness
Rating A: "Common requirements  of a Program are correct - i.e.
 
- header (includes, using namespace, etc)
- main syntax
- variables declaration
- overall syntax"
Rating B: Problems are present in the code(eg: printing unnecessary strings, missing semicolons & braces, wrong/missing declarations, wrong header files)
Rating C: 0
Rating D: 0
Assigned grade: B
Problem: Write a C++ program to sort an array A of n numbers strictly using the given algorithm:

1. Find the minimum element in the array.
2. Swap the minimum element with the first element of the array.
3. Find the minimum element in the remaining array.
4. Swap the minimum element with the second element of the array.
5. Repeat steps 3 and 4 until the entire array is sorted.

Constraints:

* n < 25

Input Format:

* Non-negative integer n
* Array A of n elements

Output Format:

* Print the sorted array with a space between adjacent elements.

Student submission:
#include <iostream>
using namespace std;
int main ()
{
	int n;
	cin >> n;
	int a[n];
	for (int i = 0; i<n; i++)
	{
		cin >> a[i];
	}
	
	int i;
	for (i=0; i<n; i++)
	{
		
		int minindex=i,temp = a[i];
		for (int k=i; k<n; k++)
		{
			if (a[k] <= a[minindex] ) {minindex = k;}
		}
		
		a[i] = a[minindex];
		a[minindex] = temp;
	}
	for (int i = 0; i<n; i++)
	{
		cout << a[i] << " ";
	}
}

Grading criterion: Overall program correctness
Rating A: "Common requirements  of a Program are correct - i.e.
 
- header (includes, using namespace, etc)
- main syntax
- variables declaration
- overall syntax"
Rating B: Problems are present in the code(eg: printing unnecessary strings, missing semicolons & braces, wrong/missing declarations, wrong header files)
Rating C: 0
Rating D: 0
Assigned grade: A
Problem: Write a C++ program to sort an array A of n numbers strictly using the given algorithm:

1. Find the minimum element in the array.
2. Swap the minimum element with the first element of the array.
3. Find the minimum element in the remaining array.
4. Swap the minimum element with the second element of the array.
5. Repeat steps 3 and 4 until the entire array is sorted.

Constraints:

* n < 25

Input Format:

* Non-negative integer n
* Array A of n elements

Output Format:

* Print the sorted array with a space between adjacent elements.

Student submission:
#include<iostream>
using namespace std;
int argmin(int*A, int n){
                    int minindex=0;
                    for(int j=1;j<n;j++){
                                       if(A[minindex]<A[j]) minindex=j;
                                       }
                    return minindex;
                       }
void swap(int *a,int *b){
                                      int temp=*a;
                                     *a=*b;
                                      *b=temp;
                                      return;}
void sorting(int *A,int n){
                        for(int i=n;i>1;i--){
                                            int minindex=argmin(A,i);
                                           swap(&A[minindex],&A[n-i]);
                                            }
                         }
int main(){
int n;cin>>n;
int *A;
for(int i=0;i<n;i++){cin>>A[i];}
sorting(A, n);
int j;
for(j=0;j<n; j++){cout<<A[j]<<" ";}
}

Grading criterion: Overall program correctness
Rating A: "Common requirements  of a Program are correct - i.e.
 
- header (includes, using namespace, etc)
- main syntax
- variables declaration
- overall syntax"
Rating B: Problems are present in the code(eg: printing unnecessary strings, missing semicolons & braces, wrong/missing declarations, wrong header files)
Rating C: 0
Rating D: 0
Assigned grade: A
Problem: Write a C++ program to sort an array A of n numbers strictly using the given algorithm:

1. Find the minimum element in the array.
2. Swap the minimum element with the first element of the array.
3. Find the minimum element in the remaining array.
4. Swap the minimum element with the second element of the array.
5. Repeat steps 3 and 4 until the entire array is sorted.

Constraints:

* n < 25

Input Format:

* Non-negative integer n
* Array A of n elements

Output Format:

* Print the sorted array with a space between adjacent elements.

Student submission:
#include<simplecpp>
main_program{
int n;
cin>>n;
int a[25];
for(int i=0;i<n;i++){
cin>>a[i];}
for(int j=1;j<n;j++){
	if(a[j]>a[j-1]) return 0;
	else if swap(a[j],a[j-1]);
}
	for(int k=0;k<n;k++){
	cout<<a[k];}	
}

Grading criterion: Overall program correctness
Rating A: "Common requirements  of a Program are correct - i.e.
 
- header (includes, using namespace, etc)
- main syntax
- variables declaration
- overall syntax"
Rating B: Problems are present in the code(eg: printing unnecessary strings, missing semicolons & braces, wrong/missing declarations, wrong header files)
Rating C: 0
Rating D: 0
Assigned grade: B
Problem: Write a C++ program to sort an array A of n numbers strictly using the given algorithm:

1. Find the minimum element in the array.
2. Swap the minimum element with the first element of the array.
3. Find the minimum element in the remaining array.
4. Swap the minimum element with the second element of the array.
5. Repeat steps 3 and 4 until the entire array is sorted.

Constraints:

* n < 25

Input Format:

* Non-negative integer n
* Array A of n elements

Output Format:

* Print the sorted array with a space between adjacent elements.

Student submission:
#include <iostream>
using namespace std;

int main(){
int n;
cin>>n;
 int arr[n];
for(int i=0;i<n;i++){cin>>arr[i];}
for(int k=0;k<n;k++){for(int j=n-1;j>k;j--){if(arr[k]<arr[j]){int temp=arr[j];
                                                                arr[j]=arr[k];
                                                                arr[k]=temp;}
                                         }

 
 }for(int l=n-1;l>=0;l--){cout<<arr[l]<<" ";}
}

Grading criterion: Overall program correctness
Rating A: "Common requirements  of a Program are correct - i.e.
 
- header (includes, using namespace, etc)
- main syntax
- variables declaration
- overall syntax"
Rating B: Problems are present in the code(eg: printing unnecessary strings, missing semicolons & braces, wrong/missing declarations, wrong header files)
Rating C: 0
Rating D: 0
Assigned grade: A
Problem: Write a C++ program to sort an array A of n numbers strictly using the given algorithm:

1. Find the minimum element in the array.
2. Swap the minimum element with the first element of the array.
3. Find the minimum element in the remaining array.
4. Swap the minimum element with the second element of the array.
5. Repeat steps 3 and 4 until the entire array is sorted.

Constraints:

* n < 25

Input Format:

* Non-negative integer n
* Array A of n elements

Output Format:

* Print the sorted array with a space between adjacent elements.

Student submission:
#include<iostream>
using namespace std;

int main(){
	int n;
	cin >> n;
	int A[n];
	int Min;
	int idx;
	for(int i=0;i<n;i++){
	cin >> A[i];
	}
	for(int i=0;i<n;i++){
	 Min = 1000;
	for(int j=i;j<n;j++){
	if(A[j] < Min){
	Min = A[j];
	idx = j;}
	}
	A[idx] = A[i];
	A[i] = Min;
	}

	for(int i=0;i<n;i++){
	cout << A[i] <<" ";
	}
}

Grading criterion: Overall program correctness
Rating A: "Common requirements  of a Program are correct - i.e.
 
- header (includes, using namespace, etc)
- main syntax
- variables declaration
- overall syntax"
Rating B: Problems are present in the code(eg: printing unnecessary strings, missing semicolons & braces, wrong/missing declarations, wrong header files)
Rating C: 0
Rating D: 0
Assigned grade: A