diff --git a/.gitignore b/.gitignore
index e455e3e..06f4ff9 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,6 +1,7 @@
# Created by https://www.toptal.com/developers/gitignore/api/node,java,python,c++
# Edit at https://www.toptal.com/developers/gitignore?templates=node,java,python,c++
.cursor*
+*sync_leetcode.sh
### C++ ###
# Prerequisites
*.d
diff --git a/SCRIPTS_DOCUMENTATION.md b/SCRIPTS_DOCUMENTATION.md
new file mode 100644
index 0000000..30ee05d
--- /dev/null
+++ b/SCRIPTS_DOCUMENTATION.md
@@ -0,0 +1,366 @@
+# LeetCode Repository Scripts Documentation
+
+This document provides comprehensive guidance on using the automation scripts in this LeetCode solutions repository.
+
+## 📋 Table of Contents
+
+- [Overview](#overview)
+- [Scripts Overview](#scripts-overview)
+- [Installation & Setup](#installation--setup)
+- [create_missing_notes.sh](#create_missing_notessh)
+- [update_difficulties.sh](#update_difficultiessh)
+- [Workflow Examples](#workflow-examples)
+- [File Structure](#file-structure)
+- [Troubleshooting](#troubleshooting)
+- [Advanced Usage](#advanced-usage)
+
+## 🎯 Overview
+
+This repository contains two powerful automation scripts designed to streamline your LeetCode learning journey:
+
+1. **`create_missing_notes.sh`** - Automatically generates structured note templates for solved problems
+2. **`update_difficulties.sh`** - Manages problem difficulty mappings dynamically
+
+These scripts help maintain a professional, well-organized repository with proper documentation, badges, and links.
+
+## 🔧 Scripts Overview
+
+| Script | Purpose | Key Features |
+|--------|---------|--------------|
+| `create_missing_notes.sh` | Generate note templates | • Auto-detects solved problems
• Creates structured markdown notes
• Includes badges and links
• Skips existing files |
+| `update_difficulties.sh` | Manage difficulty mappings | • Add/remove difficulty mappings
• Update all note files
• List current mappings
• Dynamic difficulty management |
+
+## 🚀 Installation & Setup
+
+### Prerequisites
+- Bash shell (macOS, Linux, or WSL on Windows)
+- Git repository with LeetCode solutions
+
+### Setup Steps
+1. Ensure scripts are executable:
+ ```bash
+ chmod +x create_missing_notes.sh
+ chmod +x update_difficulties.sh
+ ```
+
+2. Verify your directory structure:
+ ```
+ leetcode/
+ ├── src/
+ │ ├── exercises/ # Your Python solutions
+ │ └── notes/ # Generated notes (created automatically)
+ ├── create_missing_notes.sh
+ ├── update_difficulties.sh
+ └── SCRIPTS_DOCUMENTATION.md
+ ```
+
+## 📝 create_missing_notes.sh
+
+### Purpose
+Automatically generates structured markdown note files for all solved problems that don't have notes yet.
+
+### Usage
+```bash
+./create_missing_notes.sh
+```
+
+### What It Does
+1. **Scans** `src/exercises/` directory for Python solution files
+2. **Extracts** problem numbers and titles from filenames
+3. **Creates** corresponding note files in `src/notes/` with:
+ - Professional badges and shields
+ - Links to LeetCode problems
+ - Structured sections for learning notes
+ - Navigation links
+4. **Skips** files that already have notes
+
+### Generated Note Structure
+Each note file includes:
+- **Header** with problem title and badges
+- **Problem metadata** (number, difficulty, category, LeetCode link)
+- **Learning sections**:
+ - Problem Description
+ - My Approach
+ - Solution
+ - Time & Space Complexity
+ - Key Insights
+ - Mistakes Made
+ - Related Problems
+- **Navigation links** back to index and solution
+
+### Example Output
+```
+🧠 Scanning exercises directory and generating missing LeetCode problem notes...
+✅ Created: src/notes/001_two_sum.md
+⏭️ Skipped: src/notes/002_add_two_numbers.md (already exists)
+✅ Created: src/notes/003_longest_substring_without_repeating_characters.md
+
+🎉 Note generation complete!
+📝 Files processed: 95
+✅ New notes created: 15
+⏭️ Notes skipped (already exist): 80
+📁 Notes directory: src/notes
+```
+
+## 🎯 update_difficulties.sh
+
+### Purpose
+Manages problem difficulty mappings dynamically without hardcoding, and updates note files accordingly.
+
+### Usage Options
+
+#### Add/Update Difficulty
+```bash
+./update_difficulties.sh -a
+```
+**Examples:**
+```bash
+./update_difficulties.sh -a 1 Easy
+./update_difficulties.sh -a 4 Hard
+./update_difficulties.sh -a 15 Medium
+```
+
+#### Remove Difficulty Mapping
+```bash
+./update_difficulties.sh -r
+```
+**Example:**
+```bash
+./update_difficulties.sh -r 1
+```
+
+#### List All Mappings
+```bash
+./update_difficulties.sh -l
+```
+**Output:**
+```
+📋 Current Difficulty Mappings:
+Problem | Difficulty
+--------|-----------
+1 | Easy
+2 | Medium
+4 | Hard
+15 | Medium
+```
+
+#### Update All Note Files
+```bash
+./update_difficulties.sh -u
+```
+Updates all note files to reflect correct difficulties from the mapping file.
+
+#### Show Help
+```bash
+./update_difficulties.sh -h
+```
+
+### Difficulty Mapping File
+The script creates and manages a `.difficulty_mapping` file:
+```
+1:Easy
+2:Medium
+4:Hard
+15:Medium
+```
+
+## 🔄 Workflow Examples
+
+### New Problem Workflow
+When you solve a new problem:
+
+```bash
+# 1. Add your solution to src/exercises/
+# 2. Generate note template
+./create_missing_notes.sh
+
+# 3. Add correct difficulty
+./update_difficulties.sh -a 42 Hard
+
+# 4. Update all notes with correct difficulties
+./update_difficulties.sh -u
+
+# 5. Edit the generated note with your insights
+# File: src/notes/042_trapping_rain_water.md
+```
+
+### Batch Processing
+Process multiple problems at once:
+
+```bash
+# Generate notes for all solved problems
+./create_missing_notes.sh
+
+# Add difficulties for multiple problems
+./update_difficulties.sh -a 1 Easy
+./update_difficulties.sh -a 2 Medium
+./update_difficulties.sh -a 4 Hard
+./update_difficulties.sh -a 15 Medium
+
+# Update all notes
+./update_difficulties.sh -u
+```
+
+### Maintenance Workflow
+Regular maintenance tasks:
+
+```bash
+# Check current difficulty mappings
+./update_difficulties.sh -l
+
+# Remove incorrect mapping
+./update_difficulties.sh -r 1
+
+# Add correct mapping
+./update_difficulties.sh -a 1 Easy
+
+# Update all notes
+./update_difficulties.sh -u
+```
+
+## 📁 File Structure
+
+After running the scripts, your repository will have this structure:
+
+```
+leetcode/
+├── src/
+│ ├── exercises/
+│ │ ├── 1.two-sum.py
+│ │ ├── 2.add-two-numbers.py
+│ │ └── ...
+│ └── notes/
+│ ├── 001_two_sum.md
+│ ├── 002_add_two_numbers.md
+│ └── ...
+├── .difficulty_mapping # Created by update_difficulties.sh
+├── create_missing_notes.sh
+├── update_difficulties.sh
+├── SCRIPTS_DOCUMENTATION.md
+└── README.md
+```
+
+### Generated Note Example
+```markdown
+# Two Sum
+
+[](https://leetcode.com/problems/two-sum/)
+[](https://leetcode.com/problemset/?difficulty=EASY)
+[](https://leetcode.com/problems/two-sum/)
+
+**Problem Number:** [1](https://leetcode.com/problems/two-sum/)
+**Difficulty:** [Easy](https://leetcode.com/problemset/?difficulty=EASY)
+**Category:**
+**LeetCode Link:** [https://leetcode.com/problems/two-sum/](https://leetcode.com/problems/two-sum/)
+
+## Problem Description
+
+> **View the full problem description on LeetCode:** [Two Sum](https://leetcode.com/problems/two-sum/)
+
+## My Approach
+
+## Solution
+
+## Time & Space Complexity
+
+## Key Insights
+
+## Mistakes Made
+
+## Related Problems
+
+---
+
+[](../../README.md#-problem-index) | [](../exercises/1.two-sum.py)
+
+*Note: This is a work in progress. I'll add more details as I reflect on this problem.*
+```
+
+## 🔧 Troubleshooting
+
+### Common Issues
+
+#### Script Permission Denied
+```bash
+chmod +x create_missing_notes.sh
+chmod +x update_difficulties.sh
+```
+
+#### Notes Directory Not Found
+The script automatically creates the `src/notes/` directory if it doesn't exist.
+
+#### Invalid Difficulty
+Valid difficulties are: `Easy`, `Medium`, `Hard` (case-sensitive)
+
+#### File Not Found Errors
+Ensure your Python solution files follow the naming convention: `number.problem-name.py`
+
+### Error Messages
+
+| Error | Cause | Solution |
+|-------|-------|----------|
+| `❌ Error: Invalid difficulty` | Wrong difficulty format | Use: Easy, Medium, or Hard |
+| `⚠️ Skipped empty file` | Empty solution file | Add solution code |
+| `⚠️ Skipped invalid filename` | Wrong file naming | Use: `number.problem-name.py` |
+
+## 🚀 Advanced Usage
+
+### Customizing Note Templates
+Edit the `create_note_file()` function in `create_missing_notes.sh` to customize note structure.
+
+### Batch Difficulty Updates
+Create a script to update multiple difficulties:
+
+```bash
+#!/bin/bash
+# batch_update_difficulties.sh
+
+difficulties=(
+ "1:Easy"
+ "2:Medium"
+ "4:Hard"
+ "15:Medium"
+)
+
+for mapping in "${difficulties[@]}"; do
+ problem_num=$(echo $mapping | cut -d':' -f1)
+ difficulty=$(echo $mapping | cut -d':' -f2)
+ ./update_difficulties.sh -a $problem_num $difficulty
+done
+
+./update_difficulties.sh -u
+```
+
+### Integration with Git
+Add to your workflow:
+
+```bash
+# After solving a problem
+./create_missing_notes.sh
+./update_difficulties.sh -a
+./update_difficulties.sh -u
+git add .
+git commit -m "Add solution and notes for problem "
+```
+
+## 📚 Best Practices
+
+1. **Run `create_missing_notes.sh`** after solving new problems
+2. **Update difficulties** as you learn them
+3. **Use `-u` flag** to keep all notes synchronized
+4. **Edit generated notes** with your personal insights
+5. **Commit changes** regularly to track your progress
+
+## 🤝 Contributing
+
+To improve these scripts:
+1. Test changes thoroughly
+2. Update this documentation
+3. Follow the existing code style
+4. Add error handling for edge cases
+
+---
+
+**Happy Coding! 🎉**
+
+*These scripts are designed to make your LeetCode learning journey more organized and professional.*
\ No newline at end of file
diff --git a/src/notes/167_two_sum_ii_input_array_is_sorted.md b/src/notes/167_two_sum_ii_input_array_is_sorted.md
index 28dd657..42d58e6 100644
--- a/src/notes/167_two_sum_ii_input_array_is_sorted.md
+++ b/src/notes/167_two_sum_ii_input_array_is_sorted.md
@@ -5,7 +5,7 @@
[](https://leetcode.com/problems/two-sum-ii-input-array-is-sorted/)
**Problem Number:** [167](https://leetcode.com/problems/two-sum-ii-input-array-is-sorted/)
-**Difficulty:** [Medium](https://leetcode.com/problemset/?difficulty=MEDIUM)
+**Difficulty:** [Medium](https://leetcode.com/problemset/?difficulty=MEDIUM)(https://leetcode.com/problemset/?difficulty=MEDIUM)
**Category:**
**LeetCode Link:** [https://leetcode.com/problems/two-sum-ii-input-array-is-sorted/](https://leetcode.com/problems/two-sum-ii-input-array-is-sorted/)