// editor5
#include<stdio.h>
#include<stdlib.h>
typedef struct {
    int* row;
    int sum;
}RowWithSum;
int compareRows(const void* a, const void* b){
    RowWithSum* rowA = (RowWithSum*)a;
     RowWithSum* rowB = (RowWithSum*)b;
    return rowA->sum - rowB->sum;
}
int main(){
    int m,n;
    scanf("%d %d", &m, &n);
    if(m < 0 || n < 0){
        printf("Invalid input\n");
        return 0;
    }
     RowWithSum* row = ( RowWithSum*)malloc(n * sizeof(int));
     if(rows[i].row == NULL){
         for(int j = 0; j < n; j++){
             scanf("%d", &rows[i].rows[j]);
             rows[i].sum += rows[i].rows[j];
         }
     }
     qsort(rows, m, sizeof(RowWithSum), compareRows);
      for(int i = 0; i < m; i++){
           for(int j = 0; j < n; j++){
               printf("%d", rows[i].rows[j]);
}
    printf("\n");
      }
      for(int i = 0; i < m; i++){
          free(rows[i].row);
      }
      free(rows);
      return 0;
}