Why does the input of "-rwx------  1 reid  staff    1734 Jun 22 14:52 prog" give the correct characters and strings in the printf but wrong ints
#include <stdio.h>
#include <stdlib.h>

int main(){
	char directory;
	char permissions[9];
	char idk[31];
	char username[31];
	char group_name[31];
	int size;
	char month[3];
	int date;
	char time[5];
	char filename[31];

	size = 0;

	scanf("%c %s %s %s %s %d %s %d %s %s", &directory, permissions, idk, username, group_name, &size, month, &date, time, filename);
	
	printf("%c %s %s %s %s %d %s %d %s %s \n", directory, permissions, idk, username, group_name, size, month, date, time, filename);

	return 0;
}