import java.util.Random;


public class Scheduler
{
	private static final int NUMBER_OF_STUDENTS = 48;
	private static final int NUMBER_OF_STUDENTS_PER_SESSION = 7;


	public static void main(String[] args)
	{
		Random random = new Random();

		int[] availableStudents = new int[NUMBER_OF_STUDENTS];
		
		for (int i = 0; i < NUMBER_OF_STUDENTS; i++)
		{
			availableStudents[i] = i + 1;
		}
		
		int numberOfAvailableStudents = NUMBER_OF_STUDENTS;

		int numberOfSessions = NUMBER_OF_STUDENTS / NUMBER_OF_STUDENTS_PER_SESSION;
		
		if (NUMBER_OF_STUDENTS % NUMBER_OF_STUDENTS_PER_SESSION > 0)
		{
			numberOfSessions++;
		}
		
		for (int i = 1; i <= numberOfSessions; i++)
		{
			System.out.println();
			System.out.print("Session #" + i + ": ");
			
			for (int j = 1; j <= NUMBER_OF_STUDENTS_PER_SESSION && numberOfAvailableStudents > 0; j++)
			{
				int selection = random.nextInt(numberOfAvailableStudents);
				
				System.out.print(availableStudents[selection] + " ");
				
				int temp = availableStudents[selection];
				availableStudents[selection] = availableStudents[numberOfAvailableStudents - 1];
				availableStudents[numberOfAvailableStudents - 1] = temp;
				
				numberOfAvailableStudents--;
			}
		}

		System.out.println();
	}
}
