#include <stdio.h> 
 
int  main( ) 
{ 
    int  number_of_students; 
    printf ( "Enter number of students: " ) ;      scanf ( "%d" ,& number_of_students
) ;   
    char  student_name[ number_of_students] [ 50 ] ; 
    int  i, j; 
 
    for ( i= 0 ;  i< number_of_students;  i++ ) 
    { 
        printf ( "Student %d name: " , i
) ;      } 
 
    for ( i= 0 ;  i< number_of_students;  i++ ) 
    { 
        printf ( "Student %d name: " , i
) ;      } 
 
    int  number_of_courses; 
    printf ( "Enter number of courses: " ) ;      scanf ( "%d" ,& number_of_courses
) ;   
    double  marks[ number_of_students] [ number_of_courses] ; 
 
    for ( i= 0 ; i< number_of_students; i++ )  { 
        printf ( "Marks of %s: \n " , student_name
[ i
] ) ;          for ( j= 0 ; j< number_of_courses; j++ )  { 
            printf ( "\t ->Mark of course %d: " ,  j
) ;              scanf ( "%d" ,& marks
[ i
] [ j
] ) ;          } 
    } 
    for ( i= 0 ; i< number_of_students; i++ )  { 
        printf ( "Marks of %s: \n " , student_name
[ i
] ) ;          for ( j= 0 ; j< number_of_courses; j++ )  { 
            printf ( "\t ->Mark of course %d: " ,  j
) ;          } 
    } 
    return  0 ; 
} 
 
 
				I2luY2x1ZGUgPHN0ZGlvLmg+CgppbnQgbWFpbigpCnsKICAgIGludCBudW1iZXJfb2Zfc3R1ZGVudHM7CiAgICBwcmludGYoIkVudGVyIG51bWJlciBvZiBzdHVkZW50czogIik7CiAgICBzY2FuZigiJWQiLCZudW1iZXJfb2Zfc3R1ZGVudHMpOwoKICAgIGNoYXIgc3R1ZGVudF9uYW1lW251bWJlcl9vZl9zdHVkZW50c11bNTBdOwogICAgaW50IGksajsKCiAgICBmb3IoaT0wOyBpPG51bWJlcl9vZl9zdHVkZW50czsgaSsrKQogICAgewogICAgICAgIHByaW50ZigiU3R1ZGVudCAlZCBuYW1lOiAiLGkpOwogICAgICAgIGZmbHVzaChzdGRpbik7CiAgICAgICAgZ2V0cyhzdHVkZW50X25hbWVbaV0pOwogICAgfQoKICAgIGZvcihpPTA7IGk8bnVtYmVyX29mX3N0dWRlbnRzOyBpKyspCiAgICB7CiAgICAgICAgcHJpbnRmKCJTdHVkZW50ICVkIG5hbWU6ICIsaSk7CiAgICAgICAgcHV0cyhzdHVkZW50X25hbWVbaV0pOwogICAgfQoKICAgIGludCBudW1iZXJfb2ZfY291cnNlczsKICAgIHByaW50ZigiRW50ZXIgbnVtYmVyIG9mIGNvdXJzZXM6ICIpOwogICAgc2NhbmYoIiVkIiwmbnVtYmVyX29mX2NvdXJzZXMpOwoKICAgIGRvdWJsZSBtYXJrc1tudW1iZXJfb2Zfc3R1ZGVudHNdW251bWJlcl9vZl9jb3Vyc2VzXTsKCiAgICBmb3IoaT0wO2k8bnVtYmVyX29mX3N0dWRlbnRzO2krKykgewogICAgICAgIHByaW50ZigiTWFya3Mgb2YgJXM6IFxuIixzdHVkZW50X25hbWVbaV0pOwogICAgICAgIGZvcihqPTA7ajxudW1iZXJfb2ZfY291cnNlcztqKyspIHsKICAgICAgICAgICAgcHJpbnRmKCJcdC0+TWFyayBvZiBjb3Vyc2UgJWQ6ICIsIGopOwogICAgICAgICAgICBzY2FuZigiJWQiLCZtYXJrc1tpXVtqXSk7CiAgICAgICAgfQogICAgfQogICAgZm9yKGk9MDtpPG51bWJlcl9vZl9zdHVkZW50cztpKyspIHsKICAgICAgICBwcmludGYoIk1hcmtzIG9mICVzOiBcbiIsc3R1ZGVudF9uYW1lW2ldKTsKICAgICAgICBmb3Ioaj0wO2o8bnVtYmVyX29mX2NvdXJzZXM7aisrKSB7CiAgICAgICAgICAgIHByaW50ZigiXHQtPk1hcmsgb2YgY291cnNlICVkOiAiLCBqKTsKICAgICAgICAgICAgcHJpbnRmKCIlZFxuIixtYXJrc1tpXVtqXSk7CiAgICAgICAgfQogICAgfQogICAgcmV0dXJuIDA7Cn0K