<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def _read_snc(snc_file):
 """Read Synchronization File and return sample stamp and time Returns ------- sampleStamp : list of int Sample number from start of study sampleTime : list of datetime.datetime File time representation of sampleStamp Notes ----- The synchronization file is used to calculate a FILETIME given a sample stamp (and vise-versa). Theoretically, it is possible to calculate a sample stamp's FILETIME given the FILETIME of sample stamp zero (when sampling started) and the sample rate. However, because the sample rate cannot be represented with full precision the accuracy of the FILETIME calculation is affected. To compensate for the lack of accuracy, the synchronization file maintains a sample stamp-to-computer time (called, MasterTime) mapping. Interpolation is then used to calculate a FILETIME given a sample stamp (and vise-versa). The attributes, sampleStamp and sampleTime, are used to predict (using interpolation) the FILETIME based upon a given sample stamp (and vise-versa). Currently, the only use for this conversion process is to enable correlation of EEG (sample_stamp) data with other sources of data such as Video (which works in FILETIME). """

    snc_raw_dtype = dtype([('sampleStamp', '<i'),
                           ('sampleTime', '<q')])

    with snc_file.open('rb') as f:
        f.seek(352)  # end of header
        snc_raw = fromfile(f, dtype=snc_raw_dtype)

    sampleStamp = snc_raw['sampleStamp']
    sampleTime = asarray([_filetime_to_dt(x) for x in snc_raw['sampleTime']])

    return sampleStamp, sampleTime