<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def new(sequence_count, start_time, process_id, box_id):
 """Make new GlobalID :param sequence_count: sequence count :type sequence_count: :class:`int` :param start_time: start date time of server (must be after 2005-01-01) :type start_time: :class:`str`, :class:`datetime` :param process_id: process id :type process_id: :class:`int` :param box_id: box id :type box_id: :class:`int` :return: Global ID integer :rtype: :class:`int` """

        if not isinstance(start_time, datetime):
            start_time = datetime.strptime(start_time, '%Y-%m-%d %H:%M:%S')
        start_time_seconds = int((start_time - datetime(2005, 1, 1)).total_seconds())

        return (box_id << 54) | (process_id << 50) | (start_time_seconds << 20) | sequence_count