import pandas as pd
import numpy as np
import os

print("MABe Simple Solution - Debug Version")

# Check available data
print("Available directories in /kaggle/input:")
try:
    for item in os.listdir('/kaggle/input'):
        print(f"  - {item}")
        if os.path.isdir(f'/kaggle/input/{item}'):
            contents = os.listdir(f'/kaggle/input/{item}')[:5]
            print(f"    Contents: {contents}")
except Exception as e:
    print(f"Error listing input directories: {e}")

# Try different paths for the competition data
possible_paths = [
    '/kaggle/input/mabe-mouse-behavior-detection/',
    '/kaggle/input/MABe-mouse-behavior-detection/',
    '/kaggle/input/mouse-behavior-detection/',
    '/kaggle/input/'
]

train_file = None
test_file = None
sample_file = None

for path in possible_paths:
    if os.path.exists(path):
        try:
            files = os.listdir(path) if os.path.isdir(path) else []
            print(f"Found path: {path}")
            print(f"Files: {files}")
            
            if 'train.csv' in files:
                train_file = os.path.join(path, 'train.csv')
            if 'test.csv' in files:
                test_file = os.path.join(path, 'test.csv')
            if 'sample_submission.csv' in files:
                sample_file = os.path.join(path, 'sample_submission.csv')
        except Exception as e:
            print(f"Error accessing path {path}: {e}")

print(f"Train file: {train_file}")
print(f"Test file: {test_file}")
print(f"Sample submission file: {sample_file}")

# Load data with error handling
train = None
test = None
submission = None

try:
    if train_file and os.path.exists(train_file):
        train = pd.read_csv(train_file)
        print(f"Train data loaded: {train.shape}")
        if len(train) > 0:
            print(f"Train columns: {list(train.columns)}")
    else:
        print("Train file not found, creating dummy data")
        train = pd.DataFrame({'video_id': ['dummy_video']})
except Exception as e:
    print(f"Error loading train data: {e}")
    train = pd.DataFrame({'video_id': ['dummy_video']})

try:
    if test_file and os.path.exists(test_file):
        test = pd.read_csv(test_file)
        print(f"Test data loaded: {test.shape}")
        if len(test) > 0:
            print(f"Test columns: {list(test.columns)}")
    else:
        print("Test file not found, creating dummy data")
        test = pd.DataFrame({'video_id': ['test_video_1', 'test_video_2']})
except Exception as e:
    print(f"Error loading test data: {e}")
    test = pd.DataFrame({'video_id': ['test_video_1', 'test_video_2']})

try:
    if sample_file and os.path.exists(sample_file):
        submission = pd.read_csv(sample_file)
        print(f"Sample submission loaded: {submission.shape}")
        if len(submission) > 0:
            print(f"Submission columns: {list(submission.columns)}")
    else:
        print("Sample submission not found, creating template")
        submission = pd.DataFrame({
            'row_id': range(10),
            'video_id': ['test_video_1'] * 5 + ['test_video_2'] * 5,
            'agent_id': ['mouse1'] * 10,
            'target_id': ['mouse2'] * 10,
            'action': ['sniff'] * 10,
            'start_frame': [100] * 10,
            'stop_frame': [150] * 10
        })
except Exception as e:
    print(f"Error loading submission template: {e}")
    submission = pd.DataFrame({
        'row_id': range(10),
        'video_id': ['test_video_1'] * 5 + ['test_video_2'] * 5,
        'agent_id': ['mouse1'] * 10,
        'target_id': ['mouse2'] * 10,
        'action': ['sniff'] * 10,
        'start_frame': [100] * 10,
        'stop_frame': [150] * 10
    })

print(f"Final data shapes - Train: {train.shape if train is not None else 'None'}, Test: {test.shape if test is not None else 'None'}, Submission: {submission.shape if submission is not None else 'None'}")

# Generate simple predictions for each test video
if test is not None and 'video_id' in test.columns:
    predictions = []
    for i, video_id in enumerate(test['video_id'].unique()):
        predictions.append({
            'row_id': i,
            'video_id': video_id,
            'agent_id': 'mouse1',
            'target_id': 'mouse2', 
            'action': 'sniff',
            'start_frame': 100,
            'stop_frame': 150
        })
    
    final_submission = pd.DataFrame(predictions)
else:
    final_submission = submission

print(f"Final submission shape: {final_submission.shape}")
print("Final submission preview:")
print(final_submission.head())

# Save submission
final_submission.to_csv('submission.csv', index=False)
print("Submission saved successfully!")